From: "Saved by Windows Internet Explorer 8" Subject: NASA - Earth and Space Science Using ISS as a Platform Date: Tue, 15 Mar 2011 13:12:02 -0400 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01CBE312.93321300" X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7600.16543 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/mission_pages/station/research/nlab/platform.html =EF=BB=BF NASA - Earth and Space = Science Using ISS as a Platform

Earth and Space Science Accommodations on ISS

    Scientists and payload developers can get more = information on=20 International Space Station research facilities by contacting the ISS Payloads Office or = at=20 281-244-6187.

    Background Links:
    >=20 Overview and News on the International Space Station
    >=20 Reference Guide to the International Space Station
    >=20 ISS Post-Assembly Accommodations/Resources (PDF, 1.1 MB) =

    ISS=20 Orbit Information:
    >=20 Real Time ISS Ground Track
    >=20 ISS Orbit Tutorial for Earth Remote Sensing

    External = Payload=20 Accommodations on ISS:
    > = Introduction=20 to Attached Payload Accommodations and Environments (PDF, 3.2 MB)=20

    Pressurized Payload Accommodations on ISS:
    > = A=20 Window on the Earth: Earth Sciences from the International Space = Station and=20 The Window Observational Research Facility (WORF)
    &g= t;=20 Window Observational Research Facility (WORF) Overview Briefing (PDF, = 619=20 KB)

    Information Supporting Specific Proposal = Opportunities=20
    >=20 Small Explorer (SMEX) Missions of Opportunity Information (December = 2007)=20

    Image at = right: Locations=20 for external attached payloads on the International Space Station, ITS = S3 and=20 ITS P3 are port and starboard Integrated Truss Segments for the = attachment of=20 Express Logistics Carriers (ELCs). Instruments can also be attached to = the=20 COF-EF and JEM-EF the Columbus Orbiting Facility-Exposed Facility, and = Japanese Experiment Module-Exposed Facility. Image credit: NASA =

    Image at = right: The Window=20 Observational Research Facility (WORF) rack ready for flight to the=20 International Space Station. The protective hatch has been removed, = allowing=20 access into the instrument volume. Once in orbit, the rack will be = fitted over=20 the optical quality window in the Destiny U.S. Laboratory Module. = Image=20 credit: NASA =






=20

Resources

    3D"MELFI
    ISS Research Facilities
    >=20 Full Catalog


    Space Station Science
    >=20 Search Alphabetically
    >=20 Search by Expedition
    >=20 Search by Category
    >=20 Weekly Research Summary
    >=20 Research Publications

    ISS National Laboratory =
    Reference=20 Publications


    > = ISS=20 Education Report to Congress -- An Opportunity To Educate: = International Space=20 Station National Laboratory, July 7 2008 (PDF, 1 MB)

    >=20 ISS National Laboratory Education Concept Development Report, October = 2006=20 (PDF, 5.6 MB)

    >=20 Congressional Report, June 2006 - NASA Research and Utilization Plan = for the=20 ISS (PDF, 4.3 MB)

    >=20 NASA/TP-2006-213721 - Inspiring the Next Generation: Student = Experiments and=20 Educational Activities on the ISS, 2000 - 2006 (PDF, 3.5 MB) =

    >=20 NASA/TP-2006-213146 - International Space Station Research Summary = Through=20 Expedition 10 (PDF, 7.5 MB)

    >=20 NASA/TP-2005-213166 - Exploration-Related Research on the ISS: = Connecting=20 Science Results to Future Missions (PDF, 219 KB)

    >=20 Library of Congress ISBN 0-9710327-2-6 Reference Guide to the = International=20 Space Station
=20
 
');=0A= /*=0A= Section nav blinds =0A= =0A= Note: the string 'test123' can be replaced with a variable that is set = in another =0A= dynamically-generated javascript file so that the blinds can = highlight and open=0A= the correct item or sub-item as "current"=0A= =0A= */=0A= Event.observe(window, 'load', function() {=0A= if($$('.section_nav_blinds .content').length > 0){=0A= var s3 =3D new Blinds($$('.section_nav_blinds = .content'),$$('.section_nav_blinds')[0],null,{'current_id':$('menu_item_i= d').value});=0A= }=0A= if($$('.section_nav_blinds .no_content_section').length > 0){=0A= if($('menu_item_id') !=3D null && $('menu_item_id').value !=3D '')=0A= {=0A= var idVal =3D $('menu_item_id').value;=0A= if(document.getElementById(idVal) !=3D null){=0A= document.getElementById(idVal).style.color =3D "#99CCFF";=0A= }=0A= }=0A= }=0A= }, false);=0A= =0A= =0A= /*This is for On Demand Video. Calls function in plgindemandtv.js*/=0A= Event.observe(window, 'load', function() {=0A= var nasatv =3D document.getElementById("NASATV");=0A= if (nasatv)=0A= {=0A= getSelectedVideoChannel();=0A= }=0A= },false);=0A= =0A= =0A= /*This is for NASA TV */=0A= Event.observe(window, 'load', function() {=0A= var nasa_tv_rd =3D document.getElementById("nasa_tv_rd");=0A= if (nasa_tv_rd)=0A= {=0A= GetSelectedChannelNASATV();=0A= }=0A= },false);=0A= =0A= =0A= /*clear text input fields*/=0A= Event.observe(window, 'load', function() {=0A= if($$('.input_clear')){=0A= $$('.input_clear').each(function(element){=0A= =0A= element.oldValue =3D element.value;=0A= =0A= Event.observe(element, "focus", function(e) {=0A= if(element.value =3D=3D element.oldValue) {=0A= element.value =3D "";=0A= }=0A= Event.stop(e);=0A= });=0A= =0A= });=0A= }=0A= }, false);=0A= =0A= /* popular content blinds bootstrap */=0A= =0A= Event.observe(window, 'load', function() {=0A= var allBlinds =3D = $$('.narrow_blue_blinds').map(function(narrow_blue_blinds){=0A= var contents =3D narrow_blue_blinds.getElementsBySelector('.content');=0A= var cap =3D narrow_blue_blinds.getElementsBySelector('.cap')[0];=0A= return new Blinds(contents,narrow_blue_blinds,cap);=0A= });=0A= }, false);=0A= =0A= Event.observe(window, 'load', function() {=0A= var allBlinds =3D = $$('.narrow_blue_blinds_img').map(function(narrow_blue_blinds_img){=0A= var contents =3D = narrow_blue_blinds_img.getElementsBySelector('.content');=0A= var cap =3D narrow_blue_blinds_img.getElementsBySelector('.cap')[0];=0A= return new Blinds(contents,narrow_blue_blinds_img,cap);=0A= });=0A= }, false);=0A= =0A= /* Modules_Widgets-style grey accordions */=0A= Event.observe(window, 'load', function() {=0A= $$('.grip_accordion').each(function(item){=0A= var s3 =3D new Blinds(item.getElementsBySelector('.content'),item, = item.getElementsBySelector('.cap')[0]);=0A= });=0A= }, false);=0A= =0A= /* main news accordion bootstrap */=0A= Event.observe(window, 'load', function() {=0A= if ($$('.main_news_accordion .content').length > 0) {=0A= $$('.main_news_accordion').each(function(item){=0A= var content =3D item.getElementsBySelector('.content');=0A= var cap =3D item.getElementsBySelector('.cap')[0];=0A= var s3 =3D new Blinds(content,item,cap);=0A= });=0A= }=0A= }, false); =0A= /* top middle blinds bootstrap */=0A= Event.observe(window, 'load', function() {=0A= if($$('.top_middle_blinds .content').length > 0){=0A= $$('.top_middle_blinds').each(function(item){=0A= var content =3D item.getElementsBySelector('.content');=0A= var cap =3D item.getElementsBySelector('.cap')[0];=0A= =0A= var s3 =3D new Blinds(content,item,cap); =0A= });=0A= =0A= }=0A= }, false);=0A= =0A= /* main video accordion bootstrap */=0A= Event.observe(window, 'load', function() {=0A= if ($$('.main_video_accordion .content').length > 0) {=0A= $$('.main_video_accordion').each(function(item){=0A= var content =3D item.getElementsBySelector('.content');=0A= var cap =3D item.getElementsBySelector('.cap')[0];=0A= var s4 =3D new Blinds(content,item,cap);=0A= });=0A= }=0A= }, false);=0A= =0A= /*For Video Landing Page */=0A= Event.observe(window, 'load', function() {=0A= if ($$('.main_video_accordion_landing .content').length > 0) {=0A= $$('.main_video_accordion_landing').each(function(item){=0A= var content =3D item.getElementsBySelector('.content');=0A= var cap =3D item.getElementsBySelector('.cap')[0];=0A= var s4 =3D new Blinds(content,item,cap);=0A= });=0A= }=0A= }, false);=0A= =0A= /*For Video Pop-up Page */=0A= Event.observe(window, 'load', function() {=0A= if ($$('.main_video_accordion_popup .content').length > 0) {=0A= $$('.main_video_accordion_popup').each(function(item){=0A= var content =3D item.getElementsBySelector('.content');=0A= var cap =3D item.getElementsBySelector('.cap')[0];=0A= var s4 =3D new Blinds(content,item,cap);=0A= });=0A= }=0A= }, false);=0A= =0A= =0A= /* SEARCH BUTTON SUBMIT =0A= Event.observe(window, 'load', function() {=0A= $$('.searchbtn').each(function(item){=0A= Event.observe(item, 'click', function() {=0A= window.location.href=3D"search_results.html";=0A= }, false);=0A= });=0A= }, false);*/=0A= =0A= /* Overlays RSS bootstrap */=0A= Event.observe(window, 'load', function() {=0A= if($$('.myOverlayRSS')){=0A= var allOverlays =3D $$('.myOverlayRSS').map(function(myOverlay){=0A= =0A= var theHref =3D myOverlay.href;=0A= =0A= function renderOverlayRss(contentElement, theHref){=0A= contentElement.innerHTML =3D "";=0A= =0A= function addRssPop(w, h, url){=0A= window.open(url, '', 'width=3D'+ w +', height=3D'+ h +', = toolbar=3Dno, resizable=3Dyes, scrollbars=3Dyes');=0A= }=0A= =0A= if(!Prototype.Browser.WebKit){=0A= var fieldFocus =3D "javascript: $$('.copy_bookmark')[0].select();";=0A= }=0A= =0A= var rssTitle =3D document.title;=0A= =0A= var title =3D new Element('h5',{});=0A= title.update("Add RSS");=0A= =0A= var description =3D new Element("p",{});=0A= description.update('Select a web-based rss site:');=0A= =0A= =0A= function makeListLink(title,classname,hideText){=0A= var link =3D new Element('a',{'className':classname,'href':'#'});=0A= if(hideText){=0A= var span =3D new Element('span',{'className':'hide'});=0A= span.update(title);=0A= link.insert(span);=0A= } else {=0A= link.update(title);=0A= }=0A= var li =3D new Element('li',{});=0A= li.insert(link);=0A= return li;=0A= }=0A= =0A= var links1 =3D [=0A= {className:'bookmark_msn',title:'My MSN'},=0A= {className:'bookmark_technorati',title:'Technorati'},=0A= {className:'bookmark_aol',title:'My Aol'}=0A= ];=0A= var list1 =3D new Element('ul',{'className':'rss_left_ul'});=0A= for(var i=3D0;i 2){=0A= var skipTagOnPage =3D ulTag.childElements()[2].childElements()[0];=0A= if(skipTagOnPage!=3Dnull && skipTagOnPage!=3D"" && = typeof(skipTagOnPage)!=3D"undefined" && = skipTagOnPage.hasClassName("skiplinklogin")){=0A= if(skipTagOnPage.childElements().length > 0){=0A= if(skipTagOnPage.childElements()[0].id!=3D"skipLinkShare"){=0A= = skipTagOnPage.childElements()[0].href=3D'javascript:openUserPref("'+bookm= arkSkipURL+'")'=0A= skipTagOnPage.childElements()[0].id=3D"skipLinkShare";=0A= }=0A= }=0A= }=0A= }else if(ulTag.childElements().length =3D=3D 2){=0A= var skipTagOnPage =3D ulTag.childElements()[1].childElements()[0];=0A= if(skipTagOnPage!=3Dnull && skipTagOnPage!=3D"" && = typeof(skipTagOnPage)!=3D"undefined" && = skipTagOnPage.hasClassName("skiplinklogin")){=0A= if(skipTagOnPage.childElements().length > 0){=0A= if(skipTagOnPage.childElements()[0].id!=3D"skipLinkShare"){=0A= = skipTagOnPage.childElements()[0].href=3D'javascript:openUserPref("'+bookm= arkSkipURL+'")'=0A= skipTagOnPage.childElements()[0].id=3D"skipLinkShare";=0A= }=0A= }=0A= }=0A= }=0A= =0A= }=0A= });=0A= =0A= Event.observe(window, 'load', function() {=0A= =0A= var ulTag =3D $('utilities_nav');=0A= =0A= if(typeof(ulTag)!=3D'undefined' && ulTag !=3D null){=0A= =0A= var ulChild =3D ulTag.childElements();=0A= var shareTagOnPage =3D ulTag.childElements()[1].childElements()[2];=0A= =0A= if(ulTag.childElements().length > 2){=0A= shareTagOnPage =3D ulTag.childElements()[2].childElements()[2];=0A= }=0A= =0A= if(typeof(shareTagOnPage)=3D=3D"undefined" || = (typeof(shareTagOnPage)!=3D"undefined" && = !shareTagOnPage.hasClassName("addthis_button_compact"))){=0A= =0A= =0A= var liTag1 =3D "";=0A= var liTag2 =3D "";=0A= var liTag3 =3D "";=0A= var liTag =3D "";=0A= =0A= liTag1 =3D ulTag.childElements()[0].childElements()[0].innerHTML;=0A= liTag2 =3D ulTag.childElements()[1].childElements()[0].innerHTML;=0A= =0A= if(ulChild.length > 2){=0A= liTag3 =3D ulTag.childElements()[2].childElements()[0].innerHTML;=0A= }=0A= =0A= var checkVal =3D false;=0A= =0A= if(liTag1 =3D=3D "Bookmark"){=0A= liTag =3D ulTag.childElements()[0];=0A= checkVal =3D true;=0A= }else if (liTag2 =3D=3D "Bookmark")=0A= {=0A= liTag =3D ulTag.childElements()[1];=0A= checkVal =3D true;=0A= }else if(liTag3 =3D=3D "Bookmark"){=0A= liTag =3D ulTag.childElements()[2];=0A= checkVal =3D true;=0A= }=0A= =0A= =0A= var footerInfo =3D null;=0A= var index1 =3D "Page Last Updated:".length;=0A= var index2 =3D null;=0A= var footerDate =3D null;=0A= var checkDate =3D Date.parse("Mar 28 2008");=0A= if($('footercol1')){=0A= footerInfo =3D $('footercol1').innerHTML;=0A= =0A= index2 =3D footerInfo.indexOf("
");=0A= if(index2!=3Dnull && index2 =3D=3D -1){=0A= index2 =3D footerInfo.indexOf("
");=0A= }=0A= }=0A= =0A= if(index2!=3Dnull && index2!=3D-1){=0A= footerDate =3D Date.parse(footerInfo.substring(index1,index2));=0A= }=0A= =0A= if(footerDate!=3Dnull && footerDate > checkDate ){=0A= if(checkVal){=0A= var hrefShare =3D getmetacontents('dc.identifier');=0A= var titleShare =3D getmetacontents('dc.title');=0A= =0A= hrefShare=3D(hrefShare!=3Dnull && hrefShare!=3D"" && = typeof(hrefShare)!=3D"undefined")?hrefShare:location.href;=0A= =0A= titleShare=3D(titleShare!=3Dnull && titleShare!=3D"" && = typeof(titleShare)!=3D"undefined")?titleShare:document.title;=0A= =0A= var spanShare =3D new Element('span',{'className':'skiplinklogin'});=0A= var skipAnc =3D new = Element('a',{'id':'skipLinkShare','href':'javascript:openUserPref("http:/= /www.addthis.com/bookmark.php?u508=3Dtrue&username=3Daddthisforshare&url=3D= '+encodeURI(hrefShare)+'&title=3D'+encodeURI(titleShare)+'")'});=0A= skipAnc.update('Follow this link to Share this Page');=0A= spanShare.appendChild(skipAnc);=0A= =0A= var shareAnc =3D new = Element('a',{'href':'#','className':'myOverlayBookmark myOverlayShare = bookmark bottom null icons_black icon_share'});=0A= shareAnc.update('Share');=0A= =0A= =0A= liTag.childElements()[0].remove();=0A= =0A= =0A= liTag.insert(spanShare);=0A= liTag.insert(shareAnc);=0A= }=0A= }else{=0A= var checkVal =3D false;=0A= =0A= if(liTag1 =3D=3D "Bookmark"){=0A= liTag =3D ulTag.childElements()[0];=0A= checkVal =3D true;=0A= }else if (liTag2 =3D=3D "Bookmark")=0A= {=0A= liTag =3D ulTag.childElements()[1];=0A= checkVal =3D true;=0A= }else if(liTag3 =3D=3D "Bookmark"){=0A= liTag =3D ulTag.childElements()[2];=0A= checkVal =3D true;=0A= }=0A= if(checkVal){=0A= var allOverlays =3D = $$('.myOverlayBookmark').map(function(myOverlay){=0A= =0A= var theHref =3D myOverlay.href;=0A= var classSplit =3D myOverlay.classNames().toString();=0A= var floatType =3D new Array();=0A= floatType =3D classSplit.split(" ");=0A= =0A= =0A= function renderOverlayBookmarks(contentElement, theHref){=0A= contentElement.innerHTML =3D "";=0A= =0A= if($('url')){=0A= theHref =3D $('url').value;=0A= }=0A= =0A= function addBookPop(w, h, url){=0A= window.open(url, '', 'width=3D'+ w +', height=3D'+ h +', = toolbar=3Dno, resizable=3Dyes, scrollbars=3Dyes');=0A= }=0A= =0A= if(!Prototype.Browser.WebKit){=0A= var fieldFocus =3D "javascript: = $$('.copy_bookmark')[0].select();";=0A= }=0A= =0A= if($('titleUrl')){=0A= var bookmarkTitle =3D $('titleUrl').value;=0A= }=0A= //var bookmarkTitle =3D document.title;=0A= if($('documentId')){=0A= var documentId =3D $('documentId').value;=0A= }=0A= var mynasaUrl =3D = "http://mynasa.nasa.gov/portal/bookmarks/BookmarkServlet?bookmark_title=3D= "+encodeURI(bookmarkTitle)+"&bookmark_url=3D"+encodeURI(theHref)+=0A= "&bookmark_label=3D"+documentId;=0A= =0A= var title =3D new Element('h5',{});=0A= title.update('Bookmark this');=0A= =0A= var description =3D new Element('p',{});=0A= description.update('Select a bookmarking site.');=0A= =0A= var nasaLink =3D new Element('a',{'className':'rss_mynasa', = 'href':mynasaUrl});=0A= nasaLink.update('MyNASA');=0A= =0A= function makeListLink(title,classname,hideText){=0A= var link =3D new Element('a',{'className':classname,'href':'#'});=0A= if(hideText){=0A= var span =3D new Element('span',{'className':'hide'});=0A= span.update(title);=0A= link.insert(span);=0A= } else {=0A= link.update(title);=0A= }=0A= var li =3D new Element('li',{});=0A= li.insert(link);=0A= return li;=0A= }=0A= =0A= var links =3D [=0A= {className:'bookmark_digg', 'title':'Digg It'},=0A= {className:'bookmark_delicious', 'title':'del.icio.us'},=0A= {className:'bookmark_stumble', 'title':'StumbleUpon'},=0A= {className:'bookmark_technorati', 'title':'Technorati'},=0A= {className:'bookmark_yahoo', 'title':'Yahoo'},=0A= {className:'bookmark_facebook', 'title':'Facebook'},=0A= {className:'bookmark_twitter', 'title':'Twitter'}=0A= ];=0A= var list =3D new Element('ul');=0A= for(var i=3D0;iEducation Materials Filter',=0A= 'body': '

Lorem ipsum dolor sit amet, consectetur adipisicing = elit, sed do eiusmod tempor incididunt ut labore et.

\n'=0A= }),=0A= 'popular_content_help': $H({=0A= 'title': '
Popular Content
',=0A= 'body': '

These words and phrases are the current most popular = searches. The larger the font size, the more frequently the term was = searched.

\n'=0A= }),=0A= 'teaching_materials_help': $H({=0A= 'title': '
Teaching Materials
',=0A= 'body': '

Lorem ipsum dolor sit amet, consectetur adipisicing = elit, sed do eiusmod tempor incididunt ut labore et.

\n'=0A= }),=0A= 'confirm_email_help': $H({=0A= 'title': '',=0A= 'body': '

A confirmation email message will be sent to this = address asking you to verify your registration.

\n'=0A= }),=0A= 'comment_on_article_help': $H({=0A= 'title': '
Commenting
',=0A= 'body': '

Make your opinion known by adding your comments on this = article so other users can read them. Choose any username you wish =96 = your submission can be entirely anonymous.

\n'=0A= }),=0A= 'satellite_tracking_help': $H({=0A= 'title': '
Hubble Space Telescope
',=0A= 'body': '

Lorem ipsum dolor sit amet, consectetur adipisicing = elit, sed do eiusmod tempor incididunt ut labore et.

\n' +=0A= 'Details\n'=0A= }),=0A= 'education_material_types_help': $H({=0A= 'title': '
Lithographs
',=0A= 'body': '

Lorem ipsum dolor sit amet, consectetur adipisicing = elit, sed do eiusmod tempor incididunt ut labore et.

\n' =0A= }),=0A= 'missions_education_filter_help': $H({=0A= 'title': '
Missions Filter
',=0A= 'body': '

Use this filter to quickly narrow your search for NASA = missions of interest to you.
Click as many boxes as you wish. As = you do, the number of materials will update, showing you the materials = that match what you\'re looking for.
Click View Results to see a = list of all of the materials.

\n'=0A= }),=0A= 'nasa_calendar_help': $H({=0A= 'title': '
NASA Calendar
',=0A= 'body': '

Lorem ipsum dolor sit amet, consectetur adipisicing = elit, sed do eiusmod tempor incididunt ut labore et.

\n' =0A= }),=0A= 'nasa_tv_video_help': $H({=0A= 'title': '
NASA TV & Video
',=0A= 'body': '

NASA\'s Video Player is designed to detect your = preferred media player and offer video in that format. Videos may play = in Windows MediaPlayer, RealPlayer or QuickTime. You may not be able to = view all videos in the player unless you have the proper plugins.

\n'=0A= }),=0A= 'add_panels_help': $H({=0A= 'title': '
Add Panels
',=0A= 'body': '

You can add any panel you want to your MyNASA page. = Hover your mouse over a panel title to see the description. If you like = what you see, hit Add and the panel will appear on the page. We\'ve = added a couple for you to get you started.

\n'=0A= }),=0A= 'mynasa_bookmarks_help': $H({=0A= 'title': '
Bookmarks
',=0A= 'body': '

Add NASA site content that you want to read later by = hitting the bookmark icon where you see it around the site.

\n'=0A= }),=0A= 'mynasa_playlists_help': $H({=0A= 'title': '
Playlists
',=0A= 'body': '

Add video and audio content that you want to hear later = by hitting the bookmark icon where you see it around the site.

\n'=0A= }),=0A= 'lorem_ipsum_help': $H({=0A= 'title': '
Lorem Ipsum
',=0A= 'body': '

Lorem ipsum dolor sit amet, consectetur adipisicing = elit, sed do eiusmod tempor incididunt ut labore et.

\n'=0A= }),=0A= 'nasa_tv_schedule_help': $H({=0A= 'title': '
NASA TV Schedule
',=0A= 'body': '

NASA Television is a multi-channel, MPEG-2 digital = service, transmitted from two C-band U.S. satellites: AMC-6, at 72 = degrees west longitude, transponder 17C, with a downlink frequency of = 4040 MHz, and vertical polarization; and AMC-7, at 137 degrees west = longitude, transponder 18C, with a downlink frequency of 4060 MHz, and = vertical polarization.

\n'=0A= =0A= })=0A= });=0A= =0A= var infoBody =3D helpContents[theHelpContents]['title'] + = helpContents[theHelpContents]['body'];=0A= =0A= Event.observe(myOverlay, "mouseover", function(cellElement, = floatDirection, cellContent) {=0A= return function (event) {=0A= new safariHover('over',cellElement, event, function(){=0A= new FloatingInfo(cellElement, {=0A= 'float':'auto',=0A= 'padding': 1,=0A= 'floatDirection': floatDirection,=0A= 'arrowClass': 'float_arrow',=0A= 'overlayClasses':=0A= {=0A= 'top': 'floatType_popular_top',=0A= 'inner': 'floatType_popular',=0A= 'bottom': 'floatType_popular_bottom'=0A= },=0A= 'contentRender': cellContent=0A= });=0A= });=0A= };=0A= }(myOverlay, floatType[2], infoBody));=0A= });=0A= }, false);=0A= =0A= /*=0A= document.observe('contentloaded', function() {=0A= var allOverlays =3D $$('.myOverlayLogin').map(function(myOverlay){=0A= var loginContents =3D $H({=0A= 'login_error': $H({=0A= 'title': '
Error!
',=0A= 'body': '

Your name and password do not match our records. Please = re-enter.

\n

› = Forgot Username
or Password?

'=0A= }),=0A= 'password_retrieval': $H({=0A= 'title': '
Password Retrieval
',=0A= 'body': '

Please enter your email address and we will send you an = email with your Sign in information.

\n

'=0A= }),=0A= 'password_retrieval_error': $H({=0A= 'title': '
Password Retrieval
',=0A= 'body': '

Please enter your email address and we will send you an = email with your Sign in information.

\n

The email address you have = entered is incorrect. Please try again

'=0A= }),=0A= 'registration_page_error': $H({=0A= 'title': '',=0A= 'body': '

The user name you selected is already taken.

Try = something different.

\n'=0A= })=0A= });=0A= =0A= var infoBody =3D loginContents['login_error']['title'] + = loginContents['login_error']['body'];=0A= =0A= _displayError =3D function(){=0A= new safariHover('over',myOverlay, "mouseover", function(){=0A= new FloatingInfo(myOverlay, {=0A= 'float':'auto',=0A= 'padding': 2,=0A= 'floatDirection': 'bottom',=0A= 'arrowClass':'float_arrow',=0A= 'overlayClasses':=0A= {=0A= 'top':'floatType_error_top',=0A= 'inner':'floatType_error',=0A= 'bottom':'floatType_error_bottom'=0A= },=0A= 'contentRender': infoBody=0A= });=0A= =0A= }); =0A= };=0A= =0A= var url =3D '../temp-resources/scripts/login.php';=0A= =0A= Event.observe(myOverlay, "click", function(url) {=0A= return function (event) {=0A= var form =3D $('login_form');=0A= var formUserInput =3D form['user'];=0A= var formPassInput =3D form['pass'];=0A= var myRequest =3D new Ajax.Request( url, =0A= {=0A= method:'post',=0A= postBody:'user=3D' + $('user').getValue() + '&pass=3D' + = $('pass').getValue(),=0A= onSuccess:function(transport)=0A= {=0A= if(transport.responseText !=3D 'error'){=0A= window.location =3D transport.responseText;=0A= }else{=0A= _displayError();=0A= }=0A= }=0A= });=0A= Event.stop(event);=0A= return false;=0A= };=0A= =0A= =0A= }(url));=0A= });=0A= }, false);*/=0A= =0A= /*ADDED NEW for overlay LOGIN*/=0A= =0A= Event.observe(window, 'load', function() {=0A= =0A= var allOverlays =3D $$('.myOverlayLogin').map(function(myOverlay){=0A= =0A= var theHref =3D myOverlay.href;=0A= var classSplit =3D myOverlay.classNames().toString();=0A= var floatType =3D new Array();=0A= floatType =3D classSplit.split(" ");=0A= =0A= =0A= function renderOverlayLogin(contentElement){=0A= contentElement.innerHTML =3D "";=0A= =0A= =0A= var mynasaUrl =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.REGISTER/";=0A= var forgotPassUrl =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.FORGOT_PASSWORD";=0A= =0A= var title =3D new Element('h5',{'id':'mynasah5'});=0A= title.update('Login to MyNASA');=0A= =0A= =0A= var closelink =3D new Element('a',{className:'module_close = icons_black icon_close','href':'#','id':'closelink'});=0A= =0A= var nasaLink =3D new = Element('a',{'href':mynasaUrl,className:'signup'});=0A= nasaLink.update('› Sign Up for MyNASA');=0A= =0A= var nasaForgot =3D new = Element('a',{'href':forgotPassUrl,className:'signup'});=0A= nasaForgot.update('› Forgot Password');=0A= =0A= =0A= var inputtext =3D new = Element('input',{'type':'text','id':'logon','name':'logon','value':''});=0A= var spaninput =3D new Element('span');=0A= spaninput.update('Username: ');=0A= =0A= =0A= inputtext.onfocus =3D function() { =0A= // if already cleared, do nothing =0A= if (this._cleared) =0A= return; // when this code is executed, "this" keyword will in = fact be the field itself =0A= this.clear();=0A= this._cleared =3D true ;=0A= }=0A= =0A= =0A= var inputpass =3D new = Element('input',{'type':'password','id':'password','name':'password','alt= ':'Password'});=0A= var spanpass =3D new Element('span');=0A= spanpass.update('Password: ');=0A= =0A= var inputrealm =3D new = Element('input',{'type':'hidden','id':'realm','name':'realm','value':'rea= lm1'});=0A= =0A= =0A= var gridform =3D new = Element('form',{'id':'gridLogin','name':'gridLogin','method':'post','acti= on':'http://mynasa.nasa.gov/portal/site/mynasa/template.NASA_LOGIN_PROCES= S'});=0A= =0A= var loginbtn =3D new = Element('a',{className:'linkbutton_tiny','href':"javascript:gridLoginSubm= it();"});=0A= loginbtn.update('Log In');=0A= =0A= var cancelbtn =3D new = Element('a',{className:'linkbutton_tiny','href':"#",'id':'cancellogin'});=0A= cancelbtn.update('Cancel');=0A= =0A= =0A= var br =3D new Element('br',{className:'clear'});=0A= var br1 =3D new Element('br',{className:'clear'});=0A= var br2 =3D new Element('br',{className:'clear'});=0A= =0A= var ullist =3D new Element('ul',{className:'loginoverlay'});=0A= var litag1 =3D new Element('li',{className:'inputFields'});=0A= var litag2 =3D new Element('li',{className:'inputFields'});=0A= var litag3 =3D new Element('li',{'id':'loginbtn'});=0A= var litag4 =3D new Element('li');=0A= var litag5 =3D new Element('li');=0A= =0A= =0A= =0A= litag1.insert(spaninput);=0A= litag1.insert(inputtext);=0A= =0A= litag2.insert(spanpass);=0A= litag2.insert(inputpass);=0A= =0A= litag3.insert(loginbtn);=0A= litag3.insert(cancelbtn);=0A= =0A= litag4.insert(nasaLink);=0A= litag5.insert(nasaForgot);=0A= =0A= ullist.insert(litag1);=0A= ullist.insert(litag2);=0A= =0A= ullist.insert(litag3);=0A= =0A= ullist.insert(litag4);=0A= ullist.insert(litag5);=0A= =0A= gridform.appendChild(ullist);=0A= gridform.appendChild(inputrealm);=0A= =0A= =0A= contentElement.appendChild(title);=0A= contentElement.appendChild(closelink);=0A= contentElement.appendChild(gridform);=0A= =0A= =0A= }=0A= =0A= Event.observe($("loginnasa"),"click", function(event) {=0A= event.preventDefault();=0A= });=0A= =0A= Event.observe(myOverlay, "mousedown", function(cellElement, = floatDirection, cellContent, widthClass) {=0A= return function (event) {=0A= new safariHover('over',cellElement, event, function(){=0A= //alert('in mousedown : '+event);=0A= new FloatingInfo(cellElement, {=0A= 'float':'auto',=0A= 'padding': 0,=0A= 'floatDirection': floatDirection,=0A= 'arrowClass':'float_arrow',=0A= 'overlayClasses':=0A= {=0A= 'top':'floatType_bookmark_top',=0A= 'inner':'floatType_bookmark',=0A= 'bottom':'floatType_bookmark_bottom'=0A= },=0A= 'widthClass': widthClass,=0A= 'contentRender': function(contentElement_){=0A= // this render function is called by the overlay=0A= renderOverlayLogin(contentElement_);=0A= }.bind(this)=0A= });=0A= });=0A= };=0A= }(myOverlay, floatType[2], theHref, floatType[3]));=0A= Event.observe(myOverlay, "focus", function(cellElement, = floatDirection, cellContent, widthClass) {=0A= return function (event) {=0A= new safariHover('over',cellElement, event, function(){=0A= new FloatingInfo(cellElement, {=0A= 'float':'auto',=0A= 'padding': 0,=0A= 'floatDirection': floatDirection,=0A= 'arrowClass':'float_arrow',=0A= 'overlayClasses':=0A= {=0A= 'top':'floatType_bookmark_top',=0A= 'inner':'floatType_bookmark',=0A= 'bottom':'floatType_bookmark_bottom'=0A= },=0A= 'widthClass': widthClass,=0A= 'contentRender': function(contentElement_){=0A= // this render function is called by the overlay=0A= renderOverlayLogin(contentElement_);=0A= }.bind(this)=0A= });=0A= });=0A= };=0A= }(myOverlay, floatType[2], theHref, floatType[3]));=0A= });=0A= }, false);=0A= =0A= =0A= Event.observe(window, 'load', function() {=0A= =0A= var allOverlays =3D $$('.myOverlayError').map(function(myOverlay){=0A= =0A= var classSplit =3D myOverlay.classNames().toString();=0A= var floatType =3D new Array();=0A= floatType =3D classSplit.split(" ");=0A= =0A= var theErrorContents =3D floatType[4];=0A= =0A= var errorContents =3D $H({=0A= 'login_error': $H({=0A= 'title': '
Error!
',=0A= 'body': '

Your name and password do not match our records. Please = re-enter.

\n

› = Forgot Username
or Password?

'=0A= }),=0A= 'general_error': $H({=0A= 'title': '
Error!
',=0A= 'body': '

Lorem ipsum dolor sit amet, consectetur adipisicing = elit, sed do eiusmod tempor incididunt ut labore et.

\n'=0A= }),=0A= 'incorrect_email_error': $H({=0A= 'title': '
Error!
',=0A= 'body': '

Sorry that email is not vaild.

\n'=0A= }),=0A= 'password_retrieval': $H({=0A= 'title': '
Password Retrieval
',=0A= 'body': '

Please enter your email address and we will send you an = email with your Sign in information.

\n

'=0A= }),=0A= 'password_retrieval_error': $H({=0A= 'title': '
Password Retrieval
',=0A= 'body': '

Please enter your email address and we will send you an = email with your Sign in information.

\n

The email address you have = entered is incorrect. Please try again

'=0A= }),=0A= 'registration_page_error': $H({=0A= 'title': '',=0A= 'body': '

The user name you selected is already taken.

Try = something different.

\n'=0A= })=0A= });=0A= =0A= var infoBody =3D errorContents[theErrorContents]['title'] + = errorContents[theErrorContents]['body'];=0A= =0A= Event.observe(myOverlay, "mousedown", function(cellElement, = floatDirection, cellContent) {=0A= return function (event) {=0A= new safariHover('over',cellElement, event, function(){=0A= new FloatingInfo(cellElement, {=0A= 'float':'auto',=0A= 'padding': 2,=0A= 'floatDirection': floatDirection,=0A= 'arrowClass':'float_arrow',=0A= 'overlayClasses':=0A= {=0A= 'top':'floatType_error_top',=0A= 'inner':'floatType_error',=0A= 'bottom':'floatType_error_bottom'=0A= },=0A= 'contentRender': cellContent=0A= });=0A= });=0A= };=0A= }(myOverlay, floatType[2], infoBody));=0A= });=0A= }, false);=0A= =0A= var mouseOverClassify =3D Class.create();=0A= mouseOverClassify.prototype =3D { =0A= initialize: function(options){=0A= //=0A= // Note: Positioning-based logic does not work for elements which are = heavily z-indexed and overlapping (like StackedDeck)=0A= // in those cases, options must have ignore_position set to true=0A= //=0A= this.options =3D {};=0A= if(typeof(options)=3D=3D'object' && options!=3Dnull){=0A= this.options =3D options;=0A= } else {=0A= this.options['ignore_position'] =3D false;=0A= }=0A= this.options['ignore_position'] =3D true;=0A= },=0A= classify: function(element, nameOfClass) {=0A= Event.observe(element, "mouseover",=0A= function(e){=0A= if(this.options['ignore_position']=3D=3Dtrue){=0A= if(typeof(this.options['adderFunction'])=3D=3D'function'){=0A= this.options['adderFunction'](element);=0A= } else {=0A= element.addClassName(nameOfClass);=0A= }=0A= } else {=0A= var IsItIn =3D Position.within(element, Event.pointerX(e), = Event.pointerY(e));=0A= if(IsItIn && !element.ItIsIn) {=0A= element.ItIsIn =3D true;=0A= if(typeof(this.options['adderFunction'])=3D=3D'function'){=0A= this.options['adderFunction'](element);=0A= } else {=0A= element.addClassName(nameOfClass);=0A= }=0A= }=0A= }=0A= Event.stop(e);=0A= }.bind(this)=0A= );=0A= Event.observe(element, "mouseout",=0A= function(e){=0A= if(this.options['ignore_position']=3D=3Dtrue){=0A= if(typeof(this.options['removerFunction'])=3D=3D'function'){=0A= this.options['removerFunction'](element);=0A= } else {=0A= element.removeClassName(nameOfClass);=0A= }=0A= } else {=0A= var IsItIn =3D Position.within(element, Event.pointerX(e), = Event.pointerY(e));=0A= if(!IsItIn && element.ItIsIn) {=0A= element.ItIsIn =3D false;=0A= if(typeof(this.options['removerFunction'])=3D=3D'function'){=0A= this.options['removerFunction'](element);=0A= } else {=0A= element.removeClassName(nameOfClass);=0A= }=0A= }=0A= }=0A= Event.stop(e);=0A= }.bind(this)=0A= );=0A= }=0A= };=0A= =0A= =0A= /* scan for generic selects to skin */=0A= Event.observe(window, 'load', function() {=0A= =0A= if ($$('.select_dropdown')[0]) {=0A= var allDropDowns =3D $$('.select_dropdown').map(function(elm){=0A= if (detectBrowser.whichBrowser() !=3D 'ie') {=0A= var classSplit =3D elm.parentNode.classNames().toString();=0A= var classType =3D new Array();=0A= classType =3D classSplit.split(" ");=0A= =0A= return new SkinnedSelect(elm.parentNode, elm, function(){=0A= window.location.href =3D elm.value;=0A= }, '', classType[0]);=0A= }=0A= else {=0A= elm.removeClassName('select_dropdown');=0A= elm.removeClassName('hide');=0A= elm.addClassName('select_dropdown_ie');=0A= Event.observe(elm, "change", function(e){=0A= window.location.href =3D elm.value;=0A= Event.stop(e);=0A= });=0A= }=0A= });=0A= }=0A= }, false);=0A= =0A= /* text size adjuster =0A= document.observe ('contentloaded', function(){=0A= // find each text adjuster, find its adjustee (thing to be adjusted in = size), and =0A= // listen for clicks and adjust size appropriately.=0A= =0A= $$('.text_adjust').each(function(adjuster){=0A= var adjustee =3D = adjuster.up().getElementsBySelector('.text_adjust_me')[0];=0A= if(adjustee){=0A= var inTheMiddle =3D true;=0A= var inTheMax =3D false;=0A= var inTheMin =3D false;=0A= var adjustBox =3D adjuster;=0A= var boxToAdjust =3D adjustee;=0A= var growButton =3D adjustBox.getElementsByClassName('icon_plus')[0];=0A= var shrinkButton =3D = adjustBox.getElementsByClassName('icon_minus')[0];=0A= =0A= Event.observe (growButton, 'click', function(ev) {=0A= if(inTheMiddle =3D=3D true) {=0A= boxToAdjust.addClassName('article_grow');=0A= growButton.addClassName('icon_plus_inactive');=0A= inTheMiddle =3D false;=0A= inTheMax =3D true;=0A= } else =0A= if(inTheMin =3D=3D true) {=0A= boxToAdjust.removeClassName('article_shrink');=0A= shrinkButton.removeClassName('icon_minus_inactive');=0A= inTheMiddle =3D true;=0A= inTheMin =3D false;=0A= }=0A= ev.stop();=0A= return false;=0A= }, false);=0A= Event.observe (shrinkButton, 'click', function(ev) {=0A= if(inTheMiddle =3D=3D true) {=0A= boxToAdjust.addClassName('article_shrink');=0A= shrinkButton.addClassName('icon_minus_inactive');=0A= inTheMiddle =3D false;=0A= inTheMin =3D true;=0A= } else =0A= if(inTheMax =3D=3D true) {=0A= boxToAdjust.removeClassName('article_grow');=0A= growButton.removeClassName('icon_plus_inactive');=0A= inTheMiddle =3D true;=0A= inTheMax =3D false;=0A= }=0A= ev.stop();=0A= return false;=0A= }, false); =0A= }=0A= });=0A= =0A= });*/=0A= =0A= /* text size adjuster */=0A= var inTheMiddle =3D true;=0A= var inTheMax =3D false;=0A= var inTheMin =3D false;=0A= =0A= function textSizeAdjuster(click){=0A= // find each text adjuster, find its adjustee (thing to be adjusted in = size), and=0A= // listen for clicks and adjust size appropriately.=0A= $$('.text_adjust').each(function(adjuster){=0A= var adjustee =3D = adjuster.up().getElementsBySelector('.text_adjust_me')[0];=0A= if(adjustee){=0A= var adjustBox =3D adjuster;=0A= var boxToAdjust =3D adjustee;=0A= var growButton =3D = adjustBox.getElementsByClassName('icon_plus')[0];=0A= var shrinkButton =3D = adjustBox.getElementsByClassName('icon_minus')[0];=0A= if(click =3D=3D 'grow') {=0A= if(inTheMiddle =3D=3D true) {=0A= boxToAdjust.addClassName('article_grow');=0A= growButton.addClassName('icon_plus_inactive');=0A= inTheMiddle =3D false;=0A= inTheMax =3D true;=0A= } else=0A= if(inTheMin =3D=3D true) {=0A= boxToAdjust.removeClassName('article_shrink');=0A= shrinkButton.removeClassName('icon_minus_inactive');=0A= inTheMiddle =3D true;=0A= inTheMin =3D false;=0A= }=0A= }=0A= if (click =3D=3D 'shrink') {=0A= if(inTheMiddle =3D=3D true) {=0A= boxToAdjust.addClassName('article_shrink');=0A= shrinkButton.addClassName('icon_minus_inactive');=0A= inTheMiddle =3D false;=0A= inTheMin =3D true;=0A= } else=0A= if(inTheMax =3D=3D true) {=0A= boxToAdjust.removeClassName('article_grow');=0A= growButton.removeClassName('icon_plus_inactive');=0A= inTheMiddle =3D true;=0A= inTheMax =3D false;=0A= }=0A= }=0A= }=0A= });=0A= }=0A= =0A= =0A= /*=0A= =0A= Filters with counters:=0A= =0A= Note1: this code looks for elements with class .filterset and creates = numeric filters out of them=0A= Note2: the entire thing should be inside of an element = .filter_container if you don't want the code =0A= to confuse various co-existing counters on the same page. Make = sure to encapsulate filters =0A= this way or just use counters every time.=0A= Note3: A visual counter resides inside of an element .totalweight which = should either be a descendent =0A= of .filterset or should be a nearby sibling or 'cousin' node. In = either case, they should both =0A= share a common .filter_container ancestor in order not to = confuse co-existing counters on the =0A= same page.=0A= =0A= */=0A= document.observe("contentloaded",function(){=0A= $$('.filterset').each(function(filterSetContainer){=0A= var setNumOnce =3D false;=0A= var found =3D false;=0A= var p =3D filterSetContainer;=0A= while(found=3D=3Dfalse){=0A= counterElement =3D p.getElementsBySelector(".totalweight")[0];=0A= if(p.hasClassName("filter_container") || p.nodeName=3D=3D'BODY' || = p.nodeName=3D=3D'body'){=0A= // we've gone too far up the ancestry chain and there is no visual = counter associated with this filter.=0A= counterElement =3D null;=0A= found =3D true;=0A= } else if(counterElement && = counterElement.hasClassName('totalweight')){=0A= found =3D true;=0A= } else {=0A= p =3D p.up();=0A= }=0A= // if we've found element.totalweight, we'll be exiting here, else we = move up the ancestry chain=0A= }=0A= if(counterElement){=0A= var pc =3D new PrettyCounter(counterElement,4,0,true);=0A= var educators_filter =3D new = SetFilter(filterSetContainer,function(updateText){=0A= pc.setNum(parseInt(updateText),!setNumOnce);=0A= setNumOnce =3D true;=0A= },true);=0A= }=0A= });=0A= });=0A= =0A= // detect any scrollbars=0A= document.observe("contentloaded",function(){=0A= var sFactory =3D new ScrollFactory();=0A= });=0A= =0A= /* Search results dropdown */=0A= Event.observe(window, 'load', function() {=0A= if($$('select.browse_relevance').length > 0){=0A= var dds =3D new = SkinnedSelect($$('select.browse_relevance')[0].parentNode,$$('select.brow= se_relevance')[0], function(){=0A= if($$('select.browse_relevance')[0].value !=3D 0) {=0A= document.location.href =3D "search_results.html?sort=3D" + = $$('select.browse_relevance')[0].value;=0A= }=0A= },'','white');=0A= }=0A= }, false);=0A= =0A= /*=0A= Event.observe(window, 'load', function() {=0A= var faqpage =3D $$('.hideanswer');=0A= if(faqpage !=3D null){=0A= showfaq('1');=0A= }=0A= },false);=0A= */=0A= =0A= Event.observe(window, 'load', function() {=0A= var nasalogo =3D $$('.nasa_logo');=0A= if(nasalogo !=3D null){=0A= if(nasalogo[0] !=3D null && nasalogo[0].readAttribute('href') = !=3D null) {=0A= nasalogo[0].writeAttribute("href","/home/index.html"); =0A= } =0A= }=0A= },false);=0A= =0A= =0A= =0A= =0A= /*iCal Calendar Overlay*/=0A= Event.observe(window, 'load', function() {=0A= if($$('.myOverlayCalendar')){=0A= var allOverlays =3D $$('.myOverlayCalendar').map(function(myOverlay){=0A= =0A= var theHref =3D myOverlay.href;=0A= =0A= function renderOverlayRss(contentElement, theHref){=0A= contentElement.innerHTML =3D "";=0A= =0A= function addRssPop(w, h, url){=0A= window.open(url, '', 'width=3D'+ w +', height=3D'+ h +', = toolbar=3Dno, resizable=3Dyes, scrollbars=3Dyes');=0A= }=0A= =0A= if(!Prototype.Browser.WebKit){=0A= var fieldFocus =3D "javascript: $$('.iCal_bookmark')[0].select();";=0A= }=0A= =0A= var rssTitle =3D document.title;=0A= =0A= var title =3D new Element('h5',{});=0A= title.update("Subscribe/Import Calendar Events");=0A= =0A= var description =3D new Element("p",{});=0A= description.update('');=0A= =0A= =0A= function makeListLink(title,classname,hideText){=0A= var link =3D new Element('a',{'className':classname,'href':'#'});=0A= if(hideText){=0A= var span =3D new Element('span',{'className':'hide'});=0A= span.update(title);=0A= link.insert(span);=0A= } else {=0A= link.update(title);=0A= }=0A= var li =3D new Element('li',{});=0A= li.insert(link);=0A= return li;=0A= }=0A= =0A= var links1 =3D [=0A= {className:'calendar_msn',title:'Download'},=0A= {className:'calendar_aol',title:'Help'}=0A= ];=0A= var list1 =3D new Element('ul',{'className':'rss_left_ul'});=0A= for(var i=3D0;i\n';}else{html+=3D'\n';html+=3D(src)?' \n':'';for(var i in = embedOptions){html+=3D' ';}=0A= html+=3D'\n';}=0A= if(target){if(typeof = target=3D=3D"string")target=3Ddocument.getElementById(target);target.inne= rHTML=3Dhtml;}else{document.write(html);}}=0A= var getAttributeHtml=3Dfunction(name,value){return(value)?(" = "+name+"=3D\""+value+"\""):"";}=0A= this.PLUGINS=3D{"Director":{description:"Macromedia = Director",progID:["SWCtl.SWCtl.11","SWCtl.SWCtl.10","SWCtl.SWCtl.9","SWCt= l.SWCtl.8","SWCtl.SWCtl.7","SWCtl.SWCtl.6","SWCtl.SWCtl.5","SWCtl.SWCtl.4= "],classID:"166B1BCA-3F9C-11CF-8075-444553540000",pluginsPage:"http://www= .macromedia.com/shockwave/download/",codeBase:"http://download.macromedia= .com/pub/shockwave/cabs/director/sw.cab#version=3D8,5,1,0",mimeType:"appl= ication/x-director"},"Flash":{description:"Macromedia Shockwave = Flash",progID:["ShockwaveFlash.ShockwaveFlash.9","ShockwaveFlash.Shockwav= eFlash.8.5","ShockwaveFlash.ShockwaveFlash.8","ShockwaveFlash.ShockwaveFl= ash.7","ShockwaveFlash.ShockwaveFlash.6","ShockwaveFlash.ShockwaveFlash.5= ","ShockwaveFlash.ShockwaveFlash.4"],classID:"D27CDB6E-AE6D-11CF-96B8-444= 553540000",pluginsPage:"http://www.macromedia.com/go/getflashplayer",code= Base:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab= #version=3D6,0,40,0",mimeType:"application/x-shockwave-flash",standardEmb= edAttributes:{quality:"high"},acceptedMimeTypes:[{type:"application/x-sho= ckwave-flash",suffixes:"swf"},{type:"application/futuresplash",suffixes:"= spl"}]}}=0A= var = supportsNavigatorPlugins=3Dfunction(){return(navigator.plugins&&(navigato= r.plugins.length>0));}=0A= var = supportsActiveX=3Dfunction(){return((typeof'ActiveXObject'!=3D'undefined'= )&&(navigator.userAgent.indexOf('Win')!=3D-1));}=0A= var getIEClientCaps=3Dfunction(){var = clientcaps=3Ddocument.getElementById("__Plugin_ClientCaps");if(!clientcap= s){var = clientcaps=3Ddocument.createElement("DIV");clientcaps.id=3D"__Plugin_Clie= ntCaps";if(clientcaps.addBehavior){clientcaps.addBehavior("#default#clien= tCaps");document.body.appendChild(clientcaps);}=0A= clientcaps=3Ddocument.getElementById("__Plugin_ClientCaps");}=0A= return clientcaps;}=0A= var getActiveXPluginByClassId=3Dfunction(classID){if(!classID)return = null;if(!classID.match(/{[^}]+}/))classID=3D"{"+classID+"}";var = clientcaps=3DgetIEClientCaps();try{var = result=3Dclientcaps.getComponentVersion(classID,"ComponentID")=0A= return result||null;}catch(err){}=0A= return null;}=0A= var = hasActiveXObject=3Dfunction(progID){progID=3DgetProgIdForActiveXObject(pr= ogID);return(progID!=3Dnull);}=0A= var getProgIdForActiveXObject=3Dfunction(progID){if(!progID)return = null;for(var i=3D0;i 0));=0A= }=0A= =0A= /*---------------JS TO DETECT FLASH PLUGIN END---------------*/=0A= }=0A= =0A= =0A= /*---------------Date formatter and date validator JS = Start---------------*/=0A= =0A= /*=0A= * Date Format 1.2.2=0A= * (c) 2007-2008 Steven Levithan =0A= * MIT license=0A= * Includes enhancements by Scott Trenda and Kris = Kowal =0A= *=0A= * Accepts a date, a mask, or a date and a mask.=0A= * Returns a formatted version of the given date.=0A= * The date defaults to the current date/time.=0A= * The mask defaults to dateFormat.masks.default.=0A= */=0A= var dateFormat =3D function () {=0A= var token =3D = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,=0A= timezone =3D = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) = (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,=0A= timezoneClip =3D /[^-+\dA-Z]/g,=0A= pad =3D function (val, len) {=0A= val =3D String(val);=0A= len =3D len || 2;=0A= while (val.length < len) val =3D "0" + val;=0A= return val;=0A= };=0A= =0A= // Regexes and supporting functions are cached through closure=0A= return function (date, mask, utc) {=0A= var dF =3D dateFormat;=0A= =0A= // You can't provide utc if you skip other args (use the "UTC:" mask = prefix)=0A= if (arguments.length =3D=3D 1 && (typeof date =3D=3D "string" || date = instanceof String) && !/\d/.test(date)) {=0A= mask =3D date;=0A= date =3D undefined;=0A= }=0A= =0A= // Passing date through Date applies Date.parse, if necessary=0A= date =3D date ? new Date(date) : new Date();=0A= if (isNaN(date)) throw new SyntaxError("invalid date");=0A= =0A= mask =3D String(dF.masks[mask] || mask || dF.masks["default"]);=0A= =0A= // Allow setting the utc argument via the mask=0A= if (mask.slice(0, 4) =3D=3D "UTC:") {=0A= mask =3D mask.slice(4);=0A= utc =3D true;=0A= }=0A= =0A= var _ =3D utc ? "getUTC" : "get",=0A= d =3D date[_ + "Date"](),=0A= D =3D date[_ + "Day"](),=0A= m =3D date[_ + "Month"](),=0A= y =3D date[_ + "FullYear"](),=0A= H =3D date[_ + "Hours"](),=0A= M =3D date[_ + "Minutes"](),=0A= s =3D date[_ + "Seconds"](),=0A= L =3D date[_ + "Milliseconds"](),=0A= o =3D utc ? 0 : date.getTimezoneOffset(),=0A= flags =3D {=0A= d: d,=0A= dd: pad(d),=0A= ddd: dF.i18n.dayNames[D],=0A= dddd: dF.i18n.dayNames[D + 7],=0A= m: m + 1,=0A= mm: pad(m + 1),=0A= mmm: dF.i18n.monthNames[m],=0A= mmmm: dF.i18n.monthNames[m + 12],=0A= yy: String(y).slice(2),=0A= yyyy: y,=0A= h: H % 12 || 12,=0A= hh: pad(H % 12 || 12),=0A= H: H,=0A= HH: pad(H),=0A= M: M,=0A= MM: pad(M),=0A= s: s,=0A= ss: pad(s),=0A= l: pad(L, 3),=0A= L: pad(L > 99 ? Math.round(L / 10) : L),=0A= t: H < 12 ? "a" : "p",=0A= tt: H < 12 ? "am" : "pm",=0A= T: H < 12 ? "A" : "P",=0A= TT: H < 12 ? "AM" : "PM",=0A= Z: utc ? "UTC" : (String(date).match(timezone) || = [""]).pop().replace(timezoneClip, ""),=0A= o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + = Math.abs(o) % 60, 4),=0A= S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 = !=3D 10) * d % 10]=0A= };=0A= =0A= return mask.replace(token, function ($0) {=0A= return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);=0A= });=0A= };=0A= }();=0A= =0A= // Some common format strings=0A= dateFormat.masks =3D {=0A= "default": "ddd mmm dd yyyy HH:MM:ss",=0A= shortDate: "m/d/yy",=0A= mediumDate: "mmm d, yyyy",=0A= longDate: "mmmm d, yyyy",=0A= fullDate: "dddd, mmmm d, yyyy",=0A= shortTime: "h:MM TT",=0A= mediumTime: "h:MM:ss TT",=0A= longTime: "h:MM:ss TT Z",=0A= isoDate: "yyyy-mm-dd",=0A= isoTime: "HH:MM:ss",=0A= isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",=0A= isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"=0A= };=0A= =0A= // Internationalization strings=0A= dateFormat.i18n =3D {=0A= dayNames: [=0A= "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",=0A= "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", = "Saturday"=0A= ],=0A= monthNames: [=0A= "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", = "Nov", "Dec",=0A= "January", "February", "March", "April", "May", "June", "July", = "August", "September", "October", "November", "December"=0A= ]=0A= };=0A= =0A= // For convenience...=0A= Date.prototype.format =3D function (mask, utc) {=0A= return dateFormat(this, mask, utc);=0A= };=0A= =0A= // Validate Date To Mask v0.1=0A= // (c) 2008 Steven Levithan ; MIT License=0A= // Requires Date Format = =0A= =0A= function validateDateToMask (date, mask) {=0A= var token =3D /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]/g,=0A= flags =3D {=0A= d: "(?:[1-9]|[12]\\d|3[01])",=0A= dd: "(?:0[1-9]|[12]\\d|3[01])",=0A= ddd: "(?:" + dateFormat.i18n.dayNames.slice(0,7).join("|") + ")",=0A= dddd: "(?:" + dateFormat.i18n.dayNames.slice(7).join("|") + ")",=0A= m: "(?:[1-9]|1[0-2])",=0A= mm: "(?:0[1-9]|1[0-2])",=0A= mmm: "(?:" + dateFormat.i18n.monthNames.slice(0,12).join("|") + ")",=0A= mmmm: "(?:" + dateFormat.i18n.monthNames.slice(12).join("|") + ")",=0A= yy: "\\d{2}",=0A= yyyy: "\\d{4}",=0A= h: "(?:[1-9]|1[0-2])",=0A= hh: "(?:0[1-9]|1[0-2])",=0A= H: "(?:[1-9]|1\\d|2[0-4])",=0A= HH: "(?:0[1-9]|1\\d|2[0-4])",=0A= M: "(?:\\d|[1-5]\\d|60)",=0A= MM: "(?:[0-5]\\d|60)",=0A= s: "(?:\\d|[1-5]\\d|60)",=0A= ss: "(?:[0-5]\\d|60)",=0A= l: "\\d{3}",=0A= L: "\\d{2}",=0A= t: "[ap]",=0A= tt: "[ap]m",=0A= T: "[AP]",=0A= TT: "[AP]M",=0A= Z: "(?:[PMCEA][SDP]T|(?:GMT|UTC)(?:[-+]\\d{4})?)",=0A= o: "[-+]\\d{4}",=0A= S: "(?:th|st|nd|rd)"=0A= },=0A= escape =3D function (str) {=0A= return str.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");=0A= };=0A= =0A= return new RegExp("^" + escape(mask).replace(token, function ($0) {=0A= return flags[$0];=0A= }) + "$").test(date);=0A= }=0A= /*---------------Date formatter and date validator JS = End---------------*/=0A= =0A= /*---------------added for back to gallery---------------*/=0A= function backtogallery(ref){=0A= docId=3Ddocument.getElementById('documentId').value;=0A= setCookie("galleryDocId", docId, null, "/", null, null);=0A= window.location.href=3Dref;=0A= }=0A= document.observe('contentloaded', function() {=0A= var btnBacktogallery =3D $('btn_backtogallery');=0A= if (btnBacktogallery) { =0A= if (btnBacktogallery.hasClassName('icons_gallery icon_back')) {=0A= galLink=3DbtnBacktogallery.href;=0A= btnBacktogallery.href=3D"javascript:backtogallery('"+galLink+"');";=0A= }=0A= }=0A= });=0A= /*---------------End of back to gallery---------------*/=0A= =0A= function hideSpinner()=0A= {=0A= document.getElementById("spinner").style.visibility=3D"hidden";=0A= document.getElementById("spinner").style.display=3D"none";=0A= document.getElementById("image_gallery").style.visibility=3D"visible";=0A= document.getElementById("image_gallery").style.display=3D"block";=0A= new ImageGallery();=0A= }=0A= =0A= =0A= /***************************** Added for new Bookmark & Share = ********************************/=0A= function newBookmark(){=0A= =0A= if($('utilities_nav')){=0A= var footerInfo =3D null;=0A= var index1 =3D "Page Last Updated:".length;=0A= var index2 =3D null;=0A= var footerDate =3D null;=0A= var checkDate =3D Date.parse("Mar 28 2008");=0A= if($('footercol1')){=0A= footerInfo =3D $('footercol1').innerHTML;=0A= =0A= index2 =3D footerInfo.indexOf("
");=0A= if(index2!=3Dnull && index2 =3D=3D -1){=0A= index2 =3D footerInfo.indexOf("
");=0A= }=0A= }=0A= =0A= =0A= =0A= if(index2!=3Dnull && index2!=3D-1){=0A= footerDate =3D Date.parse(footerInfo.substring(index1,index2));=0A= =0A= }=0A= =0A= =0A= =0A= if(footerDate!=3Dnull && footerDate > checkDate ){=0A= var shareBookmark =3D = $('utilities_nav').getElementsBySelector('.myOverlayBookmark')[0];=0A= var shareBookmarkJS =3D = $('utilities_nav').getElementsBySelector('.myOverlayShare')[0];=0A= var liTag =3D null;=0A= var nAgent =3D navigator.userAgent;=0A= if(shareBookmark !=3D null && typeof(shareBookmark) !=3D 'undefined'){=0A= liTag =3D shareBookmark.up();=0A= if(nAgent.indexOf('MSIE') !=3D-1){=0A= if(!liTag.hasClassName('marginCSS'))=0A= liTag.addClassName('marginCSS');=0A= }=0A= =0A= Event.observe(shareBookmark, "click", function(e) {=0A= =0A= Event.stop(e);=0A= =0A= addthis_sendto();=0A= /*Added to fix the focus error for invisible field in IE*/=0A= =0A= /*if(nAgent.indexOf('MSIE') !=3D-1){=0A= var div =3D $$('div#at16pib div#at16psf')[0];=0A= if(div!=3Dnull)=0A= div.remove();=0A= }*/=0A= =0A= },false);=0A= }=0A= }=0A= }=0A= }=0A= =0A= function getmetacontents(mn){ =0A= var metas =3D document.getElementsByTagName('META'); =0A= for (var x=3D0,y=3Dmetas.length; x=3D num2)=0A= {=0A= alert("Number 2 should be greater than Number 1");=0A= }=0A= else=0A= {=0A= var generator =3D Math.random()*(num2-num1);=0A= generator =3D Math.round(num1+generator);=0A= }=0A= return generator;=0A= }=0A= /*=0A= document.observe('contentloaded', function() {=0A= var KidsClubImages =3D new Array();=0A= = KidsClubImages[0]=3D"/templateimages/redesign/modules/kids_club/icons/411= 665main_KidsClub.jpg";=0A= = KidsClubImages[1]=3D"/templateimages/redesign/modules/kids_club/icons/nkc= graphic1_154x116.jpg";=0A= = KidsClubImages[2]=3D"/templateimages/redesign/modules/kids_club/icons/nkc= graphic2_154x116.jpg";=0A= = KidsClubImages[3]=3D"/templateimages/redesign/modules/kids_club/icons/nkc= graphic3_154x116.jpg";=0A= = KidsClubImages[4]=3D"/templateimages/redesign/modules/kids_club/icons/nkc= graphic4_154x116.jpg";=0A= = KidsClubImages[5]=3D"/templateimages/redesign/modules/kids_club/icons/nkc= graphic5_154x116.jpg";=0A= = KidsClubImages[6]=3D"/templateimages/redesign/modules/kids_club/icons/nkc= graphic7_154x116.jpg";=0A= =0A= var randonNumber=3Dgenerate_randomnumber("0","6");=0A= kids_club_home_page_icon_img=3D$('kids_club_home_page_icon');=0A= if(kids_club_home_page_icon_img){=0A= kids_club_home_page_icon_img.src=3DKidsClubImages[randonNumber];=0A= }=0A= });=0A= */=0A= /*---------------End of home page kids club icon change---------------*/=0A= =0A= =0A= =0A= =0A= var dropdowncontent=3D{=0A= disableanchorlink: false, //when user clicks on anchor link, should = link itself be disabled (always true if "revealbehavior" above set to = "click")=0A= hidedivmouseout: [true, 100], //Set hiding behavior within Drop Down = DIV itself: [hide_div_onmouseover?, miliseconds_before_hiding]=0A= ajaxloadingmsg: "Loading content. Please wait...", //HTML to show while = ajax page is being feched, if applicable=0A= ajaxbustcache: false, //Bust cache when fetching Ajax pages?=0A= =0A= getposOffset:function(what, offsettype){=0A= return (what.offsetParent)? = what[offsettype]+this.getposOffset(what.offsetParent, offsettype) : = what[offsettype]=0A= },=0A= =0A= isContained:function(m, e){=0A= var e=3Dwindow.event || e=0A= var c=3De.relatedTarget || ((e.type=3D=3D"mouseover")? e.fromElement : = e.toElement)=0A= while (c && c!=3Dm)try {c=3Dc.parentNode} catch(e){c=3Dm}=0A= if (c=3D=3Dm)=0A= return true=0A= else=0A= return false=0A= },=0A= =0A= show:function(anchorobj, subobj, e){=0A= if ((!this.isContained(anchorobj, e) || (e && e.type=3D=3D"click")) && = !(window['dropDownMenusDisabled']=3D=3Dtrue)){=0A= var e=3Dwindow.event || e=0A= if (e.type=3D=3D"click" && subobj.style.visibility=3D=3D"visible"){=0A= subobj.style.visibility=3D"hidden"=0A= return=0A= }=0A= var anchorId=3Danchorobj.getAttribute("id");=0A= //alert("anchorId:"+anchorId);=0A= if(anchorId=3D=3D'topnav_homelink'){=0A= = document.getElementById('shelf-nav-home').className=3D"nav-home-over"; =0A= }=0A= if(anchorId=3D=3D'topnav_newslink'){=0A= = document.getElementById('shelf-nav-news').className=3D"nav-news-over"; =0A= }=0A= if(anchorId=3D=3D'topnav_missionslink'){=0A= = document.getElementById('shelf-nav-missions').className=3D"nav-missions-o= ver"; =0A= }=0A= if(anchorId=3D=3D'topnav_multimedialink'){=0A= = document.getElementById('shelf-nav-multimedia').className=3D"nav-multimed= ia-over"; =0A= }=0A= if(anchorId=3D=3D'topnav_connectlink'){=0A= = document.getElementById('shelf-nav-connect').className=3D"nav-connect-ove= r"; =0A= }=0A= if(anchorId=3D=3D'topnav_aboutuslink'){=0A= = document.getElementById('shelf-nav-aboutnasa').className=3D"nav-aboutnasa= -over"; =0A= }=0A= =0A= var horizontaloffset=3D(subobj.dropposition[0]=3D=3D"left")? = -(subobj.offsetWidth-anchorobj.offsetWidth) : 0 //calculate user added = horizontal offset =0A= var verticaloffset=3D(subobj.dropposition[1]=3D=3D"top")? = -subobj.offsetHeight : anchorobj.offsetHeight //calculate user added = vertical offset=0A= //alert(this.getposOffset(anchorobj, "offsetLeft") + horizontaloffset = + "px");=0A= //added this to get the hope anchor position always.=0A= var homeanchorObj=3Ddocument.getElementById('topnav_homelink');=0A= //subobj.style.left=3Dthis.getposOffset(anchorobj, "offsetLeft") + = horizontaloffset + "px" =0A= subobj.style.left=3D"0px";//this.getposOffset(homeanchorObj, = "offsetLeft") + horizontaloffset + "px" =0A= subobj.style.top=3D((this.getposOffset(homeanchorObj, = "offsetTop")+verticaloffset)-2)+"px"=0A= //alert("verticaloffset:"+verticaloffset);=0A= //alert("offsetTop:"+this.getposOffset(anchorobj, "offsetTop"));=0A= //subobj.style.top=3D(this.getposOffset(anchorobj, = "offsetTop")+verticaloffset)+"px"=0A= //subobj.style.clip=3D(subobj.dropposition[1]=3D=3D"top")? "rect(auto = auto auto 0)" : "rect(0 auto 0 0)" //hide drop down box initially via = clipping=0A= subobj.style.visibility=3D"visible"=0A= subobj.startTime=3Dnew Date().getTime()=0A= subobj.contentheight=3DparseInt(subobj.offsetHeight)=0A= if (typeof window["hidetimer_"+subobj.id]!=3D"undefined") //clear = timer that hides drop down box?=0A= clearTimeout(window["hidetimer_"+subobj.id])=0A= this.slideengine(subobj, (subobj.dropposition[1]=3D=3D"top")? "up" : = "down")=0A= }=0A= },=0A= =0A= curveincrement:function(percent){=0A= return (1-Math.cos(percent*Math.PI)) / 2 //return cos curve based = value from a percentage input=0A= },=0A= =0A= slideengine:function(obj, direction){=0A= var elapsed=3Dnew Date().getTime()-obj.startTime //get time animation = has run=0A= if (elapsed eval(evetn_child_elements.length-1)){=0A= topMenu_curr_event=3D0;=0A= }=0A= for(var i=3D0; i totalheight) {=0A= result =3D [x,totalheight];=0A= } else {=0A= result =3D [x,y];=0A= }=0C=0A= var ratio =3D Math.max(0, Math.min(1, y / totalheight));=0A= doScroll(null,ratio);=0A= return result;=0A= }.bind(this)=0A= });=0A= }=0A= =0A= var moveScrollHandle =3D function(newRatio){=0A= if(newRatio>1.0){=0A= newRatio=3D1.0;=0A= }=0A= var scrollbarheight =3D this.scrollBody.getHeight();=0A= var scrollhandleheight =3D scrollHandle.getHeight();=0A= var totalheight =3D (scrollbarheight - scrollhandleheight); =0A= if(scrollHandle){=0A= scrollHandle.setStyle({'top':(totalheight*newRatio)+'px'});=0A= }=0A= }.bind(this);=0A= =0A= var doScroll =3D function(by,toRatio){=0A= var scrollbarheight =3D this.scrollBody.getHeight();=0A= var scrollhandleheight =3D scrollHandle.getHeight();=0A= var totalheight =3D (scrollbarheight - scrollhandleheight);=0A= =0A= if(!scrollableElementIframe) {=0A= if(typeof(toRatio)=3D=3D'number'){=0A= // moving with scroll handle=0A= this.scrollableElement.scrollTop =3D = (this.scrollableElement.scrollHeight - = this.scrollableElement.getHeight()) * toRatio;=0A= } else {=0A= // moving with buttons=0A= this.scrollableElement.scrollTop =3D = this.scrollableElement.scrollTop + by;=0A= if(noScrollHandle!=3Dtrue){=0A= moveScrollHandle(this.scrollableElement.scrollTop / = (this.scrollableElement.scrollHeight - = this.scrollableElement.getHeight()));=0A= }=0A= }=0A= } else {=0A= // an iframe can only be scrolled with up/down buttons=0A= window.frames[scrollableElementIframe.id].scrollBy(0, by);=0A= } =0A= }.bind(this);=0A= =0A= Event.observe(this.btnDown,'mousedown',function(ev){=0A= this.downFlag =3D true;=0A= var timer =3D setInterval(function(){=0A= if(this.downFlag =3D=3D false){=0A= // stop this function from running 100ms from now=0A= clearInterval(timer);=0A= this.downFlag =3D null;=0A= } else if(this.downFlag =3D=3D true) {=0A= doScroll(12);=0A= }=0A= }.bind(this),25);=0A= ev.stop();=0A= }.bind(this));=0A= Event.observe(this.btnDown,'mouseup',function(ev){=0A= this.downFlag =3D false;=0A= ev.stop();=0A= }.bind(this));=0A= =0A= Event.observe(this.btnUp,'mousedown',function(ev){=0A= this.upFlag =3D true;=0A= var timer =3D setInterval(function(){=0A= if(this.upFlag =3D=3D false){=0A= // stop this function from running 100ms from now=0A= clearInterval(timer);=0A= this.upFlag =3D null;=0A= } else if(this.upFlag =3D=3D true) {=0A= doScroll(-12);=0A= }=0A= }.bind(this),25);=0A= ev.stop();=0A= }.bind(this));=0A= Event.observe(this.btnUp,'mouseup',function(ev){=0A= this.upFlag =3D false;=0A= ev.stop();=0A= }.bind(this));=0A= =0A= [this.btnUp,this.btnDown].each(function(elm){=0A= Event.observe(elm,'mouseover',function(ev){=0A= elm.addClassName('scrollHover');=0A= ev.stop();=0A= }.bind(this));=0A= Event.observe(elm,'mouseout',function(ev){=0A= elm.removeClassName('scrollHover');=0A= ev.stop();=0A= }.bind(this)); =0A= });=0A= =0A= this.resetScroll();=0A= },=0A= =0A= // Reset some of the scrollbar's attributes by re-measuring the = scrollable element and =0A= // determining whether it needs to have a scrollbar anymore. Also, = place the handle in =0A= // the correct spot if the height of the scrollable region has changed.=0A= resetScroll:function(){=0A= try{=0A= = //alert("this.scrollableElement.scrollHeight:"+this.scrollableElement.scr= ollHeight);=0A= = //alert("this.scrollableElement.getHeight():"+this.scrollableElement.getH= eight());=0A= if(this.scrollableElement.scrollHeight <=3D = this.scrollableElement.getHeight()){=0A= //alert("hide");=0A= this.scrollableElement.addClassName("scrollbar_hidden");=0A= this.btnUp.hide();=0A= this.scrollBody.hide();=0A= this.btnDown.hide();=0A= } else {=0A= //alert("show");=0A= this.scrollableElement.removeClassName("scrollbar_hidden");=0A= this.btnUp.show();=0A= this.scrollBody.show();=0A= this.btnDown.show(); =0A= }=0A= if(this.scrollHandle!=3Dnull && = typeof(this.scrollHandle)=3D=3D'object'){=0A= this.scrollableElement.scrollTop =3D 0;=0A= this.scrollHandle.setStyle({'top':'0px'});=0A= }}=0A= catch(err)=0A= {}=0A= }=0A= };=0A= =0A= =0A= =0A= =0A= } ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/js/191730main_PrettyCounter.js if(detectBrowser.modernBrowser()){=0A= =0A= =0A= var PrettyCounter =3D Class.create();=0A= PrettyCounter.prototype =3D {=0A= = initialize:function(container,numDigits,initialValue,dontAnimateUponIniti= alize){=0A= if(container){=0A= if(dontAnimateUponInitialize=3D=3Dtrue){=0A= this.dontAnimateOnce =3D true;=0A= }=0A= this.digitHeight=3D36;=0A= this.elements =3D $A($R(0,numDigits - 1)).map(function(i){=0A= var outerDiv =3D new = Element("div",{'className':'prettycounter_outerdigit'});=0A= var innerDiv =3D outerDiv.appendChild(new = Element("div",{'className':'prettycounter_innerdigit'}));=0A= return $(container.appendChild(outerDiv));=0A= });=0A= this.setNum(initialValue);=0A= } else {=0A= this.inactive =3D true;=0A= }=0A= },=0A= setNum:function(num,forceShortDuration){=0A= if(this.inactive!=3Dtrue){=0A= var duration =3D 1.0;=0A= if(this.dontAnimateOnce || forceShortDuration=3D=3Dtrue){=0A= duration =3D 0.0;=0A= this.dontAnimateOnce =3D false;=0A= }=0A= var a =3D parseInt(num).toString().split("");// left-pad with zeros=0A= $A($R(0,(this.elements.length - 1) - a.length)).map(function(i){ = return "0"; }).concat(a).each(function(numval,i){=0A= if(i=0A= *=0A= * blinds - makes the div contents into blinds=0A= * 89 - height of content by default (omitting this parameter = makes the blinds =0A= * automatically-sized by content height of each blind. to = avoid this, make =0A= * sure to explicitly specify the height in case you want = statically-sized heights)=0A= * auto - make height automatically detected=0A= * click - make blinds click-activated instead of = mouseover-activated=0A= * closeable - make blinds able to close=0A= * closed - make all the sections of the blinds closed initially=0A= *=0A= * options hash details:=0A= *=0A= * {=0A= * 'current_id':'test123', the DOM id of the link or = heading which is the "current" item=0A= * 'current_item_class':'someclassname' the CSS classname to = apply to an element which is "current"=0A= * }=0A= *=0A= * @Methods: no public methods=0A= * =0A= */=0A= =0A= var Blinds =3D = (!detectBrowser.modernBrowser())?function(){}:Class.create();=0A= Blinds.prototype =3D (!detectBrowser.modernBrowser())?{}:{ =0A= initialize: function(elements,containerElement,capElement,options,id){ = //extra id param=0A= if(!elements){=0A= return false;=0A= }=0A= if(!containerElement){=0A= return false;=0A= }=0A= this.contentHeight =3D 80;=0A= var classNames =3D $A(containerElement.classNames());=0A= =0A= this.containerElement =3D containerElement; =0A= // Some elements look bizarre during initial load until javascript = gets to them.=0A= // For those elements, we apply a class called "prejs" so that once = the code is =0A= // running it can remove that CSS class. This way, a "pre-rendered" = state can be=0A= // seen by the user while the Javascript is still loading, and = unsettled layout =0A= // can be avoided.=0A= if(this.containerElement.className.indexOf("prejs_")>-1){=0A= for(var i=3D0;i-1){=0A= this.containerElement.removeClassName(classNames[i]);=0A= }=0A= }=0A= }=0A= =0A= this.contentHeight =3D parseInt(classNames.find(function(cname){ = return parseInt(cname)>0; }));=0A= this.eventType =3D (classNames.include("click")?"click":"mouseover");=0A= this.autoHeight =3D classNames.include("auto") || = (typeof(this.contentHeight)!=3D'number');=0A= this.isAnimating =3D false;=0A= this.nextEffect =3D null;=0A= this.initiallyClosed =3D classNames.include("closed");=0A= this.closeable =3D this.initiallyClosed || = classNames.include("closeable");=0A= if(options!=3Dnull && typeof(options)=3D=3D'object' && = typeof(options['current_id'])=3D=3D'string' && = options['current_id'].strip()!=3D""){=0A= var currentItemClass =3D "current_item";=0A= if(typeof(options['current_item_class'])=3D=3D'string'){=0A= options['current_item_class'] =3D currentItemClass;=0A= }=0A= var currentItem =3D $(options['current_id'].strip());=0A= if(currentItem){=0A= currentItem.addClassName(currentItemClass);=0A= // climb up to .content=0A= // prev() yields header=0A= // give header current style too=0A= =0A= // if this is NOT the content node, we have to climb up to it=0A= if(currentItem.hasClassName("content")!=3Dtrue){=0A= var p =3D currentItem;=0A= var done =3D false;=0A= while(!done && p!=3Ddocument.body){=0A= p =3D p.up();=0A= if(p.hasClassName("content")){=0A= p.addClassName(currentItemClass);=0A= this.contentElementToOpen =3D p;=0A= if(p.previous()){=0A= p.previous().addClassName(currentItemClass);=0A= }=0A= done =3D true;=0A= }=0A= }=0A= } else {=0A= this.contentElementToOpen =3D currentItem;=0A= }=0A= }=0A= =0A= }=0A= if(this.contentElementToOpen){=0A= this.previousElement =3D this.contentElementToOpen;=0A= } else {=0A= this.previousElement =3D elements[0];=0A= }=0A= this.elements =3D elements;=0A= this.capElement =3D capElement;=0A= this.currentlyHoveredElement =3D -1; // index of currently hovered = element. Used to track if we have "committed" to hovering over a blind=0A= this.measuredSizes =3D [];=0A= this.transition =3D = (classNames.include("click")?Effect.Transitions.EaseTo:Effect.Transitions= .EaseFromTo);=0A= this.makeSliders();=0A= // id check if (id !=3D null) { this.activateBlind (id); }=0A= },=0A= =0A= /*eTouch - Parag*/ activateBlind: function (id) { var element =3D null; var tokens =3D id.split ('_'); this.elements.each (function(item){ if (item.getAttribute ("blindsindex") =3D=3D = $(tokens[0]).parentNode.parentNode.getAttribute ("blindsindex")) { element =3D item; } }) if (element !=3D null) { var func =3D this.makeSlideFunc (this.elements, element,=20 $(id).parentNode.parentNode.getAttribute ("blindsindex")); func (); } $(id).setStyle ('font-weight: bold'); },=20 /*eTouch -Parag*/=0A= =0A= // iterate through the content blocks and make assign event listeners = which trigger the sliding animation=0A= makeSliders: function(elements){=0A= this.elements.each(function(item,i){=0A= item =3D $(item);=0A= =0A= item.setAttribute("blindsindex",i);=0A= if(this.contentElementToOpen){=0A= if(this.contentElementToOpen=3D=3Ditem){=0A= // found the "current" item=0A= item.setAttribute("blindstatus","open");=0A= } else {=0A= item.setAttribute("blindstatus","closed");=0A= }=0A= } else { =0A= /* this is added,not to open the first item of left nav if nothing = is opened. */=0A= = //item.setAttribute("blindstatus",((i=3D=3D0)?((this.initiallyClosed=3D=3D= true)?"closed":"open"):("closed")));=0A= if(this.eventType =3D=3D 'click') {=0A= item.setAttribute("blindstatus","closed");=0A= } else {=0A= = item.setAttribute("blindstatus",((i=3D=3D0)?((this.initiallyClosed=3D=3Dt= rue)?"closed":"open"):("closed")));=0A= }=0A= /* End of changes for,not to open the first item of left = nav if nothing is opened. */=0A= }=0A= =0A= =0A= // if a particular element is to be opened because it's "current", we = make it open=0A= // and make all others closed=0A= if(this.contentElementToOpen){=0A= if(this.contentElementToOpen=3D=3Ditem && = this.initiallyClosed=3D=3Dfalse){=0A= item.previous().addClassName('active_header');=0A= item.addClassName('active_content');=0A= item.next().addClassName('active_footer'); =0A= } else {=0A= item.previous().addClassName('inactive_header');=0A= item.addClassName('inactive_content');=0A= item.next().addClassName('inactive_footer'); =0A= }=0A= } else {=0A= // If no particular element is to be open, set the 0th element as = open (unless initiallyClosed is true)=0A= if(i=3D=3D0 && this.initiallyClosed=3D=3Dfalse) {=0A= =0A= /* this is added,not to open the first item of left nav if nothing = is opened. */=0A= if(this.eventType =3D=3D 'click') {=0A= item.previous().addClassName('inactive_header');=0A= item.addClassName('inactive_content');=0A= item.next().addClassName('inactive_footer');=0A= } else {=0A= item.previous().addClassName('active_header');=0A= item.addClassName('active_content');=0A= item.next().addClassName('active_footer');=0A= }=0A= /* End of changes for,not to open the first item of left nav if = nothing is opened. */=0A= =0A= } else {=0A= item.previous().addClassName('inactive_header');=0A= item.addClassName('inactive_content');=0A= item.next().addClassName('inactive_footer');=0A= }=0A= }=0A= =0A= // measure size of the content area=0A= if(this.autoHeight) {=0A= this.measuredSizes[i] =3D item.getHeight();=0A= }=0A= =0A= if(this.initiallyClosed=3D=3Dtrue){=0A= item.setStyle({'height':'0px'});=0A= } else {=0A= if(this.contentElementToOpen){=0A= if(this.contentElementToOpen=3D=3Ditem){=0A= = item.setStyle({'height':(this.autoHeight?this.measuredSizes[i]:this.conte= ntHeight)+'px'});=0A= } else {=0A= item.setStyle({'height':'0px'}); =0A= }=0A= } else {=0A= = //item.setStyle({'height':((i=3D=3D0)?(this.autoHeight?this.measuredSizes= [i]:this.contentHeight):(0))+'px'});=0A= /* this is added,not to open the first item of left nav if nothing = is opened. */=0A= if(this.eventType =3D=3D 'click') {=0A= item.setStyle({'height':'0px'}); =0A= } else {=0A= = item.setStyle({'height':((i=3D=3D0)?(this.autoHeight?this.measuredSizes[i= ]:this.contentHeight):(0))+'px'});=0A= }=0A= /* End of changes for,not to open the first item of left nav if = nothing is opened. */=0A= }=0A= }=0A= =0A= // slightly different classes get applied to the last item in the = blinds so they can be styled as a cap or base.=0A= if(i=3D=3Dthis.elements.length - 1){=0A= item.previous().addClassName('last_header');=0A= item.addClassName("last_content");=0A= item.next().addClassName('last_footer');=0A= }=0A= item.previous().isHeader=3Dtrue;=0A= item.isContent=3Dtrue;=0A= // observe the header, content, and footer of each blind panel with = mouse events (click or hover depending on config)=0A= [item.previous(),item,item.next()].each(function(subItem){=0A= var slideFunc =3D this.makeSlideFunc(this.elements,item,i);=0A= =0A= // Allow the keyboard focus to actually activate this blind section=0A= subItem.getElementsBySelector("a").each(function(focusableItem){=0A= if(focusableItem.hasClassName('deadmouse')){=0A= // we require some placeholder / dummy links that don't go anywhere=0A= // kill all links that have class "deadmouse"=0A= =0A= // both of these events fire when a click happens so we don't want = the side to happen twice=0A= var focusHasFired =3D false;=0A= Event.observe(focusableItem,'click',function(ev){=0A= if(focusHasFired){=0A= focusHasFired =3D false;=0A= } else {=0A= slideFunc();=0A= }=0A= ev.stop();=0A= focusHasFired =3D false;=0A= return false;=0A= }.bind(this));=0A= Event.observe(focusableItem,'focus',function(ev){=0A= focusHasFired =3D true;=0A= slideFunc();=0A= ev.stop();=0A= return false;=0A= }.bind(this));=0A= } else {=0A= if(subItem.isHeader=3D=3Dtrue){=0A= // all links inside of headers can be focus-triggers-open=0A= Event.observe(focusableItem,'focus',slideFunc);=0A= } else if (subItem.isContent=3D=3Dtrue){=0A= // for content we have to proxy slideFunc through a check to see = if =0A= // the item is currently open before triggering slideFunc=0A= Event.observe(focusableItem,'focus',function(){=0A= if(subItem.getAttribute("blindstatus")!=3D"open"){=0A= // if this item is already opening, we need to tell slideFunc = not to queue this attempt to=0A= // open after the current open. Thus, we pass in the current = item plus a flag to tell it=0A= // to check that we aren't trying to double-open a given = content area=0A= if(this.isAnimating!=3Dtrue){=0A= slideFunc(true,subItem);=0A= }=0A= }=0A= }.bind(this));=0A= }=0A= }=0A= }.bind(this));=0A= =0A= if(subItem) {=0A= Event.observe(subItem,this.eventType,slideFunc);=0A= }=0A= if(subItem && this.eventType=3D=3D'mouseover') {=0A= = Event.observe(subItem,'mouseout',this.makeMouseOutFunc(this.elements,item= ,i));=0A= }=0A= }.bind(this));=0A= =0A= = Event.observe(item.previous(),"mouseover",function(){item.previous().addC= lassName('header_hover')});=0A= = Event.observe(item.previous(),"mouseout",function(){item.previous().remov= eClassName('header_hover')});=0A= }.bind(this));=0A= this.setCapClasses(this.elements[0]);=0A= this.setFooterBlendingClasses(this.elements[0]);=0A= },=0A= =0A= // check for a queued effect. If one is present cancel the current one = and start the new one=0A= checkForNextEffect: function(effect){=0A= this.isAnimating =3D false;=0A= if(typeof(this.nextEffect)=3D=3D'function'){=0A= var f =3D this.nextEffect;=0A= this.nextEffect =3D null;=0A= f();=0A= }=0A= },=0A= =0A= // if there is a cap (element immediately above the top header), style = it according to whether the header is active =0A= setCapClasses: function(currentElement){ =0A= if(this.capElement) {=0A= // is the capping element active ?=0A= if(parseInt(currentElement.getAttribute("blindsindex"))=3D=3D0){=0A= this.capElement.removeClassName("cap_inactive");=0A= this.capElement.addClassName("cap_active");=0A= } else {=0A= this.capElement.removeClassName("cap_active");=0A= this.capElement.addClassName("cap_inactive"); =0A= }=0A= }=0A= },=0A= =0A= // a footer can either be above an inactive header, or above an active = header, or not above any header at all. =0A= // Append appropriate CSS classes=0A= setFooterBlendingClasses: function(currentElement,activeIndex){=0A= if(typeof(activeIndex)!=3D'number') activeIndex =3D = parseInt(currentElement.getAttribute("blindsindex"));=0A= for(var i=3D0;i vpOffset[1] + vpDim.height || = (elOffset[0] + elDim.width) > vpOffset[0] + vpDim.width - 25 )=0A= {=0A= return false;=0A= }=0A= else=0A= {=0A= return true;=0A= }=0A= =0A= },=0A= =0A= cumulativeOffsetBorders: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do=0A= {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= =0A= element =3D element.offsetParent;=0A= if(element)=0A= {=0A= valueT +=3D parseInt(Element.getStyle(element, 'borderTopWidth')) || = 0;=0A= valueL +=3D parseInt(Element.getStyle(element, 'borderLeftWidth')) = || 0;=0A= }=0A= }=0A= while (element);=0A= =0A= if (Prototype.Browser.IE)=0A= {=0A= // why does IE add 2px borders??=0A= valueT =3D valueT - 2;=0A= valueL =3D valueL - 2;=0A= }=0A= =0A= _returnOffset =3D function(l, t)=0A= {=0A= var result =3D [l, t];=0A= result.left =3D l;=0A= result.top =3D t;=0A= return result;=0A= };=0A= =0A= return _returnOffset(valueL, valueT);=0A= }=0A= };=0A= =0A= =0A= /*=0A= * @Class: FloatingInfo=0A= * @Extends: ElementUtility=0A= * =0A= * @Description: abstracted overlay class=0A= * =0A= */=0A= =0A= var FloatingInfo =3D = (!detectBrowser.modernBrowser())?function(){}:Class.create();=0A= FloatingInfo.prototype =3D = (!detectBrowser.modernBrowser())?{}:Object.extend( new ElementUtility(), = {=0A= initialize: function(element, parameters)=0A= {=0A= // set element=0A= this.setElement(element);=0A= =0A= // set parameters =0A= this.content =3D parameters.contentRender;=0A= this.positionObj =3D parameters.positionObject;=0A= this.floatByType =3D 'element'; =0A= this.floatDirection =3D parameters.floatDirection;=0A= this.widthClass =3D parameters.widthClass;=0A= =0A= if( typeof(parameters.padding) =3D=3D "number" )=0A= {=0A= this.arrowPadding =3D parameters.padding;=0A= }=0A= else=0A= {=0A= this.arrowPadding =3D 0;=0A= }=0A= =0A= this.setOverlayClasses(parameters.overlayClasses);=0A= this.setArrowClass(parameters.arrowClass);=0A= =0A= if (typeof(parameters.timeOut) =3D=3D "number")=0A= {=0A= this.timeOut =3D parameters.timeOut;=0A= }else{=0A= this.timeOut =3D 600;=0A= }=0A= =0A= // fetch existing overlay elements=0A= this.arrow =3D $('floatArrow');=0A= this.floatMessage =3D $('floatMessage');=0A= =0A= =0A= if(Prototype.Browser.IE)=0A= {=0A= this.floatMessageIFrame =3D $('floatMessageIFrame');=0A= this.floatMessageIFrame2 =3D $('floatMessageIFrame2');=0A= }=0A= this.floatMessageInner =3D $('floatMessageInner');=0A= this.floatMessageTop =3D $('floatMessageTop');=0A= this.floatMessageBottom =3D $('floatMessageBottom');=0A= =0A= // render content=0A= this.fetchOverlay();=0A= this.renderContent();=0A= =0A= this.cancellogin =3D $('cancellogin');=0A= this.closelink =3D $('closelink');=0A= //this.mynasa =3D $('mynasah5');=0A= // create and set location of float=0A= if(this.floatDirection =3D=3D 'auto'){=0A= =0A= this.floatRight();=0A= =0A= = if(ElementUtility.prototype.withinViewport(this.floatMessage)=3D=3Dfalse)= {=0A= this.floatLeft();=0A= }=0A= = if(ElementUtility.prototype.withinViewport(this.floatMessage)=3D=3Dfalse)= {=0A= this.floatUp();=0A= }=0A= = if(ElementUtility.prototype.withinViewport(this.floatMessage)=3D=3Dfalse)= {=0A= this.floatDown();=0A= }=0A= }else{=0A= switch(this.floatDirection){=0A= case 'top':=0A= this.floatUp();=0A= break;=0A= case 'right':=0A= this.floatRight();=0A= break;=0A= case 'bottom':=0A= this.floatDown();=0A= break;=0A= case 'left':=0A= this.floatLeft();=0A= break;=0A= default:=0A= this.floatRight();=0A= break;=0A= }=0A= }=0A= =0A= // hide element on window resize=0A= Event.observe(window,'resize',function(){=0A= FloatingInfo.prototype.currentLivingElement =3D null;=0A= FloatingInfo.prototype.hideOverlay();=0A= });=0A= =0A= // track element life=0A= this.saveLifeFunction();=0A= =0A= // delegate mouseout, mouseover events=0A= this.floatMessage.onmouseover =3D this.saveLifeFunction.bind(this);=0A= this.arrow.onmouseover =3D this.saveLifeFunction.bind(this);=0A= =0A= this.floatMessage.onmouseout =3D this.endLifeFunction.bind(this);=0A= this.arrow.onmouseout =3D this.endLifeFunction.bind(this);=0A= =0A= //if($('mynasah5')){=0A= // this.mynasa.onmousedown =3D this.saveLifeFunction.bind(this);=0A= // this.arrow.onmousedown =3D this.saveLifeFunction.bind(this);=0A= //}=0A= /*if($('cancellogin')){=0A= this.cancellogin.onmousedown =3D this.endLifeFunction.bind(this);=0A= }=0A= if($('closelink')){=0A= this.closelink.onmousedown =3D this.endLifeFunction.bind(this);=0A= }*/=0A= // start observing on our element for a mouseout =0A= if(!this.el.hasClassName('observe_click')){=0A= Event.observe(this.el, 'mouseout', this.floatHandler.bind(this));=0A= }=0A= else{=0A= if($('cancellogin')){=0A= Event.observe($('cancellogin'), 'click', function(event) {=0A= //Event.observe(this.el, 'mousedown', = this.mouseDownHandler.bind(this));=0A= event.preventDefault();=0A= FloatingInfo.prototype.hideOverlay();=0A= });=0A= }=0A= if($('closelink')){=0A= Event.observe($('closelink'), 'click', function(event) {=0A= // Event.observe(this.el, 'mousedown', = this.mouseDownHandler.bind(this));=0A= event.preventDefault();=0A= FloatingInfo.prototype.hideOverlay();=0A= });=0A= }=0A= }=0A= if(!this.el.hasClassName('observe_click')){=0A= Event.observe(this.el, 'blur', this.focusHandler.bind(this));=0A= }=0A= =0A= // auto focusing removed due to incompatibilities with keyboard = accessibility code =0A= // this.floatMessageInner.focus(); =0A= },=0A= =0A= setOverlayClasses: function(classes)=0A= {=0A= if( typeof(classes) =3D=3D "object" )=0A= {=0A= this.topOverlayClass =3D classes.top;=0A= this.innerOverlayClass =3D classes.inner;=0A= this.bottomOverlayClass =3D classes.bottom;=0A= }=0A= },=0A= =0A= setArrowClass: function(myClass)=0A= {=0A= this.arrowClass =3D myClass;=0A= },=0A= =0A= applyClasses: function(direction)=0A= { =0A= =0A= this.floatMessage.className =3D "normal_overlay_float";=0A= if(this.widthClass && this.widthClass !=3D 'null'){=0A= this.floatMessage.className =3D this.widthClass + '_float';=0A= }=0A= =0A= if(Prototype.Browser.IE)=0A= {=0A= var arrowchild =3D document.getElementById( 'floatArrow');=0A= =0A= if(arrowchild !=3D null)=0A= {=0A= document.body.removeChild(arrowchild);=0A= this.arrow =3D new Element("div",{'id':'floatArrow'});=0A= document.body.appendChild(this.arrow);=0A= } =0A= }=0A= =0A= // first remove all classes=0A= this.floatMessageTop.className =3D '';=0A= this.floatMessageInner.className =3D '';=0A= this.floatMessageBottom.className =3D '';=0A= this.arrow.className =3D '';=0A= =0A= //apply classes=0A= this.floatMessageTop.addClassName(this.topOverlayClass);=0A= this.floatMessageInner.addClassName(this.innerOverlayClass);=0A= this.floatMessageBottom.addClassName(this.bottomOverlayClass );=0A= this.arrow.addClassName(this.arrowClass + '_' + direction);=0A= =0A= },=0A= =0A= fetchOverlay: function()=0A= { =0A= if(!this.floatMessage)=0A= {=0A= this.arrow =3D new Element("div",{'id':'floatArrow'});=0A= this.floatMessageTop =3D new Element("div",{'id':'floatMessageTop'});=0A= this.floatMessageBottom =3D new = Element("div",{'id':'floatMessageBottom'});=0A= this.floatMessageInner =3D new = Element("div",{'id':'floatMessageInner'});=0A= this.floatMessage =3D new Element("div",{'id':'floatMessage'});=0A= if(Prototype.Browser.IE)=0A= {=0A= this.floatMessageIFrame =3D new Element("iframe",{=0A= 'id':'floatMessageIFrame',=0A= 'src':'javascr'+'ipt:\'\''=0A= // 'src':'/blank.html'=0A= });=0A= this.floatMessageIFrame.frameBorder=3D0;=0A= // this.floatMessageIFrame.allowTransparency=3D"yes";=0A= // this.floatMessageIFrame.style.cssText =3D 'background:transparent';=0A= this.floatMessageIFrame.setStyle({=0A= 'backgroundColor':'#000000',=0A= 'zIndex':9997,=0A= 'position':'absolute'=0A= });=0A= this.floatMessageIFrame2 =3D new Element("iframe",{=0A= 'id':'floatMessageIFrame2',=0A= 'src':'javascr'+'ipt:\'\''=0A= // 'src':'/blank.html'=0A= });=0A= this.floatMessageIFrame2.frameBorder=3D0;=0A= // this.floatMessageIFrame.allowTransparency=3D"yes";=0A= // this.floatMessageIFrame.style.cssText =3D 'background:transparent';=0A= this.floatMessageIFrame2.setStyle({=0A= 'backgroundColor':'#000000',=0A= 'zIndex':9997,=0A= 'position':'absolute'=0A= });=0A= }=0A= =0A= this.floatMessage.appendChild(this.floatMessageTop);=0A= this.floatMessage.appendChild(this.floatMessageInner);=0A= this.floatMessage.appendChild(this.floatMessageBottom);=0A= document.body.appendChild(this.floatMessage);=0A= if(Prototype.Browser.IE)=0A= {=0A= document.body.appendChild(this.floatMessageIFrame);=0A= document.body.appendChild(this.floatMessageIFrame2);=0A= }=0A= document.body.appendChild(this.arrow);=0A= }=0A= },=0A= =0A= hideOverlay: function()=0A= {=0A= _quickHide =3D function()=0A= {=0A= if(Prototype.Browser.IE)=0A= {=0A= var i1 =3D $('floatMessageIframe');=0A= var i2 =3D $('floatMessageIframe2');=0A= if(i1){=0A= i1.hide();=0A= }=0A= if($('floatMessageIframe2')){=0A= i2.hide();=0A= }=0A= }=0A= var fm =3D $('floatMessage');=0A= var fa =3D $('floatArrow');=0A= if(fm){=0A= fm.hide();=0A= }=0A= if(fa){=0A= fa.hide();=0A= }=0A= };=0A= =0A= _quickHide();=0A= /*=0A= if(Prototype.Browser.IE)=0A= {=0A= _quickHide();=0A= }=0A= else=0A= {=0A= Effect.Fade('floatArrow',{ duration:0.2 });=0A= Effect.Fade('floatMessage',{ duration:0.2, afterFinish:_quickHide });=0A= }=0A= */=0A= },=0A= =0A= renderContent: function()=0A= { =0A= if( typeof(this.content) =3D=3D "function" )=0A= {=0A= this.content(this.floatMessageInner);=0A= }=0A= else if(typeof(this.content) =3D=3D "string")=0A= {=0A= this.floatMessageInner.update(this.content);=0A= }=0A= },=0A= =0A= overlayPosition: function()=0A= { =0A= // float absolutely =0A= if( this.positionObj && this.positionObj.x !=3D null && = this.positionObj.y !=3D null && typeof(Number(this.positionObj.x)) = =3D=3D "number" && typeof(Number(this.positionObj.y)) =3D=3D "number" )=0A= {=0A= var posY =3D this.positionObj.y;=0A= var posx =3D this.positionObj.x;=0A= this.floatByType =3D 'absolute';=0A= }=0A= // float by mouse=0A= else if( this.positionObj && this.positionObj.event !=3D null )=0A= {=0A= Event.observe(document, this.positionObj.event, function(){=0A= return function (event) {=0A= var posY =3D Event.pointerY(event);=0A= var posX =3D Event.pointerX(event);=0A= };=0A= }, false);=0A= =0A= this.floatByType =3D 'mouse';=0A= }=0A= // float by element=0A= else=0A= {=0A= var posArr =3D = ElementUtility.prototype.cumulativeOffsetBorders(this.el);=0A= var posY =3D posArr[1];=0A= var posX =3D posArr[0];=0A= this.floatByType =3D 'element';=0A= }=0A= =0A= var position =3D {"x": posX, "y": posY};=0A= =0A= return position;=0A= },=0A= =0A= getDimensions: function(){=0A= =0A= // get dimensions by style properties to offset issues with = getHeight() and getWidth=0A= var valueElementH =3D parseInt(Element.getStyle(this.el, 'height')) || = 0;=0A= var valueElementW =3D parseInt(Element.getStyle(this.el, 'width')) || = 0;=0A= var valueArrowH =3D parseInt(Element.getStyle(this.arrow, 'height')) = || 0;=0A= var valueArrowW =3D parseInt(Element.getStyle(this.arrow, 'width')) || = 0;=0A= var valueFloatH =3D parseInt(Element.getStyle(this.floatMessage, = 'height')) || 0;=0A= var valueFloatW =3D parseInt(Element.getStyle(this.floatMessage, = 'width')) || 0;=0A= =0A= var dimensions =3D {=0A= "element": { "h":valueElementH, "w":valueElementW },=0A= "arrow": { "h":valueArrowH, "w":valueArrowW }, =0A= "floatMessage": { "h":valueFloatH, "w":valueFloatW } =0A= };=0A= =0A= return dimensions;=0A= },=0A= =0A= saveLifeFunction: function()=0A= {=0A= FloatingInfo.prototype.currentLivingElement =3D this.el;=0A= },=0A= =0A= endLifeFunction: function()=0A= {=0A= FloatingInfo.prototype.currentLivingElement =3D null; =0A= },=0A= =0A= focusHandler: function(privateElement){=0A= Event.stopObserving(this.el, "blur", this.focusHandler);=0A= this.hideOverlay();=0A= },=0A= =0A= mouseDownHandler: function(privateElement){=0A= Event.stopObserving(this.el, "mousedown", this.mouseDownHandler);=0A= this.hideOverlay();=0A= },=0A= =0A= floatHandler: function(privateElement)=0A= { =0A= =0A= // instantiate safariHover class to handle inner elements =0A= new safariHover('out',this.el, privateElement, function()=0A= {=0A= // ignore child elements in this handler=0A= if(privateElement.target=3D=3Dthis.el || = privateElement.target=3D=3Dthis.el.firstChild)=0A= {=0A= FloatingInfo.prototype.previousLivingElement =3D this.el;=0A= this.endLifeFunction();=0A= =0A= // create timers hash if we don't yet have one.=0A= if( typeof(FloatingInfo.prototype.timers)=3D=3D'undefined' )=0A= {=0A= FloatingInfo.prototype.timers =3D {};=0A= }=0A= // clean up previous timer for a given element=0A= if(FloatingInfo.prototype.timers[this.el])=0A= {=0A= clearInterval(FloatingInfo.prototype.timers[this.el]);=0A= }=0A= =0A= // create a new interval timer for a given element=0A= FloatingInfo.prototype.timers[this.el] =3D setInterval(function()=0A= {=0A= if(!$('floatMessage')) {=0A= // if the float message is gone, shut the timer down.=0A= clearInterval(FloatingInfo.prototype.timers[this.el]);=0A= }=0A= else=0A= { =0A= if(FloatingInfo.prototype.currentLivingElement =3D=3D null)=0A= {=0A= if($('floatMessage'))=0A= {=0A= this.hideOverlay();=0A= }=0A= clearInterval(FloatingInfo.prototype.timers[this.el]);=0A= Event.stopObserving(this.el, "mouseout", this.floatHandler);=0A= }=0A= else=0A= {=0A= // life was saved=0A= }=0A= }=0A= }.bind(this),this.timeOut);=0A= Event.stop(privateElement);=0A= }=0A= }.bind(this));=0A= },=0A= =0A= floatRight: function()=0A= {=0A= // get x,y co-ordinates=0A= var position =3D this.overlayPosition();=0A= =0A= // set classes=0A= this.applyClasses('left');=0A= =0A= // get dimensions of all elements=0A= var dimensions =3D this.getDimensions();=0A= =0A= if(this.floatByType =3D=3D 'element')=0A= {=0A= var floatY =3D position.y - ( ( this.floatMessage.getHeight() - = dimensions.element.h ) / 2);=0A= var floatX =3D position.x + this.arrowPadding + this.arrow.getWidth() = + dimensions.element.w;=0A= var arrowY =3D position.y - (( this.arrow.getHeight() - = dimensions.element.h ) / 2);=0A= var arrowX =3D position.x + this.arrowPadding + dimensions.element.w;=0A= }=0A= else=0A= {=0A= var floatY =3D position.y - ( this.floatMessage.getHeight() / 2 );=0A= var floatX =3D position.x - this.arrowPadding - dimensions.arrow.w;=0A= var arrowY =3D position.y - ( dimensions.arrow.h / 2 );=0A= var arrowX =3D position.x - this.arrowPadding; =0A= }=0A= =0A= this.arrow.setStyle({ =0A= top: arrowY + 'px',=0A= left: arrowX + 'px',=0A= opacity: 1.0=0A= });=0A= =0A= this.floatMessage.setStyle({=0A= top: floatY + 'px',=0A= left: floatX + 'px',=0A= opacity: 1.0,=0A= visibility: 'visible'=0A= });=0A= if(Prototype.Browser.IE)=0A= {=0A= this.floatMessageIFrame.setStyle({=0A= top:(parseInt(this.floatMessage.getStyle('top'))+3)+'px',=0A= left:this.floatMessage.getStyle('left'),=0A= width:(this.floatMessage.getWidth()-2)+'px',=0A= height:(this.floatMessage.getHeight()-6)+'px',=0A= opacity:1.0,=0A= visibility:'visible'=0A= });=0A= $('floatMessageIFrame').show();=0A= this.floatMessageIFrame2.setStyle({=0A= top:this.floatMessage.getStyle('top'),=0A= left:(parseInt(this.floatMessage.getStyle('left'))+3)+'px',=0A= width:(this.floatMessage.getWidth()-6)+'px',=0A= height:this.floatMessage.getHeight()+'px',=0A= opacity:1.0,=0A= visibility:'visible'=0A= });=0A= $('floatMessageIFrame2').show();=0A= }=0A= $('floatMessage').show();=0A= $('floatArrow').show();=0A= },=0A= =0A= floatLeft: function()=0A= {=0A= // get x,y co-ordinates=0A= var position =3D this.overlayPosition();=0A= =0A= // set classes=0A= this.applyClasses('right');=0A= =0A= // get dimensions of all elements=0A= var dimensions =3D this.getDimensions();=0A= =0A= if(this.floatByType =3D=3D 'element')=0A= {=0A= var floatY =3D position.y - ( ( this.floatMessage.getHeight() - = dimensions.element.h ) / 2);=0A= var floatX =3D position.x - this.arrowPadding - this.arrow.getWidth() = - this.floatMessage.getWidth();=0A= var arrowY =3D position.y - (( this.arrow.getHeight() - = dimensions.element.h ) / 2);=0A= var arrowX =3D position.x - this.arrowPadding - this.arrow.getWidth();=0A= }=0A= else=0A= {=0A= var floatY =3D position.y - ( this.floatMessage.getHeight() / 2 );=0A= var floatX =3D position.x - this.arrowPadding - dimensions.arrow.w;=0A= var arrowY =3D position.y - ( dimensions.arrow.h / 2 );=0A= var arrowX =3D position.x - this.arrowPadding; =0A= }=0A= =0A= this.arrow.setStyle({ =0A= top: arrowY + 'px',=0A= left: arrowX + 'px',=0A= opacity: 1.0=0A= });=0A= =0A= this.floatMessage.setStyle({=0A= top: floatY + 'px',=0A= left: floatX + 'px',=0A= opacity: 1.0,=0A= visibility: 'visible'=0A= });=0A= if(Prototype.Browser.IE)=0A= {=0A= this.floatMessageIFrame.setStyle({=0A= top:(parseInt(this.floatMessage.getStyle('top'))+3)+'px',=0A= left:this.floatMessage.getStyle('left'),=0A= width:(this.floatMessage.getWidth()-2)+'px',=0A= height:(this.floatMessage.getHeight()-6)+'px',=0A= opacity:1.0,=0A= visibility:'visible'=0A= });=0A= $('floatMessageIFrame').show();=0A= this.floatMessageIFrame2.setStyle({=0A= top:this.floatMessage.getStyle('top'),=0A= left:(parseInt(this.floatMessage.getStyle('left'))+3)+'px',=0A= width:(this.floatMessage.getWidth()-6)+'px',=0A= height:this.floatMessage.getHeight()+'px',=0A= opacity:1.0,=0A= visibility:'visible'=0A= });=0A= $('floatMessageIFrame2').show();=0A= }=0A= $('floatMessage').show();=0A= $('floatArrow').show();=0A= },=0A= =0A= floatUp: function()=0A= {=0A= // get x,y co-ordinates=0A= var position =3D this.overlayPosition();=0A= =0A= // set classes=0A= this.applyClasses('down');=0A= =0A= // get dimensions of all elements=0A= var dimensions =3D this.getDimensions();=0A= =0A= if(this.floatByType =3D=3D 'element')=0A= {=0A= var floatY =3D position.y - this.arrowPadding - = this.floatMessage.getHeight() - dimensions.arrow.h;=0A= var floatX =3D position.x - (( this.floatMessage.getWidth() - = this.el.getWidth() ) / 2);=0A= var arrowY =3D position.y - this.arrowPadding - dimensions.arrow.h;=0A= var arrowX =3D position.x - ( ( this.arrow.getWidth() / 2 ) - ( = this.el.getWidth() / 2 ) );=0A= =0A= }=0A= else=0A= {=0A= var floatY =3D position.y + this.arrowPadding + = this.floatMessage.getHeight();=0A= var floatX =3D position.x - ( this.floatMessage.getWidth() / 2 );=0A= var arrowY =3D position.y + this.arrowPadding;=0A= var arrowX =3D position.x - ( dimensions.arrow.w / 2 ); =0A= }=0A= =0A= this.arrow.setStyle({ =0A= top: arrowY + 'px',=0A= left: arrowX + 'px',=0A= opacity: 1.0=0A= });=0A= =0A= this.floatMessage.setStyle({=0A= top: floatY + 'px',=0A= left: floatX + 'px',=0A= opacity: 1.0,=0A= visibility: 'visible'=0A= });=0A= if(Prototype.Browser.IE)=0A= {=0A= this.floatMessageIFrame.setStyle({=0A= top:(parseInt(this.floatMessage.getStyle('top'))+3)+'px',=0A= left:this.floatMessage.getStyle('left'),=0A= width:(this.floatMessage.getWidth()-2)+'px',=0A= height:(this.floatMessage.getHeight()-6)+'px',=0A= opacity:1.0,=0A= visibility:'visible'=0A= });=0A= $('floatMessageIFrame').show();=0A= this.floatMessageIFrame2.setStyle({=0A= top:this.floatMessage.getStyle('top'),=0A= left:(parseInt(this.floatMessage.getStyle('left'))+3)+'px',=0A= width:(this.floatMessage.getWidth()-6)+'px',=0A= height:this.floatMessage.getHeight()+'px',=0A= opacity:1.0,=0A= visibility:'visible'=0A= });=0A= $('floatMessageIFrame2').show();=0A= }=0A= $('floatMessage').show();=0A= $('floatArrow').show();=0A= },=0A= =0A= floatDown: function()=0A= {=0A= // get x,y co-ordinates=0A= var position =3D this.overlayPosition();=0A= =0A= // set classes=0A= this.applyClasses('up');=0A= =0A= // get dimensions of all elements=0A= var dimensions =3D this.getDimensions();=0A= =0A= if(this.floatByType =3D=3D 'element')=0A= {=0A= var floatY =3D position.y + this.arrowPadding + = this.arrow.getHeight() + this.el.getHeight();=0A= var floatX =3D position.x - (( this.floatMessage.getWidth() - = this.el.getWidth() ) / 2);=0A= var arrowY =3D position.y + this.arrowPadding + this.el.getHeight();=0A= var arrowX =3D position.x - ( ( this.arrow.getWidth() / 2 ) - ( = this.el.getWidth() / 2 ) );=0A= =0A= }=0A= else=0A= {=0A= var floatY =3D position.y + this.arrowPadding + dimensions.arrow.h;=0A= var floatX =3D position.x - ( this.floatMessage.getWidth() / 2 );=0A= var arrowY =3D position.y + this.arrowPadding;=0A= var arrowX =3D position.x - ( dimensions.arrow.w / 2 ); =0A= }=0A= =0A= this.arrow.setStyle({ =0A= top: arrowY + 'px',=0A= left: arrowX + 'px',=0A= opacity: 1.0=0A= }); =0A= =0A= this.floatMessage.setStyle({=0A= top: floatY + 'px',=0A= left: floatX + 'px',=0A= opacity: 1.0,=0A= visibility: 'visible'=0A= });=0A= if(Prototype.Browser.IE)=0A= {=0A= this.floatMessageIFrame.setStyle({=0A= top:(parseInt(this.floatMessage.getStyle('top'))+3)+'px',=0A= left:this.floatMessage.getStyle('left'),=0A= width:(this.floatMessage.getWidth()-2)+'px',=0A= height:(this.floatMessage.getHeight()-6)+'px',=0A= opacity:1.0,=0A= visibility:'visible'=0A= });=0A= $('floatMessageIFrame').show();=0A= this.floatMessageIFrame2.setStyle({=0A= top:this.floatMessage.getStyle('top'),=0A= left:(parseInt(this.floatMessage.getStyle('left'))+3)+'px',=0A= width:(this.floatMessage.getWidth()-6)+'px',=0A= height:this.floatMessage.getHeight()+'px',=0A= opacity:1.0,=0A= visibility:'visible'=0A= });=0A= $('floatMessageIFrame2').show();=0A= }=0A= $('floatMessage').show();=0A= $('floatArrow').show();=0A= }=0A= });=0A= // end class=0A= =0A= /*=0A= * @Class: safariHover=0A= * =0A= * @Description: class to handle safari 2 issue with inner element=0A= * =0A= */=0A= var safariHover =3D = (!detectBrowser.modernBrowser())?function(){}:Class.create();=0A= safariHover.prototype =3D (!detectBrowser.modernBrowser())?{}:{=0A= =0A= initialize: function(hoverState, hoverElement, hoverEvent, callBack)=0A= {=0A= this.callBack =3D callBack;=0A= if(Prototype.Browser.WebKit && hoverElement.tagName.toLowerCase() !=3D = 'td' && detectBrowser.whichVersion() =3D=3D '2')=0A= {=0A= if(hoverState =3D=3D 'over')=0A= {=0A= var IsItIn =3D Position.within(hoverElement, = Event.pointerX(hoverEvent), Event.pointerY(hoverEvent));=0A= =0A= if(IsItIn && !hoverElement.ItIsIn)=0A= {=0A= hoverElement.ItIsIn =3D true;=0A= =0A= if(typeof(this.callBack)=3D=3D'function')=0A= {=0A= this.callBack();=0A= }=0A= }=0A= }=0A= =0A= if(hoverState =3D=3D 'out')=0A= {=0A= var IsItIn =3D Position.within(hoverElement, = Event.pointerX(hoverEvent), Event.pointerY(hoverEvent));=0A= =0A= if(!IsItIn && hoverElement.ItIsIn)=0A= {=0A= hoverElement.ItIsIn =3D false;=0A= =0A= if(typeof(this.callBack)=3D=3D'function')=0A= {=0A= this.callBack();=0A= }=0A= }=0A= }=0A= } else {=0A= =0A= if(typeof(this.callBack)=3D=3D'function')=0A= {=0A= this.callBack();=0A= }=0A= }=0A= }=0A= }; ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/js/191742main_Tabs.js if(detectBrowser.modernBrowser()){=0A= =0A= =0A= =0A= // Tabs class. Usage: var dd =3D new TabFactory();=0A= var TabFactory =3D Class.create();=0A= TabFactory.prototype =3D {=0A= initialize:function(){=0A= this.tabs =3D $$('.tabs').map(function(el){ return new Tabs(el); });=0A= }=0A= };=0A= =0A= var Tabs =3D Class.create();=0A= Tabs.prototype =3D {=0A= initialize:function(tabContainer){=0A= tabContainer =3D $(tabContainer);=0A= =0A= var classNames =3D $A(tabContainer.classNames());=0A= // Some elements look bizarre during initial load until javascript = gets to them.=0A= // For those elements, we apply a class called "prejs" so that once = the code is =0A= // running it can remove that CSS class. This way, a "pre-rendered" = state can be=0A= // seen by the user while the Javascript is still loading, and = unsettled layout =0A= // can be avoided.=0A= if(tabContainer.className.indexOf("prejs_")>-1){=0A= for(var j=3D0;j -1){=0A= tabContainer.removeClassName(classNames[j]);=0A= }=0A= }=0A= }=0A= =0A= // 1. Seek out list items in container=0A= this.tabButtons =3D = tabContainer.immediateDescendants().select(function(childNode){=0A= return (childNode.nodeName.toLowerCase()=3D=3D"li");=0A= }).map(function(currentTab,i){=0A= currentTab.removeClassName((i=3D=3D0)?"tab_inactive":"tab_active");=0A= currentTab.addClassName((i=3D=3D0)?"tab_active":"tab_inactive");=0A= Event.observe(currentTab,'click',function(ev){=0A= ev.stop();=0A= for(var j=3D0;j-1){=0A= for(var j=3D0;j-1){=0A= item.removeClassName(classNames[j]);=0A= }=0A= }=0A= }=0A= =0A= // set up initial visual state for each tab's contents=0A= = item.removeClassName((i=3D=3D0)?"tab_content_inactive":"tab_content_activ= e");=0A= = item.addClassName((i=3D=3D0)?"tab_content_active":"tab_content_inactive")= ;=0A= });=0A= }=0A= };=0A= =0A= Event.observe(window, 'load', function() {=0A= var dd =3D new TabFactory();=0A= });=0A= =0A= =0A= =0A= } ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/js/191702main_DropDownMenu.js /* * @Class: DropDownMenu *=20 * @Description: A dropdown navigation menu with sliding animation. *=20 * @Usage: var dd =3D new DropDownMenu(list of dropdown elements, = overall parent element with CSS class parameters); *=09 * @Methods: no public methods *=20 */ DropDownMenu =3D = (!detectBrowser.modernBrowser())?function(){}:Class.create(); DropDownMenu.prototype =3D (!detectBrowser.modernBrowser())?{}:{ dropDownDisabledCheck: function(){ if(window['dropDownMenusDisabled']=3D=3Dtrue){ this.springloaderDelay =3D 1; this.downDelay =3D 1; this.upDelay =3D 1; this.hoverOutDelay =3D 1; } else { this.downDelay =3D 570; this.upDelay =3D 450; this.springloaderDelay =3D 200; this.hoverOutDelay =3D 250; } }, initialize: function(droppers,dropcontainer){ // TODO make these parametric from dropcontainer's CSS class this.downDelay =3D 570; this.upDelay =3D 450; this.springloaderDelay =3D 200; this.hoverOutDelay =3D 250; this.dropDownDisabledCheck(); =09 // classname can be something like "dropper [otherstyle otherstyle = otherstyle] INT INT INT .." this.dropperWidths =3D droppers.map(function(item){ return item.classNames().toString().split(" = ").select(function(token){ return parseInt(token) > -1; })[0]; }); // calculate horizontal offset locations of each dropdown this.dropperOffsets =3D = this.dropperWidths.inject([0],function(acc,item){ acc.push(acc[acc.length - 1] + parseInt(item)); return acc; }); // fetch header height from the container's CSS class names var headerHeight =3D dropcontainer.classNames().toString().split(" = ").select(function(token){ return parseInt(token) > -1; })[0]; this.iframesEnabled =3D false; this.droppers =3D droppers; this.dropperiFrames =3D []; this.hoverStates =3D []; this.states =3D []; this.visibilityInitialized =3D []; // there exists a "next action" for every given dropdown. This way we = can queue the next state // that a dropdown wants to go to if a dropdown is too busy animating = while we interrupt it // with another target state. this.nextAction =3D []; =09 // next actions are baskets in which a waiting action can drop in a = closure to be executed after the current action for(var i=3D0;i 0; if(hasItems && this.iframesEnabled){ var zfixIFrame =3D new Element("iframe",{ 'id':'floatMessageIFrame', 'src':'javascr'+'ipt:\'\'' }); zfixIFrame.frameBorder=3D0; zfixIFrame.setStyle({ 'backgroundColor':'#2e2e2e', // #2e2e2e 'zIndex':795, 'position':'absolute' // 'height':'0px' }); var ul =3D $(lis[0].parentNode); ul.setStyle({ 'zIndex':805 }); zfixIFrame =3D dropper.appendChild(zfixIFrame); this.dropperiFrames[i] =3D zfixIFrame; // console.debug(this.dropperiFrames[i]); } // // Make two re-useable, cloneable handlers that fire when the mouse = leaves or enters // either the dropper or the heading for each dropdown menu. // var mouseout =3D (function(dropdownDiv,dropperIndex,dropperHasItems){ return function(ev){ this.hoverStates[dropperIndex] =3D "out"; setTimeout(function(){ // if still hovering outside... go ahead and slide back up if(this.hoverStates[dropperIndex]=3D=3D"out"){ if(this.states[dropperIndex]=3D=3D"open"){ this.applyHoverClasses(dropdownDiv,"over","out"); // wrapper div this.applyHoverClasses(dropdownDiv.previous(),"over","out"); // = heading this.doSlideUp(dropdownDiv,dropperIndex,dropperHasItems); } else if (this.states[dropperIndex]=3D=3D"closing"){ // reject mouse-out, already closing } else { // reject mouse-out, but queue up the next action // fill nextAction basket with a close action this.nextAction[dropperIndex] =3D function(){ if(this.hoverStates[dropperIndex]=3D=3D'out' && = this.states[dropperIndex]=3D=3D"open"){ this.applyHoverClasses(dropdownDiv,"over","out"); // wrapper = div this.applyHoverClasses(dropdownDiv.previous(),"over","out"); = // heading this.doSlideUp(dropdownDiv,dropperIndex,dropperHasItems); } }.bind(this); } } else if (this.hoverStates[dropperIndex]=3D=3D"in"){ // reject a mouse-out, we're still hovering. } }.bind(this),this.hoverOutDelay); }.bind(this); }.bind(this))(dropper,i,hasItems); var mouseover =3D = (function(dropdownDiv,dropperIndex,dropperHasItems){ var dropperHasBeenInitialized =3D false; return function(ev){ =09 if(!dropperHasBeenInitialized){ // // Set styles and calculate dropper heights on-demand // dropdownDiv.getElementsBySelector("ul").each(function(item){ item.setStyle({'position':'absolute'}); }); if(dropperHasItems){ var lis =3D dropdownDiv.getElementsBySelector("li"); var totalHeight =3D 0; =09 for(var l=3D0;l' + correctMsg1 + '

' + tykInfo + = '

' + correctMsg2 + '

'); testYourKnowledgeElement.appendChild(correctMessage); }; var tykIncorrect =3D function() { tykFormElement.setStyle({ display: 'none' }); tykSubmitButton.setStyle({ display: 'none' }); =09 var correctMessage =3D new Element("div").addClassName('tykMessage'); correctMessage.update('

' + incorrectMsg1 + '

' + tykInfo + = '

' + incorrectMsg2 + '

'); testYourKnowledgeElement.appendChild(correctMessage); }; var tykChecked =3D function() { var tykRadios =3D tykFormElement.getInputs('radio'); =09 var tykCorrect =3D tykRadios.find(function(item){ return item.checked =3D=3D true; }); =09 if(typeof(tykCorrect)=3D=3D'undefined') { tykCorrect =3D 0; return tykCorrect; } return parseInt(tykCorrect.value); }; document.observe('contentloaded', function() { Event.observe(tykSubmitButton, 'click', function(event) { tykVerify(); Event.stop(event); }, false); }, false); } } /*----------------------------------------------------- kids_club.js = ends -----------------------------------------------------*/ /*----------------------------------------------------- setfilter.js = starts ---------------------------------------------------*/ if(detectBrowser.modernBrowser()){ =09 var SetFilterFactory =3D Class.create(); SetFilterFactory.prototype =3D { initialize:function(){ this.filters =3D $$('.setfilter').map(function(el){ return new SetFilter(el); }); } }; /* format for a filter checkbox: */ var SetFilter =3D Class.create(); SetFilter.prototype =3D { = initialize:function(filterContainer,updateFilterClosure,listenEventAtCont= ainer){ if(filterContainer){ var parseWeight =3D function(elem){ // parse classnames to find the = weight of a given checkbox return $A(elem.classNames()).find(function(token){ return parseInt(token) > -1; }); }; var getTotalWeight =3D function(){ // return the total weight of the = checked checkboxes var checkedTotal =3D = this.filterCheckboxes.inject(0,function(acc,filterCheck){ return acc + = parseInt(filterCheck.checked?parseWeight(filterCheck):0); }); return (checkedTotal=3D=3D0)?this.totalTotal:checkedTotal; }.bind(this); this.filterCheckboxes =3D = filterContainer.getElementsBySelector("input.setfilter_check").map(functi= on(fc){ if(listenEventAtContainer){ Event.observe(fc.parentNode,'click',function(ev){ if(ev.target!=3Dfc){ fc.checked =3D !fc.checked; } updateFilterClosure(getTotalWeight()); // when a checkbox is = checked, we recalculate the filter }.bind(this)); =09 } else { Event.observe(fc,'click',function(ev){ updateFilterClosure(getTotalWeight()); // when a checkbox is = checked, we recalculate the filter }.bind(this)); =09 } return fc; }.bind(this)); this.totalTotal =3D = this.filterCheckboxes.inject(0,function(acc,filterCheck){ return acc + parseInt(parseWeight(filterCheck)); }); updateFilterClosure(getTotalWeight()); } } }; } /*----------------------------------------------------- setfilter.js = ends -----------------------------------------------------*/ /*----------------------------------------------------- missions.js = starts ---------------------------------------------------*/ if(detectBrowser.modernBrowser()){ document.observe('contentloaded', function() { var allSubjects =3D $$('select.select_satellite').map( function(elm) { if(detectBrowser.whichBrowser() !=3D 'ie') { return new SkinnedSelect(elm.parentNode,elm, function(){ if(item.value !=3D 0) { document.location.href =3D = "missions_landing_page.shtml?satellite=3D" + item.value; } },'','blue'); } else { elm.removeClassName('select_satellite'); elm.addClassName('select_blue_ie'); } } ); }, false); } /*----------------------------------------------------- missions.js ends = -----------------------------------------------------*/ /*----------------------------------------------------- ImageSet.js = starts ---------------------------------------------------*/ if(detectBrowser.modernBrowser()){ // // Set of image ranges, each of which has a subset of images. // var ImageSet =3D Class.create(); Object.extend(ImageSet.prototype, Enumerable); Object.extend(ImageSet.prototype,{ // construct an image set. // @element is an element within which to seek out already-loaded sets = in the DOM initialize:function(element){ // parse a range string like startToken_INT_INT function parseRange(classNames,startToken){ var tokens =3D classNames.find(function(item){ return = (typeof(item)=3D=3D"string" && item.indexOf(startToken)=3D=3D0); }); return = {'start':parseInt(tokens.split("_")[1]),'end':parseInt(tokens.split("_")[= 2])}; } // return a set of sets this.loadedsets =3D = element.getElementsBySelector("ol.images").map(function(imageList){ var classnames =3D $A(imageList.classNames()); return { 'range':parseRange(classnames,"range_"), 'extents':parseRange(classnames,"extents_"), = 'images':imageList.getElementsBySelector("li.image").map(function(imageLi= stElement){ // if we have a placeholder image, just return a stub if ($A(imageListElement.classNames()).include("placeholder")) = return {'placeholder':true}; // return a fully-formed image if we have a real image var result =3D { =09 'versions':{ = 'thumbnail_small':imageListElement.getElementsBySelector("a.thumbnail_sma= ll")[0].readAttribute("href").strip() =09 } }; imageListElement.getElementsBySelector("a").each(function(img){ var imageKey =3D $A(img.classNames()).find(function(token){ // = find first token matching INTxINT return token.split("x").length > 1 && = parseInt(token.split("x")[0]) > -1 && parseInt(token.split("x")[1]) > = -1; }); // This image fits the pattern and is something like "1024x768". = Append to result as another version. if(typeof(imageKey)!=3D'undefined') result['versions'][imageKey] = =3D img.readAttribute("href").strip(); }); return result; }) }; }); }, isRealImage:function(range,index){ // assumes range exists, assumes it = is loaded return this.getRange(range)['images'][index]['placeholder']!=3Dtrue; }, getRangeIndex:function(range){ // assumes range exists for(var i=3D0;i=3D 0)) return this.loadedsets[i - 1]['range']; }, findRangeByImage:function(imageItem){ var result; var matchingSet =3D this.loadedsets.find(function(loadedSet,i){ return = loadedSet['images'].include(imageItem); }); if(matchingSet) result =3D matchingSet['range']; // return undefined if not found return result; }, // external code must be able to fetch the "first" range block. Return = a range in format {start:int,end:int} getFirstRange:function(){ return this.loadedsets[0]['range']; }, // compare two ranges in format {start:int,end:int}, return true if = they are the same compareRange:function(range1,range2){ return typeof(range1)=3D=3D'object' && typeof(range2)=3D=3D'object' && = range1!=3Dnull && range2!=3Dnull && = parseInt(range1['start'])=3D=3DparseInt(range2['start']) && = parseInt(range1['end'])=3D=3DparseInt(range2['end']); }, getRange:function(range){ var result =3D this.loadedsets.find(function(aSet){ return ImageSet.prototype.compareRange(aSet.range,range); }.bind(this)); =09 if(!result){ // TODO check if range is within the total extents, and load } =09 return result; }, loadRangeAsync:function(range,url,callbackFunc){ console.debug("loadRangeAsync: loading range",range); // TODO load a range, run a callback function after finish. new Ajax.Request(url,{ method:'get', onSuccess:function(transport){ console.debug("results of query (transport object):",transport); } }); }, rangeLoaded:function(range){ return typeof(this.loadedsets.find(function(aSet){ return = ImageSet.prototype.compareRange(aSet.range,range); = }.bind(this)))!=3D'undefined'; }, // return all ranges in the entire extent, whether they are loaded or = not. allRangesInExtent:function(iterator){ var rangeLength =3D (parseInt(this.loadedsets[0]['range']['end']) - = parseInt(this.loadedsets[0]['range']['start'])) + 1; // NB: this might break if rangelength is not a nice number like 10, = 20, etc var rangeCeiling =3D Math.ceil(this.loadedsets[0]['extents']['end'] / = rangeLength) * rangeLength; return $A($R(0,(rangeCeiling / rangeLength) - 1)).map(function(i){ return { 'start':(i*(rangeLength)) + 1, 'end':((i+1)*(rangeLength)) }; }); }, // _each is a function required by the Enumerable mix-in // _each will iterate over each SUBSET of images, not all images _each: function(iterator) { for (var i =3D 0, length =3D this.loadedsets.length; i < length; i++) = iterator(this.loadedsets[i]); } }); }// end modern browser check /*----------------------------------------------------- ImageSet.js ends = -----------------------------------------------------*/ /*----------------------------------------------------- image_gallery.js = ends -----------------------------------------------------*/ if(detectBrowser.modernBrowser()){ // Image Gallery is loaded by both the "full screen" image=20 // gallery page and the normal image gallery page var ImageGallery =3D Class.create(); ImageGallery.prototype =3D { initialize:function(){ =09 this.container =3D $('image_gallery'); if(!this.container) return; this.imageStackContainer =3D $('image_stack'); this.imageContainer =3D $('gallery_image_area'); this.captionContainer =3D $('caption_region'); this.downloadContainer =3D $('download_image_box'); this.toolbarContainer =3D $('gallery_toolbar'); this.gridContainer =3D $('gallery_thumbgrid'); this.gridContainerClose =3D $('gallery_thumbgrid_close'); this.outsideCaptionContainer =3D = $$('.image_gallery_fullscreen_outsidecaption')[0]; =09 =09 this.imageSet =3D new ImageSet(this.container); this.previousRange =3D this.currentRange =3D = this.imageSet.getFirstRange(); this.endLabel =3D 0; this.imageIndex =3D 0; // pixel widths for stack of image ranges this.setStackSizes =3D { 'hiddenSize':67, 'openSize':414 }; // pixel widths for image stack this.rangeStackSizes =3D { 'hiddenSize':27, 'openSize':120 }; // delay in milliseconds that it takes the stack to respond this.responseDelay =3D 100; // Possible display modes : normal, fullscreen. Possible states: = normal, grid this.displayMode =3D = ($A(this.container.classNames()).include("image_gallery_fullscreen"))?"fu= llscreen":"normal"; this.stackedDecks =3D []; =09 this.drawComponents(); =09 =09 }, // return a stack of all sets getSetsStack:function(){ var ul =3D new Element("ul"); this.imageSet.each(function(dataset,i){ // create deck panel with another stack of images inside of it var li =3D new Element("li",{'className':'setstackitem = '+((i=3D=3D0)?"active":"inactive")}); var rangeStackUl =3D this.getRangeStack(dataset['range']); //this.imageStackContainer.appendChild(rangeStackUl); this.stackedDecks.push({ 'deck':(new = StackedDeck(rangeStackUl.getElementsBySelector("li"),rangeStackUl,{'horiz= ontal':true})), 'range':dataset['range'], 'deckIndex':i }); if(i!=3D0){ var rangetab_end =3D li.appendChild(new = Element('div',{'className':'rangetab_end'})); } li.appendChild(new = Element("span",{'className':'rangetitle'}).update(dataset['range']['start= ']+"-"+dataset['range']['end'])); li.appendChild(rangeStackUl); ul.appendChild(li); }.bind(this)); =09 // add another panel at the end to 'cap' the set. var setsEndCap =3D new Element('li',{'className':'setstackitem = inactive end_cap'}); var endCaprangetab_end =3D setsEndCap.appendChild(new = Element('div',{'className':'rangetab_end'})); setsEndCap.appendChild(new = Element('span',{'className':'rangetitle'}).update(' ')); =09 [this.setStackSizes['hiddenSize'], this.setStackSizes['openSize'], = this.responseDelay, "sideways", "imageset"].each(function(className){ ul.addClassName(className); }); return ul; }, // create a stack of images for a given range getRangeStack:function(rangeToGet){ var ul =3D new Element("ul"); var imageSet =3D this.imageSet.getRange(rangeToGet); imageSet['images'].each(function(imageItem,i){ if(imageItem['placeholder']=3D=3Dtrue){ // do nothing. } else { // create deck panel with image and index inside of it var li =3D new Element("li",{'className':'stackitem = '+((i=3D=3D0)?"active":"inactive")}); var img =3D li.appendChild(new = Element("img",{'src':imageItem.versions.thumbnail_small,'alt':'Click = here to view gallery image','title':'Click here to view gallery = image'})); var span =3D li.appendChild(new = Element("span",{}).update(rangeToGet['start']+i)); // attach click handler to image Event.observe(li,'click',function(){ //console.debug("Click detected in img"); this.goToRangeAndImage(rangeToGet,i); }.bind(this)); ul.appendChild(li); } }.bind(this)); [this.rangeStackSizes['hiddenSize'], this.rangeStackSizes['openSize'], = this.responseDelay, "sideways", "imagerange"].each(function(className){ ul.addClassName(className); }); return ul; }, =09 moveToImage:function(newImageIndex){ var newRange =3D this.currentRange; if(newImageIndex<0 || newImageIndex>9) { newRange =3D = (newImageIndex<0)?(this.imageSet.getRangeBefore(this.currentRange)):(this= .imageSet.getRangeAfter(this.currentRange)); if(newRange){ // if there is a previous range, go to it newImageIndex =3D (newImageIndex<0)?9:0; } else { newImageIndex =3D this.imageIndex; newRange =3D this.currentRange; } } this.goToRangeAndImage(newRange,newImageIndex); //this.getCurrentImageItem(); }, // Draw deck and refresh gallery UI for the first time. drawComponents:function(){=20 this.hideThumbGrid(); = Event.observe(this.toolbarContainer.getElementsBySelector('#btn_allthumbn= ails')[0],'click',function(ev){ ev.stop(); this.showThumbGrid(); return false; }.bind(this)); =09 if(this.displayMode=3D=3D"normal"){ var setsStackUl =3D = this.imageStackContainer.appendChild(this.getSetsStack()); this.setStack =3D new = StackedDeck(setsStackUl.getElementsBySelector("li.setstackitem"),setsStac= kUl,{'horizontal':true}); var imagesetLeft =3D this.imageStackContainer.appendChild(new = Element("div",{'className':'imageset_left'})); var imagesetRight =3D this.imageStackContainer.appendChild(new = Element("div",{'className':'imageset_right'})); Event.observe(imagesetLeft,'click',function(){ this.subDiv =3D $('sub'); =09 =09 if(masterArrayBlockCurrentIndex > 0) { =09 =09 masterArrayBlockCurrentIndex--; =09 if(this.subDiv) { =20 this.subDiv .innerHTML=3D''; document.getElementById("gallery_image_area").innerHTML=3D''; =09 document.getElementById("download_image_box").innerHTML=3D''; document.getElementById("image_stack").innerHTML=3D''; =09 = this.subDiv.innerHTML=3DmasterArrayBlock[masterArrayBlockCurrentIndex]; } =09 =09 new ImageGallery(); } =09 =09 }.bind(this)); =09 Event.observe(imagesetRight,'click',function(){ this.subDiv =3D $('sub'); =09 if( (masterArrayBlockCurrentIndex < 10 ) && ( = (masterArrayBlockCurrentIndex+1) < masterArrayBlock.length )) { masterArrayBlockCurrentIndex++; if(this.subDiv) { this.subDiv.innerHTML=3D''; document.getElementById("gallery_image_area").innerHTML=3D''; document.getElementById("download_image_box").innerHTML=3D''; document.getElementById("image_stack").innerHTML=3D''; =20 = this.subDiv.innerHTML=3DmasterArrayBlock[masterArrayBlockCurrentIndex]; } =09 new ImageGallery(); =20 =09 } }.bind(this)); } // update onscreen elements this.refresh(); // left and right (previous/next) image navigation if(this.displayMode =3D=3D 'normal') { var previousImageButton =3D this.imageContainer.appendChild(new = Element("div",{'className':'btn_image_prev'})); var nextImageButton =3D this.imageContainer.appendChild(new = Element("div",{'className':'btn_image_next'})); =09 =09 = Event.observe(previousImageButton,'click',function(){this.moveToImage(thi= s.imageIndex - 1); }.bind(this)); Event.observe(nextImageButton,'click',function(){ = this.moveToImage(this.imageIndex + 1); }.bind(this)); =09 }else { var previousImageButton =3D this.imageContainer.appendChild(new = Element("div",{'className':'btn_image_prev'}).insert(new = Element("div",{'className':'btn_arrow_prev'}))); var nextImageButton =3D this.imageContainer.appendChild(new = Element("div",{'className':'btn_image_next'}).insert(new = Element("div",{'className':'btn_arrow_next'}))); =09 Event.observe(previousImageButton,'click',function(){ = this.moveToImage(this.imageIndex - 1); }.bind(this)); Event.observe(nextImageButton,'click',function(){ = this.moveToImage(this.imageIndex + 1); }.bind(this)); =09 var hideNav =3D this.imageContainer; var prevNav =3D = this.imageContainer.getElementsBySelector("div.btn_image_prev")[0]; var nextNav =3D = this.imageContainer.getElementsBySelector("div.btn_image_next")[0]; =09 =09 } =09 }, getCurrentImageItem:function(){ =09 var rangeObj =3D this.currentRange; var absImageIndex =3D this.imageIndex + 1; var imagePositionInListOfAllImages =3D (rangeObj.start - 1) + = this.imageIndex; var eachImage =3D new Array(); var xmlPath =3D '';var htmlPath=3D''; =09 for(var i=3D0;i 0) { rangesContainer.removeChild(rangesContainer.firstChild); } // clean out grid var grid =3D = this.gridContainer.getElementsBySelector("#gallery_thumbgrid_grid")[0]; while(grid.childNodes.length > 0) {=09 grid.removeChild(grid.firstChild); } // redraw ranges = this.imageSet.allRangesInExtent().inGroupsOf(2).each(function(rangeGroup)= { var inRange =3D false; /*alert("rg0 start =3D" +rangeGroup[0].start + "rg0 end =3D = "+rangeGroup[0].end +" and currentRange =3D = "+this.currentRange.start);*/ if(ImageSet.prototype.compareRange(rangeGroup[0],this.currentRange) = || ImageSet.prototype.compareRange(rangeGroup[1],this.currentRange)) { inRange =3D true; =09 } var rangeLabel =3D rangeGroup[0]['start'] + " - " + = ((rangeGroup[1]!=3Dnull)?rangeGroup[1]['end']:rangeGroup[0]['end']); this.endLabel =3D rangeGroup[1]['end']; =09 if(inRange) { while( (rangesContainer.childNodes.length -1) > 0) { rangesContainer.removeChild(rangesContainer.firstChild); } var rangeSpan =3D rangesContainer.appendChild(new = Element("span",{})).update(rangeLabel); }=20 else=20 { while( (rangesContainer.childNodes.length -1) > 0) { rangesContainer.removeChild(rangesContainer.firstChild); } var rangeLink =3D rangesContainer.appendChild(new = Element("a",{'href':'#'})).update(rangeLabel); =09 Event.observe(rangeLink,'click',function(ev){ this.currentRange =3D rangeGroup[0]; this.imageIndex =3D 0; this.showThumbGrid(); ev.stop(); return false; }.bind(this)); =09 } =09 }.bind(this)); //alert('Redraw ranges finished'); var closeBtn =3D = this.gridContainer.getElementsBySelector('#gallery_thumbgrid_close = a')[0]; if(this.observedCloseBtn!=3Dtrue){ Event.observe(closeBtn,'click',function(ev){ this.hideThumbGrid(); ev.stop(); return false; }.bind(this)); this.observedCloseBtn =3D true; } =09 // find the range pair that the current range is inside of, then = render them both. var rangePair =3D = this.imageSet.allRangesInExtent().inGroupsOf(2).find(function(rangeGroup)= { if(ImageSet.prototype.compareRange(rangeGroup[0],this.currentRange) = || ImageSet.prototype.compareRange(rangeGroup[1],this.currentRange)) = return true; //return false; }.bind(this)); =09 var range1 =3D this.imageSet.getRange(rangePair[0]); var range2 =3D this.imageSet.getRange(rangePair[1]); var combinedSet =3D = (range2)?range1['images'].concat(range2['images']):range1['images']; combinedSet.each(function(imageItem,i){ // create deck panel with image and index inside of it var imgContainer =3D new Element("div",{'className':'griditem = g'+i}); // ignore placeholder images if(imageItem['placeholder']!=3Dtrue){ var img =3D imgContainer.appendChild(new = Element("img",{'src':(this.displayMode=3D=3D"normal")?imageItem.versions.= thumbnail_small:imageItem.versions.thumbnail_large,'alt':'Click here to = view gallery image','title':'Click here to view gallery image'})); Event.observe(img,'click',function(ev){ // Image's click handler = hides the grid and navigates to the image. this.hideThumbGrid(); if(i>9) this.goToRangeAndImage(rangePair[1],i - 10); else this.goToRangeAndImage(rangePair[0],i); ev.stop(); return false; }.bind(this)); } else { var img =3D imgContainer.appendChild(new = Element("div",{'className':'placeholder_thumbnail'}).update(" ")); } =09 grid.appendChild(imgContainer); }.bind(this)); /*}*/ //alert('Exiting showThumbGrid'); } }, goFullScreen:function(range,index){ // TODO link to fullscreen document.location.href =3D "#"; }, goToRangeAndImage:function(range,index){ // Ignore movement if we are already at this index and range if(index=3D=3Dthis.imageIndex && = ImageSet.prototype.compareRange(range,this.currentRange)) return; // Asynchronously fetch an unloaded range var refreshFunc =3D function(loadedSuccessfully){ if(loadedSuccessfully){ if(this.imageSet.isRealImage(range,index)) { // check if this is a = real image or just a placeholder in the set this.imageIndex =3D index; this.currentRange =3D range; this.refresh(); } } else { // TODO present user with error } }.bind(this); =09 if(!this.imageSet.rangeLoaded(range)){ // TODO load a set with XHR before going to it if it's not loaded = yet. // TODO figure out URL format for ranges this.imageSet.loadRangeAsync(range,url,refreshFunc); } else { refreshFunc(true); } } }; } /*----------------------------------------------------- image_gallery.js = ends -------------------------------------------------------*/ /*----------------------------------------------------- StackedDeck.js = starts -------------------------------------------------------*/ if(detectBrowser.modernBrowser()){ // // StackedDeck is a type of blind/accordion that uses z-index stacking = and=20 // either horizontal or vertical offsetting to accomplish its slide = effect. // var StackedDeck =3D Class.create(); StackedDeck.prototype =3D {=09 initialize: function(elements,containerElement,options){ var _openHeight =3D null; var _sliceHeight =3D null; var _springLoadingSpeed =3D null; var _baseZIndex =3D null; this.reversed =3D false; this.zIndexStep =3D 1; if(typeof(options)=3D=3D'object'){ if(options['horizontal']=3D=3Dtrue || options['sideways']=3D=3Dtrue){ this.sideways=3Dtrue; } if(parseInt(options['zstep']) > -1){ this.zIndexStep =3D options['zstep']; } if(options['dead_endcap']=3D=3Dtrue){ this.deadEndCap =3D true; } if(options['endcap_covers_last_item']=3D=3Dtrue){ this.endCapCoversLastItem =3D true; } // hack which applies "active_first" as well as "active" to the first = li when it is active // and "inactive_first" as well as "inactive" for inactive if(options['apply_first_class']=3D=3Dtrue){ this.applyFirstClass =3D true; } } if(typeof(containerElement)!=3D'undefined'){ // get class and acquire height from class. Otherwise, we default to = 40/80 var params =3D this.getCSSParams(containerElement); _sliceHeight =3D params['sliceHeight']; _openHeight =3D params['openHeight']; _springLoadingSpeed =3D params['springLoadingSpeed']; _baseZIndex =3D params['baseZIndex']; if(!(_springLoadingSpeed>=3D0)) { _springLoadingSpeed =3D null; } =09 if(this.sideways=3D=3Dtrue){ var styleObj =3D {'width':(((elements.length - 1) * _sliceHeight) + = _openHeight) + "px"}; containerElement.setStyle(styleObj); } else { containerElement.setStyle({'height':(((elements.length - 1) * = _sliceHeight) + _openHeight) + "px"}); } if(containerElement.hasClassName("reversed")) { this.reversed =3D = true; } } this.sliceHeight =3D (_sliceHeight!=3Dnull)?(_sliceHeight):(40); this.openHeight =3D (_openHeight!=3Dnull)?(_openHeight):(80); =09 this.springloadDelay =3D = (_springLoadingSpeed!=3Dnull)?_springLoadingSpeed:75; this.springloaded =3D (parseInt(this.springloadDelay) <=3D = 0)?false:true; this.currentOpenIndex =3D null; this.isAnimating =3D false; this.nextEffect =3D null; this.switchFlag =3D false; this.baseZIndex =3D (_baseZIndex=3D=3Dnull)?100:_baseZIndex; this.springloaderBasket =3D null; this.activators =3D []; // an array of activation functions for the = sliders which can be triggered with slideToIndex() this.makeSliders(elements); }, getCSSParams: function(containerElement){ if(typeof(containerElement)!=3D'undefined'){ // type check must stay = here since some callers will have not checked containerElement's = validity var numericClassNames =3D = $A(containerElement.classNames()).select(function(item){ return = parseInt(item) > -1; }); if(numericClassNames.length >=3D 2){ return { 'sliceHeight':parseInt(numericClassNames[0]), 'openHeight':parseInt(numericClassNames[1]), 'springLoadingSpeed':parseInt(numericClassNames[2]), 'baseZIndex':parseInt(numericClassNames[3]) }; } } return {}; }, // create a set of accordion sliders that are associated with each = other makeSliders: function(elements){ this.currentOpenIndex =3D elements.length; elements.each(function(item,i){ var topLocation =3D ((i=3D=3D0)?(0):((this.sliceHeight * (i-1)) + = (this.openHeight))) + 'px'; if(this.reversed=3D=3Dtrue) { topLocation =3D ((this.sliceHeight * = i)) + 'px'; } var sliderStyle =3D { 'zIndex':this.reversed?(this.baseZIndex + elements.length - = (i*this.zIndexStep)):(this.baseZIndex + (i*this.zIndexStep)), 'position':'absolute' }; if(this.sideways){ sliderStyle['left'] =3D topLocation; } else { sliderStyle['top'] =3D topLocation; } $(item).setStyle(sliderStyle); var activationFunc; activationFunc =3D this.activators[i] =3D = this.makeActivationEventHandlerFunc(this.makeSlideFunc(elements,item,i));= // quick hack for mouseup and mouse over if(item.getElementsByClassName('rangetitle').length > 0){ var eventAction =3D 'mouseup'; // this is a "dead" end panel with no hovers, no clicks, etc if(this.deadEndCap=3D=3Dtrue && i=3D=3Delements.length-1){ } else { if(i=3D=3D0 && this.applyFirstClass=3D=3Dtrue){ var obj =3D new mouseOverClassify({ 'ignore_position':true, 'adderFunction':function(element){ if(element.hasClassName("inactive")){ element.addClassName("setstackitem_hover_first_inactive");=09 } else { element.addClassName("setstackitem_hover_first_active"); } }, 'removerFunction':function(element){ element.removeClassName("setstackitem_hover_first_active"); element.removeClassName("setstackitem_hover_first_inactive"); } }); obj.classify(item, null);//'setstackitem_hover_first'); } else { var obj =3D new mouseOverClassify({'ignore_position':true}); obj.classify(item, 'setstackitem_hover'); } } }else{ var eventAction =3D 'mouseover'; } =09 if(this.springloaded){ // springload this slider activation by waiting a bit and then = checking if we're still on top of the same item // this is a "dead" end panel with no hovers, no clicks, etc if(this.deadEndCap=3D=3Dtrue && i=3D=3Delements.length-1){ // do nothing } else { Event.observe(item, eventAction,=20 function(ev){ this.springloaderBasket =3D item; setTimeout(function(e){ if(this.springloaderBasket=3D=3Ditem) { activationFunc(e); } }.bind(this,ev),this.springloadDelay); }.bind(this) ); } } else { Event.observe(item, eventAction, activationFunc); =09 } }.bind(this)); }, =09 // check for a queued effect. If one is present cancel the current one = and start the new one checkForAnimationChange: function(effect){ if(this.switchFlag=3D=3Dtrue){ this.switchFlag=3Dfalse; this.haveStoppedAnimating(); effect.cancel(); if(typeof(this.nextEffect)=3D=3D'function') { this.nextEffect(); } } }, // reset animation flags back to initial state before a transition has = begun. resetFlagsAndClosures: function(){ this.nextEffect =3D null; this.switchFlag =3D false;=09 }, // queue up the next direction for the sliders signalAnimationChange: function(nextAnimationFunc){ if(this.isAnimating=3D=3Dfalse){ nextAnimationFunc(); this.resetFlagsAndClosures(); } else { this.nextEffect =3D nextAnimationFunc; this.switchFlag =3D true; } }, =09 // lock access to animation haveStartedAnimating: function(effect){ this.isAnimating =3D true; }, // unlock access to animation haveStoppedAnimating: function(effect,itemIndex){ this.currentOpenIndex =3D itemIndex; this.isAnimating =3D false; }, // create an event handler for accordion activation makeActivationEventHandlerFunc: function(runEffectFunc) { return function(ev){ //Event.stop(ev); this.signalAnimationChange(runEffectFunc); }.bind(this); }, slideToIndex: function(index){ if(typeof(this.activators[index])=3D=3D'function'){ this.activators[index](); } }, // create animation func for sliding effect makeSlideFunc: function(elements, currentElement, i){ var getOpenLocation =3D function(j,sliceHeight,itemElement){ return j * sliceHeight; // # of items "above/before" j is j items }.bind(this); =09 var getClosedLocation =3D = function(j,sliceHeight,openHeight,itemElement){ if(j=3D=3D0) { return this.reversed?(-sliceHeight):0; } // endCapCoversLastItem AND if this is the last panel AND previous = panel is open if(this.endCapCoversLastItem && j=3D=3Delements.length - 1 && = itemElement.previous()=3D=3DcurrentElement) { // end cap should cover last item of previous panel // We check how many elements less than 10 the previous set contains = and nudge by however many // missing panels there are in the previous panel. var previousPanelContents =3D = itemElement.previous().getElementsBySelector("ul.imagerange")[0]; var params =3D this.getCSSParams(previousPanelContents); if(parseInt(params['sliceHeight']) > 0 && = parseInt(params['openHeight']) > 0){ // note: this won't work for a stack-in-a-stack-in-a-stack. It will = only work for 2-deep. (stack-in-a-stack) var nudgeFactor =3D (10 - = previousPanelContents.getElementsBySelector("li.stackitem").length) * = (params['sliceHeight']); var result =3D this.reversed?((((j - 1) * sliceHeight) + = openHeight) - sliceHeight):(((j - 1) * sliceHeight) + openHeight); return result - nudgeFactor; } else { return this.reversed?((((j - 1) * sliceHeight) + openHeight) - = sliceHeight):(((j - 1) * sliceHeight) + openHeight); } } if(i < j) { return this.reversed?((((j - 1) * sliceHeight) + = openHeight) - sliceHeight):(((j - 1) * sliceHeight) + openHeight); } return this.reversed?((j * sliceHeight) - sliceHeight):(j * = sliceHeight); }.bind(this); // return a function that makes element, the i'th element, slide to = its open location. All other elements should slide to their locations = too return function(){ new Effect.Parallel( elements.collect(function(item,itemIndex){ var fxOptions =3D { 'x':(item=3D=3DcurrentElement)?0:0, = 'y':((item=3D=3DcurrentElement)?(getOpenLocation(itemIndex,this.sliceHeig= ht,item)):(getClosedLocation(itemIndex,this.sliceHeight,this.openHeight,i= tem))), 'mode':'absolute', 'sync':true, 'beforeStart':function(effect){ if(effect.element=3D=3DcurrentElement){ if(itemIndex=3D=3D0 && this.applyFirstClass=3D=3Dtrue){ effect.element.removeClassName("inactive_first"); effect.element.addClassName("active_first"); } effect.element.removeClassName("inactive"); effect.element.addClassName("active"); } else { if(itemIndex=3D=3D0 && this.applyFirstClass=3D=3Dtrue){ effect.element.removeClassName("active_first"); effect.element.addClassName("inactive_first"); } effect.element.removeClassName("active"); effect.element.addClassName("inactive"); } }.bind(this) }; if(this.sideways){ // swap dimensions if we are travelling sideways var temp =3D fxOptions.y; fxOptions.y =3D fxOptions.x; fxOptions.x =3D temp; } return new Effect.Move(item,fxOptions); }.bind(this)), { 'fps': 50, 'wait': false, 'duration': 200/1000,=20 'beforeUpdate': this.checkForAnimationChange.bind(this),=20 'beforeStart': this.haveStartedAnimating.bind(this),=20 'afterFinish': (function(itemIndex){ return function(effect){ this.haveStoppedAnimating(effect,itemIndex); }.bind(this); }.bind(this))(i) } ); }.bind(this); } }; } /*----------------------------------------------------- StackedDeck.js = ends ---------------------------------------------------------*/ /*----------------------------------------------------- Calendar.js = starts ----------------------------------------------------------*/ /* * @Class: Calendar *=20 * @Description: An interactive calendar widget *=20 * @Usage: new Calendar(containerElement) *=09 * @Methods: no public methods *=20 */ var Calendar =3D = (!detectBrowser.modernBrowser())?function(){}:Class.create(); Calendar.prototype =3D (!detectBrowser.modernBrowser())?{}:{ initialize: function(div) { // don't draw calendar if div doesn't exist if(!div){ return false; } // This is the element into which all of the calendar's DOM elements = are inserted this.container =3D div; this.today =3D new Date(); this.month =3D this.today.getMonth(); this.year =3D this.today.getFullYear(); // Back and forward buttons to navigate months this.backward =3D new Element("a", {"class": "backward",'href':'#'}); Event.observe(this.backward, "click", function(e) { this.changeMonth(this.month - 1); Event.stop(e); return false; }.bind(this)); this.forward =3D new Element("a", {"class": "forward",'href':'#'}); Event.observe(this.forward, "click", function(e) { this.changeMonth(this.month + 1); Event.stop(e); return false; }.bind(this)); this.display_month =3D new = Element("span").insert(Calendar.prototype.monthNames[this.month]); this.display_year =3D new Element("span").insert(this.year); =09 // navigational elements // var tableNav_wrapper =3D new = Element("div",{'id':'tableNav_wrapper'}); var tableNav_wrapper =3D $('tableNav_wrapper'); tableNav_wrapper.innerHTML =3D ""; var tableNav =3D new Element("div", {'id': "tableNav"}); tableNav.insert(this.backward); tableNav.insert(this.forward); tableNav.insert(this.display_month); tableNav.insert(this.display_year); tableNav_wrapper.insert(tableNav); this.container.insertBefore(tableNav_wrapper, = this.container.firstChild); var tableAlreadyExists =3D false; this.table =3D this.container.getElementsBySelector("table")[0]; // collect of all the days in the entire month this.cells =3D this.table.getElementsBySelector("td"); // collection of all the week rows (empty or not) this.rows =3D this.table.getElementsBySelector("tr"); // lazy-loaded list of events this.monthEventLists =3D {}; this.populateTable(); }, // draw calendar populateTable: function() { var date =3D new Date(this.year, this.month, "1"); var firstDay =3D date.getDay(); date.setFullYear(this.year, this.month, "32"); var numDays =3D 32 - date.getDate(); // use much faster direct node manipulation instead of prototype's = innerHTML-based method var newDrawMethod =3D false; var cellTexts =3D []; // give calendar cells numbers and styles, style the cell for today. for(var i =3D 0; i < this.cells.length; i++) { if(newDrawMethod && this.cells[i].firstChild && = this.cells[i].firstChild.nodeType=3D=3D1 && = $(this.cells[i].firstChild).hasClassName('this_day_wrap')){ this.cells[i].innerHTML =3D ""; } var cellDigits =3D ((i - firstDay + 1)>9)?(i - firstDay + 1):"0"+(i - = firstDay + 1).toString(); var cellText =3D (i >=3D firstDay && i < (numDays + = firstDay))?(cellDigits):String.fromCharCode(160); cellTexts[i] =3D cellText; if(newDrawMethod){ if(this.cells[i].firstChild){ this.cells[i].firstChild.nodeValue =3D cellText; } else { this.cells[i].appendChild(document.createTextNode(cellText)); } } else { this.cells[i].update(cellText); } if(this.cells[i].hasClassName("event")){ this.cells[i].removeClassName("event"); } if(this.cells[i].hasClassName("today")){ this.cells[i].removeClassName("today"); } this.cells[i].stopObserving(); /* // handle keyboard focus for the link inside of the cell Event.observe( this.cells[i].firstChild, 'focus', (function(cellIndex){ return function(ev){ if( typeof(this.cellOverlayHandlers)=3D=3D'object'=20 && this.cellOverlayHandlers!=3Dnull=20 && this.cellOverlayHandlers.length > 0=20 && typeof(this.cellOverlayHandlers[cellIndex])=3D=3D'function' ){ this.cellOverlayHandlers[cellIndex](ev); } }.bind(this) }.bind(this))(i) ); // warning: Calling a Prototypical function here out of laziness -- = Dependence on FloatingInfo class internals Event.observe( this.cells[i].firstChild, 'blur', (function(cellIndex){ return function(ev){ FloatingInfo.prototype.hideOverlay(); ev.stop(); }.bind(this); }.bind(this))(i) ); */ } =09 // Style "today's" cell properly, (if we're displaying the current = month) if(this.month =3D=3D this.today.getMonth() && this.year =3D=3D = this.today.getFullYear()){ var thisDay =3D this.cells[this.today.getDate() + (firstDay - 1)]; thisDay.addClassName("today"); var thisDayWrap =3D new Element("div", = {"class":"this_day_wrap"}).insert(thisDay.innerHTML); thisDay.innerHTML =3D ""; thisDay.insert(thisDayWrap); var thisDayHeight =3D Math.round(this.table.getHeight() / 6); thisDayWrap.setStyle({ 'height':(thisDayHeight - 2) + 'px', 'lineHeight':(thisDayHeight - 2) + 'px' }); } // fetch events for this month and convert into a handy array of = hashes //if(typeof(this.monthEventLists[this.month])=3D=3D'undefined'){ this.monthEventLists[this.month] =3D = this.getEventListItems().select(function(listItem){ var startDateElement =3D = listItem.getElementsBySelector("abbr.dtstart")[0]; var endDateElem =3D = listItem.getElementsBySelector("abbr.dtstart")[0]; var endDateAttrs =3D = endDateElem?endDateElem.getAttribute("title").split("-"):null; var yearofevent=3D(endDateAttrs && = endDateAttrs.length>=3D3)?parseInt(endDateAttrs[0]):undefined; return(startDateElement && = startDateElement.getAttribute("title").indexOf("-"+(this.month+1)+"-") > = -1 && yearofevent=3D=3Dthis.year); }.bind(this)).collect(function(listItem){ // // Parse hCalendar microformat // var linkElem =3D listItem.getElementsBySelector("a.url")[0]; var startDateElem =3D = listItem.getElementsBySelector("abbr.dtstart")[0]; var endDateElem =3D = listItem.getElementsBySelector("abbr.dtstart")[0]; var summaryElem =3D listItem.getElementsBySelector("h3.summary")[0]; var descriptionElem =3D = listItem.getElementsBySelector("p.description")[0]; var startDateAttrs =3D = startDateElem?startDateElem.getAttribute("title").split("-"):null; var endDateAttrs =3D = endDateElem?endDateElem.getAttribute("title").split("-"):null; return { 'start_day':(startDateAttrs && = startDateAttrs.length>=3D3)?parseInt(startDateAttrs[2]):undefined, 'start_month':(startDateAttrs && = startDateAttrs.length>=3D3)?parseInt(startDateAttrs[1]):undefined, 'start_year':(startDateAttrs && = startDateAttrs.length>=3D3)?parseInt(startDateAttrs[0]):undefined, 'end_day':(endDateAttrs && = endDateAttrs.length>=3D3)?parseInt(endDateAttrs[2]):undefined, 'end_month':(endDateAttrs && = endDateAttrs.length>=3D3)?parseInt(endDateAttrs[1]):undefined, 'end_year':(endDateAttrs && = endDateAttrs.length>=3D3)?parseInt(endDateAttrs[0]):undefined, 'summary':summaryElem?summaryElem.innerHTML.strip():"", 'description':descriptionElem?descriptionElem.innerHTML.strip():"", 'url':linkElem?linkElem.getAttribute("href").strip():"#", 'linktext':linkElem?linkElem.innerHTML.strip():"" }; }.bind(this)); //} if(this.monthEventLists[this.month].length > 0) { // assign overlay events for any day cells that contain events // cellOverlayHandlers is an array that holds all the current = closures that pop up overlays to show events this.cellOverlayHandlers =3D []; for(var i =3D 0; i < this.cells.length;i++) { if(i >=3D (firstDay)){ var cell =3D this.cells[i]; var dayIndex =3D i - firstDay; var calendarDay =3D dayIndex + 1; // grab all the events for this given day var todaysEvents =3D = this.monthEventLists[this.month].select(function(item){return = item.start_day=3D=3DcalendarDay;}); if(todaysEvents.length > 0){ // overlay closure to float information about this event var todaysEventOverlay =3D function(cellElement, private_month, = eventCollection) { return function (event) { var currentEventIndex =3D 0; new FloatingInfo(cellElement, { 'float':'auto', 'padding':0, 'floatDirection':'auto', 'arrowClass':'float_arrow', 'overlayClasses':{ 'top':'floatType_calendar_top', 'inner':'floatType_calendar_inner', 'bottom':'floatType_calendar_bottom' }, // this function is called *once* by FloatingInfo in order to = allow for custom rendering in the calendar overlay 'contentRender':function(contentElement_){ // this render function is called by the buttons in the = calendar overlay = this.renderOverlayContents(contentElement_,eventCollection,currentEventIn= dex); }.bind(this) }); Event.stop(event); }.bind(this); }.bind(this)($(cell), this.month, todaysEvents); // for keyboard handling: the text of the cell has to be a link so = that IE can focus on it (accessibility/508) cell.update("" + cellTexts[i] + ""); // handle keyboard focus for the link inside of the cell Event.observe( this.cells[i].firstChild, 'focus', (function(cellIndex){ return function(ev){ if( typeof(this.cellOverlayHandlers)=3D=3D'object'=20 && this.cellOverlayHandlers!=3Dnull=20 && this.cellOverlayHandlers.length > 0=20 && typeof(this.cellOverlayHandlers[cellIndex])=3D=3D'function' ){ this.cellOverlayHandlers[cellIndex](ev); } }.bind(this) }.bind(this))(i) ); // warning: Calling a Prototypical function here out of laziness = -- Dependence on FloatingInfo class internals Event.observe( this.cells[i].firstChild, 'blur', (function(cellIndex){ return function(ev){ FloatingInfo.prototype.hideOverlay(); ev.stop(); }.bind(this); }.bind(this))(i) ); cell.addClassName("event"); var hoverObj =3D new mouseOverClassify(); hoverObj.classify(cell, 'eventHover'); // hover a floating info overlay for day cells which have events = associated with them Event.observe(cell, "mouseover", todaysEventOverlay); this.cellOverlayHandlers[i] =3D todaysEventOverlay; } else { this.cellOverlayHandlers[i] =3D null; } } } // end overlay assignment loop } // style calendar as 6 rows, always this.rows[4].className =3D ""; this.rows[5].className =3D ""; this.rows[6].className =3D "row_last"; this.table.className =3D "rows_6"; }, =09 = renderOverlayContents:function(contentElement,eventCollection,currentEven= tIndex){ contentElement.innerHTML =3D ""; var eventObject =3D eventCollection[currentEventIndex]; var title =3D new Element("h3",{}); title.update(eventObject.summary); var body =3D new Element("p",{}); body.update(eventObject.description); var link =3D new = Element("a",{'className':'event_url','href':eventObject.url}); if (eventObject.url =3D=3D '#' ){} else {link.update("› "+eventObject.linktext);} // // Back/forward buttons on calendar overlay // these are only drawn if we have more than one event on this day // if(eventCollection.length > 1){ var eventNavContainer =3D new = Element("div",{'className':'event_nav_container'}); var locationLabel =3D new Element("div",{'className':'event_label'}); var prevBtn =3D new = Element("a",{'href':'#','className':'event_prev'}); var nextBtn =3D new = Element("a",{'href':'#','className':'event_next'}); // locationLabel is the label that says, for example: "Event 1 of 5" locationLabel.update("Event "+(currentEventIndex+1)+" of = "+eventCollection.length); prevBtn.update(" "); nextBtn.update(" "); var callRender =3D function(incrementor){ currentEventIndex =3D currentEventIndex + incrementor; Event.stopObserving(prevBtn,'click',prevFunc); Event.stopObserving(nextBtn,'click',nextFunc); // // re-render the inner content region of the calendar overlay // = this.renderOverlayContents(contentElement,eventCollection,currentEventInd= ex);=20 }.bind(this); // // forward / back click event handlers // var prevFunc =3D function(ev){ if(currentEventIndex>0){ callRender(-1); } else { currentEventIndex =3D eventCollection.length - 1; callRender(0); } ev.stop(); return false; }; var nextFunc =3D function(ev){ if(currentEventIndex < eventCollection.length - 1){ callRender(1); } else { currentEventIndex =3D 0; callRender(0); } ev.stop(); return false; }; Event.observe(nextBtn,'click',nextFunc); Event.observe(prevBtn,'click',prevFunc); eventNavContainer.appendChild(prevBtn); eventNavContainer.appendChild(locationLabel); eventNavContainer.appendChild(nextBtn); contentElement.appendChild(eventNavContainer); } contentElement.appendChild(title); contentElement.appendChild(body); contentElement.appendChild(link); }, // fetch the list item elements representing events getEventListItems:function(){ if(typeof(this.eventListCache)=3D=3D'undefined'){ this.eventListCache =3D = this.container.getElementsBySelector("ul.eventlist li"); } return this.eventListCache; }, // navigate to newMonth and redraw the calendar situated in newMonth changeMonth: function(newMonth) { this.month =3D newMonth; =09 if(this.month =3D=3D -1) { this.month =3D 11; this.year--; } else if(this.month =3D=3D 12) { this.month =3D 0; this.year++; } =09 this.display_month.update(Calendar.prototype.monthNames[this.month]); this.display_year.update(this.year); =09 this.populateTable(); }, monthNames: [ "January",=20 "February",=20 "March",=20 "April",=20 "May",=20 "June",=20 "July",=20 "August",=20 "September",=20 "October",=20 "November",=20 "December" ] }; if(detectBrowser.modernBrowser()){ Event.observe(window, 'load', function() {=20 $$('.NASACalendar').each(function(calendarElement){ var c =3D new Calendar(calendarElement); }); }); } /*----------------------------------------------------- Calendar.js ends = ------------------------------------------------------------*/ /*----------------------------------------------------- = launch_calendar.js starts = ---------------------------------------------------*/ if(detectBrowser.modernBrowser()){ // year mo day hr min sec // // // NOTE: 0 =3D january // 11 =3D december // document.observe('contentloaded', function() { var clock_day =3D $("day"); var clock_hour =3D $("hour"); var clock_minute =3D $("minute"); var clock_second =3D $("second"); if(clock_day && clock_hour && clock_minute && clock_second){ var launchDate =3D new Date(2007, 9, 31, 18, 30, 15, 0); function getDHMS(targetDate){ var nowDate =3D new Date(); var secondsTillLaunch =3D Math.floor(targetDate.getTime() / 1000) - = Math.floor(nowDate.getTime() / 1000); var daysLeft =3D Math.floor(secondsTillLaunch / (60 * 60 * 24)); var leftoverHours =3D Math.floor((secondsTillLaunch - (daysLeft * 60 = * 60 * 24)) / (60 * 60)); var leftoverMinutes =3D Math.floor( (secondsTillLaunch - (daysLeft * = 60 * 60 * 24) - (leftoverHours * 60 * 60)) / 60); var leftoverSeconds =3D Math.floor( (secondsTillLaunch - (daysLeft * = 60 * 60 * 24) - (leftoverHours * 60 * 60) - (leftoverMinutes * 60))); var pastFlag =3D false; if(secondsTillLaunch < 0){ pastFlag =3D true; } return { 'daysleft':daysLeft, 'hoursleft':leftoverHours, 'minutesleft':leftoverMinutes, 'secondsleft':leftoverSeconds, 'pastFlag':pastFlag }; } =09 new PeriodicalExecuter(function(){ var d =3D getDHMS(launchDate); if(d.pastFlag){ clock_day.update("00"); clock_hour.update("00"); clock_minute.update("00"); clock_second.update("00"); } else { if(d.daysleft < 10) clock_day.update("0" + d.daysleft); else clock_day.update(d.daysleft); if(d.hoursleft < 10) clock_hour.update("0" + d.hoursleft); else clock_hour.update(d.hoursleft); if(d.minutesleft < 10) clock_minute.update("0" + d.minutesleft); else clock_minute.update(d.minutesleft); if(d.secondsleft < 10) clock_second.update("0" + d.secondsleft); else clock_second.update(d.secondsleft); } }, 1); } }); } /*----------------------------------------------------- = launch_calendar.js ends = -----------------------------------------------------*/ /*----------------------------------------------------- TagCloud.js ends = -----------------------------------------------------*/ if(detectBrowser.modernBrowser()){ document.observe("contentloaded",function(){ /* seedable random number functionality */ var RandSeed =3D 0; var initRandSeed=3Dnull; // used by seedble random number functionality function PrfxTo(S, L, C) { S +=3D "" if (C.length>0){ while (S.length -0.5e-N ; to M digits point N digits var S =3D String(Math.round(X*Math.pow(10, N))); if (/\D/.test(S)){ return SpcsTo(X, M+N+1); // cannot cope } S =3D PrfxTo(S, M+N, '0'); var T =3D S.length - N; return S.substring(0, T) + '.' + S.substring(T); } // used by seedble random number functionality function SpcsTo(S, L) { S +=3D "" // SpcsTo is a reduction of PrfxTo while (S.length 0) { var o =3D getObjByName(name,lyrdoc); if(o) return o; } } } return 0; } if(!document.getElementById) document.getElementById =3D getObjByName; function getElementsArray(el) { if(document.layers) { var doc =3D (this =3D=3D document) ? document : this.document; switch(el) { case 'img' : return doc.images; case 'a' : return doc.links; case 'div' : return doc.layers; case 'form' : return doc.forms; default : return 0; } } if(document.all) return this.all.tags(el); return 0; } if(!document.getElementsByTagName) document.getElementsByTagName =3D = getElementsArray; if(document.layers) Layer.prototype.getElementsByTagName =3D = getElementsArray; function show(div){ if(document.all) window.document.all[div].style.visibility =3D = 'visible'; else if(document.layers) getObjByName(div).visibility =3D 'show'; else document.getElementById(div).style.visibility =3D 'visible'; } function hide(div){ if(document.all) window.document.all[div].style.visibility =3D = 'hidden'; else if(document.layers) getObjByName(div).visibility =3D 'hide'; else document.getElementById(div).style.visibility =3D 'hidden'; } function swapImg() { if(!document.images) return; var args =3D swapImg.arguments; for(var i=3D0;i < args.length;i+=3D2) { var imgSrc =3D (args[i + 1].indexOf('[') !=3D -1) ? eval(args[i + 1] = + '.src') : args[i + 1]; if(getObjByName(args[i])) getObjByName(args[i]).src =3D imgSrc; } } function setCookie(name,value,expires) { document.cookie =3D escape(name)+'=3D'+escape(value)+'; = expires=3D'+expires.toGMTString(); } function getCookie(name) { var value,nl,cl,i,j,e; name+=3D'=3D'; value =3D 0; nl =3D name.length; cl =3D document.cookie.length; i =3D 0; while (i < cl) { j =3D i+nl; if(document.cookie.substring(i,j) =3D=3D name) { e =3D document.cookie.indexOf(';',j); if(e =3D=3D -1) e =3D document.cookie.length; value =3D unescape(document.cookie.substring(j,e)); break; } i =3D document.cookie.indexOf(' ', i) + 1; if (i =3D=3D 0) break; } =20 return value; } function detectBrowser_old(){ var v =3D navigator.appVersion.toLowerCase(), u =3D = navigator.userAgent.toLowerCase(), n =3D navigator.appName; this.mac =3D (v.indexOf("mac")+1); this.win =3D (v.indexOf("win")+1); this.nn =3D (n =3D=3D "Netscape"); this.ie =3D (n =3D=3D "Microsoft Internet Explorer"); this.aol =3D (u.indexOf("aol")+1); this.safari =3D (u.indexOf("safari")+1); this.opera =3D (u.indexOf("opera")+1); this.ver =3D (this.ie) ? parseFloat(v.split('msie ')[1]) : = parseFloat(v); this.major =3D this.ver.toString().split('.')[0]; this.minor =3D this.ver.toString().split('.')[1]; this.v4 =3D (this.major =3D=3D 4); this.os =3D (this.mac) ? 'mac' : (this.win) ? 'win' : = navigator.platform; this.name =3D (this.nn) ? 'nn' : (this.ie) ? 'ie' : n; this.codeName =3D this.name +'_'+ parseInt(this.ver) + '_'+ this.os; } function watchNASATV() { var ua =3D detectBrowser_old(); w =3D 737; h =3D 430; myname =3D 'NASATV'; if (((this.nn)&&(this.v4))||(this.safari)) { mypage =3D '/mediaplayer/index_safari.html'; }else { mypage =3D '/mediaplayer/index.html'; } var winl =3D (screen.width - w) / 2; var wint =3D (screen.height - h) / 2; winprops =3D = 'height=3D'+h+',width=3D'+w+',top=3D'+wint+',left=3D'+winl+',scrollbars=3D= no,resizable=3Dno'; win =3D window.open(mypage, myname, winprops) //if (parseInt(navigator.appVersion) >=3D 4) { = win.window.focus(); } } function watchNASALiveTV() { w =3D 737; h =3D 450; myname =3D 'NASALiveTV'; mypage =3D '/multimedia/nasatv/live_tv.html'; var winl =3D (screen.width - w) / 2; var wint =3D (screen.height - h) / 2; winprops =3D = 'height=3D'+h+',width=3D'+w+',top=3D'+wint+',left=3D'+winl+',scrollbars=3D= no,resizable=3Dno'; win =3D window.open(mypage, myname, winprops) //if (parseInt(navigator.appVersion) >=3D 4) { = win.window.focus(); } } function watchNASAOnDemandTV(param1, param2, param3) { // alert('param '+param); // w =3D 737; // h =3D 450; w =3D 775; h =3D 600; myname =3D 'NASAOnDemandTV'; var param=3Dparam1; //alert('param '+param); if( param2!=3D'undefined' && param2!=3Deval('') && param2!=3Dnull && = param2!=3D'' ) { param+=3D'|'+param2; } // alert('param '+param); if( param3!=3D'undefined' && param3!=3Deval('') && param3!=3Dnull && = param3!=3D'' ) { param+=3D'|'+param3; } //alert('param '+param); //mypage =3D = '/redesign/multimedia/nasatv/on_demand_video.html?param=3D'+param; var mypage =3D = 'http://www.nasa.gov/multimedia/nasatv/on_demand_video.html?param=3D'+par= am; //alert(' mypage '+mypage); var winl =3D (screen.width - w) / 2; var wint =3D (screen.height - h) / 2; winprops =3D = 'height=3D'+h+',width=3D'+w+',top=3D'+wint+',left=3D'+winl+',scrollbars=3D= no,resizable=3Dno'; win =3D window.open(mypage, myname, winprops); //if (parseInt(navigator.appVersion) >=3D 4) { = win.window.focus(); } } /* This function is used by On Demand Video - Redesign */ function watchNASAOnDemandVideo(param1, param2, param3,title,imageName, = assetId) { =20 var myname =3D 'NASAOnDemandTV'; var w =3D 800; var h =3D 550; /*var param=3Dparam1; alert('param '+param); if( param2!=3D'undefined' && param2!=3Deval('') && param2!=3Dnull && = param2!=3D'' ) { param+=3D'|'+param2; } alert('param '+param); if( param3!=3D'undefined' && param3!=3Deval('') && param3!=3Dnull && = param3!=3D'' ) { param+=3D'|'+param3; }*/ var isparam1; var isparam2; var isparam3; =09 if( param1!=3D'undefined' && param1!=3Deval('') && param1!=3Dnull && = param1!=3D'' ) isparam1 =3D 'true'; if( param2!=3D'undefined' && param2!=3Deval('') && param2!=3Dnull && = param2!=3D'' ) isparam2 =3D 'true'; if( param3!=3D'undefined' && param3!=3Deval('') && param3!=3Dnull && = param3!=3D'' ) isparam3 =3D 'true'; =09 var param=3D''; if (isparam1 =3D=3D 'true') { param=3Dparam1; } if (isparam2 =3D=3D 'true') { if (isparam1 =3D=3D 'true') param+=3D'|'+param2; else param=3Dparam2; } =09 if (isparam3 =3D=3D 'true') { if (isparam1 =3D=3D 'true' || isparam2 =3D=3D 'true') param+=3D'|'+param3; else param=3Dparam3; } //alert('param '+param); if(imageName =3D=3D null || imageName =3D=3Deval('') || imageName = =3D=3D 'undefined' || imageName =3D=3D 'null') { imageName =3D 'test.gif'; } =09 param +=3D '&_id=3D' + assetId; if(title !=3D null || title !=3D eval('') || title !=3D 'undefined') { title =3D escape(title); param +=3D'&_title=3D' + title; } if(imageName !=3D null || imageName !=3D eval('') || imageName !=3D = 'undefined') { param +=3D'&_tnimage=3D' + imageName; } // alert('param '+param); var mypage =3D = 'http://www.nasa.gov/multimedia/nasatv/on_demand_video.html?param=3D'+par= am; //alert(' mypage ' + mypage); =09 var winl =3D (screen.width - w) / 2; var wint =3D (screen.height - h) / 2; winprops =3D = 'height=3D'+h+',width=3D'+w+',top=3D'+wint+',left=3D'+winl+',scrollbars=3D= no,resizable=3Dno'; win =3D window.open(mypage, myname, winprops); } /* This function is used by On Demand Video - Redesign-- This funtion = was added to accomodate Flash Videos */ function watchNASAOnDemandVideos(param1, param2, = param3,param4,title,imageName, assetId,captions) { =20 var myname =3D 'NASAOnDemandVideo'; var w =3D 800; var h =3D 550; var isparam1; var isparam2; var isparam3; var isparam4; =09 if( param1!=3D'undefined' && param1!=3Deval('') && param1!=3Dnull && = param1!=3D'' ) isparam1 =3D 'true'; if( param2!=3D'undefined' && param2!=3Deval('') && param2!=3Dnull && = param2!=3D'' ) isparam2 =3D 'true'; if( param3!=3D'undefined' && param3!=3Deval('') && param3!=3Dnull && = param3!=3D'' ) isparam3 =3D 'true'; if( param4!=3D'undefined' && param4!=3Deval('') && param4!=3Dnull && = param4!=3D'' ) isparam4 =3D 'true'; =09 =09 var param=3D''; if (isparam1 =3D=3D 'true') { param=3Dparam1; } if (isparam2 =3D=3D 'true') { if (isparam1 =3D=3D 'true') param+=3D'|'+param2; else param=3Dparam2; } =09 if (isparam3 =3D=3D 'true') { if (isparam1 =3D=3D 'true' || isparam2 =3D=3D 'true') param+=3D'|'+param3; else param=3Dparam3; } if (isparam4 =3D=3D 'true') { if (isparam1 =3D=3D 'true' || isparam2 =3D=3D 'true' || isparam3 = =3D=3D 'true' ) param+=3D'|'+param4; else param=3Dparam4; } //alert('param '+param); if(captions !=3D null && captions !=3D '' && captions !=3D eval('') = && captions !=3D 'undefined') { param +=3D'|' + captions; } =09 =09 if(imageName =3D=3D null || imageName =3D=3Deval('') || imageName = =3D=3D 'undefined' || imageName =3D=3D 'null') { imageName =3D 'test.gif'; } =09 param +=3D '&_id=3D' + assetId; if(title !=3D null || title !=3D eval('') || title !=3D 'undefined') { title =3D escape(title); param +=3D'&_title=3D' + title; } if(imageName !=3D null || imageName !=3D eval('') || imageName !=3D = 'undefined') { param +=3D'&_tnimage=3D' + imageName; } =09 =09 =09 //alert('param '+param); var mypage =3D = 'http://www.nasa.gov/multimedia/nasatv/on_demand_video.html?param=3D'+par= am; //var mypage =3D = 'http://staging.cms.nasa.gov/temp/on_demand_video.html?param=3D'+param; //alert(' mypage ' + mypage); =09 var winl =3D (screen.width - w) / 2; var wint =3D (screen.height - h) / 2; winprops =3D = 'height=3D'+h+',width=3D'+w+',top=3D'+wint+',left=3D'+winl+',scrollbars=3D= no,resizable=3Dno'; win =3D window.open(mypage, myname, winprops); } function openNASAWindow(url) { if (url !=3D "#") { var positionX =3D screen.width; var positionY =3D ((screen.height)/2); var sizeX =3D 720; var sizeY =3D 640; =20 var strWindowFeatures =3D ""; strWindowFeatures +=3D = 'menubar=3Dyes,location=3Dyes,toolbar=3Dyes,directories=3Dyes,scrollbars=3D= yes,status=3Dyes,resizable=3Dyes,outerWidth=3D'+720+',outerHeight=3D'+640= +',width=3D'+720+'height=3D'+640+',left=3D'+80+',top=3D'+60+'screenX=3D'+= 80+',screenY=3D'+60; winPopupWindow =3D window.open(url, "nasawindow", = strWindowFeatures); winPopupWindow.focus(); } } function openWorldBook(url) { if (url !=3D "#") { var strWindowFeatures =3D ""; strWindowFeatures +=3D = 'menubar=3Dyes,location=3Dyes,toolbar=3Dyes,directories=3Dyes,scrollbars=3D= yes,status=3Dyes,resizable=3Dyes,outerWidth=3D'+625+',outerHeight=3D'+720= +',width=3D'+625+',height=3D'+720+',left=3D'+80+',top=3D'+0+',screenX=3D'= +80+',screenY=3D'+0; winPopupWindow =3D window.open(url, "worldbook", strWindowFeatures); winPopupWindow.focus(); } } function openDeepImpactViewer(url) { if (url !=3D "#") { var strWindowFeatures =3D ""; strWindowFeatures +=3D = 'menubar=3Dno,location=3Dno,toolbar=3Dno,directories=3Dno,scrollbars=3Dno= ,status=3Dno,resizable=3Dno,outerWidth=3D'+746+',outerHeight=3D'+600+',wi= dth=3D'+746+',height=3D'+600+',left=3D'+100+',top=3D'+100+',screenX=3D'+1= 00+',screenY=3D'+100; winPopupWindow =3D window.open(url, "viewer", strWindowFeatures); winPopupWindow.focus(); } } // This function from has been modified to take a single string of all = images separated by commas /* function preLoad(a) { var o =3D []; for(var i=3D0; i=3D 4) { win.window.focus(); } } function popup(copyURL,newwidth,newheight) { window.open(copyURL, = 'theconfirmWin','top=3D0,left=3D0,toolbar=3Dno,location=3Dno,directories=3D= no,status=3Dno,scrollbars=3Dno,menubar=3Dno,width=3D'+newwidth + = ',height=3D' + newheight); } =20 function popup2(copyURL,newwidth,newheight) { window.open(copyURL, = 'theconfirmWin','top=3D0,left=3D0,toolbar=3Dno,location=3Dno,directories=3D= no,status=3Dno,scrollbars=3Dyes,menubar=3Dno,width=3D'+newwidth + = ',height=3D' + newheight); } function openPopUpWindowNoMenubar(url) { if (url !=3D "#") { var positionX =3D screen.width; var positionY =3D ((screen.height)/2); var sizeX =3D 720; var sizeY =3D 640; =20 var strWindowFeatures =3D ""; strWindowFeatures +=3D = 'menubar=3Dno,location=3Dno,toolbar=3Dno,directories=3Dno,scrollbars=3Dye= s,status=3Dno,resizable=3Dyes,outerWidth=3D'+720+',outerHeight=3D'+640+',= width=3D'+720+'height=3D'+640+',left=3D'+80+',top=3D'+60+'screenX=3D'+80+= ',screenY=3D'+60; winPopupWindow =3D window.open(url, "nasawindow", = strWindowFeatures); winPopupWindow.focus(); } } function submitPopUpEmail() { newwin =3D = window.open("","myNewWin","menubar=3Dno,location=3Dno,toolbar=3Dno,direct= ories=3Dno,scrollbars=3Dyes,status=3Dno,resizable=3Dyes,width=3D720,heigh= t=3D640,toolbar=3D0");=20 newwin.focus(); var a =3D window.setTimeout("document.emailForm.submit();",500);=20 } function submitPopUpEmailWithMenuBar() { newwin =3D = window.open("","myNewWin","menubar=3Dyes,location=3Dyes,toolbar=3Dno,dire= ctories=3Dno,scrollbars=3Dyes,status=3Dno,resizable=3Dyes,width=3D720,hei= ght=3D640,toolbar=3D0");=20 newwin.focus(); var a =3D window.setTimeout("document.emailForm.submit();",500);=20 } function submitPopUpEmailWithoutMenuBar() { newwin =3D = window.open("","myNewWin","menubar=3Dno,location=3Dno,toolbar=3Dno,direct= ories=3Dno,scrollbars=3Dyes,status=3Dno,resizable=3Dyes,width=3D720,heigh= t=3D640,toolbar=3D0");=20 newwin.focus(); document.emailForm.submit(); } /* preLoad('placeholder/navigation/topnav/nav_top_0','placeholder/navigation= /topnav/nav_top_1','placeholder/navigation/topnav/nav_top_2','placeholder= /navigation/topnav/nav_top_3','placeholder/navigation/topnav/nav_top_4','= placeholder/navigation/topnav/nav_top_5'); */ preLoad('/templateimages/navigation/topnav/nav_top_0,/templateimages/navi= gation/topnav/nav_top_1,/templateimages/navigation/topnav/nav_top_2,/temp= lateimages/navigation/topnav/nav_top_3,/templateimages/navigation/topnav/= nav_top_4,/templateimages/navigation/topnav/nav_top_5'); //-- Urchin Tracking Module 6.1 (UTM 6.1) $Revision: 1.24 $ //-- Copyright 2004 Urchin Software Corporation, All Rights Reserved. //-- Urchin On Demand Settings ONLY var _uacct=3D""; // set up the Urchin Account //Changed By Nag //var _userv=3D0; // service mode (0=3Dlocal,1=3Dremote,2=3Dboth) var _userv=3D1; // service mode (0=3Dlocal,1=3Dremote,2=3Dboth) //-- UTM User Settings var _ufsc=3D1; // set client info flag (1=3Don|0=3Doff) var _udn=3D"auto"; // (auto|none|domain) set the domain name for = cookies var _uhash=3D"on"; // (on|off) unique domain hash for cookies var _utimeout=3D"1800"; // set the inactive session timeout in = seconds var _ugifpath=3D"/__utm.gif"; // set the web path to the __utm.gif file var _utsp=3D"|"; // transaction field separator var _uflash=3D1; // set flash version detect option (1=3Don|0=3Doff) var _utitle=3D1; // set the document title detect option = (1=3Don|0=3Doff) //-- UTM Campaign Tracking Settings var _uctm=3D1; // set campaign tracking module (1=3Don|0=3Doff) var _ucto=3D"15768000"; // set timeout in seconds (6 month default) var _uccn=3D"utm_campaign"; // name var _ucmd=3D"utm_medium"; // medium (cpc|cpm|link|email|organic) var _ucsr=3D"utm_source"; // source var _uctr=3D"utm_term"; // term/keyword var _ucct=3D"utm_content"; // content var _ucid=3D"utm_id"; // id number var _ucno=3D"utm_nooverride"; // don't override //-- Auto/Organic Sources and Keywords var _uOsr=3Dnew Array(); var _uOkw=3Dnew Array(); _uOsr[0]=3D"google"; _uOkw[0]=3D"q"; _uOsr[1]=3D"yahoo"; _uOkw[1]=3D"p"; _uOsr[2]=3D"msn"; _uOkw[2]=3D"q"; _uOsr[3]=3D"aol"; _uOkw[3]=3D"query"; _uOsr[4]=3D"lycos"; _uOkw[4]=3D"query"; _uOsr[5]=3D"ask"; _uOkw[5]=3D"q"; _uOsr[6]=3D"altavista"; _uOkw[6]=3D"q"; _uOsr[7]=3D"search"; _uOkw[7]=3D"q"; _uOsr[8]=3D"netscape"; _uOkw[8]=3D"query"; _uOsr[9]=3D"earthlink"; _uOkw[9]=3D"q"; _uOsr[10]=3D"cnn"; _uOkw[10]=3D"query"; _uOsr[11]=3D"looksmart"; _uOkw[11]=3D"key"; _uOsr[12]=3D"about"; _uOkw[12]=3D"terms"; _uOsr[13]=3D"excite"; _uOkw[13]=3D"qkw"; _uOsr[14]=3D"mamma"; _uOkw[14]=3D"query"; _uOsr[15]=3D"alltheweb"; _uOkw[15]=3D"q"; _uOsr[16]=3D"gigablast"; _uOkw[16]=3D"q"; _uOsr[17]=3D"voila"; _uOkw[17]=3D"kw"; _uOsr[18]=3D"virgilio"; _uOkw[18]=3D"qs"; _uOsr[19]=3D"teoma"; _uOkw[19]=3D"q"; //-- Auto/Organic Keywords to Ignore var _uOno=3Dnew Array(); //_uOno[0]=3D"urchin"; //_uOno[1]=3D"urchin.com"; //_uOno[2]=3D"www.urchin.com"; //-- Referral domains to Ignore var _uRno=3Dnew Array(); //_uRno[0]=3D".urchin.com"; //-- **** Don't modify below this point *** var = _uff,_udh,_udt,_udo=3D"",_uu,_ufns=3D0,_uns=3D0,_ur=3D"-",_ufno=3D0,_ust=3D= 0,_ujv=3D"-",_ubd=3Ddocument,_udl=3D_ubd.location,_uwv=3D"6.1"; //Changed by Nag var _ugifpath2=3D"http://log.www.nasa.gov/utm/__utm.gif"; if (_udl.protocol=3D=3D"https:") = _ugifpath2=3D"http://log.www.nasa.gov/utm/__utm.gif"; //var _ugifpath2=3D"http://service.urchin.com/__utm.gif"; //if (_udl.protocol=3D=3D"https:") = _ugifpath2=3D"https://service.urchin.com/__utm.gif"; function urchinTracker(page) { if (_udl.protocol=3D=3D"file:") return; if (_uff && (!page || page=3D=3D"")) return; var a,b,c,v,x=3D"",s=3D"",f=3D0; var nx=3D" expires=3DSun, 18 Jan 2038 00:00:00 GMT;"; var dc=3D_ubd.cookie; _udh=3D_uDomain(); _uu=3DMath.round(Math.random()*2147483647); _udt=3Dnew Date(); _ust=3DMath.round(_udt.getTime()/1000); a=3Ddc.indexOf("__utma=3D"+_udh); b=3Ddc.indexOf("__utmb=3D"+_udh); c=3Ddc.indexOf("__utmc=3D"+_udh); if (_udn && _udn!=3D"") { _udo=3D" domain=3D"+_udn+";"; } if (_utimeout && _utimeout!=3D"") { x=3Dnew Date(_udt.getTime()+(_utimeout*1000)); x=3D" expires=3D"+x.toGMTString()+";"; } s=3D_udl.search; if(s && s!=3D"" && s.indexOf("__utma=3D")>=3D0) { a=3D_uGC(s,"__utma=3D","&"); b=3D_uGC(s,"__utmb=3D","&"); c=3D_uGC(s,"__utmc=3D","&"); if (a!=3D"-" && b!=3D"-" && c!=3D"-") f=3D1; else if(a!=3D"-") f=3D2; } if(f=3D=3D1) { _ubd.cookie=3D"__utma=3D"+a+"; path=3D/;"+nx; _ubd.cookie=3D"__utmb=3D"+b+"; path=3D/;"+x; _ubd.cookie=3D"__utmc=3D"+c+"; path=3D/;"; } else if (f=3D=3D2) { a=3D_uFixA(s,"&",_ust); _ubd.cookie=3D"__utma=3D"+a+"; path=3D/;"+nx; _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D/;"+x; _ubd.cookie=3D"__utmc=3D"+_udh+"; path=3D/;"; _ufns=3D1; } else if (a>=3D0 && b>=3D0 && c>=3D0) { _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D/;"+x+_udo; } else { if (a>=3D0) a=3D_uFixA(_ubd.cookie,";",_ust); else a=3D_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1"; _ubd.cookie=3D"__utma=3D"+a+"; path=3D/;"+nx+_udo; _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D/;"+x+_udo; _ubd.cookie=3D"__utmc=3D"+_udh+"; path=3D/;"+_udo; _ufns=3D1; } if (s && s!=3D"" && s.indexOf("__utmv=3D")>=3D0) { if ((v=3D_uGC(s,"__utmv=3D","&"))!=3D"-") { _ubd.cookie=3D"__utmv=3D"+unescape(v)+"; path=3D/;"+nx+_udo; } } _uInfo(page); _ufns=3D0; _ufno=3D0; _uff=3D1; } urchinTracker(); function _uInfo(page) { var p,s=3D"",pg=3D_udl.pathname+_udl.search; if (page && page!=3D"") pg=3Descape(page); _ur=3D_ubd.referrer; if (!_ur || _ur=3D=3D"") { _ur=3D"-"; } else { p=3D_ur.indexOf(_ubd.domain); if ((p>=3D0) && (p<=3D8)) { _ur=3D"0"; } if (_ur.indexOf("[")=3D=3D0 && = _ur.lastIndexOf("]")=3D=3D(_ur.length-1)) { _ur=3D"-"; } } s+=3D"&utmn=3D"+_uu; if (_ufsc) s+=3D_uBInfo(page); if (_uctm && (!page || page=3D=3D"")) s+=3D_uCInfo(); if (_utitle && _ubd.title && _ubd.title!=3D"") = s+=3D"&utmdt=3D"+escape(_ubd.title); if (_udl.hostname && _udl.hostname!=3D"") = s+=3D"&utmhn=3D"+escape(_udl.hostname); if (!page || page=3D=3D"") s+=3D"&utmr=3D"+_ur; s+=3D"&utmp=3D"+pg; if (_userv=3D=3D0 || _userv=3D=3D2) { var i=3Dnew Image(1,1); i.src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s; i.onload=3Dfunction() {_uVoid();} } if (_userv=3D=3D1 || _userv=3D=3D2) { var i2=3Dnew Image(1,1); = i2.src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D"+= _uGCS(); i2.onload=3Dfunction() { _uVoid(); } } return; } function _uVoid() { return; } function _uCInfo() { if (!_ucto || _ucto=3D=3D"") { _ucto=3D"15768000"; } var c=3D"",t=3D"-",t2=3D"-",o=3D0,cs=3D0,cn=3D0;i=3D0; var s=3D_udl.search; var z=3D_uGC(s,"__utmz=3D","&"); var x=3Dnew Date(_udt.getTime()+(_ucto*1000)); var dc=3D_ubd.cookie; x=3D" expires=3D"+x.toGMTString()+";"; if (z!=3D"-") { _ubd.cookie=3D"__utmz=3D"+unescape(z)+"; = path=3D/;"+x+_udo; return ""; } z=3Ddc.indexOf("__utmz=3D"+_udh); if (z>-1) { z=3D_uGC(dc,"__utmz=3D"+_udh,";"); } else { z=3D"-"; } t=3D_uGC(s,_ucid+"=3D","&"); t2=3D_uGC(s,_ucsr+"=3D","&"); if ((t!=3D"-" && t!=3D"") || (t2!=3D"-" && t2!=3D"")) { if (t!=3D"-" && t!=3D"") { c+=3D"utmcid=3D"+_uEC(t); if (t2!=3D"-" && = t2!=3D"") c+=3D"|utmcsr=3D"+_uEC(t2); } else { if (t2!=3D"-" && t2!=3D"") c+=3D"utmcsr=3D"+_uEC(t2); } t=3D_uGC(s,_uccn+"=3D","&"); if (t!=3D"-" && t!=3D"") c+=3D"|utmccn=3D"+_uEC(t); else c+=3D"|utmccn=3D(not+set)"; t=3D_uGC(s,_ucmd+"=3D","&"); if (t!=3D"-" && t!=3D"") c+=3D"|utmcmd=3D"+_uEC(t); else c+=3D"|utmcmd=3D(not+set)"; t=3D_uGC(s,_uctr+"=3D","&"); if (t!=3D"-" && t!=3D"") c+=3D"|utmctr=3D"+_uEC(t); else { t=3D_uOrg(1); if (t!=3D"-" && t!=3D"") = c+=3D"|utmctr=3D"+_uEC(t); } t=3D_uGC(s,_ucct+"=3D","&"); if (t!=3D"-" && t!=3D"") c+=3D"|utmcct=3D"+_uEC(t); t=3D_uGC(s,_ucno+"=3D","&"); if (t=3D=3D"1") o=3D1; if (z!=3D"-" && o=3D=3D1) return ""; } if (c=3D=3D"-" || c=3D=3D"") { c=3D_uOrg(); if (z!=3D"-" && = _ufno=3D=3D1) return ""; } if (c=3D=3D"-" || c=3D=3D"") { if (_ufns=3D=3D1) c=3D_uRef(); if = (z!=3D"-" && _ufno=3D=3D1) return ""; } if (c=3D=3D"-" || c=3D=3D"") { if (z=3D=3D"-" && _ufns=3D=3D1) { = c=3D"utmccn=3D(direct)|utmcsr=3D(direct)|utmcmd=3D(none)"; } if (c=3D=3D"-" || c=3D=3D"") return ""; } if (z!=3D"-") { i=3Dz.indexOf("."); if (i>-1) i=3Dz.indexOf(".",i+1); if (i>-1) i=3Dz.indexOf(".",i+1); if (i>-1) i=3Dz.indexOf(".",i+1); t=3Dz.substring(i+1,z.length); if (t.toLowerCase()=3D=3Dc.toLowerCase()) cs=3D1; t=3Dz.substring(0,i); if ((i=3Dt.lastIndexOf(".")) > -1) { t=3Dt.substring(i+1,t.length); cn=3D(t*1); } } if (cs=3D=3D0 || _ufns=3D=3D1) { t=3D_uGC(dc,"__utma=3D"+_udh,";"); if ((i=3Dt.lastIndexOf(".")) > 9) { _uns=3Dt.substring(i+1,t.length); _uns=3D(_uns*1); } cn++; if (_uns=3D=3D0) _uns=3D1; _ubd.cookie=3D"__utmz=3D"+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; = path=3D/; "+x+_udo; } if (cs=3D=3D0 || _ufns=3D=3D1) return "&utmcn=3D1"; else return "&utmcr=3D1"; } function _uRef() { if (_ur=3D=3D"0" || _ur=3D=3D"" || _ur=3D=3D"-") return ""; var i=3D0,h,k,n; if ((i=3D_ur.indexOf("://"))<0) return ""; h=3D_ur.substring(i+3,_ur.length); if (h.indexOf("/") > -1) { k=3Dh.substring(h.indexOf("/"),h.length); if (k.indexOf("?") > -1) k=3Dk.substring(0,k.indexOf("?")); h=3Dh.substring(0,h.indexOf("/")); } h=3Dh.toLowerCase(); n=3Dh; if ((i=3Dn.indexOf(":")) > -1) n=3Dn.substring(0,i); for (var ii=3D0;ii<_uRno.length;ii++) { if ((i=3Dn.indexOf(_uRno[ii].toLowerCase())) > -1 && = n.length=3D=3D(i+_uRno[ii].length)) { _ufno=3D1; break; } } if (h.indexOf("www.")=3D=3D0) h=3Dh.substring(4,h.length); return = "utmccn=3D(referral)|utmcsr=3D"+_uEC(h)+"|"+"utmcct=3D"+_uEC(k)+"|utmcmd=3D= referral"; } function _uOrg(t) { if (_ur=3D=3D"0" || _ur=3D=3D"" || _ur=3D=3D"-") return ""; var i=3D0,h,k; if ((i=3D_ur.indexOf("://")) < 0) return ""; h=3D_ur.substring(i+3,_ur.length); if (h.indexOf("/") > -1) { h=3Dh.substring(0,h.indexOf("/")); } for (var ii=3D0;ii<_uOsr.length;ii++) { if (h.indexOf(_uOsr[ii]) > -1) { if ((i=3D_ur.indexOf("?"+_uOkw[ii]+"=3D")) > -1 || = (i=3D_ur.indexOf("&"+_uOkw[ii]+"=3D")) > -1) { k=3D_ur.substring(i+_uOkw[ii].length+2,_ur.length); if ((i=3Dk.indexOf("&")) > -1) k=3Dk.substring(0,i); for (var yy=3D0;yy<_uOno.length;yy++) { if (_uOno[yy].toLowerCase()=3D=3Dk.toLowerCase()) { _ufno=3D1; = break; } } if (t) return _uEC(k); else return = "utmccn=3D(organic)|utmcsr=3D"+_uEC(_uOsr[ii])+"|"+"utmctr=3D"+_uEC(k)+"|= utmcmd=3Dorganic"; } } } return ""; } function _uBInfo(page) { var sr=3D"-",sc=3D"-",ul=3D"-",fl=3D"-",je=3D1; var n=3Dnavigator; if (self.screen) { sr=3Dscreen.width+"x"+screen.height; sc=3Dscreen.colorDepth+"-bit"; } else if (self.java) { var j=3Djava.awt.Toolkit.getDefaultToolkit(); var s=3Dj.getScreenSize(); sr=3Ds.width+"x"+s.height; } if (_ujv=3D=3D"-" && (!page || page=3D=3D"")) { for (var i=3D5;i>=3D0;i--) { var t=3D""; _ubd.write(t); if (_ujv!=3D"-") break; } } if (n.language) { ul=3Dn.language.toLowerCase(); } else if (n.browserLanguage) { ul=3Dn.browserLanguage.toLowerCase(); } je=3Dn.javaEnabled()?1:0; if (_uflash) fl=3D_uFlash(); return = "&utmsr=3D"+sr+"&utmsc=3D"+sc+"&utmul=3D"+ul+"&utmje=3D"+je+"&utmjv=3D"+_= ujv+"&utmfl=3D"+fl; } function __utmSetTrans() { var e; if (_ubd.getElementById) e=3D_ubd.getElementById("utmtrans"); else if (_ubd.utmform && _ubd.utmform.utmtrans) = e=3D_ubd.utmform.utmtrans; if (!e) return; var l=3De.value.split("UTM:"); var i,i2,c; if (_userv=3D=3D0 || _userv=3D=3D2) i=3Dnew Array(); if (_userv=3D=3D1 || _userv=3D=3D2) { i2=3Dnew Array(); c=3D_uGCS(); } for (var ii=3D0;ii=3D2;ii--) { try { var fl=3Deval("new = ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');"); if (fl) { f=3Dii + '.0'; break; } } catch(e) {} } } return f; } function __utmLinker(l) { var p,a=3D"-",b=3D"-",c=3D"-",z=3D"-",v=3D"-"; var dc=3D_ubd.cookie; if (l && l!=3D"") { if (dc) { a=3D_uGC(dc,"__utma=3D"+_udh,";"); b=3D_uGC(dc,"__utmb=3D"+_udh,";"); c=3D_uGC(dc,"__utmc=3D"+_udh,";"); z=3D_uGC(dc,"__utmz=3D"+_udh,";"); v=3D_uGC(dc,"__utmv=3D"+_udh,";"); = p=3D"__utma=3D"+a+"&__utmb=3D"+b+"&__utmc=3D"+c+"&__utmz=3D"+escape(z)+"&= __utmv=3D"+escape(v); } if (p) { if (l.indexOf("?")<=3D-1) { document.location=3Dl+"?"+p; } else { document.location=3Dl+"&"+p; } } else { document.location=3Dl; } } } function __utmLinkPost(f) { var p,a=3D"-",b=3D"-",c=3D"-",z=3D"-",v=3D"-"; var dc=3D_ubd.cookie; if (!f || !f.action) return; if (dc) { a=3D_uGC(dc,"__utma=3D"+_udh,";"); b=3D_uGC(dc,"__utmb=3D"+_udh,";"); c=3D_uGC(dc,"__utmc=3D"+_udh,";"); z=3D_uGC(dc,"__utmz=3D"+_udh,";"); v=3D_uGC(dc,"__utmv=3D"+_udh,";"); = p=3D"__utma=3D"+a+"&__utmb=3D"+b+"&__utmc=3D"+c+"&__utmz=3D"+escape(z)+"&= __utmv=3D"+escape(v); } if (p) { if (f.action.indexOf("?")<=3D-1) f.action+=3D"?"+p; else f.action+=3D"&"+p; } return; } function __utmSetVar(v) { if (!v || v=3D=3D"") return; var r=3DMath.round(Math.random() * 2147483647); _ubd.cookie=3D"__utmv=3D"+_udh+"."+escape(v)+"; path=3D/; = expires=3DSun, 18 Jan 2038 00:00:00 GMT;"+_udo; var s=3D"&utmt=3Dvar&utmn=3D"+r; if (_userv=3D=3D0 || _userv=3D=3D2) { var i=3Dnew Image(1,1); i.src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s; i.onload=3Dfunction() { _uVoid(); } } if (_userv=3D=3D1 || _userv=3D=3D2) { var i2=3Dnew Image(1,1); = i2.src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D"+= _uGCS(); i2.onload=3Dfunction() { _uVoid(); } } } function _uGCS() { var t,c=3D"",dc=3D_ubd.cookie; if ((t=3D_uGC(dc,"__utma=3D"+_udh,";"))!=3D"-") = c+=3Descape("__utma=3D"+t+";+"); if ((t=3D_uGC(dc,"__utmb=3D"+_udh,";"))!=3D"-") = c+=3Descape("__utmb=3D"+t+";+"); if ((t=3D_uGC(dc,"__utmc=3D"+_udh,";"))!=3D"-") = c+=3Descape("__utmc=3D"+t+";+"); if ((t=3D_uGC(dc,"__utmz=3D"+_udh,";"))!=3D"-") = c+=3Descape("__utmz=3D"+t+";+"); if ((t=3D_uGC(dc,"__utmv=3D"+_udh,";"))!=3D"-") = c+=3Descape("__utmv=3D"+t+";"); if (c.charAt(c.length-1)=3D=3D"+") c=3Dc.substring(0,c.length-1); return c; } function _uGC(l,n,s) { if (!l || l=3D=3D"" || !n || n=3D=3D"" || !s || s=3D=3D"") return "-"; var i,i2,i3,c=3D"-"; i=3Dl.indexOf(n); i3=3Dn.indexOf("=3D")+1; if (i > -1) { i2=3Dl.indexOf(s,i); if (i2 < 0) { i2=3Dl.length; } c=3Dl.substring((i+i3),i2); } return c; } function _uDomain() { if (!_udn || _udn=3D=3D"" || _udn=3D=3D"none") { _udn=3D""; return 1; } if (_udn=3D=3D"auto") { var d=3D_ubd.domain; if (d.substring(0,4)=3D=3D"www.") { d=3Dd.substring(4,d.length); } _udn=3Dd; } if (_uhash=3D=3D"off") return 1; return _uHash(_udn); } function _uHash(d) { if (!d || d=3D=3D"") return 1; var h=3D0,g=3D0; for (var i=3Dd.length-1;i>=3D0;i--) { var c=3DparseInt(d.charCodeAt(i)); h=3D((h << 6) & 0xfffffff) + c + (c << 14); if ((g=3Dh & 0xfe00000)!=3D0) h=3D(h ^ (g >> 21)); } return h; } function _uFixA(c,s,t) { if (!c || c=3D=3D"" || !s || s=3D=3D"" || !t || t=3D=3D"") return "-"; var a=3D_uGC(c,"__utma=3D"+_udh,s); var lt=3D0,i=3D0; if ((i=3Da.lastIndexOf(".")) > 9) { _uns=3Da.substring(i+1,a.length); _uns=3D(_uns*1)+1; a=3Da.substring(0,i); if ((i=3Da.lastIndexOf(".")) > 7) { lt=3Da.substring(i+1,a.length); a=3Da.substring(0,i); } if ((i=3Da.lastIndexOf(".")) > 5) { a=3Da.substring(0,i); } a+=3D"."+lt+"."+t+"."+_uns; } return a; } function _uTrim(s) { if (!s || s=3D=3D"") return ""; while ((s.charAt(0)=3D=3D' ') || (s.charAt(0)=3D=3D'\n') || = (s.charAt(0,1)=3D=3D'\r')) s=3Ds.substring(1,s.length); while ((s.charAt(s.length-1)=3D=3D' ') || = (s.charAt(s.length-1)=3D=3D'\n') || (s.charAt(s.length-1)=3D=3D'\r')) = s=3Ds.substring(0,s.length-1); return s; } function _uEC(s) { var n=3D""; if (!s || s=3D=3D"") return ""; for (var i=3D0;i0) r=3Da.substring(i+1,i2); else return = ""; =20 if ((i=3Da.indexOf(".",i2+1))>0) t=3Da.substring(i2+1,i); else return = ""; =20 var c=3Dnew = Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T'= ,'U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9'); return = c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r= &7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5= &m]+c[t&m]; } =20 function printThis() { var agt =3D navigator.userAgent.toLowerCase(); if (window.print) { window.print(); } else if (agt.indexOf("mac") !=3D -1) { alert("Press 'Cmd+p' on your keyboard to print article. "); } else { alert("Press 'Ctrl+p' on your keyboard to print article. "); } =20 } function closeThis() { var agt =3D navigator.userAgent.toLowerCase(); var is_major =3D parseInt(navigator.appVersion); var is_ie =3D ((agt.indexOf("msie") !=3D -1) && = (agt.indexOf("opera") =3D=3D -1)); var is_ie3 =3D (is_ie && (is_major < 4)); var is_ie4 =3D (is_ie && (is_major =3D=3D 4) && (agt.indexOf("msie = 4")!=3D-1) ); var is_ie5up =3D (is_ie && !is_ie3 && !is_ie4); if (window.open && !window.closed) { if (agt.indexOf("mac") !=3D -1 && is_ie5up ) { window.close(); } else if (agt.indexOf("mac") !=3D -1) { // alert("Press 'Cmd+w' on your keyboard to close window. "); window.close(); } else { window.close(); } } } // User Preferences code begins redirectToPref(); function setCookie(name, value, expires, path, domain, secure) { var curCookie =3D name + "=3D" + escape(value) + ((expires) ? "; expires=3D" + expires.toGMTString() : "") + ((path) ? "; path=3D" + path : "") + ((domain) ? "; domain=3D" + domain : "") + ((secure) ? "; secure" : ""); document.cookie =3D curCookie; } function getCookie(name) { var dc =3D document.cookie; var prefix =3D name + "=3D"; var begin =3D dc.indexOf("; " + prefix); if (begin =3D=3D -1) { begin =3D dc.indexOf(prefix); if (begin !=3D 0) return null; } else begin +=3D 2; var end =3D document.cookie.indexOf(";", begin); if (end =3D=3D -1) end =3D dc.length; return unescape(dc.substring(begin + prefix.length, end)); } function updateSessionPref() { var sessionCk =3D getCookie("sessionpref"); if (sessionCk =3D=3D null) { return; } var prevSessionCk =3D parseInt(sessionCk); var url =3D document.location.href; var lb_idx =3D url.indexOf("/lb/"); var nonflash_idx =3D url.indexOf("flash=3D0"); var para_idx =3D url.indexOf("flash=3D"); if(lb_idx !=3D -1) { setCookie("sessionpref", 2, null, "/", null, null); } else if((nonflash_idx !=3D -1) || ((para_idx =3D=3D = -1)&&(prevSessionCk =3D=3D 1))) { setCookie("sessionpref", 1, null, "/", null, null); } else { setCookie("sessionpref", 0, null, "/", null, null); } } function redirectToPref() { updateSessionPref(); var sessionCk =3D getCookie("sessionpref"); if (sessionCk !=3D null) { return; } var siteVersion =3D parseInt(getCookie("viewsite")); switch(siteVersion) { case 0: case 1: var url =3D document.location.href; var idx =3D url.indexOf("/lb/"); if (idx !=3D -1) { newurl =3D url.substring(0, idx) + "/" + url.substring(idx + = "/lb/".length, url.length); url =3D newurl; document.write("Redirecting to user preferences..."); window.location =3D url; } break; case 2: var url =3D document.location.href; var textval =3D url.indexOf("/lb/"); if(textval =3D=3D -1) { var url_except_http =3D url.substring("http://".length, = url.length); var idx =3D url_except_http.indexOf("/"); var url_domain =3D url_except_http.substring(0, idx); var lb_url =3D "http://" + url_domain + "/lb/" + = url_except_http.substring(idx+1, url_except_http.length); document.write("Redirecting to user preferences..."); window.location =3D lb_url; } break; } setCookie("sessionpref", siteVersion, null, "/", null, null); } // User Preferences code ends function watchNASALiveTVRedesign(channel) { =20 if( channel!=3D'undefined' && channel!=3Deval('') && channel!=3Dnull = && channel!=3D'' ) {=20 window.location=3D'/multimedia/nasatv/index.html?param=3D'+channel; } =20 } // added for the gov delivery rss feed form */ function govdelivery_subscribe() { window.location =3D = "http://service.govdelivery.com/service/subscribe.html?code=3D" + = document.govdelivery.folder.value +"&login=3D" + = document.govdelivery.textinput.value + "&origin=3D" + = window.location.href; } function govdelivery_quicksubscribe() { window.location =3D = "http://service.govdelivery.com/service/multi_subscribe.html?code=3D" + = document.govdelivery.folder.value +"&login=3D" + = document.govdelivery.textinput.value + "&origin=3D" + = window.location.href; } // end of the gov delivery rss feed form */ ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/js/4564main_index.js // Banner Navigation Links=0A= function flashURL(id) {=0A= var s=3D'';=0A= if(id=3D=3D0) {=0A= s=3D'#';=0A= } else if(id=3D=3D1) {=0A= s=3D'#';=0A= } else if(id=3D=3D2) {=0A= s=3D'#';=0A= }=0A= window.location.href =3D s;=0A= }=0A= =0A= // Left Navigation Links=0A= //Correct links updated by Venu=0A= function homeNav(id) {=0A= var s=3D'';=0A= if(id=3D=3D0) {=0A= s=3D'/audience/forkids/home/index.html';=0A= } else if(id=3D=3D1) {=0A= s=3D'/audience/forstudents/k-4/home/index.html';=0A= } else if(id=3D=3D2) {=0A= s=3D'/audience/forstudents/5-8/features/index.html';=0A= } else if(id=3D=3D3) {=0A= s=3D'/audience/forstudents/9-12/features/index.html';=0A= } else if(id=3D=3D4) {=0A= s=3D'/audience/forstudents/postsecondary/features/index.html';=0A= } else if(id=3D=3D5) {=0A= s=3D'/audience/foreducators/k-4/features/index.html';=0A= } else if(id=3D=3D6) {=0A= s=3D'/audience/foreducators/5-8/features/index.html';=0A= } else if(id=3D=3D7) {=0A= s=3D'/audience/foreducators/9-12/features/index.html';=0A= } else if(id=3D=3D8) {=0A= s=3D'/audience/foreducators/postsecondary/features/index.html';=0A= } else if(id=3D=3D9) {=0A= s=3D'/audience/foreducators/informal/features/index.html';=0A= } else if(id=3D=3D10) {=0A= s=3D'/audience/formedia/features/index.html';=0A= } else if(id=3D=3D11) {=0A= s=3D'/audience/forresearchers/features/index.html';=0A= } else if(id=3D=3D12) {=0A= s=3D'/audience/foremployees/index.html';=0A= } else if(id=3D=3D13) {=0A= s=3D'/audience/forindustry/home/index.html';=0A= }=0A= window.location.href =3D s;=0A= }=0A= =0A= // Left Navigation Links for ForKids Leftnav=0A= function kidsNav(id) {=0A= var s=3D'';=0A= if(id=3D=3D0) {=0A= s=3D'/audience/forkids/games/index.html';=0A= } else if(id=3D=3D1) {=0A= s=3D'/audience/forkids/artsstories/index.html';=0A= } else if(id=3D=3D2) {=0A= s=3D'/audience/forkids/activities/index.html';=0A= } else if(id=3D=3D3) {=0A= s=3D'/audience/forkids/kidsclub/flash/index.html';=0A= } else if(id=3D=3D4) {=0A= s=3D'#';=0A= } else if(id=3D=3D5) {=0A= s=3D'#';=0A= } else if(id=3D=3D6) {=0A= s=3D'#';=0A= } else if(id=3D=3D7) {=0A= s=3D'#';=0A= } else if(id=3D=3D8) {=0A= s=3D'#';=0A= }=0A= window.location.href =3D s;=0A= }=0A= =0A= =0A= // Banner Select Code=0A= var sBanner =3D 0;=0A= function switchBanner(id) {=0A= swapImg('banner','/images/banner/home/banner_'+id+'.jpg');=0A= sBanner =3D id;=0A= }=0A= =0A= // Navigation Item String Concat=0A= function getNavItem(nm,alt,idx) {=0A= var s=3D'';=0A= s+=3D'3D"'+alt+'"';=0A= return s;=0A= } ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/js/196917main_flash_rd.js var swf =3D false; var swfAllow =3D (window.location.search.indexOf('flash=3D0')+1) ? false = : true; // User Preferences code begins function getCookie(name) { var dc =3D document.cookie; var prefix =3D name + "=3D"; var begin =3D dc.indexOf("; " + prefix); if (begin =3D=3D -1) { begin =3D dc.indexOf(prefix); if (begin !=3D 0) return null; } else begin +=3D 2; var end =3D document.cookie.indexOf(";", begin); if (end =3D=3D -1) end =3D dc.length; return unescape(dc.substring(begin + prefix.length, end)); } function checkFlashPref() { // session preference overrides persistent user preference if (getCookie("sessionpref") =3D=3D 1) { swfAllow =3D false; return; } } checkFlashPref(); // User Preferences code ends function hasFlash(ver) { if(!swfAllow) return false; if(!ver) ver =3D 0; var n =3D navigator; if(n.plugins && n.plugins.length > 0) { var m,t,d,v; m =3D n.mimeTypes; t =3D 'application/x-shockwave-flash'; if(m && m[t] && m[t].enabledPlugin && = m[t].enabledPlugin.description) { d =3D m[t].enabledPlugin.description; v =3D d.charAt(d.indexOf('.')-1); =20 /*modified to be able to detect all versions*/ var descArray =3D d.split(" "); var tempArrayMajor =3D descArray[2].split("."); =09 var versionMajor =3D tempArrayMajor[0]; var versionMinor =3D tempArrayMajor[1]; var versionRevision =3D descArray[3]; swf =3D (versionMajor >=3D ver) ? true : false; } } else if(n.appVersion.indexOf("Mac") =3D=3D -1 && window.execScript) = { for(var i=3Dver; i<=3D7&&i!=3D1&&swf!=3Dtrue; i++) { execScript('on error resume next: = swf=3DIsObject(CreateObject("ShockwaveFlash.ShockwaveFlash'+((i=3D=3D0)?'= ':'.'+i)+'"))','VBScript'); } } else { swf =3D false; } return swf; } function switchFlash() { var val =3D (swfAllow) ? '0' : '1'; var s =3D window.location.href.split('#')[0]; if(window.location.search) { if(s.indexOf('flash=3D')+1) { s =3D = s.replace('flash=3D'+s.split('flash=3D')[1].split('&')[0],'flash=3D'+val)= ; } else { s +=3D '&flash=3D'+val; } } else { s +=3D '?flash=3D'+val; } window.location.href =3D s; } function allowFlash() { if((!hasFlash(5)) && (swfAllow)) return ''; var s =3D '› '; s +=3D (swfAllow) ? 'Non-Flash Version' : 'Flash Version' ; s +=3D '
'; return s; } function newAllowFlash() { if((!hasFlash(5)) && (swfAllow)) return ''; var s =3D '› '; s +=3D (swfAllow) ? 'Non-Flash Version' : 'Flash Version' ; s +=3D '
'; return s; } function moveFocus(id) { var o =3D document.getElementById(id); if(o) o.focus(); } function showEmbeddedFlash(filename, widthValue, heightValue, = bgcolorValue, nameValue, alignValue, wmode, version, scale, = scriptAccess) { var fstrs =3D ''; fstrs+=3D''; fstrs+=3D''; = //Flash Filename fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; with(document) { open('text/html'); write(fstrs); close(); } } function showEmbeddedFlash(filename, widthValue, heightValue, = bgcolorValue, nameValue, alignValue, version) { var fstrs =3D ''; var wmode =3D 'transparent'; fstrs+=3D''; fstrs+=3D''; = //Flash Filename fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; =20 with(document) { open('text/html'); write(fstrs); close(); } } function showEmbeddedFlash(filename, widthValue, heightValue, = bgcolorValue, nameValue, alignValue) { var fstrs =3D ''; var wmode =3D 'transparent'; fstrs+=3D''; fstrs+=3D''; = //Flash Filename fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; //Flash Filename with(document) { open('text/html'); write(fstrs); close(); } } function showEmbeddedFlashForKids(filename, widthValue, heightValue, = bgcolorValue, nameValue, alignValue, version) { var fstrs =3D ''; fstrs+=3D''; =09 fstrs+=3D''; fstrs+=3D'';=09 fstrs+=3D''; fstrs+=3D'
3D""
'; fstrs+=3D''; fstrs+=3D''; //Flash = Filename fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; fstrs+=3D''; //Flash Filename with(document) { open('text/html'); write(fstrs); close(); } =20 } function showEmbeddedApplet(classfile, filename, widthValue, = heightValue) { =20 var fstrs =3D ''; fstrs +=3D''; with(document) { open('text/html'); write(fstrs); close(); } } function showEmbeddedApplet(classfile, filename, widthValue, = heightValue, alignValue) { =20 var fstrs =3D ''; fstrs +=3D''; with(document) { open('text/html'); write(fstrs); close(); } } ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/js/207088main_club2.js /*Following js files are clubbed in this file: 1. navArray.js 2. header.js 3. etouch_global.js 4. footer.js 5. news.js 6. getyear.js 7. wallpaper.js 8. countdownclock.js /* countdownclock.js is removed from club2.js to = avoid repetition , it will be used invidually -- 05/14/2008 */ /*----------------------------------------------------- navArray.js = starts ----------------------------------------------------*/ // Top nav =09 var topNav =3D [ ['Home', '/home/index.html',[ ['',''] ] ], ['News', '/news/index.html',[ ['News & Features', '/news/index.html'], ['Recovery Information', '/recovery/index.html'], ['Shuttle & Station', = '/topics/shuttle_station/index.html'], ['Moon & Mars', '/topics/moonmars/index.html'], ['Solar System', '/topics/solarsystem/index.html'], ['Universe', '/topics/universe/index.html'], ['Aeronautics', '/topics/aeronautics/index.html'], ['Earth', '/topics/earth/index.html'], ['Technology', '/topics/technology/index.html'], ['NASA in Your Life', '/topics/nasalife/index.html'], ['NASA People', '/topics/people/index.html'], ['NASA History', '/topics/history/index.html'] =09 ] ], ['Missions', '/missions/index.html',[ ['Missions', '/missions/index.html'], ['Mission Calendar', '/missions/calendar/index.html'], ['Launch Schedule', '/missions/highlights/schedule.html'] ] ], ['Multimedia', = '/multimedia/index.html',[ ['Multimedia', '/multimedia/index.html'], ['Images', '/multimedia/imagegallery/index.html'], ['Video', '/multimedia/videogallery/index.html'], ['Podcasts', '/multimedia/podcasting/index.html'], ['NASA TV', '/multimedia/nasatv/index.html'], ['Interactive Features', '/multimedia/mmgallery/index.html'], ['3D Resources', '/multimedia/3d_resources/index.html'], ['RSS Feeds', '/rss/index.html'], =09 ['Blogs', '/multimedia/blogs/index.html'] //,['Worldbook@NASA', '/worldbook/index.html'] ] ], ['Connect', '/connect/index.html',[ = ['Blogs','http://blogs.nasa.gov','3D"Blogs'], = ['RSS','http://www.nasa.gov/rss','3D"RSS'], = ['Twitter','http://twitter.com/nasa','3D"Twitter'], = ['Facebook','http://www.facebook.com/NASA','3D"Facebook'], = ['YouTube','http://www.youtube.com/NASATelevision','3D"YouTube'], = ['Flickr','http://www.flickr.com/photos/nasahqphoto/','3D"Flickr'], = = ['iTunes','http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?= id=3D201661703','3D"iTunes'], = ['More Social Media ...','/connect/index.html'] = =20 = ] ], ['About NASA', '/about/index.html',[ = ['About NASA', '/about/index.html'], = ['What NASA Does', '/about/highlights/what_does_nasa_do.html'], = ['Recovery Information', '/recovery/index.html'], = ['NASA Leadership', '/about/admin.html'], = ['Careers@NASA', '/about/career/index.html'], = ['NASA Locations', '/about/sites/index.html'], = ['NASA Calendar', '/about/events/index.html'], = ['Budget and Performance', '/news/budget/index.html'], = ['Reports', '/news/reports/index.html'], = ['Research Opportunities', '/about/research/index.html'], = ['Request a NASA Speaker', '/about/speakers/index.html'], = ['Request a NASA Exhibit','/about/exhibits/index.html'] = ] ] =09 ]; =09 var footercol2 =3D [ ['Budgets, Strategic Plans and Accountability = Reports','/news/budget/index.html'], ['Equal Employment Opportunity Data Posted Pursuant to the No = Fear Act','http://www.hq.nasa.gov/office/codee/nofear.html'], ['Information-Dissemination Policies and = Inventories','/about/contact/information_inventories_schedules.html'] ]; var footercol3 =3D [ ['Freedom of Information = Act','http://www.hq.nasa.gov/office/pao/FOIA/agency/'], ['Privacy Policy & Important = Notices','/about/highlights/HP_Privacy.html'], ['NASA Advisory Council','/offices/nac/home/index.html '], ['Inspector General = Hotline','http://oig.nasa.gov/hotline.html'], ['Office of the Inspector General','http://oig.nasa.gov'], ['NASA Communications = Policy','/audience/formedia/features/communication_policy.html'] =09 ]; =09 var footercol4 =3D [ ['Contact NASA','/about/contact/index.html'], ['Site Map','/sitemap/sitemap_nasa.html'], ['USA.gov','http://www.USA.gov'], =09 = ['ExpectMore.gov','http://www.whitehouse.gov/omb/expectmore/'], ['Open Government at NASA','/open/index.html'], ['Help and Preferences','/help/about/index.html'] ]; /*----------------------------------------------------- navArray.js ends = ------------------------------------------------------*/ /*----------------------------------------------------- header.js starts = ------------------------------------------------------*/ var topNavNew =3D = ['Home','News','Missions','Multimedia','Connect','Aboutus']; function addMenuSupport() { // create, and post process menus if (document.getElementById('top_header')!=3Dnull) {=20 //createMajorNav(document.getElementById('main-nav'), topNav, = 'dropper_wrapper');=20 if(document.domain=3D=3D"staging.cms.nasa.gov" || = document.domain=3D=3D"www.nasa.gov" || = document.domain=3D=3D"www1.nasa.gov" || = document.domain=3D=3D"cms.nasa.gov" || = document.domain=3D=3D"cms2.nasa.gov"){ addTopNavContent(); }else{ = createMajorNav(document.getElementById('main-nav'), topNav, = 'dropper_wrapper'); } } =09 } function createMajorNav(menuParent, menuSrc, menuClass) { // set up some vars //var logoItem =3D logoItem; var navParent =3D menuParent; var navData =3D menuSrc; // create menu root dom /*var navBucket =3D document.createElement('div'); navBucket.id =3D menuId; navBucket.className =3D menuClass;*/ var navBucketDiv =3D document.createElement('div'); navBucketDiv.id =3D menuClass; // loop through level 1 =09 //for (each in navData) { navData.each(function(value,index){ var topLevel =3D navData[index]; var topName =3D topLevel[0]; var topLink =3D topLevel[1]; =20 =20 =20 // create first level item DOM var navItemA; var navItemASpan; var navItem =3D = document.createElement('h2'); = if(topName.toLowerCase()=3D=3D'connect') { = navItem.style.width=3D"125px"; } navItem.id =3D 'nav-'+topName.replace(" ","").toLowerCase(); if(topName.toLowerCase()=3D=3D'home'){ navItem.className =3D 'nav-'+topName.replace(" = ","").toLowerCase(); } = if(topName.toLowerCase()=3D=3D'connect')=20 { navItemA =3D = document.createElement('a'); navItemA.href =3D topLink; = navItemA.style.width=3D"125px"; = navItemA.style.backgroundImage=3D"url(/templateimages/redesign/navigation= /TopNav/navtitle-connect.gif)"; = =20 navItemASpan =3D = document.createElement('span'); = navItemASpan.style.display=3D"none"; navItemASpan.innerHTML =3D topName; } else { navItemA =3D = document.createElement('a'); navItemA.href =3D topLink; navItemASpan =3Ddocument.createElement('span'); navItemASpan.innerHTML =3D topName; } =09 navItemA.appendChild(navItemASpan); navItem.appendChild(navItemA); =09 =09 if (topLevel.length > 2) { var subLevel =3D topLevel[2]; // loop through level 2 //for (each in subLevel) { var subBucket =3D document.createElement('div'); if(topName.toLowerCase()=3D=3D'home'){ subBucket.className =3D "dropper 129"; } else if = (topName.toLowerCase()=3D=3D'connect'){ subBucket.className =3D "dropper 125"; } else{ subBucket.className =3D "dropper 140"; } var subBucketUl =3D document.createElement('ul'); =20 = if(topName.toLowerCase()=3D=3D'connect'){ subLevel.each(function(value,index){ var subName =3D subLevel[index][0]; var subLink =3D subLevel[index][1]; =20 //alert("subname " + subName+ "sublink "+subLink); // create sublevel = item element var subItem =3D document.createElement('li'); = subItem.style.lineHeight=3D"18px"; = subItem.style.height=3D"20px"; =20 = //alert(subLevel[index][2]); if (subLevel[index][2] && subLevel[index][2] !=3D null && = subLevel[index][2] !=3D eval("")) { var subImage = =3D subLevel[index][2]; var subItemB = =3D document.createElement('a'); subItemB.href = =3D subLink; subItemB.innerHTML =3D subImage; = subItem.appendChild(subItemB); } =09 var = subItemA =3D document.createElement('a'); subItemA.href = =3D subLink; subItemA.innerHTML =3D subName; =09 =20 = subItem.appendChild(subItemA); = subBucketUl.appendChild(subItem); =09 =09 }); } =20 if(topName.toLowerCase()!=3D'home' && = topName.toLowerCase()!=3D'connect'){ subLevel.each(function(value,index){ var subName =3D subLevel[index][0]; var subLink =3D subLevel[index][1]; //alert("subname " + subName+ "sublink "+subLink); // create sublevel item element var subItem =3D document.createElement('li'); var subItemA =3D document.createElement('a'); subItemA.href =3D subLink; subItemA.innerHTML =3D subName; =09 subItem.appendChild(subItemA); subBucketUl.appendChild(subItem); =09 =09 }); } subBucket.appendChild(subBucketUl); =09 } =09 navBucketDiv.appendChild(navItem); =09 navBucketDiv.appendChild(subBucket); =09 =20 }); navParent.appendChild(navBucketDiv); =09 } =09 =09 =09 function addTopNavContent() { var navData =3D topNavNew; var bodyTag=3D document.getElementsByTagName('body')[0]; var mainNavTag =3D document.getElementsByTagName('main-nav'); var i; =20 var mainDivTag =3D document.getElementById('main-nav'); // alert('maintag :' + mainDivTag); var subDivTag =3D document.createElement('div'); subDivTag.id =3D "dropper_wrapper"; for(i=3D0;iFollow this link to Login to MyNASA'; var anchorlogin =3D document.createElement('a'); anchorlogin.id =3D "loginnasa"; anchorlogin.className =3D "myOverlayLogin null bottom null = observe_click"; anchorlogin.href =3D "#"; anchorlogin.innerHTML =3D "Log In To MyNASA"; spanlogin.appendChild(skipnavLogin); spanlogin.appendChild(anchorlogin); var textNode =3D document.createTextNode('|'); var spansingup =3D document.createElement('span'); spansingup.innerHTML =3D "› "; var anchorsignup =3D document.createElement('a'); anchorsignup.href=3D"http://mynasa.nasa.gov/portal/site/mynasa/template.R= EGISTER"; anchorsignup.innerHTML =3D "Sign Up"; spansingup.appendChild(anchorsignup); var ckUtil =3D new CJL_CookieUtil("visitorinfo",0,"/",".nasa.gov"); var username=3DckUtil.getSubValue("name"); var loginText =3D document.createElement('span'); loginText.innerHTML =3D "Welcome "+username; var logoutform =3D document.createElement('form');=20 logoutform.id =3D "gridLogout"; logoutform.name =3D "gridLogout"; logoutform.method =3D "post" logoutform.action =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.LOGOUT"; var spanlogout =3D document.createElement('span'); spanlogout.innerHTML =3D "› "; var logoutanchor =3D document.createElement('a'); logoutanchor.href =3D "javascript:gridLogoutSubmit();"; logoutanchor.innerHTML =3D "Log Out"; spanlogout.appendChild(logoutanchor); var textNode1 =3D document.createTextNode('|'); var textNode2 =3D document.createTextNode('|'); var spanedit =3D document.createElement('span'); spanedit.innerHTML =3D "› "; var editanchor =3Ddocument.createElement('a'); editanchor.href =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.MY_ACCOUNT"; editanchor.innerHTML =3D "Edit Profile"; spanedit.appendChild(editanchor);; var logouthidden =3D document.createElement('input'); logouthidden.type =3D "hidden"; logouthidden.id =3D "realm"; logouthidden.name =3D "realm"; logouthidden.value =3D "realml"; if(ckUtil !=3D null && username !=3D null && username !=3D ''){ =09 loginlinks.appendChild(loginText); loginlinks.appendChild(textNode1); loginlinks.appendChild(spanlogout); loginlinks.appendChild(textNode2); loginlinks.appendChild(spanedit); logoutform.appendChild(logouthidden); logoutform.appendChild(loginlinks); loginformDiv.innerHTML =3D ""; loginformDiv.appendChild(logoutform); } else { loginlinks.appendChild(spanlogin); loginlinks.appendChild(textNode); loginlinks.appendChild(spansingup); loginformDiv.innerHTML =3D ""; loginformDiv.appendChild(loginlinks) ; } =09 } function gridLoginSubmit() { var gridLoginform =3D$('gridLogin'); gridLoginform.submit(); } function gridLogoutSubmit() { var gridLoginform =3D$('gridLogout'); gridLogout.submit(); } var text =3D false; var textAllow =3D (window.location.search.indexOf('text=3D1')+1) ? false = : true; // User Preferences code ends function switchText() { var val =3D (textAllow) ? '1' : '0'; var s =3D window.location.href.split('#')[0]; if(window.location.search) { if(s.indexOf('text=3D')+1) { s =3D = s.replace('text=3D'+s.split('text=3D')[1].split('&')[0],'text=3D'+val); } else { s +=3D '&text=3D'+val; } } else { s +=3D '?text=3D'+val; } window.location.href =3D s; } function newAllowText() { //alert("Text"); var s =3D '› '; s +=3D (textAllow) ? 'Text Version' : 'Non-Text Version' ; s +=3D '
'; return s; } function createFooterContent(editor,date,official,contact,link,sitemap) = { if($('footer')!=3Dnull){ if($('footercol1')){ ($('footercol1')).innerHTML =3D 'Page Last Updated: '+ date+'
'+ 'Page Editor: '+ editor+'
'+ 'NASA Official: '+ official; } if($('footercol4')){ var liInnerHTML =3D = ($('footercol4')).firstDescendant().firstDescendant(); /*This gives the = contact li tag*/ var siteliTag =3D = ($('footercol4')).firstDescendant().firstDescendant().next(); /*This = gives the sitemap li tag*/ var aInnerHTML =3D = ($('footercol4')).firstDescendant().firstDescendant().firstDescendant();/= *This gives the contact li anchor tag*/ =09 var siteaTag =3D = ($('footercol4')).firstDescendant().firstDescendant().next().firstDescend= ant(); /*This gives the sitemap li anchor tag*/ =20 aInnerHTML.innerHTML=3Dcontact; aInnerHTML.href=3Dlink; liInnerHTML.appendChild(aInnerHTML); siteaTag.href=3Dsitemap; siteliTag.appendChild(siteaTag); } } } function CJL_CookieUtil(name, duration, path, domain, secure) { this.affix =3D ""; =20 if( duration ) { =20 var date =3D new Date(); var curTime =3D new Date().getTime(); date.setTime(curTime + (1000 * 60 * duration)); this.affix =3D "; expires=3D" + date.toGMTString(); } =20 if( path ) { this.affix +=3D "; path=3D" + path; } =20 if( domain ) { this.affix +=3D "; domain=3D" + domain; } if( secure ) { this.affix +=3D "; secure=3D" + secure; } =20 =20 function getValue() { var m =3D document.cookie.match(new RegExp("(" + name + = "=3D[^;]*)(;|$)")); return m ? m[1] : null; =20 } =20 this.cookieExists =3D function() { return getValue() ? true : false; } =20 this.expire =3D function() { var date =3D new Date(); date.setFullYear(date.getYear() - 1); document.cookie=3Dname + "=3Dnoop; expires=3D" + date.toGMTString();=20 } =20 this.setSubValue =3D function(key, value) { var ck =3D getValue(); if( /[;, ]/.test(value) ) { //Mac IE doesn't support encodeURI value =3D window.encodeURI ? encodeURI(value) : escape(value); } =20 if( value ) { var attrPair =3D "@" + key + value; if( ck ) { if( new RegExp("@" + key).test(ck) ) { document.cookie =3D ck.replace(new RegExp("@" + key + "[^@;]*"), attrPair) + = this.affix; } else { document.cookie =3D ck.replace(new RegExp("(" + name + "=3D[^;]*)(;|$)"), "$1" + = attrPair) + this.affix; } } else { document.cookie =3D name + "=3D" + attrPair + this.affix; } } else { =20 if( new RegExp("@" + key).test(ck) ) { document.cookie =3D ck.replace(new RegExp("@" + key + = "[^@;]*"), "") + this.affix; } } } =20 this.getSubValue =3D function(key) { var ck =3D getValue(); if( ck ) { var m =3D ck.match(new RegExp("@" + key + "([^@;]*)")); if( m ) { var value =3D m[1]; if( value ) {=20 //Mac IE doesn't support decodeURI return window.decodeURI ? decodeURI(value) : unescape(value); } } } } } function searchformsubmit() { var searchform =3D document.getElementById("search"); =09 if($("dropdown_search_label")!=3Dnull){ var centername =3D $("dropdown_search_label").innerHTML.toLowerCase(); if(centername=3D=3D"nasa.gov"){ document.getElementById("centername").value =3D ""; searchform.action=3D"http://search.nasa.gov/search/search.jsp"; }else{ document.getElementById("centername").value =3D centername; = searchform.action=3D"http://search.nasa.gov/search/centersearch.jsp?cente= rname=3D"+centername; } }else{ searchform.action =3D "http://search.nasa.gov/search/search.jsp"; } searchform.submit(); } function showfaq(arg) { var faqdiv =3D document.getElementById(arg); if(faqdiv !=3D null && faqdiv !=3D 'undefined') { var currentdiv =3D faqdiv.className; =09 var allshowdivs =3D document.getElementsByClassName('showanswer'); for(var i =3D0;i < allshowdivs.length;i++) { allshowdivs[i].className =3D 'hideanswer'; } if(currentdiv !=3D null && currentdiv !=3D 'undefined' && currentdiv = =3D=3D 'hideanswer') faqdiv.className=3D'showanswer'; else faqdiv.className=3D'hideanswer'; } } /*----------------------------------------------------- etouch_global.js = ends -------------------------------------------------*/ /*----------------------------------------------------- footer.js starts = ------------------------------------------------------*/ function createFooterlogo() { var footerParent =3D document.getElementById('footer'); var logo =3D createLogo('NASA Home', 'nasa_logo_footer'); var footerp =3D document.createElement('p'); footerp.id =3D "footercol1"; =09 var footer2 =3D = createFooter(document.getElementById('footer'),footercol2,'footercol2'); var footer3 =3D = createFooter(document.getElementById('footer'),footercol3,'footercol3'); var footer4 =3D = createFooter(document.getElementById('footer'),footercol4,'footercol4'); footerParent.appendChild(logo); footerParent.appendChild(footerp); footerParent.appendChild(footer2); footerParent.appendChild(footer3); footerParent.appendChild(footer4); } function createFooter(footerParent,footerSrc,footerId) { var footerData =3D footerSrc; var footerId =3D footerId; var footerBucketDiv =3D document.createElement('div'); footerBucketDiv.id =3D footerId; =09 var footerBucketUl =3D document.createElement('ul'); =09 //for(each in footerData){ footerData.each(function(value,index) { var topLevel =3D footerData[index]; var topfooterName =3D topLevel[0]; var topfooterLink =3D topLevel[1]; var footerItem =3D document.createElement('li'); var footerItemA =3D document.createElement('a'); footerItemA.href =3D topfooterLink; footerItemA.innerHTML =3D topfooterName; =09 //footerp.appendChild(footerBucketDiv); footerBucketDiv.appendChild(footerBucketUl); footerBucketUl.appendChild(footerItem); footerItem.appendChild(footerItemA); }); return footerBucketDiv; } function createLogo(logoSrc,logoClass) { var logoData =3D logoSrc; var logoDisplay =3D document.createElement('a'); logoDisplay.className =3D logoClass; logoDisplay.href =3D "/home/index.html"; var logoSpan =3D document.createElement('span'); logoSpan.className =3D "hide"; =09 logoSpan.innerHTML =3D logoData; logoDisplay.appendChild(logoSpan); return logoDisplay; =09 } /*----------------------------------------------------- footer.js ends = --------------------------------------------------------*/ /*----------------------------------------------------- news.js starts = --------------------------------------------------------*/ if(detectBrowser.modernBrowser()){ /* document.observe('contentloaded', function() { if($$('select.browse_year_select').length > 0){ var dds =3D new = SkinnedSelect($$('select.browse_year_select')[0].parentNode,$$('select.br= owse_year_select')[0], function(){ if($$('select.browse_year_select')[0].value !=3D 0) { document.location.href =3D = "news_and_features_archive.shtml?new_year=3D" + = $$('select.browse_year_select')[0].value; } },'','gray'); } }, false); */ function getyear() { var w =3D document.yearForm.nasa_facility.selectedIndex; var selected_text =3D document.yearForm.nasa_facility.options[w].text; var selected_url =3D document.yearForm.nasa_facility.options[w].value; if(selected_url !=3D null && selected_url =3D=3D '0') { document.location.href =3D = document.yearForm.nasa_facility.options[1].value; } else { document.location.href =3D selected_url + "?year=3D" + selected_text; } } } /*----------------------------------------------------- news.js ends = ----------------------------------------------------------*/ /*----------------------------------------------------- getyear.js = starts -----------------------------------------------------*/ function getSelectedYear() { =09 var selectedyear; =09 // get the current URL var url =3D window.location.toString(); //get the parameters url.match(/\?(.+)$/); var params =3D RegExp.$1; // split up the query string and store in an // associative array var params =3D params.split("&"); var queryStringList =3D {}; for(var i=3D0;iWallpaper = Image

WINDOWS:

  1. Right-click on the image and click 'Set as = Background'

MAC OS X:

    =
  1. Drag the image off onto your desktop
  2. =
  3. Go to system preferences
  4. Go = to the Desktop icons and open it
  5. = Choose the 'Collection' drop down and 'Choose Folder' to find = the new wallpaper on your computer

MAC OS 9:

    =
  1. Drag the image off onto your desktop
  2. =
  3. Go to your control panel and choose = 'Appearance'
  4. Click 'Set Desktop' and = choose the newly downloaded image on your desktop
  5. =

=
"); imageWin.document.close(); } /*----------------------------------------------------- wallpaper.js = ends -------------------------------------------------------*/ /*----------------------------------------------------- = countdownclock.js starts = ------------------------------------------------*/ /* countdownclock.js is removed from club2.js to avoid repetition , it = will be used invidually -- 05/14/2008 */ /** * Utility function for displaying a up/down time counter. * * @param inputDate :: The date of the launch/mission * @param imgSuffix :: The suffix used for the images * @param imgPath :: The relative path for the images */ /* function MissionTimer(inputDate, divId) { var inputString =3D inputDate.toString(); var replacedString =3D null; var timeZone =3D new Array("EDT", "EST", "PDT", = "PST" , "CDT", "CST", "MDT", "MST", "AKDT", = "AKST", "ADT", "AST", "HST"); var timeZoneReplace =3D new Array("UTC-0400", "UTC-0500", "UTC-0700", = "UTC-0800" , "UTC-0500", "UTC-0600", "UTC-0600", "UTC-0700", "UTC-0800", = "UTC-0900", "UTC-0300", "UTC-0400", "UTC-1000"); for(var i=3D0;i=3D 10) { dayhun_div =3D Math.floor(dayhun/10); dayhun =3D dayhun - (dayhun_div * 10); } var hrten =3D Math.floor((hr_gap)/10); var hrone =3D Math.floor((hr_gap) - (hrten *10)); var mnten =3D Math.floor((mn_gap)/10); var mnone =3D Math.floor((mn_gap) - (mnten * 10)); var secten =3D Math.floor(sec_gap/10); var secone =3D Math.floor(sec_gap - (secten*10)); =09 var day =3D dayone; if (dayten > 0) day =3D ''+dayten+dayone; if (dayhun > 0) day =3D ''+dayhun+dayten+dayone; if (daytho > 0) day =3D ''+daytho+dayhun+dayten+dayone; =09 var htmlSnippet =3D '
'+day + '
'+hrten+hrone=20 + '
'+mnten+mnone + '
'+secten+secone + '
'; =09 =09 document.getElementById(divId).innerHTML =3D htmlSnippet; // recursive call to the function on every second setTimeout("MissionTimer('" + inputDate + "', '" + divId + "')", 1000); }*/ /*----------------------------------------------------- = countdownclock.js ends = --------------------------------------------------*/ /*------------------New javascript for login and search = -------------------- */ function createLoginForm(){ var headerform =3D document.getElementById('header_form'); var loginformDiv =3D document.createElement('div'); loginformDiv.id=3D"login_form"; var loginformDivNew =3D document.createElement('div'); loginformDivNew.id=3D"login_form_new"; var loginformNoDrop =3D document.createElement('div'); loginformNoDrop.id=3D"login_form_nodrop"; var loginlinks =3D document.createElement('span'); loginlinks.id =3D "login_links"; var spanlogin =3D document.createElement('span'); spanlogin.innerHTML =3D "› "; var skipnavLogin =3D document.createElement('div'); skipnavLogin.className =3D "skiplinklogin"; skipnavLogin.innerHTML =3D 'Follow this link to Login to MyNASA'; var anchorlogin =3D document.createElement('a'); anchorlogin.id =3D "loginnasa"; anchorlogin.className =3D "myOverlayLogin null bottom null = observe_click"; anchorlogin.href =3D "#"; anchorlogin.innerHTML =3D "Log In To MyNASA"; spanlogin.appendChild(skipnavLogin); spanlogin.appendChild(anchorlogin); var textNode =3D document.createTextNode('|'); var spansingup =3D document.createElement('span'); spansingup.innerHTML =3D "› "; var anchorsignup =3D document.createElement('a'); anchorsignup.href=3D"http://mynasa.nasa.gov/portal/site/mynasa/template.R= EGISTER"; anchorsignup.innerHTML =3D "Sign Up"; spansingup.appendChild(anchorsignup); var ckUtil =3D new CJL_CookieUtil("visitorinfo",0,"/",".nasa.gov"); var username=3DckUtil.getSubValue("name"); var loginText =3D document.createElement('span'); loginText.innerHTML =3D "Welcome "+username; var logoutform =3D document.createElement('form');=20 logoutform.id =3D "gridLogout"; logoutform.name =3D "gridLogout"; logoutform.method =3D "post" logoutform.action =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.LOGOUT"; var spanlogout =3D document.createElement('span'); spanlogout.innerHTML =3D "› "; var logoutanchor =3D document.createElement('a'); logoutanchor.href =3D "javascript:gridLogoutSubmit();"; logoutanchor.innerHTML =3D "Log Out"; spanlogout.appendChild(logoutanchor); var textNode1 =3D document.createTextNode('|'); var textNode2 =3D document.createTextNode('|'); var spanedit =3D document.createElement('span'); spanedit.innerHTML =3D "› "; var editanchor =3Ddocument.createElement('a'); editanchor.href =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.MY_ACCOUNT"; editanchor.innerHTML =3D "Edit Profile"; spanedit.appendChild(editanchor);; var logouthidden =3D document.createElement('input'); logouthidden.type =3D "hidden"; logouthidden.id =3D "realm"; logouthidden.name =3D "realm"; logouthidden.value =3D "realml"; if(ckUtil !=3D null && username !=3D null && username !=3D ''){ loginlinks.appendChild(loginText); loginlinks.appendChild(textNode1); loginlinks.appendChild(spanlogout); loginlinks.appendChild(textNode2); loginlinks.appendChild(spanedit); logoutform.appendChild(logouthidden); logoutform.appendChild(loginlinks); if(search_list.size()>0){ loginformDivNew.appendChild(logoutform) headerform.innerHTML =3D ""; headerform.appendChild(loginformDivNew); }else{ loginformDiv.appendChild(logoutform) headerform.innerHTML =3D ""; headerform.appendChild(loginformDiv); } =09 } else { loginlinks.appendChild(spanlogin); loginlinks.appendChild(textNode); loginlinks.appendChild(spansingup); if(search_list.size()>0){ =09 loginformDivNew.appendChild(loginlinks); headerform.appendChild(loginformDivNew); } else{ loginformNoDrop.appendChild(loginlinks); headerform.appendChild(loginformNoDrop); } =09 } if(search_list.size()>0){ var searchSelect =3D new Element("select",{'disabled':"disabled"}); search_list.each(function(searchList) { var opElem =3D new = Element("option",{'id':searchList['id'],'name':searchList['name']}); opElem.update(searchList['value']); searchSelect.appendChild(opElem); }); if($('searchselector')!=3Dnull){ $('searchselector').appendChild(searchSelect); var skinnedDropper =3D new = SkinnedSelectSearch($$('#searchselector')[0],$$('#searchselector'+' = select')[0],function(){},'','gray');} } } /*------------------javascript for login and search for accessibility = begin-------------------- */ function createLoginFormForAccessibility(){ var headerform =3D document.getElementById('header_form'); var loginformDiv =3D document.createElement('div'); loginformDiv.id=3D"login_form"; var loginformDivNew =3D document.createElement('div'); loginformDivNew.id=3D"login_form_new"; var loginformNoDrop =3D document.createElement('div'); loginformNoDrop.id=3D"login_form_nodrop"; var loginlinks =3D document.createElement('span'); loginlinks.id =3D "login_links"; var spanlogin =3D document.createElement('span'); spanlogin.innerHTML =3D "› "; var skipnavLogin =3D document.createElement('div'); skipnavLogin.className =3D "skiplinklogin"; skipnavLogin.innerHTML =3D 'Follow this link to Login to MyNASA'; var anchorlogin =3D document.createElement('a'); anchorlogin.id =3D "loginnasa"; anchorlogin.href =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.NASA_LOGIN_PROCESS"; anchorlogin.innerHTML =3D "Log In To MyNASA"; spanlogin.appendChild(skipnavLogin); spanlogin.appendChild(anchorlogin); var textNode =3D document.createTextNode('|'); var spansingup =3D document.createElement('span'); spansingup.innerHTML =3D "› "; var anchorsignup =3D document.createElement('a'); anchorsignup.href=3D"http://mynasa.nasa.gov/portal/site/mynasa/template.R= EGISTER"; anchorsignup.innerHTML =3D "Sign Up"; spansingup.appendChild(anchorsignup); var ckUtil =3D new CJL_CookieUtil("visitorinfo",0,"/",".nasa.gov"); var username=3DckUtil.getSubValue("name"); var loginText =3D document.createElement('span'); loginText.innerHTML =3D "Welcome "+username; var logoutform =3D document.createElement('form');=20 logoutform.id =3D "gridLogout"; logoutform.name =3D "gridLogout"; logoutform.method =3D "post" logoutform.action =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.LOGOUT"; var spanlogout =3D document.createElement('span'); spanlogout.innerHTML =3D "› "; var logoutanchor =3D document.createElement('a'); logoutanchor.href =3D "javascript:gridLogoutSubmit();"; logoutanchor.innerHTML =3D "Log Out"; spanlogout.appendChild(logoutanchor); var textNode1 =3D document.createTextNode('|'); var textNode2 =3D document.createTextNode('|'); var spanedit =3D document.createElement('span'); spanedit.innerHTML =3D "› "; var editanchor =3Ddocument.createElement('a'); editanchor.href =3D = "http://mynasa.nasa.gov/portal/site/mynasa/template.MY_ACCOUNT"; editanchor.innerHTML =3D "Edit Profile"; spanedit.appendChild(editanchor);; var logouthidden =3D document.createElement('input'); logouthidden.type =3D "hidden"; logouthidden.id =3D "realm"; logouthidden.name =3D "realm"; logouthidden.value =3D "realml"; if(ckUtil !=3D null && username !=3D null && username !=3D ''){ loginlinks.appendChild(loginText); loginlinks.appendChild(textNode1); loginlinks.appendChild(spanlogout); loginlinks.appendChild(textNode2); loginlinks.appendChild(spanedit); logoutform.appendChild(logouthidden); logoutform.appendChild(loginlinks); if(search_list.size()>0){ loginformDivNew.appendChild(logoutform) headerform.innerHTML =3D ""; headerform.appendChild(loginformDivNew); }else{ loginformDiv.appendChild(logoutform) headerform.innerHTML =3D ""; headerform.appendChild(loginformDiv); } =09 } else { loginlinks.appendChild(spanlogin); loginlinks.appendChild(textNode); loginlinks.appendChild(spansingup); if(search_list.size()>0){ =09 loginformDivNew.appendChild(loginlinks); headerform.appendChild(loginformDivNew); } else{ loginformNoDrop.appendChild(loginlinks); headerform.appendChild(loginformNoDrop); } =09 } if(search_list.size()>0){ var searchSelect =3D new Element("select",{'disabled':"disabled"}); search_list.each(function(searchList) { var opElem =3D new = Element("option",{'id':searchList['id'],'name':searchList['name']}); opElem.update(searchList['value']); searchSelect.appendChild(opElem); }); if($('searchselector')!=3Dnull){ $('searchselector').appendChild(searchSelect); var skinnedDropper =3D new = SkinnedSelectSearch($$('#searchselector')[0],$$('#searchselector'+' = select')[0],function(){},'','gray');} } } /*------------------javascript for login and search for accessibility = End-------------------- */ function createSearchForm(){ var headerform =3D document.getElementById('header_form'); var searchformnasa =3D document.createElement('form'); searchformnasa.id =3D "search"; searchformnasa.method =3D "get"; searchformnasa.action =3D "javascript:searchformsubmit();"; var searchformcenter =3D document.createElement('form'); searchformcenter.id =3D "search"; searchformcenter.method =3D "get"; searchformcenter.action =3D "javascript:searchformsubmit();"; var searchdiv =3D document.createElement('div'); searchdiv.id =3D "search_form_new"; var hiddenCenter =3D document.createElement('label'); hiddenCenter.htmlFor =3D "searchfield"; hiddenCenter.id =3D "searchfieldCenter"; hiddenCenter.setAttribute('name','searchfieldCenter'); hiddenCenter.innerHTML =3D ''; var searchdivNoDrop =3D document.createElement('div'); searchdivNoDrop.id =3D "search_form_nodrop"; =09 var spansearchbtn =3D document.createElement('span'); spansearchbtn.id =3D "searchbutton"; var searchselector =3D document.createElement('div'); searchselector.id =3D "searchselector"; var spaninput =3D document.createElement('span'); spaninput.id =3D "inputfield"; var searchinput =3D document.createElement('input'); searchinput.title =3D "searchfield"; searchinput.type =3D "text"; searchinput.id =3D "nasaInclude"; searchinput.name =3D "nasaInclude"; searchinput.className =3D "searchbox"; searchinput.value =3D ""; spaninput.appendChild(searchinput); var scriptTag =3D document.createElement('script'); scriptTag.src =3D = "http://www.nasa.gov/searchresources/resources/js/bsn.AutoSuggest_Modifie= d_hdr.js"; scriptTag.type =3D "text/javascript"; scriptTag.charset =3D "UTF-8"; var searchbtn =3D document.createElement('input'); searchbtn.title =3D "searchbutton"; searchbtn.type =3D "submit"; searchbtn.className =3D "searchbtn"; searchbtn.value =3D ""; spansearchbtn.appendChild(searchbtn); var existingHeader =3D headerform.innerHTML; if(search_list.size()>0){ searchdiv.appendChild(spaninput); searchdiv.appendChild(scriptTag); searchdiv.appendChild(searchselector); searchdiv.appendChild(spansearchbtn); searchformcenter.appendChild(hiddenCenter); searchformcenter.appendChild(searchdiv); headerform.appendChild(searchformcenter); } else{ searchdivNoDrop.appendChild(spaninput); searchdivNoDrop.appendChild(scriptTag); searchdivNoDrop.appendChild(searchselector); searchdivNoDrop.appendChild(spansearchbtn); searchformnasa.appendChild(searchdivNoDrop); headerform.appendChild(searchformnasa); } =09 if(search_list.size()>0){ var searchSelect =3D new Element("select",{'disabled':"disabled"}); search_list.each(function(searchList) { var opElem =3D new = Element("option",{'id':searchList['id'],'name':searchList['name']}); opElem.update(searchList['value']); searchSelect.appendChild(opElem); }); if($('searchselector')!=3Dnull){ $('searchselector').appendChild(searchSelect); var skinnedDropper =3D new = SkinnedSelectSearch($$('#searchselector')[0],$$('#searchselector'+' = select')[0],function(){},'','gray');} } } /* Javascript for FLV Media Player Start */ var dynamicPlayerIndex =3D 0; function = embedFlashVideo(flashfile,position,width,height,description,thumbnail){ =09 if(flashfile!=3Dnull && flashfile!=3D""){ var flashwidth; var flashheight; var embedTag; var padding; var margin; dynamicPlayerIndex++; var divid =3D "player"+dynamicPlayerIndex; =20 if(width!=3Dnull && width!=3D"" && width<"228"){ flashwidth =3D width; }else{ if(position!=3D"center"){ flashwidth =3D "228"; }else{ flashwidth =3D width; } } =09 if(height!=3Dnull && height!=3D"" && height<"228"){ flashheight =3D height; }else{ if(position!=3D"center"){ flashheight =3D "228"; }else{ flashheight =3D height; } } =09 var desc; if(description!=3Dnull && description!=3D"" && = (Plugin.isInstalled("Flash") =3D=3D true)){ desc =3D '

'+description+'

'; } var missingPlugin =3D '

You\'re missing some plugins needed to view = the videos, Please enable Javascrip= t or install Flash Player Plug-in

'; var flashVars; =09 if(thumbnail!=3Dnull && thumbnail!=3D""){ =09 = flashVars=3D"file=3D"+flashfile+"&showdownload=3Dtrue&showstop=3Dtrue&bac= kcolor=3D0x000000&frontcolor=3D0xFFFFFF&screencolor=3D0x000000&lightcolor= =3D0x99CCFF&captions=3Dcaptionate&usecaptions=3Dfalse&link=3D"+flashfile+= "&image=3D"+thumbnail+"&width=3D"+flashwidth+"&height=3D"+flashheight; } else{ = flashVars=3D"file=3D"+flashfile+"&showdownload=3Dtrue&showstop=3Dtrue&bac= kcolor=3D0x000000&frontcolor=3D0xFFFFFF&screencolor=3D0x000000&lightcolor= =3D0x99CCFF&captions=3Dcaptionate&usecaptions=3Dfalse&link=3D"+flashfile+= "&width=3D"+flashwidth+"&height=3D"+flashheight; } =09 embedTag =3D ''; var content; var missingPlugin =3D '

You\'re missing some plugins needed to view = the videos, Please enable Javascrip= t or install Flash Player Plug-in

'; =09 if(position!=3Dnull && position!=3D""){ if(position=3D=3D"left"){ if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } =09 }else if(position=3D=3D"right") { if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } }else if(position=3D=3D"center") { =09 if(($$('.box_470').length > 0)){ padding =3D (438-flashwidth)/2; margin =3D "margin: 0 "+padding+"px 0 "+padding+"px"; if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } }else if(($$('.text_adjust').length > 0)){ padding =3D (676-flashwidth)/2; margin =3D "margin: 0 "+padding+"px 0 "+padding+"px"; if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } }else if (($$('.box_710').length > 0)){ padding =3D (678-flashwidth)/2; margin =3D "margin: 0 "+padding+"px 0 "+padding+"px"; if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } } =09 } } =09 document.write(content); =09 } } function = embedFlashVideoV2(flashfile,position,captionFile,width,height,description= ,thumbnail){ =09 if(flashfile!=3Dnull && flashfile!=3D""){ var flashwidth; var flashheight; var embedTag; var padding; var margin; var desc; var flashVars; dynamicPlayerIndex++; var divid =3D "player"+dynamicPlayerIndex; =09 if(width!=3Dnull && width!=3D"" && width<"228"){ flashwidth =3D width; }else{ if(position!=3D"center"){ flashwidth =3D "228"; }else{ flashwidth =3D width; } } =09 if(height!=3Dnull && height!=3D"" && height<"228"){ flashheight =3D height; }else{ if(position!=3D"center"){ flashheight =3D "228"; }else{ flashheight =3D height; } } =09 =09 if(description!=3Dnull && description!=3D"" && = (Plugin.isInstalled("Flash") =3D=3D true)){ desc =3D '

'+description+'

'; } if(thumbnail!=3Dnull && thumbnail!=3D""){ =09 = flashVars=3D"file=3D"+flashfile+"&showdownload=3Dtrue&showstop=3Dtrue&bac= kcolor=3D0x000000&frontcolor=3D0xFFFFFF&screencolor=3D0x000000&lightcolor= =3D0x99CCFF&link=3D"+flashfile+"&image=3D"+thumbnail+"&width=3D"+flashwid= th+"&height=3D"+flashheight; } else{ = flashVars=3D"file=3D"+flashfile+"&showdownload=3Dtrue&showstop=3Dtrue&bac= kcolor=3D0x000000&frontcolor=3D0xFFFFFF&screencolor=3D0x000000&lightcolor= =3D0x99CCFF&link=3D"+flashfile+"&width=3D"+flashwidth+"&height=3D"+flashh= eight; } if(captionFile!=3Dnull && captionFile !=3D''){ flashVars =3D = flashVars+'&captions=3D'+captionFile+'&usecaptions=3Dfalse'; } =09 =09 embedTag =3D ''; var content; var missingPlugin =3D '

You\'re missing some plugins needed to view = the videos, Please enable Javascrip= t or install Flash Player Plug-in

'; if(position!=3Dnull && position!=3D""){ if(position=3D=3D"left"){ if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } =09 }else if(position=3D=3D"right") { if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } }else if(position=3D=3D"center") { =09 if(($$('.box_470').length > 0)){ padding =3D (438-flashwidth)/2; margin =3D "margin: 0 "+padding+"px 0 "+padding+"px"; if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } }else if(($$('.text_adjust').length > 0)){ padding =3D (676-flashwidth)/2; margin =3D "margin: 0 "+padding+"px 0 "+padding+"px"; if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } }else if (($$('.box_710').length > 0)){ padding =3D (678-flashwidth)/2; margin =3D "margin: 0 "+padding+"px 0 "+padding+"px"; if(desc!=3Dnull && desc!=3D""){ content =3D '
'+missingPlugin+embedTag+'
'+desc+'
'; }else{ content =3D '
'+missingPlugin+embedTag+'
'; } } =09 } } =09 document.write(content); } } /* Javascript for FLV Media Player End */ ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/tvschedule/js/tvsked.js xlsLink =3D"revl";=0A= pdfLink =3D"revl";=0A= ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/templateimages/redesign/flash_player/js/swfobject.js /**=0A= * SWFObject v1.5: Flash Player detection and embed - = http://blog.deconcept.com/swfobject/=0A= *=0A= * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT = License:=0A= * http://www.opensource.org/licenses/mit-license.php=0A= *=0A= */=0A= if(typeof deconcept=3D=3D"undefined"){var deconcept=3Dnew = Object();}if(typeof = deconcept.util=3D=3D"undefined"){deconcept.util=3Dnew = Object();}if(typeof = deconcept.SWFObjectUtil=3D=3D"undefined"){deconcept.SWFObjectUtil=3Dnew = Object();}deconcept.SWFObject=3Dfunction(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!= document.getElementById){return;}this.DETECT_KEY=3D_a?_a:"detectflash";th= is.skipDetect=3Ddeconcept.util.getRequestParameter(this.DETECT_KEY);this.= params=3Dnew Object();this.variables=3Dnew = Object();this.attributes=3Dnew = Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id"= ,id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height= ",h);}if(_5){this.setAttribute("version",new = deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=3Dd= econcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&= &this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=3Dtrue;}if(c= ){this.addParam("bgcolor",c);}var = q=3D_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpress= Install",false);this.setAttribute("doExpressInstall",false);var = _c=3D(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.s= etAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);= }};deconcept.SWFObject.prototype=3D{useExpressInstall:function(_d){this.x= iSWFPath=3D!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInsta= ll",true);},setAttribute:function(_e,_f){this.attributes[_e]=3D_f;},getAt= tribute:function(_10){return = this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=3D_12;= },getParams:function(){return = this.params;},addVariable:function(_13,_14){this.variables[_13]=3D_14;},g= etVariable:function(_15){return = this.variables[_15];},getVariables:function(){return = this.variables;},getVariablePairs:function(){var _16=3Dnew Array();var = key;var _18=3Dthis.getVariables();for(key in = _18){_16[_16.length]=3Dkey+"=3D"+_18[key];}return = _16;},getSWFHTML:function(){var = _19=3D"";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.l= ength){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplay= erType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19=3D"0){_19+=3D"flashvar= s=3D\""+_1c+"\"";}_19+=3D"/>";}else{if(this.getAttribute("doExpressInstal= l")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",t= his.xiSWFPath);}_19=3D"";_19+=3D"";var = _1d=3Dthis.getParams();for(var key in _1d){_19+=3D"";}var = _1f=3Dthis.getVariablePairs().join("&");if(_1f.length>0){_19+=3D"";}_19+=3D"";}return = _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var = _21=3Dnew = deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21= )&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.= setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",es= cape(this.getAttribute("xiRedirectUrl")));document.title=3Ddocument.title= .slice(0,47)+" - Flash Player = Installation";this.addVariable("MMdoctitle",document.title);}}if(this.ski= pDetect||this.getAttribute("doExpressInstall")||this.installedVer.version= IsValid(this.getAttribute("version"))){var n=3D(typeof = _20=3D=3D"string")?document.getElementById(_20):_20;n.innerHTML=3Dthis.ge= tSWFHTML();return = true;}else{if(this.getAttribute("redirectUrl")!=3D""){document.location.r= eplace(this.getAttribute("redirectUrl"));}}return = false;}};deconcept.SWFObjectUtil.getPlayerVersion=3Dfunction(){var = _23=3Dnew = deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeType= s.length){var x=3Dnavigator.plugins["Shockwave = Flash"];if(x&&x.description){_23=3Dnew = deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replac= e(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&nav= igator.userAgent.indexOf("Windows CE")>=3D0){var axo=3D1;var = _26=3D3;while(axo){try{_26++;axo=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=3Dnew = deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=3Dnull;}}}else{try{var = axo=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var = axo=3Dnew ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=3Dnew = deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess=3D"always";}catch= (e){if(_23.major=3D=3D6){return _23;}}try{axo=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=3Dnull= ){_23=3Dnew deconcept.PlayerVersion(axo.GetVariable("$version").split(" = ")[1].split(","));}}}return = _23;};deconcept.PlayerVersion=3Dfunction(_29){this.major=3D_29[0]!=3Dnull= ?parseInt(_29[0]):0;this.minor=3D_29[1]!=3Dnull?parseInt(_29[1]):0;this.r= ev=3D_29[2]!=3Dnull?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototyp= e.versionIsValid=3Dfunction(fv){if(this.majorfv.major){return = true;}if(this.minorfv.minor){return true;}if(this.rev=3D0;i--){_2f[i].style.display=3D"none";for(var x in = _2f[i]){if(typeof = _2f[i][x]=3D=3D"function"){_2f[i][x]=3Dfunction(){};}}}};if(deconcept.SWF= Object.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.pre= pUnload=3Dfunction(){__flash_unloadHandler=3Dfunction(){};__flash_savedUn= loadHandler=3Dfunction(){};window.attachEvent("onunload",deconcept.SWFObj= ectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFO= bjectUtil.prepUnload);deconcept.unloadSet=3Dtrue;}}if(!document.getElemen= tById&&document.all){document.getElementById=3Dfunction(id){return = document.all[id];};}var = getQueryParamValue=3Ddeconcept.util.getRequestParameter;var = FlashObject=3Ddeconcept.SWFObject;var SWFObject=3Ddeconcept.SWFObject; ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/js/445945main_jquery-1.4.2.min.js /*!=0A= * jQuery JavaScript Library v1.4.2=0A= * http://jquery.com/=0A= *=0A= * Copyright 2010, John Resig=0A= * Dual licensed under the MIT or GPL Version 2 licenses.=0A= * http://jquery.org/license=0A= *=0A= * Includes Sizzle.js=0A= * http://sizzlejs.com/=0A= * Copyright 2010, The Dojo Foundation=0A= * Released under the MIT, BSD, and GPL Licenses.=0A= *=0A= * Date: Sat Feb 13 22:33:48 2010 -0500=0A= */=0A= (function(A,w){function = ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTi= meout(ma,1);return}c.ready()}}function = Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalE= val(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.re= moveChild(b)}function X(a,b,d,f,e,j){var i=3Da.length;if(typeof = b=3D=3D=3D"object"){for(var o in b)X(a,o,b[o],f,e,d);return = a}if(d!=3D=3Dw){f=3D!j&&f&&c.isFunction(d);for(o=3D0;o)[^>]*$|^#([\w-]+)$/,Ua=3D/^.[^:#\[\.,]*$/,Va=3D/\S/,=0A= Wa=3D/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=3D/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=3D= navigator.userAgent,xa=3Dfalse,Q=3D[],L,$=3DObject.prototype.toString,aa=3D= Object.prototype.hasOwnProperty,ba=3DArray.prototype.push,R=3DArray.proto= type.slice,ya=3DArray.prototype.indexOf;c.fn=3Dc.prototype=3D{init:functi= on(a,b){var d,f;if(!a)return = this;if(a.nodeType){this.context=3Dthis[0]=3Da;this.length=3D1;return = this}if(a=3D=3D=3D"body"&&!b){this.context=3Ds;this[0]=3Ds.body;this.sele= ctor=3D"body";this.length=3D1;return this}if(typeof = a=3D=3D=3D"string")if((d=3DTa.exec(a))&&=0A= (d[1]||!b))if(d[1]){f=3Db?b.ownerDocument||b:s;if(a=3DXa.exec(a))if(c.isP= lainObject(b)){a=3D[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else = a=3D[f.createElement(a[1])];else{a=3Dsa([d[1]],[f]);a=3D(a.cacheable?a.fr= agment.cloneNode(true):a.fragment).childNodes}return = c.merge(this,a)}else{if(b=3Ds.getElementById(d[2])){if(b.id!=3D=3Dd[2])re= turn = T.find(a);this.length=3D1;this[0]=3Db}this.context=3Ds;this.selector=3Da;= return this}else = if(!b&&/^\w+$/.test(a)){this.selector=3Da;this.context=3Ds;a=3Ds.getEleme= ntsByTagName(a);return c.merge(this,=0A= a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else = if(c.isFunction(a))return = T.ready(a);if(a.selector!=3D=3Dw){this.selector=3Da.selector;this.context= =3Da.context}return = c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){= return this.length},toArray:function(){return = R.call(this,0)},get:function(a){return = a=3D=3Dnull?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:functi= on(a,b,d){var = f=3Dc();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=3Dthis;f.con= text=3Dthis.context;if(b=3D=3D=3D=0A= "find")f.selector=3Dthis.selector+(this.selector?" ":"")+d;else = if(b)f.selector=3Dthis.selector+"."+b+"("+d+")";return = f},each:function(a,b){return = c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c= );else Q&&Q.push(a);return this},eq:function(a){return = a=3D=3D=3D-1?this.slice(a):this.slice(a,+a+1)},first:function(){return = this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return = this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","= ))},map:function(a){return this.pushStack(c.map(this,=0A= function(b,d){return a.call(b,d,b)}))},end:function(){return = this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.ini= t.prototype=3Dc.fn;c.extend=3Dc.fn.extend=3Dfunction(){var = a=3Darguments[0]||{},b=3D1,d=3Darguments.length,f=3Dfalse,e,j,i,o;if(type= of a=3D=3D=3D"boolean"){f=3Da;a=3Darguments[1]||{};b=3D2}if(typeof = a!=3D=3D"object"&&!c.isFunction(a))a=3D{};if(d=3D=3D=3Db){a=3Dthis;--b}fo= r(;b
a";=0A= var = e=3Dd.getElementsByTagName("*"),j=3Dd.getElementsByTagName("a")[0];if(!(!= e||!e.length||!j)){c.support=3D{leadingWhitespace:d.firstChild.nodeType=3D= =3D=3D3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.g= etElementsByTagName("link").length,style:/red/.test(j.getAttribute("style= ")),hrefNormalized:j.getAttribute("href")=3D=3D=3D"/a",opacity:/^0.55$/.t= est(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByT= agName("input")[0].value=3D=3D=3D"on",optSelected:s.createElement("select= ").appendChild(s.createElement("option")).selected,=0A= parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNod= e=3D=3D=3Dnull,deleteExpando:true,checkClone:false,scriptEval:false,noClo= neEvent:true,boxModel:null};b.type=3D"text/javascript";try{b.appendChild(= s.createTextNode("window."+f+"=3D1;"))}catch(i){}a.insertBefore(b,a.first= Child);if(A[f]){c.support.scriptEval=3Dtrue;delete A[f]}try{delete = b.test}catch(o){c.support.deleteExpando=3Dfalse}a.removeChild(b);if(d.att= achEvent&&d.fireEvent){d.attachEvent("onclick",function = k(){c.support.noCloneEvent=3D=0A= false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")= }d=3Ds.createElement("div");d.innerHTML=3D"";a=3Ds.createDocumentFragment();a.appendChild(d.fir= stChild);c.support.checkClone=3Da.cloneNode(true).cloneNode(true).lastChi= ld.checked;c(function(){var = k=3Ds.createElement("div");k.style.width=3Dk.style.paddingLeft=3D"1px";s.= body.appendChild(k);c.boxModel=3Dc.support.boxModel=3Dk.offsetWidth=3D=3D= =3D2;s.body.removeChild(k).style.display=3D"none"});a=3Dfunction(k){var = n=3D=0A= s.createElement("div");k=3D"on"+k;var r=3Dk in = n;if(!r){n.setAttribute(k,"return;");r=3Dtypeof = n[k]=3D=3D=3D"function"}return = r};c.support.submitBubbles=3Da("submit");c.support.changeBubbles=3Da("cha= nge");a=3Db=3Dd=3De=3Dj=3Dnull}})();c.props=3D{"for":"htmlFor","class":"c= lassName",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpac= ing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useM= ap",frameborder:"frameBorder"};var = G=3D"jQuery"+J(),Ya=3D0,za=3D{};c.extend({cache:{},expando:G,noData:{embe= d:true,object:true,=0A= applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.to= LowerCase()])){a=3Da=3D=3DA?za:a;var f=3Da[G],e=3Dc.cache;if(!f&&typeof = b=3D=3D=3D"string"&&d=3D=3D=3Dw)return null;f||(f=3D++Ya);if(typeof = b=3D=3D=3D"object"){a[G]=3Df;e[f]=3Dc.extend(true,{},b)}else = if(!e[f]){a[G]=3Df;e[f]=3D{}}a=3De[f];if(d!=3D=3Dw)a[b]=3Dd;return = typeof = b=3D=3D=3D"string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.n= oData[a.nodeName.toLowerCase()])){a=3Da=3D=3DA?za:a;var = d=3Da[G],f=3Dc.cache,e=3Df[d];if(b){if(e){delete = e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando= )delete a[c.expando];=0A= else a.removeAttribute&&a.removeAttribute(c.expando);delete = f[d]}}}});c.fn.extend({data:function(a,b){if(typeof = a=3D=3D=3D"undefined"&&this.length)return c.data(this[0]);else if(typeof = a=3D=3D=3D"object")return this.each(function(){c.data(this,a)});var = d=3Da.split(".");d[1]=3Dd[1]?"."+d[1]:"";if(b=3D=3D=3Dw){var = f=3Dthis.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f=3D=3D=3Dw&&this.l= ength)f=3Dc.data(this[0],a);return = f=3D=3D=3Dw&&d[1]?this.data(d[0]):f}else return = this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,=0A= a,b)})},removeData:function(a){return = this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a= ,b,d){if(a){b=3D(b||"fx")+"queue";var f=3Dc.data(a,b);if(!d)return = f||[];if(!f||c.isArray(d))f=3Dc.data(a,b,c.makeArray(d));else = f.push(d);return f}},dequeue:function(a,b){b=3Db||"fx";var = d=3Dc.queue(a,b),f=3Dd.shift();if(f=3D=3D=3D"inprogress")f=3Dd.shift();if= (f){b=3D=3D=3D"fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue= (a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof = a!=3D=3D"string"){b=3Da;a=3D"fx"}if(b=3D=3D=3D=0A= w)return c.queue(this[0],a);return this.each(function(){var = d=3Dc.queue(this,a,b);a=3D=3D=3D"fx"&&d[0]!=3D=3D"inprogress"&&c.dequeue(= this,a)})},dequeue:function(a){return = this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=3Dc.fx?c.= fx.speeds[a]||a:a;b=3Db||"fx";return this.queue(b,function(){var = d=3Dthis;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(= a){return this.queue(a||"fx",[])}});var = Aa=3D/[\n\t]/g,ca=3D/\s+/,Za=3D/\r/g,$a=3D/href|src|style/,ab=3D/(button|= input)/i,bb=3D/(button|input|object|select|textarea)/i,=0A= cb=3D/^(a|area)$/i,Ba=3D/radio|checkbox/;c.fn.extend({attr:function(a,b){= return X(this,a,b,true,c.attr)},removeAttr:function(a){return = this.each(function(){c.attr(this,a,"");this.nodeType=3D=3D=3D1&&this.remo= veAttribute(a)})},addClass:function(a){if(c.isFunction(a))return = this.each(function(n){var = r=3Dc(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof = a=3D=3D=3D"string")for(var = b=3D(a||"").split(ca),d=3D0,f=3Dthis.length;d-1)return true;return = false},val:function(a){if(a=3D=3D=3Dw){var = b=3Dthis[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}= ).specified?b.value:b.text;if(c.nodeName(b,"select")){var = d=3Db.selectedIndex,f=3D[],e=3Db.options;b=3Db.type=3D=3D=3D"select-one";= if(d<0)return null;var j=3Db?d:0;for(d=3Db?d+1:e.length;j=3D0;else if(c.nodeName(this,"select")){var = u=3Dc.makeArray(r);c("option",this).each(function(){this.selected=3D=0A= c.inArray(c(this).val(),u)>=3D0});if(!u.length)this.selectedIndex=3D-1}el= se = this.value=3Dr}})}});c.extend({attrFn:{val:true,css:true,html:true,text:t= rue,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){= if(!a||a.nodeType=3D=3D=3D3||a.nodeType=3D=3D=3D8)return w;if(f&&b in = c.attrFn)return c(a)[b](d);f=3Da.nodeType!=3D=3D1||!c.isXMLDoc(a);var = e=3Dd!=3D=3Dw;b=3Df&&c.props[b]||b;if(a.nodeType=3D=3D=3D1){var = j=3D$a.test(b);if(b in = a&&f&&!j){if(e){b=3D=3D=3D"type"&&ab.test(a.nodeName)&&a.parentNode&&c.er= ror("type property can't be changed");=0A= a[b]=3Dd}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return = a.getAttributeNode(b).nodeValue;if(b=3D=3D=3D"tabIndex")return(b=3Da.getA= ttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.te= st(a.nodeName)&&a.href?0:w;return = a[b]}if(!c.support.style&&f&&b=3D=3D=3D"style"){if(e)a.style.cssText=3D""= +d;return = a.style.cssText}e&&a.setAttribute(b,""+d);a=3D!c.support.hrefNormalized&&= f&&j?a.getAttribute(b,2):a.getAttribute(b);return = a=3D=3D=3Dnull?w:a}return c.style(a,b,d)}});var = O=3D/\.(.*)$/,db=3Dfunction(a){return a.replace(/[^\w\s\.\|`]/g,=0A= function(b){return"\\"+b})};c.event=3D{add:function(a,b,d,f){if(!(a.nodeT= ype=3D=3D=3D3||a.nodeType=3D=3D=3D8)){if(a.setInterval&&a!=3D=3DA&&!a.fra= meElement)a=3DA;var = e,j;if(d.handler){e=3Dd;d=3De.handler}if(!d.guid)d.guid=3Dc.guid++;if(j=3D= c.data(a)){var = i=3Dj.events=3Dj.events||{},o=3Dj.handle;if(!o)j.handle=3Do=3Dfunction(){= return typeof = c!=3D=3D"undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,argum= ents):w};o.elem=3Da;b=3Db.split(" ");for(var = k,n=3D0,r;k=3Db[n++];){j=3De?c.extend({},e):{handler:d,data:f};if(k.index= Of(".")>-1){r=3Dk.split(".");=0A= k=3Dr.shift();j.namespace=3Dr.slice(0).sort().join(".")}else{r=3D[];j.nam= espace=3D""}j.type=3Dk;j.guid=3Dd.guid;var = u=3Di[k],z=3Dc.event.special[k]||{};if(!u){u=3Di[k]=3D[];if(!z.setup||z.s= etup.call(a,f,r,o)=3D=3D=3Dfalse)if(a.addEventListener)a.addEventListener= (k,o,false);else = a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.ha= ndler.guid)j.handler.guid=3Dd.guid}u.push(j);c.event.global[k]=3Dtrue}a=3D= null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType=3D=3D=3D3||a.n= odeType=3D=3D=3D8)){var e,j=3D0,i,o,k,n,r,u,z=3Dc.data(a),=0A= C=3Dz&&z.events;if(z&&C){if(b&&b.type){d=3Db.handler;b=3Db.type}if(!b||ty= peof b=3D=3D=3D"string"&&b.charAt(0)=3D=3D=3D"."){b=3Db||"";for(e in = C)c.event.remove(a,e+b)}else{for(b=3Db.split(" = ");e=3Db[j++];){n=3De;i=3De.indexOf(".")<0;o=3D[];if(!i){o=3De.split(".")= ;e=3Do.shift();k=3Dnew = RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|= $)")}if(r=3DC[e])if(d){n=3Dc.event.special[e]||{};for(B=3Df||0;B=3D0){a.type=3D=0A= e=3De.slice(0,-1);a.exclusive=3Dtrue}if(!d){a.stopPropagation();c.event.g= lobal[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.= trigger(a,b,this.handle.elem)})}if(!d||d.nodeType=3D=3D=3D3||d.nodeType=3D= =3D=3D8)return = w;a.result=3Dw;a.target=3Dd;b=3Dc.makeArray(b);b.unshift(a)}a.currentTarg= et=3Dd;(f=3Dc.data(d,"handle"))&&f.apply(d,b);f=3Dd.parentNode||d.ownerDo= cument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["= on"+e]&&d["on"+e].apply(d,b)=3D=3D=3Dfalse)a.result=3Dfalse}catch(j){}if(= !a.isPropagationStopped()&&=0A= f)c.event.trigger(a,b,f,true);else = if(!a.isDefaultPrevented()){f=3Da.target;var = i,o=3Dc.nodeName(f,"a")&&e=3D=3D=3D"click",k=3Dc.event.special[e]||{};if(= (!k._default||k._default.call(d,a)=3D=3D=3Dfalse)&&!o&&!(f&&f.nodeName&&c= .noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=3Df["on"+e])f["on"+= e]=3Dnull;c.event.triggered=3Dtrue;f[e]()}}catch(n){}if(i)f["on"+e]=3Di;c= .event.triggered=3Dfalse}}},handle:function(a){var = b,d,f,e;a=3Darguments[0]=3Dc.event.fix(a||A.event);a.currentTarget=3Dthis= ;b=3Da.type.indexOf(".")<0&&!a.exclusive;=0A= if(!b){d=3Da.type.split(".");a.type=3Dd.shift();f=3Dnew = RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=3Dc= .data(this,"events");d=3De[a.type];if(e&&d){d=3Dd.slice(0);e=3D0;for(var = j=3Dd.length;e-1?c.map(a.options,fun= ction(f){return f.selected}).join("-"):"";else = if(a.nodeName.toLowerCase()=3D=3D=3D"select")d=3Da.selectedIndex;return = d},fa=3Dfunction(a,b){var = d=3Da.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=3Dc.data(d,"_c= hange_data");e=3DFa(d);if(a.type!=3D=3D"focusout"||d.type!=3D=3D"radio")c= .data(d,"_change_data",=0A= e);if(!(f=3D=3D=3Dw||e=3D=3D=3Df))if(f!=3Dnull||e){a.type=3D"change";retu= rn = c.event.trigger(a,b,d)}}};c.event.special.change=3D{filters:{focusout:fa,= click:function(a){var = b=3Da.target,d=3Db.type;if(d=3D=3D=3D"radio"||d=3D=3D=3D"checkbox"||b.nod= eName.toLowerCase()=3D=3D=3D"select")return = fa.call(this,a)},keydown:function(a){var = b=3Da.target,d=3Db.type;if(a.keyCode=3D=3D=3D13&&b.nodeName.toLowerCase()= !=3D=3D"textarea"||a.keyCode=3D=3D=3D32&&(d=3D=3D=3D"checkbox"||d=3D=3D=3D= "radio")||d=3D=3D=3D"select-multiple")return = fa.call(this,a)},beforeactivate:function(a){a=3Da.target;c.data(a,=0A= "_change_data",Fa(a))}},setup:function(){if(this.type=3D=3D=3D"file")retu= rn false;for(var a in = ea)c.event.add(this,a+".specialChange",ea[a]);return = da.test(this.nodeName)},teardown:function(){c.event.remove(this,".special= Change");return = da.test(this.nodeName)}};ea=3Dc.event.special.change.filters}s.addEventLi= stener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function = d(f){f=3Dc.event.fix(f);f.type=3Db;return = c.event.handle.call(this,f)}c.event.special[b]=3D{setup:function(){this.a= ddEventListener(a,=0A= d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.eac= h(["bind","one"],function(a,b){c.fn[b]=3Dfunction(d,f,e){if(typeof = d=3D=3D=3D"object"){for(var j in d)this[b](j,f,d[j],e);return = this}if(c.isFunction(f)){e=3Df;f=3Dw}var = i=3Db=3D=3D=3D"one"?c.proxy(e,function(k){c(this).unbind(k,i);return = e.apply(this,arguments)}):e;if(d=3D=3D=3D"unload"&&b!=3D=3D"one")this.one= (d,f,e);else{j=3D0;for(var = o=3Dthis.length;j0){y=3Dt;break}}t=3Dt[g]}m[q]=3Dy}}}var = f=3D/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]= '"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,=0A= e=3D0,j=3DObject.prototype.toString,i=3Dfalse,o=3Dtrue;[0,0].sort(functio= n(){o=3Dfalse;return 0});var k=3Dfunction(g,h,l,m){l=3Dl||[];var = q=3Dh=3Dh||s;if(h.nodeType!=3D=3D1&&h.nodeType!=3D=3D9)return[];if(!g||ty= peof g!=3D=3D"string")return l;for(var = p=3D[],v,t,y,S,H=3Dtrue,M=3Dx(h),I=3Dg;(f.exec(""),v=3Df.exec(I))!=3D=3Dn= ull;){I=3Dv[3];p.push(v[1]);if(v[2]){S=3Dv[3];break}}if(p.length>1&&r.exe= c(g))if(p.length=3D=3D=3D2&&n.relative[p[0]])t=3Dga(p[0]+p[1],h);else = for(t=3Dn.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=3Dp.shift();if(n= .relative[g])g+=3Dp.shift();=0A= t=3Dga(g,t)}else{if(!m&&p.length>1&&h.nodeType=3D=3D=3D9&&!M&&n.match.ID.= test(p[0])&&!n.match.ID.test(p[p.length-1])){v=3Dk.find(p.shift(),h,M);h=3D= v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=3Dm?{expr:p.pop(),set:z= (m)}:k.find(p.pop(),p.length=3D=3D=3D1&&(p[0]=3D=3D=3D"~"||p[0]=3D=3D=3D"= +")&&h.parentNode?h.parentNode:h,M);t=3Dv.expr?k.filter(v.expr,v.set):v.s= et;if(p.length>0)y=3Dz(t);else H=3Dfalse;for(;p.length;){var = D=3Dp.pop();v=3DD;if(n.relative[D])v=3Dp.pop();else = D=3D"";if(v=3D=3Dnull)v=3Dh;n.relative[D](y,v,M)}}else = y=3D[]}y||(y=3Dt);y||k.error(D||=0A= g);if(j.call(y)=3D=3D=3D"[object = Array]")if(H)if(h&&h.nodeType=3D=3D=3D1)for(g=3D0;y[g]!=3Dnull;g++){if(y[= g]&&(y[g]=3D=3D=3Dtrue||y[g].nodeType=3D=3D=3D1&&E(h,y[g])))l.push(t[g])}= else = for(g=3D0;y[g]!=3Dnull;g++)y[g]&&y[g].nodeType=3D=3D=3D1&&l.push(t[g]);el= se l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return = l};k.uniqueSort=3Dfunction(g){if(B){i=3Do;g.sort(B);if(i)for(var = h=3D1;h":function(g,h){var l=3Dtypeof = h=3D=3D=3D"string";if(l&&!/\W/.test(h)){h=3Dh.toLowerCase();for(var = m=3D0,q=3Dg.length;m=3D0))l||m.push(v);else = if(l)h[p]=3Dfalse;return false},ID:function(g){return = g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},=0A= CHILD:function(g){if(g[1]=3D=3D=3D"nth"){var = h=3D/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]=3D=3D=3D"even"&&"2n"||g[2]=3D=3D= =3D"odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=3Dh[1]+(h[2]||= 1)-0;g[3]=3Dh[3]-0}g[0]=3De++;return = g},ATTR:function(g,h,l,m,q,p){h=3Dg[1].replace(/\\/g,"");if(!p&&n.attrMap= [h])g[1]=3Dn.attrMap[h];if(g[2]=3D=3D=3D"~=3D")g[4]=3D" "+g[4]+" = ";return = g},PSEUDO:function(g,h,l,m,q){if(g[1]=3D=3D=3D"not")if((f.exec(g[3])||"")= .length>1||/^\w/.test(g[3]))g[3]=3Dk(g[3],null,null,h);else{g=3Dk.filter(= g[3],h,l,true^q);l||m.push.apply(m,=0A= g);return false}else = if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return = g},POS:function(g){g.unshift(true);return = g}},filters:{enabled:function(g){return = g.disabled=3D=3D=3Dfalse&&g.type!=3D=3D"hidden"},disabled:function(g){ret= urn g.disabled=3D=3D=3Dtrue},checked:function(g){return = g.checked=3D=3D=3Dtrue},selected:function(g){return = g.selected=3D=3D=3Dtrue},parent:function(g){return!!g.firstChild},empty:f= unction(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).len= gth},header:function(g){return/h\d/i.test(g.nodeName)},=0A= text:function(g){return"text"=3D=3D=3Dg.type},radio:function(g){return"ra= dio"=3D=3D=3Dg.type},checkbox:function(g){return"checkbox"=3D=3D=3Dg.type= },file:function(g){return"file"=3D=3D=3Dg.type},password:function(g){retu= rn"password"=3D=3D=3Dg.type},submit:function(g){return"submit"=3D=3D=3Dg.= type},image:function(g){return"image"=3D=3D=3Dg.type},reset:function(g){r= eturn"reset"=3D=3D=3Dg.type},button:function(g){return"button"=3D=3D=3Dg.= type||g.nodeName.toLowerCase()=3D=3D=3D"button"},input:function(g){return= /input|select|textarea|button/i.test(g.nodeName)}},=0A= setFilters:{first:function(g,h){return = h=3D=3D=3D0},last:function(g,h,l,m){return = h=3D=3D=3Dm.length-1},even:function(g,h){return = h%2=3D=3D=3D0},odd:function(g,h){return = h%2=3D=3D=3D1},lt:function(g,h,l){return = hl[3]-0},nth:function(g,h,l){return = l[3]-0=3D=3D=3Dh},eq:function(g,h,l){return = l[3]-0=3D=3D=3Dh}},filter:{PSEUDO:function(g,h,l,m){var = q=3Dh[1],p=3Dn.filters[q];if(p)return p(g,l,h,m);else = if(q=3D=3D=3D"contains")return(g.textContent||g.innerText||a([g])||"").in= dexOf(h[3])>=3D0;else if(q=3D=3D=3D"not"){h=3D=0A= h[3];l=3D0;for(m=3Dh.length;l=3D0}},ID:function(g,h){return= = g.nodeType=3D=3D=3D1&&g.getAttribute("id")=3D=3D=3Dh},TAG:function(g,h){r= eturn = h=3D=3D=3D"*"&&g.nodeType=3D=3D=3D1||g.nodeName.toLowerCase()=3D=3D=3Dh},= CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" = ").indexOf(h)>-1},ATTR:function(g,h){var = l=3Dh[1];g=3Dn.attrHandle[l]?n.attrHandle[l](g):g[l]!=3Dnull?g[l]:g.getAt= tribute(l);l=3Dg+"";var m=3Dh[2];h=3Dh[4];return = g=3D=3Dnull?m=3D=3D=3D"!=3D":m=3D=3D=3D=0A= "=3D"?l=3D=3D=3Dh:m=3D=3D=3D"*=3D"?l.indexOf(h)>=3D0:m=3D=3D=3D"~=3D"?(" = "+l+" = ").indexOf(h)>=3D0:!h?l&&g!=3D=3Dfalse:m=3D=3D=3D"!=3D"?l!=3D=3Dh:m=3D=3D= =3D"^=3D"?l.indexOf(h)=3D=3D=3D0:m=3D=3D=3D"$=3D"?l.substr(l.length-h.len= gth)=3D=3D=3Dh:m=3D=3D=3D"|=3D"?l=3D=3D=3Dh||l.substr(0,h.length+1)=3D=3D= =3Dh+"-":false},POS:function(g,h,l,m){var = q=3Dn.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=3Dn.match.POS;for(var = u in n.match){n.match[u]=3Dnew = RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u= ]=3Dnew = RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,fun= ction(g,=0A= h){return"\\"+(h-0+1)}))}var = z=3Dfunction(g,h){g=3DArray.prototype.slice.call(g,0);if(h){h.push.apply(= h,g);return h}return = g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C= ){z=3Dfunction(g,h){h=3Dh||[];if(j.call(g)=3D=3D=3D"[object = Array]")Array.prototype.push.apply(h,g);else if(typeof = g.length=3D=3D=3D"number")for(var = l=3D0,m=3Dg.length;l";var = l=3Ds.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(= h)){n.find.ID=3Dfunction(m,q,p){if(typeof = q.getElementById!=3D=3D"undefined"&&!p)return(q=3Dq.getElementById(m[1]))= ?q.id=3D=3D=3Dm[1]||typeof q.getAttributeNode!=3D=3D"undefined"&&=0A= q.getAttributeNode("id").nodeValue=3D=3D=3Dm[1]?[q]:w:[]};n.filter.ID=3Df= unction(m,q){var p=3Dtypeof = m.getAttributeNode!=3D=3D"undefined"&&m.getAttributeNode("id");return = m.nodeType=3D=3D=3D1&&p&&p.nodeValue=3D=3D=3Dq}}l.removeChild(g);l=3Dg=3D= null})();(function(){var = g=3Ds.createElement("div");g.appendChild(s.createComment(""));if(g.getEle= mentsByTagName("*").length>0)n.find.TAG=3Dfunction(h,l){l=3Dl.getElements= ByTagName(h[1]);if(h[1]=3D=3D=3D"*"){h=3D[];for(var = m=3D0;l[m];m++)l[m].nodeType=3D=3D=3D1&&h.push(l[m]);l=3Dh}return = l};g.innerHTML=3D"";=0A= if(g.firstChild&&typeof = g.firstChild.getAttribute!=3D=3D"undefined"&&g.firstChild.getAttribute("h= ref")!=3D=3D"#")n.attrHandle.href=3Dfunction(h){return = h.getAttribute("href",2)};g=3Dnull})();s.querySelectorAll&&function(){var= g=3Dk,h=3Ds.createElement("div");h.innerHTML=3D"

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST")= .length=3D=3D=3D0)){k=3Dfunction(m,q,p,v){q=3Dq||s;if(!v&&q.nodeType=3D=3D= =3D9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return = g(m,q,p,v)};for(var l in g)k[l]=3Dg[l];h=3Dnull}}();=0A= (function(){var g=3Ds.createElement("div");g.innerHTML=3D"
";if(!(!g.getElementsByClassName||g.getElementsByCla= ssName("e").length=3D=3D=3D0)){g.lastChild.className=3D"e";if(g.getElemen= tsByClassName("e").length!=3D=3D1){n.order.splice(1,0,"CLASS");n.find.CLA= SS=3Dfunction(h,l,m){if(typeof = l.getElementsByClassName!=3D=3D"undefined"&&!m)return = l.getElementsByClassName(h[1])};g=3Dnull}}})();var = E=3Ds.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPos= ition(h)&16)}:=0A= function(g,h){return = g!=3D=3Dh&&(g.contains?g.contains(h):true)},x=3Dfunction(g){return(g=3D(g= ?g.ownerDocument||g:0).documentElement)?g.nodeName!=3D=3D"HTML":false},ga= =3Dfunction(g,h){var = l=3D[],m=3D"",q;for(h=3Dh.nodeType?[h]:h;q=3Dn.match.PSEUDO.exec(g);){m+=3D= q[0];g=3Dg.replace(n.match.PSEUDO,"")}g=3Dn.relative[g]?g+"*":g;q=3D0;for= (var p=3Dh.length;q=3D0=3D=3D=3Dd})};c.fn.extend({find:function(a){for(var = b=3Dthis.pushStack("","find",a),d=3D0,f=3D0,e=3Dthis.length;f0)for(var j=3Dd;j0},closest:function(a,b){if(c.isArray(a)){var = d=3D[],f=3Dthis[0],e,j=3D=0A= {},i;if(f&&a.length){e=3D0;for(var = o=3Da.length;e-1:c(f).is(e)){d.push({selector:i,elem= :f});delete j[i]}}f=3Df.parentNode}}return d}var = k=3Dc.expr.match.POS.test(a)?c(a,b||this.context):null;return = this.map(function(n,r){for(;r&&r.ownerDocument&&r!=3D=3Db;){if(k?k.index(= r)>-1:c(r).is(a))return r;r=3Dr.parentNode}return = null})},index:function(a){if(!a||typeof a=3D=3D=3D=0A= "string")return = c.inArray(this[0],a?c(a):this.parent().children());return = c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=3Dtypeof = a=3D=3D=3D"string"?c(a,b||this.context):c.makeArray(a);b=3Dc.merge(this.g= et(),a);return = this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){retu= rn = this.add(this.prevObject)}});c.each({parent:function(a){return(a=3Da.pare= ntNode)&&a.nodeType!=3D=3D11?a:null},parents:function(a){return = c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return = c.dir(a,"parentNode",=0A= d)},next:function(a){return = c.nth(a,2,"nextSibling")},prev:function(a){return = c.nth(a,2,"previousSibling")},nextAll:function(a){return = c.dir(a,"nextSibling")},prevAll:function(a){return = c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return = c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return = c.dir(a,"previousSibling",d)},siblings:function(a){return = c.sibling(a.parentNode.firstChild,a)},children:function(a){return = c.sibling(a.firstChild)},contents:function(a){return = c.nodeName(a,"iframe")?=0A= a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},f= unction(a,b){c.fn[a]=3Dfunction(d,f){var = e=3Dc.map(this,b,d);eb.test(a)||(f=3Dd);if(f&&typeof = f=3D=3D=3D"string")e=3Dc.filter(f,e);e=3Dthis.length>1?c.unique(e):e;if((= this.length>1||gb.test(f))&&fb.test(a))e=3De.reverse();return = this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:funct= ion(a,b,d){if(d)a=3D":not("+a+")";return = c.find.matches(a,b)},dir:function(a,b,d){var = f=3D[];for(a=3Da[b];a&&a.nodeType!=3D=3D9&&(d=3D=3D=3Dw||a.nodeType!=3D=3D= 1||!c(a).is(d));){a.nodeType=3D=3D=3D=0A= 1&&f.push(a);a=3Da[b]}return f},nth:function(a,b,d){b=3Db||1;for(var = f=3D0;a;a=3Da[d])if(a.nodeType=3D=3D=3D1&&++f=3D=3D=3Db)break;return = a},sibling:function(a,b){for(var = d=3D[];a;a=3Da.nextSibling)a.nodeType=3D=3D=3D1&&a!=3D=3Db&&d.push(a);ret= urn d}});var Ja=3D/ = jQuery\d+=3D"(?:\d+|null)"/g,V=3D/^\s+/,Ka=3D/(<([\w:]+)[^>]*?)\/>/g,hb=3D= /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=3D/<([\w:]+)/,= ib=3D/"},F=3D{option:[1,""],legend:[1,"
","
"= ],thead:[1,"","
"],tr:[2,"","
= "],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],= _default:[0,"",""]};F.optgroup=3DF.option;F.tbody=3DF.tfoot=3DF.colgroup=3D= F.caption=3DF.thead;F.th=3DF.td;if(!c.support.htmlSerialize)F._default=3D= [1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))= return this.each(function(b){var d=3D=0A= c(this);d.text(a.call(this,b,d.text()))});if(typeof = a!=3D=3D"object"&&a!=3D=3Dw)return = this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a)= );return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return = this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var = b=3Dc(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.in= sertBefore(this[0]);b.map(function(){for(var = d=3Dthis;d.firstChild&&d.firstChild.nodeType=3D=3D=3D1;)d=3Dd.firstChild;= return d}).append(this)}return this},=0A= wrapInner:function(a){if(c.isFunction(a))return = this.each(function(b){c(this).wrapInner(a.call(this,b))});return = this.each(function(){var = b=3Dc(this),d=3Db.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:fu= nction(a){return = this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return = this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWit= h(this.childNodes)}).end()},append:function(){return = this.domManip(arguments,true,function(a){this.nodeType=3D=3D=3D1&&this.ap= pendChild(a)})},=0A= prepend:function(){return = this.domManip(arguments,true,function(a){this.nodeType=3D=3D=3D1&&this.in= sertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].pa= rentNode)return = this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,= this)});else if(arguments.length){var = a=3Dc(arguments[0]);a.push.apply(a,this.toArray());return = this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[= 0].parentNode)return = this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,=0A= this.nextSibling)});else if(arguments.length){var = a=3Dthis.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0])= .toArray());return a}},remove:function(a,b){for(var = d=3D0,f;(f=3Dthis[d])!=3Dnull;d++)if(!a||c.filter(a,[f]).length){if(!b&&f= .nodeType=3D=3D=3D1){c.cleanData(f.getElementsByTagName("*"));c.cleanData= ([f])}f.parentNode&&f.parentNode.removeChild(f)}return = this},empty:function(){for(var = a=3D0,b;(b=3Dthis[a])!=3Dnull;a++)for(b.nodeType=3D=3D=3D1&&c.cleanData(b= .getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);=0A= return this},clone:function(a){var = b=3Dthis.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){va= r = d=3Dthis.outerHTML,f=3Dthis.ownerDocument;if(!d){d=3Df.createElement("div= ");d.appendChild(this.cloneNode(true));d=3Dd.innerHTML}return = c.clean([d.replace(Ja,"").replace(/=3D([^=3D"'>\s]+\/)>/g,'=3D"$1">').rep= lace(V,"")],f)[0]}else return = this.cloneNode(true)});if(a=3D=3D=3Dtrue){ra(this,b);ra(this.find("*"),b.= find("*"))}return b},html:function(a){if(a=3D=3D=3Dw)return = this[0]&&this[0].nodeType=3D=3D=3D1?this[0].innerHTML.replace(Ja,=0A= ""):null;else if(typeof = a=3D=3D=3D"string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a)= )&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=3Da.replace(Ka,Ma);try{f= or(var = b=3D0,d=3Dthis.length;b0||e.cachea= ble||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return = this}});c.fragments=3D{};c.each({appendTo:"append",prependTo:"prepend",in= sertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},functio= n(a,b){c.fn[a]=3Dfunction(d){var f=3D[];d=3Dc(d);var = e=3Dthis.length=3D=3D=3D1&&this[0].parentNode;if(e&&e.nodeType=3D=3D=3D11= &&e.childNodes.length=3D=3D=3D1&&d.length=3D=3D=3D1){d[b](this[0]);=0A= return this}else{e=3D0;for(var j=3Dd.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=3Df.conc= at(i)}return = this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=3D= b||s;if(typeof = b.createElement=3D=3D=3D"undefined")b=3Db.ownerDocument||b[0]&&b[0].owner= Document||s;for(var e=3D[],j=3D0,i;(i=3Da[j])!=3Dnull;j++){if(typeof = i=3D=3D=3D"number")i+=3D"";if(i){if(typeof = i=3D=3D=3D"string"&&!jb.test(i))i=3Db.createTextNode(i);else if(typeof = i=3D=3D=3D"string"){i=3Di.replace(Ka,Ma);var o=3D(La.exec(i)||["",=0A= ""])[1].toLowerCase(),k=3DF[o]||F._default,n=3Dk[0],r=3Db.createElement("= div");for(r.innerHTML=3Dk[1]+i+k[2];n--;)r=3Dr.lastChild;if(!c.support.tb= ody){n=3Dib.test(i);o=3Do=3D=3D=3D"table"&&!n?r.firstChild&&r.firstChild.= childNodes:k[1]=3D=3D=3D""&&!n?r.childNodes:[];for(k=3Do.length-1;= k>=3D0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parent= Node.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertB= efore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=3Dr.childNodes}if(i.= nodeType)e.push(i);else e=3D=0A= c.merge(e,i)}}if(d)for(j=3D0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!= e[j].type||e[j].type.toLowerCase()=3D=3D=3D"text/javascript"))f.push(e[j]= .parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType=3D= =3D=3D1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTa= gName("script"))));d.appendChild(e[j])}return = e},cleanData:function(a){for(var = b,d,f=3Dc.cache,e=3Dc.event.special,j=3Dc.support.deleteExpando,i=3D0,o;(= o=3Da[i])!=3Dnull;i++)if(d=3Do[c.expando]){b=3Df[d];if(b.events)for(var = k in b.events)e[k]?=0A= c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else = o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var = kb=3D/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=3D/alpha\([^)]= *\)/,Oa=3D/opacity=3D([^)]*)/,ha=3D/float/i,ia=3D/-([a-z])/ig,lb=3D/([A-Z= ])/g,mb=3D/^-?\d+(?:px)?$/i,nb=3D/^-?\d/,ob=3D{position:"absolute",visibi= lity:"hidden",display:"block"},pb=3D["Left","Right"],qb=3D["Top","Bottom"= ],rb=3Ds.defaultView&&s.defaultView.getComputedStyle,Pa=3Dc.support.cssFl= oat?"cssFloat":"styleFloat",ja=3D=0A= function(a,b){return b.toUpperCase()};c.fn.css=3Dfunction(a,b){return = X(this,a,b,true,function(d,f,e){if(e=3D=3D=3Dw)return = c.curCSS(d,f);if(typeof = e=3D=3D=3D"number"&&!kb.test(f))e+=3D"px";c.style(d,f,e)})};c.extend({sty= le:function(a,b,d){if(!a||a.nodeType=3D=3D=3D3||a.nodeType=3D=3D=3D8)retu= rn = w;if((b=3D=3D=3D"width"||b=3D=3D=3D"height")&&parseFloat(d)<0)d=3Dw;var = f=3Da.style||a,e=3Dd!=3D=3Dw;if(!c.support.opacity&&b=3D=3D=3D"opacity"){= if(e){f.zoom=3D1;b=3DparseInt(d,10)+""=3D=3D=3D"NaN"?"":"alpha(opacity=3D= "+d*100+")";a=3Df.filter||c.curCSS(a,"filter")||"";f.filter=3D=0A= Na.test(a)?a.replace(Na,b):b}return = f.filter&&f.filter.indexOf("opacity=3D")>=3D0?parseFloat(Oa.exec(f.filter= )[1])/100+"":""}if(ha.test(b))b=3DPa;b=3Db.replace(ia,ja);if(e)f[b]=3Dd;r= eturn = f[b]},css:function(a,b,d,f){if(b=3D=3D=3D"width"||b=3D=3D=3D"height"){var= e,j=3Db=3D=3D=3D"width"?pb:qb;function = i(){e=3Db=3D=3D=3D"width"?a.offsetWidth:a.offsetHeight;f!=3D=3D"border"&&= c.each(j,function(){f||(e-=3DparseFloat(c.curCSS(a,"padding"+this,true))|= |0);if(f=3D=3D=3D"margin")e+=3DparseFloat(c.curCSS(a,"margin"+this,true))= ||0;else e-=3DparseFloat(c.curCSS(a,=0A= "border"+this+"Width",true))||0})}a.offsetWidth!=3D=3D0?i():c.swap(a,ob,i= );return Math.max(0,Math.round(e))}return = c.curCSS(a,b,d)},curCSS:function(a,b,d){var = f,e=3Da.style;if(!c.support.opacity&&b=3D=3D=3D"opacity"&&a.currentStyle)= {f=3DOa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";r= eturn = f=3D=3D=3D""?"1":f}if(ha.test(b))b=3DPa;if(!d&&e&&e[b])f=3De[b];else = if(rb){if(ha.test(b))b=3D"float";b=3Db.replace(lb,"-$1").toLowerCase();e=3D= a.ownerDocument.defaultView;if(!e)return = null;if(a=3De.getComputedStyle(a,null))f=3D=0A= a.getPropertyValue(b);if(b=3D=3D=3D"opacity"&&f=3D=3D=3D"")f=3D"1"}else = if(a.currentStyle){d=3Db.replace(ia,ja);f=3Da.currentStyle[b]||a.currentS= tyle[d];if(!mb.test(f)&&nb.test(f)){b=3De.left;var = j=3Da.runtimeStyle.left;a.runtimeStyle.left=3Da.currentStyle.left;e.left=3D= d=3D=3D=3D"fontSize"?"1em":f||0;f=3De.pixelLeft+"px";e.left=3Db;a.runtime= Style.left=3Dj}}return f},swap:function(a,b,d){var f=3D{};for(var e in = b){f[e]=3Da.style[e];a.style[e]=3Db[e]}d.call(a);for(e in = b)a.style[e]=3Df[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=3D= function(a){var b=3D=0A= a.offsetWidth,d=3Da.offsetHeight,f=3Da.nodeName.toLowerCase()=3D=3D=3D"tr= ";return = b=3D=3D=3D0&&d=3D=3D=3D0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display"= )=3D=3D=3D"none"};c.expr.filters.visible=3Dfunction(a){return!c.expr.filt= ers.hidden(a)}}var = sb=3DJ(),tb=3D//gi,ub=3D/select|textarea/i,vb=3D/= color|date|datetime|email|hidden|month|number|password|range|search|tel|t= ext|time|url|week/i,N=3D/=3D\?(&|$)/,ka=3D/\?/,wb=3D/(\?|&)_=3D.*?(&|$)/,= xb=3D/^(\w+:)?\/\/([^\/?#]+)/,yb=3D/%20/g,zb=3Dc.fn.load;c.fn.extend({loa= d:function(a,b,d){if(typeof a!=3D=3D=0A= "string")return zb.call(this,a);else if(!this.length)return this;var = f=3Da.indexOf(" ");if(f>=3D0){var = e=3Da.slice(f,a.length);a=3Da.slice(0,f)}f=3D"GET";if(b)if(c.isFunction(b= )){d=3Db;b=3Dnull}else if(typeof = b=3D=3D=3D"object"){b=3Dc.param(b,c.ajaxSettings.traditional);f=3D"POST"}= var = j=3Dthis;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,= o){if(o=3D=3D=3D"success"||o=3D=3D=3D"notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.e= ach(d,[i.responseText,o,i])}});return this},=0A= serialize:function(){return = c.param(this.serializeArray())},serializeArray:function(){return = this.map(function(){return = this.elements?c.makeArray(this.elements):this}).filter(function(){return = this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test= (this.type))}).map(function(a,b){a=3Dc(this).val();return = a=3D=3Dnull?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,valu= e:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop = ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),=0A= function(a,b){c.fn[b]=3Dfunction(d){return = this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=3D= f||d;d=3Db;b=3Dnull}return = c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:functio= n(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return = c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=3Df||d;= d=3Db;b=3D{}}return = c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:functi= on(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,=0A= global:true,type:"GET",contentType:"application/x-www-form-urlencoded",pr= ocessData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=3D=3D= "file:"||!A.ActiveXObject)?function(){return new = A.XMLHttpRequest}:function(){try{return new = A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"applicatio= n/xml, text/xml",html:"text/html",script:"text/javascript, = application/javascript",json:"application/json, = text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:= {},ajax:function(a){function b(){e.success&&=0A= e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function = d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);= e.global&&!--c.active&&c.event.trigger("ajaxStop")}function = f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var = e=3Dc.extend(true,{},c.ajaxSettings,a),j,i,o,k=3Da&&a.context||e,n=3De.ty= pe.toUpperCase();if(e.data&&e.processData&&typeof = e.data!=3D=3D"string")e.data=3Dc.param(e.data,e.traditional);if(e.dataTyp= e=3D=3D=3D"jsonp"){if(n=3D=3D=3D"GET")N.test(e.url)||(e.url+=3D(ka.test(e= .url)?=0A= "&":"?")+(e.jsonp||"callback")+"=3D?");else = if(!e.data||!N.test(e.data))e.data=3D(e.data?e.data+"&":"")+(e.jsonp||"ca= llback")+"=3D?";e.dataType=3D"json"}if(e.dataType=3D=3D=3D"json"&&(e.data= &&N.test(e.data)||N.test(e.url))){j=3De.jsonpCallback||"jsonp"+sb++;if(e.= data)e.data=3D(e.data+"").replace(N,"=3D"+j+"$1");e.url=3De.url.replace(N= ,"=3D"+j+"$1");e.dataType=3D"script";A[j]=3DA[j]||function(q){o=3Dq;b();d= ();A[j]=3Dw;try{delete = A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType=3D=3D=3D"script"&&e.cac= he=3D=3D=3Dnull)e.cache=3Dfalse;if(e.cache=3D=3D=3D=0A= false&&n=3D=3D=3D"GET"){var = r=3DJ(),u=3De.url.replace(wb,"$1_=3D"+r+"$2");e.url=3Du+(u=3D=3D=3De.url?= (ka.test(e.url)?"&":"?")+"_=3D"+r:"")}if(e.data&&n=3D=3D=3D"GET")e.url+=3D= (ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("a= jaxStart");r=3D(r=3Dxb.exec(e.url))&&(r[1]&&r[1]!=3D=3Dlocation.protocol|= |r[2]!=3D=3Dlocation.host);if(e.dataType=3D=3D=3D"script"&&n=3D=3D=3D"GET= "&&r){var = z=3Ds.getElementsByTagName("head")[0]||s.documentElement,C=3Ds.createElem= ent("script");C.src=3De.url;if(e.scriptCharset)C.charset=3De.scriptCharse= t;if(!j){var B=3D=0A= false;C.onload=3DC.onreadystatechange=3Dfunction(){if(!B&&(!this.readySta= te||this.readyState=3D=3D=3D"loaded"||this.readyState=3D=3D=3D"complete")= ){B=3Dtrue;b();d();C.onload=3DC.onreadystatechange=3Dnull;z&&C.parentNode= &&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var = E=3Dfalse,x=3De.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,= e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.set= RequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModifi= ed[e.url]&&x.setRequestHeader("If-Modified-Since",=0A= c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",= c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest")= ;x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[= e.dataType]+", = */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,= x,e)=3D=3D=3Dfalse){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.= abort();return false}e.global&&f("ajaxSend",[x,e]);var = g=3Dx.onreadystatechange=3Dfunction(q){if(!x||x.readyState=3D=3D=3D0||q=3D= =3D=3D"abort"){E||=0A= d();E=3Dtrue;if(x)x.onreadystatechange=3Dc.noop}else = if(!E&&x&&(x.readyState=3D=3D=3D4||q=3D=3D=3D"timeout")){E=3Dtrue;x.onrea= dystatechange=3Dc.noop;i=3Dq=3D=3D=3D"timeout"?"timeout":!c.httpSuccess(x= )?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success= ";var = p;if(i=3D=3D=3D"success")try{o=3Dc.httpData(x,e.dataType,e)}catch(v){i=3D= "parsererror";p=3Dv}if(i=3D=3D=3D"success"||i=3D=3D=3D"notmodified")j||b(= );else = c.handleError(e,x,i,p);d();q=3D=3D=3D"timeout"&&x.abort();if(e.async)x=3D= null}};try{var h=3Dx.abort;x.abort=3Dfunction(){x&&h.call(x);=0A= g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&= g("timeout")},e.timeout);try{x.send(n=3D=3D=3D"POST"||n=3D=3D=3D"PUT"||n=3D= =3D=3D"DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.asyn= c||g();return = x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,= d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,= a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.pro= tocol=3D=3D=3D"file:"||a.status>=3D200&&a.status<300||a.status=3D=3D=3D30= 4||a.status=3D=3D=3D=0A= 1223||a.status=3D=3D=3D0}catch(b){}return = false},httpNotModified:function(a,b){var = d=3Da.getResponseHeader("Last-Modified"),f=3Da.getResponseHeader("Etag");= if(d)c.lastModified[b]=3Dd;if(f)c.etag[b]=3Df;return = a.status=3D=3D=3D304||a.status=3D=3D=3D0},httpData:function(a,b,d){var = f=3Da.getResponseHeader("content-type")||"",e=3Db=3D=3D=3D"xml"||!b&&f.in= dexOf("xml")>=3D0;a=3De?a.responseXML:a.responseText;e&&a.documentElement= .nodeName=3D=3D=3D"parsererror"&&c.error("parsererror");if(d&&d.dataFilte= r)a=3Dd.dataFilter(a,b);if(typeof a=3D=3D=3D"string")if(b=3D=3D=3D=0A= "json"||!b&&f.indexOf("json")>=3D0)a=3Dc.parseJSON(a);else = if(b=3D=3D=3D"script"||!b&&f.indexOf("javascript")>=3D0)c.globalEval(a);r= eturn a},param:function(a,b){function = d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d= (i+"["+(typeof = n=3D=3D=3D"object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=3Dnull&&typeof= = o=3D=3D=3D"object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}funct= ion = f(i,o){o=3Dc.isFunction(o)?o():o;e[e.length]=3DencodeURIComponent(i)+"=3D= "+encodeURIComponent(o)}var = e=3D[];if(b=3D=3D=3Dw)b=3Dc.ajaxSettings.traditional;=0A= if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});e= lse for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var = la=3D{},Ab=3D/toggle|show|hide/,Bb=3D/^([+-]=3D)?([\d+-.]+)(.*)$/,W,va=3D= [["height","marginTop","marginBottom","paddingTop","paddingBottom"],["wid= th","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]]= ;c.fn.extend({show:function(a,b){if(a||a=3D=3D=3D0)return = this.animate(K("show",3),a,b);else{a=3D0;for(b=3Dthis.length;a").appendTo("body");f=3De.css("display");if(f=3D=3D=3D"none")f=3D"block= ";e.remove();la[d]=3Df}c.data(this[a],"olddisplay",f)}}a=3D0;for(b=3Dthis= .length;a=3D0;f--)if(d[f].elem=3D=3D=3Dthis){b&&d[f](true);d.spli= ce(f,1)}});b||this.dequeue();return = this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("= toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b= ){c.fn[a]=3Dfunction(d,f){return = this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=3Da&&typeof = a=3D=3D=3D"object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,ea= sing:d&&b||b&&!c.isFunction(b)&&b};f.duration=3Dc.fx.off?0:typeof = f.duration=3D=3D=3D=0A= "number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=3D= f.complete;f.complete=3Dfunction(){f.queue!=3D=3Dfalse&&c(this).dequeue()= ;c.isFunction(f.old)&&f.old.call(this)};return = f},easing:{linear:function(a,b,d,f){return = d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},t= imers:[],fx:function(a,b,d){this.options=3Db;this.elem=3Da;this.prop=3Dd;= if(!b.orig)b.orig=3D{}}});c.fx.prototype=3D{update:function(){this.option= s.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.p= rop]||=0A= c.fx.step._default)(this);if((this.prop=3D=3D=3D"height"||this.prop=3D=3D= =3D"width")&&this.elem.style)this.elem.style.display=3D"block"},cur:funct= ion(a){if(this.elem[this.prop]!=3Dnull&&(!this.elem.style||this.elem.styl= e[this.prop]=3D=3Dnull))return = this.elem[this.prop];return(a=3DparseFloat(c.css(this.elem,this.prop,a)))= &&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:functio= n(a,b,d){function f(j){return = e.step(j)}this.startTime=3DJ();this.start=3Da;this.end=3Db;this.unit=3Dd|= |this.unit||"px";this.now=3Dthis.start;=0A= this.pos=3Dthis.state=3D0;var = e=3Dthis;f.elem=3Dthis.elem;if(f()&&c.timers.push(f)&&!W)W=3DsetInterval(= c.fx.tick,13)},show:function(){this.options.orig[this.prop]=3Dc.style(thi= s.elem,this.prop);this.options.show=3Dtrue;this.custom(this.prop=3D=3D=3D= "width"||this.prop=3D=3D=3D"height"?1:0,this.cur());c(this.elem).show()},= hide:function(){this.options.orig[this.prop]=3Dc.style(this.elem,this.pro= p);this.options.hide=3Dtrue;this.custom(this.cur(),0)},step:function(a){v= ar = b=3DJ(),d=3Dtrue;if(a||b>=3Dthis.options.duration+this.startTime){this.no= w=3D=0A= this.end;this.pos=3Dthis.state=3D1;this.update();this.options.curAnim[thi= s.prop]=3Dtrue;for(var f in = this.options.curAnim)if(this.options.curAnim[f]!=3D=3Dtrue)d=3Dfalse;if(d= ){if(this.options.display!=3Dnull){this.elem.style.overflow=3Dthis.option= s.overflow;a=3Dc.data(this.elem,"olddisplay");this.elem.style.display=3Da= ?a:this.options.display;if(c.css(this.elem,"display")=3D=3D=3D"none")this= .elem.style.display=3D"block"}this.options.hide&&c(this.elem).hide();if(t= his.options.hide||this.options.show)for(var e in = this.options.curAnim)c.style(this.elem,=0A= e,this.options.orig[e]);this.options.complete.call(this.elem)}return = false}else{e=3Db-this.startTime;this.state=3De/this.options.duration;a=3D= this.options.easing||(c.easing.swing?"swing":"linear");this.pos=3Dc.easin= g[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](t= his.state,e,0,1,this.options.duration);this.now=3Dthis.start+(this.end-th= is.start)*this.pos;this.update()}return = true}};c.extend(c.fx,{tick:function(){for(var = a=3Dc.timers,b=3D0;b
";=0A= a.insertBefore(b,a.firstChild);d=3Db.firstChild;f=3Dd.firstChild;e=3Dd.ne= xtSibling.firstChild.firstChild;this.doesNotAddBorder=3Df.offsetTop!=3D=3D= 5;this.doesAddBorderForTableAndCells=3De.offsetTop=3D=3D=3D5;f.style.posi= tion=3D"fixed";f.style.top=3D"20px";this.supportsFixedPosition=3Df.offset= Top=3D=3D=3D20||f.offsetTop=3D=3D=3D15;f.style.position=3Df.style.top=3D"= ";d.style.overflow=3D"hidden";d.style.position=3D"relative";this.subtract= sBorderForOverflowNotVisible=3Df.offsetTop=3D=3D=3D-5;this.doesNotInclude= MarginInBodyOffset=3Da.offsetTop!=3D=3Dj;a.removeChild(b);=0A= c.offset.initialize=3Dc.noop},bodyOffset:function(a){var = b=3Da.offsetTop,d=3Da.offsetLeft;c.offset.initialize();if(c.offset.doesNo= tIncludeMarginInBodyOffset){b+=3DparseFloat(c.curCSS(a,"marginTop",true))= ||0;d+=3DparseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d= }},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.s= tyle.position=3D"relative";var = f=3Dc(a),e=3Df.offset(),j=3DparseInt(c.curCSS(a,"top",true),10)||0,i=3Dpa= rseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=3Db.call(a,=0A= d,e);d=3D{top:b.top-e.top+j,left:b.left-e.left+i};"using"in = b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[= 0])return null;var = a=3Dthis[0],b=3Dthis.offsetParent(),d=3Dthis.offset(),f=3D/^body|html$/i.= test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=3DparseFloat(c.curCS= S(a,"marginTop",true))||0;d.left-=3DparseFloat(c.curCSS(a,"marginLeft",tr= ue))||0;f.top+=3DparseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.le= ft+=3DparseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.t= op-=0A= f.top,left:d.left-f.left}},offsetParent:function(){return = this.map(function(){for(var = a=3Dthis.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(= a,"position")=3D=3D=3D"static";)a=3Da.offsetParent;return = a})}});c.each(["Left","Top"],function(a,b){var = d=3D"scroll"+b;c.fn[d]=3Dfunction(f){var e=3Dthis[0],j;if(!e)return = null;if(f!=3D=3Dw)return = this.each(function(){if(j=3Dwa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?= f:c(j).scrollTop());else this[d]=3Df});else = return(j=3Dwa(e))?"pageXOffset"in j?j[a?"pageYOffset":=0A= "pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.docum= ent.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var = d=3Db.toLowerCase();c.fn["inner"+b]=3Dfunction(){return = this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=3Dfunction= (f){return = this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=3Dfuncti= on(f){var e=3Dthis[0];if(!e)return = f=3D=3Dnull?null:this;if(c.isFunction(f))return = this.each(function(j){var = i=3Dc(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in=0A= e&&e.document?e.document.compatMode=3D=3D=3D"CSS1Compat"&&e.document.docu= mentElement["client"+b]||e.document.body["client"+b]:e.nodeType=3D=3D=3D9= ?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElem= ent["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f=3D=3D= =3Dw?c.css(e,d):this.css(d,typeof = f=3D=3D=3D"string"?f:f+"px")}});A.jQuery=3DA.$=3Dc})(window);=0A= ------=_NextPart_000_0000_01CBE312.93321300 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.nasa.gov/js/327437main_nasaHome.js function processBlogRSS(rssxml,noOfItems,module,rsslink)=0A= {=0A= try=0A= {=0A= =0A= //alert("rssxml:"+rssxml);=0A= //alert("noOfItems:"+noOfItems);=0A= //alert("module:"+module);=0A= =0A= var randomnumberNew=3DMath.floor(Math.random()*11);=0A= var completeLiTag=3D"";=0A= if(module=3D=3D'blogsModule') {=0A= completeLiTag =3D new Element('div',{'id':'tempNasaBlogRss'});=0A= } else if (module=3D=3D 'twitterModule'){ =0A= completeLiTag =3D new = Element('ul',{'id':'tempNasaTwitterRss','className':'small_gray_scroll'})= ;=0A= }=0A= =0A= var chanElement =3D rssxml.getElementsByTagName("channel")[0];=0A= var itemElements =3D rssxml.getElementsByTagName("item");=0A= var mainTags =3D '';=0A= =0A= if (itemElements.length < 1)=0A= {=0A= throw err;=0A= } =0A= =0A= if(noOfItems=3D=3D'' || noOfItems=3D=3D'undefined' || = noOfItems=3D=3Dnull || noOfItems>itemElements.length){ =0A= noOfItems =3D itemElements.length;=0A= }=0A= =0A= =0A= if(itemElements.length>0){=0A= =0A= for (var i=3D0; i 38)=0A= {=0A= tmpTitleChild=3DtmpTitleChild.substring(0,34);=0A= if (tmpTitleChild.lastIndexOf(" ") > -1)=0A= = {tmpTitleChild=3DtmpTitleChild.substring(0,tmpTitleChild.lastIndexOf(" = "));}=0A= tmpTitleChild+=3D" ...";=0A= }=0A= =0A= if (tmpLink && tmpLink.childNodes[0])=0A= {=0A= tmpLinkChild =3D tmpLink.childNodes[0].nodeValue;=0A= }=0A= var tmpPubChild =3D tmpPubDate.childNodes[0].nodeValue;=0A= var tmpDescChild =3D tmpDesc.childNodes[0].nodeValue;=0A= var indexDot =3D tmpDescChild.indexOf('
');=0A= =0A= if(indexDot!=3D-1)=0A= {=0A= tmpDescChild =3D tmpDescChild.substring(0,indexDot);=0A= }=0A= =0A= //alert(tmpDescChild.length);=0A= if (tmpDescChild.length > 54)=0A= {=0A= tmpDescChild=3DtmpDescChild.substring(0,50);=0A= if (tmpDescChild.lastIndexOf(" ") > -1)=0A= = {tmpDescChild=3DtmpDescChild.substring(0,tmpDescChild.lastIndexOf(" "));}=0A= tmpDescChild+=3D" ...";=0A= }=0A= =0A= spanTag.update(timeDifference(tmpPubChild,'blogsModule'));=0A= pTag.update(tmpDescChild);=0A= =0A= if (tmpLink && tmpLink.childNodes[0])=0A= {=0A= =0A= var anchorTag =3D new = Element('a',{'className':'titlefield','href':tmpLinkChild});=0A= var boldTag =3D new Element('b',{});=0A= anchorTag.update(tmpTitleChild);=0A= liTag.insert(divTag);=0A= divTag.insert(boldTag);=0A= boldTag.insert(anchorTag);=0A= divTag.insert(spanTag);=0A= liTag.insert(pTag);=0A= =0A= }=0A= else=0A= {=0A= var spanTitle =3D new Element('b',{'className':'titlefield'});=0A= spanTitle.update(tmpTitleChild);=0A= liTag.insert(divTag);=0A= divTag.insert(spanTitle);=0A= divTag.insert(spanTag);=0A= liTag.insert(pTag);=0A= }=0A= =0A= completeLiTag.appendChild(liTag);=0A= }=0A= =0A= if (module=3D=3D'twitterModule'){=0A= =0A= =0A= =0A= tmpTitle=3D = itemElements[i].getElementsByTagName("title")[0];=0A= =0A= =0A= tmpLink =3D itemElements[i].getElementsByTagName("link")[0];=0A= tmpPubDate =3D = itemElements[i].getElementsByTagName("pubdate")[0];=0A= =0A= =0A= var liTag =3D new Element('li',{});=0A= var divTag =3D new Element('div',{});=0A= var spanTag =3D new Element('span',{'className':'datefield'});=0A= =0A= =0A= var tmpTitleChild1 =3D = tmpTitle.childNodes[0].nodeValue;=0A= =0A= =0A= =0A= =0A= var tmpTitleChild;=0A= =0A= =0A= =0A= if (tmpLink && tmpLink.childNodes[0])=0A= {=0A= tmpLinkChild =3D tmpLink.childNodes[0].nodeValue;=0A= }=0A= var tmpPubChild =3D tmpPubDate.childNodes[0].nodeValue;=0A= =0A= if (tmpLink && tmpLink.childNodes[0])=0A= {=0A= =0A= //tmpTitleChild =3D = tmpTitleChild1.replace(/(f|ht)tps?:\/\/.+?(\s|$)/g,"(link)");=0A= tmpTitleChild =3D = tmpTitleChild1.replace(/(f|ht)tps?:\/\/.+?(\s|$)/g,function(match){match=3D= match.replace(/^\s+|\s+$/g, '');=0A= if (((match.lastIndexOf('.')+1) =3D=3D match.length) && = (match.lastIndexOf('.') !=3D = -1)){match=3Dmatch.substring(0,match.lastIndexOf('.'));}/*alert("match:"+= match);*/var temp=3D"(link)";return temp;});=0A= =0A= //alert(tmpTitleChild);=0A= =0A= liTag.insert(tmpTitleChild);=0A= divTag.update("about "+timeDifference(tmpPubChild));=0A= liTag.insert(divTag);=0A= }=0A= else=0A= {=0A= var spanTitle =3D new = Element('div',{'className':'titlefield'});=0A= tmpTitleChild=3DtmpTitleChild1;=0A= spanTitle.update(tmpTitleChild);=0A= liTag.insert(spanTitle);=0A= divTag.update("about = "+timeDifference(tmpPubChild,'twitterModule'));=0A= liTag.insert(divTag);=0A= }=0A= =0A= //alert(liTag.innerHTML);=0A= completeLiTag.appendChild(liTag);=0A= }=0A= =0A= }=0A= =0A= var anchorTag1;=0A= if (module=3D=3D'twitterModule'){=0A= var liTag1 =3D new Element('li',{});=0A= if (rsslink !=3D undefined && rsslink !=3D '') =0A= {anchorTag1 =3D new = Element('a',{'className':'titlefield','href':rsslink});}=0A= else=0A= {anchorTag1 =3D new = Element('a',{'className':'titlefield','href':'http://twitter.com/nasa'});= }=0A= anchorTag1.setStyle({'float':'right'});=0A= anchorTag1.update('› More = Updates →');=0A= liTag1.insert(anchorTag1);=0A= completeLiTag.appendChild(liTag1);}=0A= =0A= =0A= }=0A= =0A= =0A= var dummyParent =3D "";=0A= var tempDiv =3D "";=0A= =0A= if(module=3D=3D'blogsModule') {=0A= dummyParent =3D $('nasablogs_recentpostings').parentNode;=0A= tempDiv =3D $('tempNASABlogRss');=0A= }=0A= else if (module=3D=3D'twitterModule')=0A= {=0A= dummyParent =3D $('nasatwitter_recenttweets').parentNode;=0A= tempDiv =3D $('tempNASATwitterRss');=0A= }=0A= =0A= if(tempDiv!=3Dnull){=0A= tempDiv.remove();=0A= }=0A= =0A= dummyParent.appendChild(completeLiTag);=0A= =0A= =0A= =0A= if(module=3D=3D'blogsModule') {=0A= $('nasablogs_recentpostings').innerHTML=3D'';=0A= }=0A= =0A= if(module=3D=3D'twitterModule') {=0A= $('nasatwitter_recenttweets').innerHTML=3D'';=0A= }=0A= =0A= }=0A= catch(err)=0A= {=0A= if(module=3D=3D'blogsModule'){=0A= try=0A= {=0A= $('blog_dynamic_html').hide();=0A= = document.getElementById('blog_static_html').style.display=3D'block';=0A= = document.getElementById('blog_static_html').style.visibility=3D'visible';=0A= }=0A= catch (err)=0A= {=0A= }=0A= }=0A= else if (module=3D=3D'twitterModule'){=0A= try=0A= {=0A= $('nasa_ticker').hide();=0A= = document.getElementById('nasa_ticker_static_msg').style.display=3D'block'= ;=0A= = document.getElementById('nasa_ticker_static_msg').style.visibility=3D'vis= ible';=0A= }=0A= catch (err)=0A= {=0A= }=0A= }=0A= else {=0A= }=0A= }=0A= =0A= }=0A= =0A= function timeDifference(tmpPubChild,module)=0A= {=0A= =0A= try=0A= {=0A= =0A= var date =3D new Date(tmpPubChild);=0A= var date1=3D new Date();=0A= //alert("date:"+date);=0A= //alert("date1:"+date1);=0A= =0A= =0A= var difference =3D date1.getTime() - date.getTime();=0A= var daysDifference =3D Math.floor(difference/1000/60/60/24);=0A= difference -=3D daysDifference*1000*60*60*24=0A= var hoursDifference =3D Math.floor(difference/1000/60/60);=0A= difference -=3D hoursDifference*1000*60*60=0A= var minutesDifference =3D Math.floor(difference/1000/60);=0A= difference -=3D minutesDifference*1000*60=0A= var secondsDifference =3D Math.floor(difference/1000);=0A= =0A= /*alert(32 - new Date (2008,1,32).getDate());*/=0A= =0A= if ( daysDifference > 0 )=0A= {=0A= if( daysDifference >=3D 365 )=0A= {=0A= var year =3D date1.getFullYear()-date.getFullYear();=0A= if(year=3D=3D0)year=3D1;=0A= tmpPubChild =3D year + (year>1?" years":" year") + " ago";=0A= }=0A= else=0A= {=0A= var month =3D 0;=0A= if ( daysDifference > (32 - new Date = (date.getFullYear(),date.getMonth(),32).getDate()))=0A= {=0A= month =3D = Math.abs(((date1.getFullYear()-date.getFullYear())*12)+(date1.getMonth()-= date.getMonth()));=0A= }=0A= =0A= if(month>0)=0A= {=0A= tmpPubChild =3D month + (month>1?" months":" = month") + " ago";=0A= }=0A= else=0A= {=0A= tmpPubChild =3D daysDifference + = (daysDifference>1?" days":" day") + " ago";=0A= }=0A= =0A= }=0A= =0A= }=0A= else if(hoursDifference>0)=0A= {=0A= tmpPubChild =3D hoursDifference + (hoursDifference>1?" hours":" = hour") + " ago";=0A= }=0A= else if(minutesDifference>0)=0A= {=0A= tmpPubChild =3D minutesDifference + (minutesDifference>1?" = mins":" min") + " ago";=0A= }=0A= else if(secondsDifference>0)=0A= {=0A= tmpPubChild =3D secondsDifference + (secondsDifference>1?" = secs":" sec") + " ago";=0A= }=0A= else=0A= {=0A= tmpPubChild =3D "just now";=0A= }=0A= =0A= //alert(tmpPubChild);=0A= return tmpPubChild;=0A= =0A= }=0A= catch(err)=0A= {=0A= if(module=3D=3D'blogsModule'){=0A= try=0A= {=0A= $('blog_dynamic_html').hide();=0A= = document.getElementById('blog_static_html').style.display=3D'block';=0A= = document.getElementById('blog_static_html').style.visibility=3D'visible';=0A= }=0A= catch (err)=0A= {=0A= }=0A= }=0A= else if (module=3D=3D'twitterModule'){=0A= try=0A= {=0A= $('nasa_ticker').hide();=0A= = document.getElementById('nasa_ticker_static_msg').style.display=3D'block'= ;=0A= = document.getElementById('nasa_ticker_static_msg').style.visibility=3D'vis= ible';=0A= }=0A= catch (err)=0A= {=0A= }=0A= }=0A= else {=0A= }=0A= }=0A= =0A= }=0A= =0A= function = nasaHomeNextItem(divid,nasaHomeCurrentItem,nasaHomeTotalItems,image)=0A= {=0A= =0A= try=0A= { =0A= =0A= //alert($(nasaHomeCurrentItem).value); =0A= //alert(($(nasaHomeCurrentItem).value+1));=0A= //alert(parseInt($(nasaHomeCurrentItem).value)+1);=0A= =0A= var currentItem=3DparseInt($(nasaHomeCurrentItem).value);=0A= var totalItems=3DnasaHomeTotalItems;=0A= =0A= // alert(currentItem);=0A= // alert(totalItems);=0A= // alert(divid+currentItem);=0A= =0A= if ((currentItem+1) < totalItems){=0A= $(divid+currentItem).setStyle({display: 'none',visibility: = 'hidden'});=0A= $(divid+(currentItem+1)).setStyle({display: 'block',visibility: = 'visible'});=0A= }=0A= =0A= if (currentItem =3D=3D totalItems-1){ =0A= $(divid+currentItem).setStyle({display: 'none',visibility: = 'hidden'});=0A= $(divid+'0').setStyle({display: 'block',visibility: 'visible'});=0A= }=0A= =0A= =0A= =0A= if ($(image+currentItem)){=0A= $(image+currentItem).removeClassName('active');=0A= $(image+currentItem).addClassName('inactive');=0A= }=0A= =0A= =0A= if (currentItem =3D=3D totalItems-1){=0A= $(nasaHomeCurrentItem).value=3D0;=0A= currentItem=3D0;=0A= }=0A= else{=0A= $(nasaHomeCurrentItem).value=3DcurrentItem+1;=0A= currentItem=3DcurrentItem+1;=0A= }=0A= =0A= =0A= if ($(image+currentItem)){=0A= $(image+currentItem).removeClassName('inactive');=0A= $(image+currentItem).addClassName('active');=0A= }=0A= =0A= }=0A= catch(err)=0A= {=0A= =0A= }=0A= }=0A= =0A= function = nasaHomeCurrentItem(divid,nasaHomeCurrentItem,nasaHomeTotalItems,image,it= em)=0A= {=0A= =0A= try=0A= {=0A= =0A= var currentItem=3DparseInt($(nasaHomeCurrentItem).value);=0A= if($(image+currentItem)){=0A= $(image+currentItem).removeClassName('active');=0A= $(image+currentItem).addClassName('inactive');=0A= }=0A= =0A= //alert(divid+parseInt($(nasaHomeCurrentItem).value));=0A= $(divid+parseInt($(nasaHomeCurrentItem).value)).setStyle({display: = 'none',visibility: 'hidden'});=0A= $(divid+item).setStyle({display: 'block',visibility: 'visible'});=0A= =0A= =0A= $(nasaHomeCurrentItem).value=3Ditem;=0A= =0A= =0A= if ($(image+item))=0A= {=0A= $(image+item).removeClassName('inactive');=0A= $(image+item).addClassName('active');=0A= }=0A= =0A= }=0A= catch(err)=0A= {=0A= =0A= }=0A= }=0A= =0A= =0A= function = nasaHomePrevItem(divid,nasaHomeCurrentItem,nasaHomeTotalItems,image)=0A= {=0A= =0A= try=0A= {=0A= =0A= =0A= //alert(parseInt($(nasaHomeCurrentItem).value)+1);=0A= var currentItem=3DparseInt($(nasaHomeCurrentItem).value);=0A= var totalItems=3DnasaHomeTotalItems;=0A= =0A= =0A= if ((currentItem < totalItems) && (currentItem > 0))=0A= { $(divid+currentItem).setStyle({display: 'none',visibility: = 'hidden'});=0A= $(divid+(currentItem-1)).setStyle({display: 'block',visibility: = 'visible'});=0A= }=0A= =0A= if (currentItem =3D=3D 0)=0A= { $(divid+currentItem).setStyle({display: 'none',visibility: = 'hidden'});=0A= $(divid+(totalItems-1)).setStyle({display: 'block',visibility: = 'visible'});=0A= }=0A= =0A= if ($(image+currentItem)){=0A= $(image+currentItem).removeClassName('active');=0A= $(image+currentItem).addClassName('inactive');=0A= }=0A= =0A= if (currentItem =3D=3D 0){=0A= $(nasaHomeCurrentItem).value=3DtotalItems-1;=0A= currentItem=3DtotalItems-1; =0A= }=0A= else{=0A= $(nasaHomeCurrentItem).value=3DcurrentItem-1;=0A= currentItem=3DcurrentItem-1;=0A= }=0A= =0A= if ($(image+currentItem)){=0A= $(image+currentItem).removeClassName('inactive');=0A= $(image+currentItem).addClassName('active');=0A= }=0A= =0A= }=0A= catch(err)=0A= {=0A= =0A= }=0A= }=0A= =0A= function processBaynoteData(rssxml,noOfItems,module,divid,item)=0A= {=0A= //alert("module:"+module);=0A= //alert("rssxml:"+rssxml);=0A= //alert("noOfItems:"+noOfItems);=0A= //alert("divid:"+divid);=0A= //alert("item:"+item);=0A= =0A= try{=0A= =0A= var itemElements=3D"";=0A= var completeLiTag=3D"";=0A= =0A= if (module=3D=3D'ratingsModule5'){=0A= =0A= var ratingsXML=3Drssxml.replace(/^\s+|\s+$/g, '');=0A= =0A= //alert("ratingsXML:"+ratingsXML);=0A= completeLiTag =3D new = Element('div',{'id':'tempNasaPortalBaynoteData','className':'small_gray_s= croll'});=0A= =0A= var matches=3DratingsXML.match(/.+?<\/link>/g);=0A= //alert(matches.length);=0A= var titles=3DratingsXML.match(/.+?<\/title>/g);=0A= //alert(titles.length);=0A= =0A= for (var i =3D 0, len =3D matches.length; i < len && i < (noOfItems+1) = && matches.length =3D=3D titles.length ; i++) {=0A= =0A= if (matches[i].indexOf("TopRatings.rss") =3D=3D -1 && = titles[i].indexOf("rated articles from") =3D=3D -1 ){=0A= =0A= var tempLink=3Dmatches[i].replace("<link>","");=0A= var tempLink1=3DtempLink.replace("</link>","");=0A= =0A= var tempTitle=3Dtitles[i].replace("<title>","");=0A= var tempTitle1=3DtempTitle.replace("","");=0A= =0A= //alert(tempLink1);=0A= //alert(tempTitle1);=0A= var liTag =3D new Element('li',{'className':'baynote'});=0A= var anchorTag =3D new = Element('a',{'className':'ratingLink','href':tempLink1});=0A= anchorTag.update(tempTitle1);=0A= liTag.appendChild(anchorTag);=0A= //alert(liTag.innerHTML);=0A= completeLiTag.appendChild(liTag);=0A= =0A= }=0A= }=0A= =0A= }else{=0A= itemElements =3D rssxml.getElementsByTagName("r");=0A= =0A= =0A= if(itemElements.length>0){=0A= =0A= completeLiTag =3D new = Element('div',{'id':'tempNasaPortalBaynoteData','className':'small_gray_s= croll'});=0A= =0A= =0A= for (var i=3D0; i -1){=0A= //alert(url.substring(param.indexOf("¶m=3D")+7,param.length));=0A= var = temp=3Dparam.substring(param.indexOf("¶m=3D")+7,param.length);=0A= //alert(temp);=0A= var temp1=3Dtemp.split("|");=0A= //alert(temp1.length);=0A= =0A= var param1=3D"",param2=3D"",param3=3D"",param4=3D"";=0A= =0A= for (var j=3D0; temp1.length >0 && j 0){=0A= multiImage =3D multiImageArray[0];=0A= }=0A= =0A= =0A= var imgTag =3D new = Element('img',{'className':'baynoteImg','src':multiImage,'width':'64','he= ight':'48','title':itemElements[i].getAttribute('t'),'alt':itemElements[i= ].getAttribute('t')});=0A= var spanTag =3D new = Element('span',{'className':'baynoteImgTitle'});=0A= =0A= =0A= var imgTitle=3DitemElements[i].getAttribute('t');=0A= //alert(imgTitle.length);=0A= /*if (imgTitle.length > 38)=0A= {=0A= imgTitle=3DimgTitle.substring(0,34);=0A= if (imgTitle.lastIndexOf(" ") > -1)=0A= = {imgTitle=3DimgTitle.substring(0,imgTitle.lastIndexOf(" "));}=0A= imgTitle+=3D" ...";=0A= }*/=0A= =0A= spanTag.update(imgTitle);=0A= var anchorTag =3D new = Element('a',{'className':'baynoteLinks','href':itemElements[i].getAttribu= te('u')});=0A= anchorTag.appendChild(imgTag);=0A= var anchorTag1 =3D new = Element('a',{'className':'baynoteLinks','href':itemElements[i].getAttribu= te('u')});=0A= anchorTag1.appendChild(spanTag);=0A= =0A= divTag.appendChild(anchorTag);=0A= divTag1.appendChild(anchorTag1);=0A= liTag.appendChild(divTag);=0A= liTag.appendChild(divTag1);=0A= =0A= completeLiTag.appendChild(liTag);=0A= =0A= }else{=0A= noOfItems=3DnoOfItems+1;=0A= }=0A= =0A= }else if (module=3D=3D'baynoteModule1'){=0A= =0A= =0A= var tnImage =3D = itemElements[i].getElementsByTagName("labels")[0];=0A= =0A= if (tnImage.getElementsByTagName("l")[0]!=3D null && = itemElements[i].getAttribute('u') !=3D "undefined" && = itemElements[i].getAttribute('u') !=3D eval("") && = itemElements[i].getAttribute('u') !=3D "null" && = itemElements[i].getAttribute('u') !=3D null && = itemElements[i].getAttribute('u') !=3D "undefined" && = itemElements[i].getAttribute('u') !=3D eval("") && = itemElements[i].getAttribute('u') !=3D "null" && = itemElements[i].getAttribute('t') !=3D null && = itemElements[i].getAttribute('t') !=3D "undefined" && = itemElements[i].getAttribute('t') !=3D eval("") && = itemElements[i].getAttribute('t') !=3D "null"){=0A= =0A= var liTag =3D new Element('li',{'className':'baynote'});=0A= var tnImage1=3D tnImage.getElementsByTagName("l")[0];=0A= =0A= var divTag =3D new = Element('div',{'className':'baynoteImgDivLeft'});=0A= var divTag1 =3D new = Element('div',{'className':'baynoteImgDivRight'});=0A= =0A= var imgTag =3D new = Element('img',{'className':'baynoteImg','src':tnImage1.getAttribute('v'),= 'width':'64','height':'48','title':itemElements[i].getAttribute('t'),'alt= ':itemElements[i].getAttribute('t')});=0A= var spanTag =3D new = Element('span',{'className':'baynoteImgTitle'});=0A= =0A= =0A= var imgTitle=3DitemElements[i].getAttribute('t');=0A= //alert(imgTitle.length);=0A= /*if (imgTitle.length > 38)=0A= {=0A= imgTitle=3DimgTitle.substring(0,34);=0A= if (imgTitle.lastIndexOf(" ") > -1)=0A= = {imgTitle=3DimgTitle.substring(0,imgTitle.lastIndexOf(" "));}=0A= imgTitle+=3D" ...";=0A= }*/=0A= =0A= spanTag.updat