var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav2 = (is_nav && (is_major == 2));
var is_nav3 = (is_nav && (is_major == 3));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4up = (is_nav && (is_major >= 4));
var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||
(agt.indexOf("; nav") != -1)) );
var is_nav6 = (is_nav && (is_major == 5));
var is_nav6up = (is_nav && (is_major >= 5));
var is_gecko = (agt.indexOf('gecko') != -1);
var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3    = (is_ie && (is_major < 4));
var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie4up  = (is_ie && (is_major >= 4));
var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
var is_aol   = (agt.indexOf("aol") != -1);
var is_aol3  = (is_aol && is_ie3);
var is_aol4  = (is_aol && is_ie4);
var is_aol5  = (agt.indexOf("aol 5") != -1);
var is_aol6  = (agt.indexOf("aol 6") != -1);
var is_opera = (agt.indexOf("opera") != -1);
var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);
var is_webtv = (agt.indexOf("webtv") != -1); 
var is_TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1)); 
var is_AOLTV = is_TVNavigator;
var is_hotjava = (agt.indexOf("hotjava") != -1);
var is_hotjava3 = (is_hotjava && (is_major == 3));
var is_hotjava3up = (is_hotjava && (is_major >= 3));
var is_js;
if (is_nav2 || is_ie3) is_js = 1.0;
else if (is_nav3) is_js = 1.1;
else if (is_opera5up) is_js = 1.3;
else if (is_opera) is_js = 1.1;
else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;
else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;
else if (is_hotjava3up) is_js = 1.4;
else if (is_nav6 || is_gecko) is_js = 1.5;
else if (is_nav6up) is_js = 1.5;
else if (is_ie5up) is_js = 1.3
else is_js = 0.0;
var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));
var is_win16 = ((agt.indexOf("win16")!=-1) || 
(agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || 
(agt.indexOf("windows 16-bit")!=-1) );  
var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
(agt.indexOf("windows 16-bit")!=-1));
var is_winme = ((agt.indexOf("win 9x 4.90")!=-1));
var is_win2k = ((agt.indexOf("windows nt 5.0")!=-1));
var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
var is_win32 = (is_win95 || is_winnt || is_win98 || 
((is_major >= 4) && (navigator.platform == "Win32")) ||
(agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));
var is_os2   = ((agt.indexOf("os/2")!=-1) || 
(navigator.appVersion.indexOf("OS/2")!=-1) ||   
(agt.indexOf("ibm-webexplorer")!=-1));
var is_mac    = (agt.indexOf("mac")!=-1);
if (is_mac && is_ie5up) is_js = 1.4;
var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) || 
(agt.indexOf("68000")!=-1)));
var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) || 
(agt.indexOf("powerpc")!=-1)));
var is_sun   = (agt.indexOf("sunos")!=-1);
var is_sun4  = (agt.indexOf("sunos 4")!=-1);
var is_sun5  = (agt.indexOf("sunos 5")!=-1);
var is_suni86= (is_sun && (agt.indexOf("i86")!=-1));
var is_irix  = (agt.indexOf("irix") !=-1);        var is_irix5 = (agt.indexOf("irix 5") !=-1);
var is_irix6 = ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1));
var is_hpux  = (agt.indexOf("hp-ux")!=-1);
var is_hpux9 = (is_hpux && (agt.indexOf("09.")!=-1));
var is_hpux10= (is_hpux && (agt.indexOf("10.")!=-1));
var is_aix   = (agt.indexOf("aix") !=-1);          var is_aix1  = (agt.indexOf("aix 1") !=-1);    
var is_aix2  = (agt.indexOf("aix 2") !=-1);    
var is_aix3  = (agt.indexOf("aix 3") !=-1);    
var is_aix4  = (agt.indexOf("aix 4") !=-1);    
var is_linux = (agt.indexOf("inux")!=-1);
var is_sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);
var is_unixware = (agt.indexOf("unix_system_v")!=-1); 
var is_mpras    = (agt.indexOf("ncr")!=-1); 
var is_reliant  = (agt.indexOf("reliantunix")!=-1);
var is_dec   = ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) || 
(agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) || 
(agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1)); 
var is_sinix = (agt.indexOf("sinix")!=-1);
var is_freebsd = (agt.indexOf("freebsd")!=-1);
var is_bsd = (agt.indexOf("bsd")!=-1);
var is_unix  = ((agt.indexOf("x11")!=-1) || is_sun || is_irix || is_hpux || 
is_sco ||is_unixware || is_mpras || is_reliant || 
is_dec || is_sinix || is_aix || is_linux || is_bsd || is_freebsd);
var is_vms   = ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1));
function cookiePresent(inCookieName){
if (getCookie(inCookieName)==''){
return false;
}
else{
return true;
}
}
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
document.cookie = name + "=" + 
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
function getCookie(Name) {
var search = Name + "="
var outValue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 			offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1){
end = document.cookie.length;
}
outValue=unescape(document.cookie.substring(offset, end))
}
}
return outValue;
}
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
document.cookie = curCookie;
}
function showCookiesAlert(){
alert('This documents cookies are: ' + document.cookie);
}
function cookiesEnabled(){
var TEST_COOKIE_NAME = 'ngs_cookies_enabled';
var TEST_COOKIE_VALUE = 'foo';
var TEST_COOKIE_PATH = '/';
var TEST_COOKIE_DOMAIN = '.nationalgeographic.com';
var TEST_DEBUG = 0;
var expires = 0; var cookiesEnabled = 0;
var cookieValue = '';
setCookie(TEST_COOKIE_NAME, TEST_COOKIE_VALUE, expires, TEST_COOKIE_PATH, TEST_COOKIE_DOMAIN);
cookieValue = getCookie(TEST_COOKIE_NAME);
if (cookieValue == TEST_COOKIE_VALUE){
cookiesEnabled = 1;
}
if (TEST_DEBUG){
if (cookiesEnabled){
alert('cookies enabled');
}
else{
alert('cookies disabled');
}
}
return cookiesEnabled;
}
function ngsOpenWindow(inURL, inWidth, inHeight, inName, inHasScrollbars){
var param3 = "height=" + inHeight + ",width=" + inWidth + ",toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,scrollbars=" + inHasScrollbars;
out_window = window.open(inURL, inName, param3);
return out_window;
}
function ngsOpenWindowAtPosition(inURL, inWidth, inHeight, inLeft, inTop, inName, inHasScrollbars){
var param3 = "height=" + inHeight + ",width=" + inWidth + ",left=" + inLeft + ",top=" + inTop + ",toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,scrollbars=" + inHasScrollbars;
out_window = window.open(inURL, inName, param3);
return out_window;
}
function ngsLaunchWindow(inURL, inWidth, inHeight, inName, inHasScrollbars){
ngsOpenWindow(inURL, inWidth, inHeight, inName, inHasScrollbars);
}
var debugLevel1 = 0;
var debugLevel2 = 0;
var debugLevel3 = 0;
var LAYER_OVER = "over";
var LAYER_UNDER = "under";
var NG_DOMAIN = ".nationalgeographic.com";
var SW_PATH_SEPARATOR = '|';
var SW_ACTIVE_COOKIE_NAME = "sw_active";
var SW_RTBL_COOKIE_NAME = "sw_rtbl";
var SW_MAX_WINDOW_HEIGHT = 445;
var SW_COUNTER_COOKIE_NAME = "sw_counter";
var SW_COUNTER_COOKIE_PATH = "/";
var SW_COUNTER_COOKIE_DOMAIN = NG_DOMAIN;
var SW_MUNGE_COOKIE_VERSION = "00001.06"; 
var SW_MUNGE_COOKIE_NAME = 'swmc';
var SW_MUNGE_COOKIE_RECORD_SEPARATOR = '|';
var SW_MUNGE_COOKIE_FIELD_SEPARATOR = '\t';
var SW_MUNGE_COOKIE_MAX_RECORDS = 50;
var SW_MUNGE_COOKIE_PATH = "/";
var SW_MUNGE_COOKIE_DOMAIN = NG_DOMAIN;
var SW_MUNGE_COOKIE_VERSION_OFFSET = 0;
var SW_MUNGE_COOKIE_VERSION_LENGTH = 8;
var SW_MUNGE_COOKIE_HEADER_LENGTH = 32;
var SW_MUNGE_DATA_SEQUENCE_ID_INDEX = 0;
var SW_MUNGE_DATA_SEQUENCE_LIFETIME_INDEX = 1;
var SW_MUNGE_DATA_SEQUENCE_START_DATE_INDEX = 2;
var SW_MUNGE_DATA_CUR_ENTRY_INDEX_INDEX = 3;
var SW_MUNGE_DATA_CUR_ENTRY_LIFETIME_INDEX = 4;
var SW_MUNGE_DATA_CUR_ENTRY_START_DATE_INDEX = 5;
var SW_CONTENT_ID_COOKIE_NAME_PREFIX = 'sw_content_id_';
var SW_SESSION_SW_MAX = 4; var SW_REQUEST_LAYER_OVER_MAX = 1; var SW_REQUEST_LAYER_UNDER_MAX = 1; 
var SW_DEFAULT_LEFT_POSITION = 240;
var SW_DEFAULT_TOP_POSITION = 300;
var SW_PATH_OBJECT_ID_INDEX = 0;
var SW_PATH_OBJECT_PATH_INDEX = 1;
var swPathObject = new Array(
new Array(1, "/explore/|/adventure/calendar|/chiquibul/|/dinoquest/|/everest/|/features/outpost/|/outthere/|/pathtoadventure/|/selway/|/ice/|/teamrace/|/volvooceanrace/|/whitbread/"),
new Array(2, "/crittercam/|/polarbearcam/|/bearcam/|/ottercam/|/sealcam/|/stellercam/|/seabirdcam/|/animals/|/cats/|/congotrek/|/congotrek360/|/crocmap/|/dinoeggs/|/dinorama/|/earthpulse/|/firecall/|/fourcorners/|/habitats/|/kaikoura/|/kingcobra/|/monterey/|/okavango/|/parasites/|/burrow/|/pulseplanet/|/refuges/|/supercroc/|/seas/|/tarantulas/|/nichols/|/volcanoes/|/wildworld/"),
new Array(3, "/bookclub/|/education/teacher_community/|/education/|/challenge/|/geographyaction/|/gaw/|/geobee/|/geographybee/|/geoguide/|/homework/|/parents/|/xpeditions/"),
new Array(4, "/3cities/|/africa/|/americanplaces/|/andes/|/downunder/|/blacksea/|/coffee/|/contact/|/egypt/|/faces/|/keys/|/lantern/|/gaza/|/genghis/|/history/|/mummy/|/k2/|/K2/|/lewisclark/|/treasures/|/copan/|/mexico/|/midway/|/flamingo/|/salem/|/silverbank/|/tattoos/|/railroad/|/whitehouse/|/whydah/"),
new Array(5, "/kids/ngo/cartoons/|/coloringbook/|/kids/creature_feature/|/tigers/|/forest/|/castles/|/grimm/|/kids/|/bureau/|/pirates/|/rwa/|/sharks/|/west/|/yellowstone/"),
new Array(6, "/|/index.html|/siteindex/|/search.html"),
new Array(7, "/landincrisis/|/maps/|/nyunderground/"),
new Array(8, "/news/|/radiox/|/news/sonydigitallifestyles/"),
new Array(9, "/adventure/"),
new Array(10, "/books/"),
new Array(11, "/tv/channel/"),
new Array(12, "/ngforkids/|/ngexplorer/"),
new Array(13, "/ngm/"),
new Array(14, "/ngbeyond/|/tv/explorer/|/voices/|/fieldtales/"),
new Array(15, "/lightning/|/world/|/ngkids/"),
new Array(16, "/photography/|/cgi-bin/pod/"),
new Array(17, "/sealab/antarctica/|/asteroids/|/elnino/|/eye/|/mars/|/science/|/solarsystem/|/sound/|/stars/|/wave/"),
new Array(18, "/about/|/birth/|/corner/|/community/|/research/|/events/|/explorer/|/council/|/community/faq|/help/|/lectures/"),
new Array(19, "/greatland/|/traveler/calendar/|/toolbox/currency/|/destinations/|/ngexpeditions/|/features/01/nomad/nepal/|/nomad/nepal/|/travel/"),
new Array(20, "/traveler/")
);
var SW_CREATION_TYPE_ID_INDEX = 0;
var SW_CREATION_TYPE_NAME_INDEX = 1;
var swCreationType = new Array(
new Array(1, "path entry"),
new Array(2, "path exit"),
new Array(3, "site entry"),
new Array(4, "site exit")
);
var SW_LAYER_ID_INDEX = 0;
var SW_LAYER_NAME_INDEX = 1;
var swLayer = new Array(
new Array(1, "over"),
new Array(2, "under")
);
var SW_CONTENT_ID_INDEX = 0;
var SW_CONTENT_URL_INDEX = 1;
var SW_CONTENT_WIDTH_INDEX = 2;
var SW_CONTENT_HEIGHT_INDEX = 3;
var swContent = new Array(
new Array(1, "/scw/ferg_judge_popunder.html", 515, 445),
new Array(2, "/scw/adventure_0209_sub_popup.html", 250, 250),
new Array(3, "/scw/ngm_0209_sub_popup.html", 328, 251),
new Array(4, "/scw/traveler_0209_sub_popup.html", 250, 250),
new Array(5, "/scw/ngkids_launch_popup.html", 250, 250),
new Array(6, "/scw/books_k19_popup.html", 320, 248),
new Array(7, "/scw/ngm_0204_worldmap_popup.html", 328, 251),
new Array(8, "/scw/ngk_0210_sub_popunder.html", 515, 422),
new Array(9, "/scw/traveler1_0210_sub_popup.html", 250, 250),
new Array(10, "/scw/traveler2_0210_sub_popup.html", 250, 250),
new Array(11, "/scw/traveler3_0210_sub_popup.html", 250, 250),
new Array(12, "/scw/adventure1_0210_sub_popup.html", 250, 250),
new Array(13, "/scw/adventure2_0210_sub_popup.html", 250, 250),
new Array(14, "/scw/adventure3_0210_sub_popup.html", 250, 250),
new Array(15, "/scw/ngm1_0211_sub_popup.html", 320, 249),
new Array(16, "/scw/ngm2_0211_sub_popup.html", 320, 249),
new Array(17, "/scw/kids1_0211_sub_popup.html", 250, 250),
new Array(18, "/scw/kids2_0211_sub_popup.html", 250, 250),
new Array(19, "/scw/wildlife_0211_popunder.html", 515, 437),
new Array(20, "/scw/ngm_0212_sub_popup.html", 320, 249),
new Array(21, "/scw/kids_0212_sub_popup.html", 320, 249),
new Array(22, "/scw/adventure_0212_sub_popup.html", 320, 249),
new Array(23, "/scw/traveler_0212_sub_popup.html", 320, 249),
new Array(24, "/scw/ngm_kids_0212_popunder.html", 515, 426),
new Array(25, "/scw/mission_0301_donate_popunder.html", 541, 446)
);
var SW_SEQUENCE_SEQUENCE_ID_INDEX = 0;
var SW_SEQUENCE_PATH_OBJECT_ID_INDEX = 1;
var SW_SEQUENCE_CREATION_TYPE_ID_INDEX = 2;
var SW_SEQUENCE_LIFETIME_INDEX = 3;
var swSequence = new Array(
new Array(1, 1, 1, 86400000),
new Array(2, 1, 1, 259200000),
new Array(3, 2, 1, 300000),
new Array(4, 2, 1, 259200000),
new Array(5, 3, 1, 86400000),
new Array(6, 3, 1, 259200000),
new Array(7, 4, 1, 86400000),
new Array(8, 4, 1, 259200000),
new Array(9, 5, 1, 86400000),
new Array(10, 5, 1, 259200000),
new Array(11, 6, 1, 86400000),
new Array(12, 6, 1, 259200000),
new Array(13, 7, 1, 86400000),
new Array(14, 7, 1, 259200000),
new Array(15, 8, 1, 86400000),
new Array(16, 8, 1, 259200000),
new Array(17, 9, 1, 86400000),
new Array(18, 9, 1, 259200000),
new Array(19, 10, 1, 86400000),
new Array(20, 10, 1, 259200000),
new Array(21, 11, 1, 86400000),
new Array(22, 11, 1, 259200000),
new Array(23, 12, 1, 86400000),
new Array(24, 12, 1, 259200000),
new Array(25, 13, 1, 86400000),
new Array(26, 13, 1, 259200000),
new Array(27, 14, 1, 86400000),
new Array(28, 14, 1, 259200000),
new Array(29, 15, 1, 86400000),
new Array(30, 15, 1, 259200000),
new Array(31, 16, 1, 86400000),
new Array(32, 16, 1, 259200000),
new Array(33, 17, 1, 86400000),
new Array(34, 17, 1, 259200000),
new Array(35, 18, 1, 86400000),
new Array(36, 18, 1, 259200000),
new Array(37, 19, 1, 86400000),
new Array(38, 19, 1, 259200000),
new Array(39, 20, 1, 86400000),
new Array(40, 20, 1, 259200000)
);
var SW_SEQUENCE_ENTRY_SEQUENCE_ID_INDEX = 0;
var SW_SEQUENCE_ENTRY_ENTRY_INDEX_INDEX = 1;
var SW_SEQUENCE_ENTRY_CONTENT_ID_INDEX = 2;
var SW_SEQUENCE_ENTRY_LAYER_ID_INDEX = 3;
var SW_SEQUENCE_ENTRY_LIFETIME_INDEX = 4;
var swSequenceEntry = new Array(
new Array(1, 1, 25, 2, 86400000),
new Array(2, 1, 12, 1, 300000),
new Array(3, 1, 25, 2, 86400000),
new Array(4, 1, 15, 1, 300000),
new Array(4, 2, 17, 1, 300000),
new Array(5, 1, 25, 2, 86400000),
new Array(6, 1, 17, 1, 300000),
new Array(6, 2, 15, 1, 300000),
new Array(7, 1, 25, 2, 86400000),
new Array(8, 1, 15, 1, 300000),
new Array(8, 2, 9, 1, 300000),
new Array(9, 1, 25, 2, 86400000),
new Array(10, 1, 17, 1, 300000),
new Array(11, 1, 25, 2, 86400000),
new Array(12, 1, 15, 1, 300000),
new Array(12, 2, 17, 1, 300000),
new Array(13, 1, 25, 2, 86400000),
new Array(14, 1, 15, 1, 300000),
new Array(14, 2, 17, 1, 300000),
new Array(15, 1, 25, 2, 86400000),
new Array(16, 1, 15, 1, 300000),
new Array(16, 2, 9, 1, 300000),
new Array(16, 3, 17, 1, 300000),
new Array(16, 4, 12, 1, 300000),
new Array(17, 1, 25, 2, 86400000),
new Array(18, 1, 12, 1, 300000),
new Array(19, 1, 25, 2, 86400000),
new Array(21, 1, 25, 2, 86400000),
new Array(22, 1, 20, 1, 300000),
new Array(23, 1, 25, 2, 86400000),
new Array(25, 1, 25, 2, 86400000),
new Array(26, 1, 15, 1, 300000),
new Array(27, 1, 25, 2, 86400000),
new Array(28, 1, 9, 1, 300000),
new Array(29, 1, 25, 2, 86400000),
new Array(30, 1, 17, 1, 300000),
new Array(31, 1, 25, 2, 86400000),
new Array(32, 1, 15, 1, 300000),
new Array(32, 2, 9, 1, 300000),
new Array(33, 1, 25, 2, 86400000),
new Array(34, 1, 15, 1, 300000),
new Array(35, 1, 25, 2, 86400000),
new Array(36, 1, 15, 1, 300000),
new Array(36, 2, 17, 1, 300000),
new Array(37, 1, 25, 2, 86400000),
new Array(38, 1, 9, 1, 300000),
new Array(38, 2, 12, 1, 300000),
new Array(39, 1, 25, 2, 86400000),
new Array(40, 1, 9, 1, 300000)
);
var SW_PATH_BLACK_LIST_ID_INDEX = 0;
var SW_PATH_BLACK_LIST_PATH_INDEX = 1;
var swPathBlackList = new Array(
new Array(1, "/egyptjournal/index.html"),
new Array(2, "/adventure/0209/aolonly/dispatch_1.html"),
new Array(3, "/xpeditions/"),
new Array(4, "/news/2002/09/0913_020913_antietamwire.html"),
new Array(5, "/news/2002/09/0910_020913_egypt_1.html"),
new Array(6, "/news/2002/09/0917_020919_pilas.html"),
new Array(7, "/news/2002/09/0917_020918_dinosaur.html"),
new Array(8, "/news/2002/08/0805_020805_giza.html"),
new Array(9, "/news/2002/09/0919_hunley.html"),
new Array(10, "/news/2002/09/0923_020923_egypt.html"),
new Array(11, "/news/2002/09/0924_020924_poaching.html"),
new Array(12, "/news/2002/09/0925_020925_virginshark.html"),
new Array(13, "/news/2002/10/1002_021002_malariagenome.html"),
new Array(14, "/news/2002/10/1003_021007_quaoar.html"),
new Array(15, "/news/2002/10/1001_021001_READdogs.html"),
new Array(16, "/channel/"),
new Array(17, "/news/2002/10/1009_021009_birdmating.html"),
new Array(18, "/news/2002/10/1009_021009_chadskull.html"),
new Array(19, "/news/2002/10/1010_021010_dinomummy.html"),
new Array(20, "/news/2002/10/photogalleries/1002_dinomummy1.html"),
new Array(21, "/news/2002/10/photogalleries/1002_dinomummy2.html"),
new Array(22, "/news/2002/10/photogalleries/1002_dinomummy3.html"),
new Array(23, "/news/2002/10/photogalleries/1002_dinomummy4.html"),
new Array(24, "/adventure/0210/photo.html"),
new Array(25, "/tv/channel/"),
new Array(26, "/news/2002/10/1021_021021_christianrelicbox.html"),
new Array(27, "/photography/galleries/"),
new Array(28, "/adventure/25trips.html"),
new Array(29, "/about/"),
new Array(30, "/ngm/bestwildlife/wallpaper01.html"),
new Array(31, "/ngm/bestwildlife/postcard01.html"),
new Array(32, "/ngm/bestwildlife/features.html"),
new Array(33, "/cgi-bin/pod/PhotoOfTheDay.cgi"),
new Array(34, "/"),
new Array(35, "/index.html"),
new Array(36, "/help/education.html"),
new Array(37, "/geosurvey/"),
new Array(38, "/news/2002/11/photogalleries/pt109_flash.html"),
new Array(39, "/news/2002/11/1120_021120_kennedy_pt_109.html"),
new Array(40, "/ngm/0212/feature4/index.html"),
new Array(41, "/news/2002/11/1120_021120_GeoRoperSurvey.html"),
new Array(42, "/geospy/"),
new Array(43, "/news/2002/12/1203_021203_solareclipse.html"),
new Array(44, "/news/2002/12/1210_021211_geminidmeteor.html"),
new Array(45, "/research/download_1.html"),
new Array(46, "/news/2002/12/photogalleries/journey_of_man/"),
new Array(47, "/news/2002/12/1212_021213_journeyofman.html"),
new Array(48, "/news/2002/12/1216_021216_toptenaol.html"),
new Array(49, "/cgi-bin/pod/interstitial.cgi"),
new Array(50, "/adventure/NGAapril.html"),
new Array(51, "/traveler/0301/world_photos.html"),
new Array(52, "/traveler/pcontest/index.html"),
new Array(53, "/books/travel/"),
new Array(54, "/news/2002/12/1218_021230_koalas.html"),
new Array(55, "/adventure/0302/photo_index.html"),
new Array(56, "/news/2003/01/0127_030127_PeltonQA.html"),
new Array(57, "/ngm/advertising.html")
);
function ms2FriendlyTime(inLifetime){
var secondInMS = 1000 *1;
var minuteInMS = 60 * secondInMS;
var hourInMS = 60 * minuteInMS;
var dayInMS = 24 * hourInMS;
var monthInMS = 30 * dayInMS; 	var yearInMS = 12 * monthInMS;
var msTime = inLifetime;
var years = Math.floor(msTime/yearInMS);
msTime = msTime - years*yearInMS;
var months = Math.floor(msTime/monthInMS);
msTime = msTime - months*monthInMS;
var days = Math.floor(msTime/dayInMS);
msTime = msTime - days*dayInMS;
var hours = Math.floor(msTime/hourInMS);
msTime = msTime - hours*hourInMS;
var minutes = Math.floor(msTime/minuteInMS);
msTime = msTime - minutes*minuteInMS;
var seconds = Math.floor(msTime/secondInMS);
msTime = msTime - seconds*secondInMS;
var displayString = "";
if (years > 0){
displayString += years + " year(s) ";
}
if (months > 0){
displayString += months + " month(s) ";
}
if (days > 0){
displayString += days + " day(s) ";
}
if (hours > 0){
displayString += hours + " hour(s) ";
}
if (minutes > 0){
displayString += minutes + " minute(s) ";
}
if (seconds > 0){
displayString += seconds + " second(s) ";
}
if (debugLevel2){
alert(inLifetime + " ms = " + displayString);
}
return displayString;
}
function msDate2FriendlyDate(inDateInMS){
var displayString = "";
if (inDateInMS == 0){
displayString="undefined";
}
else{
var date = new Date (parseInt(inDateInMS));
displayString = date.toLocaleString();
}
if (debugLevel2){
alert(inDateInMS + " ms = " + displayString);
}
return displayString;
}
var gSWMungeData;
function isSmartServerActive(){
var isActive = '0';
if (SW_ACTIVE){
isActive = '1';
}
else{
isActive = getCookie(SW_ACTIVE_COOKIE_NAME);
}
return isActive;
}
function getSWMungeVersion(){
var cookie = getCookie(SW_MUNGE_COOKIE_NAME);
var version = "";
version = cookie.substring(SW_MUNGE_COOKIE_VERSION_OFFSET, SW_MUNGE_COOKIE_VERSION_LENGTH);
if (debugLevel2){
alert('swmc version: ' + version);
}
return version;
}
function setSWMungeSequenceStartDate(inSequenceID, inStartDate){
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
sequence[SW_MUNGE_DATA_SEQUENCE_START_DATE_INDEX] = inStartDate;
gSWMungeData[i] = sequence;
break;
}		
}
}
function setSWMungeCurEntryIndex(inSequenceID, inIndex){
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
sequence[SW_MUNGE_DATA_CUR_ENTRY_INDEX_INDEX] = inIndex;
gSWMungeData[i] = sequence;
break;
}		
}
}
function setSWMungeCurEntryStartDate(inSequenceID, inStartDate){
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
sequence[SW_MUNGE_DATA_CUR_ENTRY_START_DATE_INDEX] = inStartDate;
gSWMungeData[i] = sequence;
break;
}		
}
}
function setSWMungeCurEntryLifetime(inSequenceID, inLifetime){
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
sequence[SW_MUNGE_DATA_CUR_ENTRY_LIFETIME_INDEX] = inLifetime;
gSWMungeData[i] = sequence;
break;
}		
}
}
function getSWMungeCurEntryStartDate(inSequenceID){
var outEntryStartDate = 0;
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
outEntryStartDate = sequence[SW_MUNGE_DATA_CUR_ENTRY_START_DATE_INDEX];
break;
}		
}
return outEntryStartDate;
}
function getSWMungeCurEntryLifetime(inSequenceID){
var outEntryLifetime = 0;
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
outEntryLifetime = sequence[SW_MUNGE_DATA_CUR_ENTRY_LIFETIME_INDEX];
break;
}		
}
return outEntryLifetime;
}
function getSWMungeCurEntryIndex(inSequenceID){
var outEntryIndex = 0;
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
outEntryIndex = sequence[SW_MUNGE_DATA_CUR_ENTRY_INDEX_INDEX];
break;
}		
}
return outEntryIndex;
}
function getSWMungeSequenceStartDate(inSequenceID){
var startDate = 0;
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
startDate = sequence[SW_MUNGE_DATA_SEQUENCE_START_DATE_INDEX];
break;
}		
}
return startDate;
}
function getSWMungeSequenceLifetime(inSequenceID){
var lifetime = 0;
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
if (inSequenceID == sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX]){
lifetime = sequence[SW_MUNGE_DATA_SEQUENCE_LIFETIME_INDEX];
break;
}		
}
return lifetime;
}
function getSWMungeData(){
var cookie = getCookie(SW_MUNGE_COOKIE_NAME);
var reinitialize = 0;
var version = getSWMungeVersion();
if (parseFloat(version) < parseFloat(SW_MUNGE_COOKIE_VERSION)){
reinitialize = 1;
}
if ((cookie == '')|| (reinitialize ==1)){
if (debugLevel1){
alert('first time or new data version; need to initialize munge cookie');
}
initalizeSWMungeCookie();
cookie = getCookie(SW_MUNGE_COOKIE_NAME);
}
var startDate = "";
var body = cookie.substring(SW_MUNGE_COOKIE_HEADER_LENGTH)
var sequenceRecords;
sequenceRecords = body.split(SW_MUNGE_COOKIE_RECORD_SEPARATOR)
var recordCount = 0;
var swMungeData = new Array(SW_MUNGE_COOKIE_MAX_RECORDS);
for (var i=0; i < sequenceRecords.length; i++) {
var sequence = sequenceRecords[i];
var sequenceRecordFields =  sequence.split(SW_MUNGE_COOKIE_FIELD_SEPARATOR);
if (sequenceRecordFields[0] != ""){		
recordCount++;
if (debugLevel2){
alert('sequence record: ' + sequenceRecordFields.toString());
}
swMungeData[i] = sequenceRecordFields;
}
}
gSWMungeData = swMungeData.slice(0, recordCount);
}
function swMungeData2MungeCookie(){
var header = SW_MUNGE_COOKIE_VERSION + "00000000"+ "00000000"+ "00000000"; var body = "";
for (var i=0; i < gSWMungeData.length; i++) {
var sequence = gSWMungeData[i];
var sequenceID = sequence[SW_MUNGE_DATA_SEQUENCE_ID_INDEX];
var sequenceLifetime = sequence[SW_MUNGE_DATA_SEQUENCE_LIFETIME_INDEX];
var sequenceStartDate = sequence[SW_MUNGE_DATA_SEQUENCE_START_DATE_INDEX];
var sequenceCurEntryIndex = sequence[SW_MUNGE_DATA_CUR_ENTRY_INDEX_INDEX];
var sequenceCurEntryLifetime = sequence[SW_MUNGE_DATA_CUR_ENTRY_LIFETIME_INDEX];
var sequenceCurEntryStartDate = sequence[SW_MUNGE_DATA_CUR_ENTRY_START_DATE_INDEX];
body += 	sequenceID + SW_MUNGE_COOKIE_FIELD_SEPARATOR +
sequenceLifetime + SW_MUNGE_COOKIE_FIELD_SEPARATOR +
sequenceStartDate + SW_MUNGE_COOKIE_FIELD_SEPARATOR +
sequenceCurEntryIndex + SW_MUNGE_COOKIE_FIELD_SEPARATOR +
sequenceCurEntryLifetime + SW_MUNGE_COOKIE_FIELD_SEPARATOR +
sequenceCurEntryStartDate + SW_MUNGE_COOKIE_RECORD_SEPARATOR;	
}
var mungeValue = header + body;
if (debugLevel1){
alert('setting cookie: ' + SW_MUNGE_COOKIE_NAME + ':' + mungeValue);
}
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (10 * 365 * 24 * 60 * 60 * 1000));
setCookie(SW_MUNGE_COOKIE_NAME, mungeValue, expdate, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
}
function initalizeSWMungeCookie(){
var header = SW_MUNGE_COOKIE_VERSION + "00000000"+ "00000000"+ "00000000"; var body = "";
for (var i=0; i < swSequence.length; i++) {
var sequence = swSequence[i];
var swSequenceSequenceID = sequence[SW_SEQUENCE_SEQUENCE_ID_INDEX];
var swSequenceLifetime = sequence[SW_SEQUENCE_LIFETIME_INDEX];
var swSequenceStartDate = "0";
var sequenceValue = swSequenceSequenceID + 
SW_MUNGE_COOKIE_FIELD_SEPARATOR + 
swSequenceLifetime + 
SW_MUNGE_COOKIE_FIELD_SEPARATOR + 
swSequenceStartDate;
var sequenceEntryValue = "";
for (var j=0; j < swSequenceEntry.length; j++) {
var entry = swSequenceEntry[j];
var swSequenceEntrySequenceID = entry[SW_SEQUENCE_ENTRY_SEQUENCE_ID_INDEX];
if (swSequenceSequenceID == swSequenceEntrySequenceID){
var swSequenceEntryEntryIndex = entry[SW_SEQUENCE_ENTRY_ENTRY_INDEX_INDEX];
var swSequenceEntryLifetime = entry[SW_SEQUENCE_ENTRY_LIFETIME_INDEX];
var swSequenceEntryStartDate = "0";
sequenceEntryValue = swSequenceEntryEntryIndex + 
SW_MUNGE_COOKIE_FIELD_SEPARATOR + 
swSequenceEntryLifetime + 
SW_MUNGE_COOKIE_FIELD_SEPARATOR + 
swSequenceEntryStartDate;
break; 			}
}
body = body + 
sequenceValue + 
SW_MUNGE_COOKIE_FIELD_SEPARATOR + 
sequenceEntryValue + 
SW_MUNGE_COOKIE_RECORD_SEPARATOR;
}
var mungeValue = header + body;
if (debugLevel3){
alert('setting cookie: ' + SW_MUNGE_COOKIE_NAME + ':' + mungeValue);
}
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (10 * 365 * 24 * 60 * 60 * 1000));
setCookie(SW_MUNGE_COOKIE_NAME, mungeValue, expdate, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
}
function deleteSWCookies(){
deleteCookie(SW_COUNTER_COOKIE_NAME, SW_COUNTER_COOKIE_PATH, SW_COUNTER_COOKIE_DOMAIN);
deleteCookie(SW_MUNGE_COOKIE_NAME, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
deleteCookie(SW_ACTIVE_COOKIE_NAME, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
for (var i=0; i < swContent.length; i++) {
var entry = swContent[i];
var swContentID = entry[SW_CONTENT_ID_INDEX];
var name = SW_CONTENT_ID_COOKIE_NAME_PREFIX+swContentID;
deleteCookie(name, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
}
if (debugLevel1){
showCookiesAlert();
}
}
function incrementSessionCookieCounter(){
var count = 0;
var expires = 0; 
var countStr = getCookie(SW_COUNTER_COOKIE_NAME);
if (countStr == ''){
count = 1;
}
else{
count = parseInt(countStr);
count++;
}
setCookie(SW_COUNTER_COOKIE_NAME, count, expires, SW_COUNTER_COOKIE_PATH, SW_COUNTER_COOKIE_DOMAIN);
if (debugLevel1){
alert(SW_COUNTER_COOKIE_NAME + ' incremented to ' + count);
}
}
function disableSmartServer(){
var expires = 0; 
setCookie(SW_ACTIVE_COOKIE_NAME, '0', expires, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
alert('Smart Server disabled');
}
function enableSmartServer(){
var expires = 0; 
setCookie(SW_ACTIVE_COOKIE_NAME, '1', expires, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
alert('Smart Server enabled');
}
function launchSWCookieWindow(){
var debugWindow=ngsOpenWindow('', '800', '600', 'swCookieWindow','no');
cookie = getCookie(SW_MUNGE_COOKIE_NAME);
debugWindow.document.write('<h4>SW Munge Cookie</h4>');
debugWindow.document.write('<table><tr><td>' + cookie + '</td></td></table></pre>');
}
sw_main('');
rtblCheck();
function sw_main(path){
if (!cookiesEnabled()){
return;
}
var oneHopFromRTBL = '0';
oneHopFromRTBL = getCookie(SW_RTBL_COOKIE_NAME);
if (oneHopFromRTBL == '1'){
deleteCookie(SW_RTBL_COOKIE_NAME, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
return;
}	
var hostname = window.location.hostname;
if ((hostname.indexOf("aol.nationalgeographic.com") == 0) ||
(hostname.indexOf("netscape.nationalgeographic.com") == 0)){
return;
}
if (typeof ngs_sw_rtbl != "undefined"){
if (ngs_sw_rtbl == 1){
return;
}
}
var isActive = isSmartServerActive();
if ((isActive == '0') || (isActive == '')){
return;
}	
var swCountStr = getCookie(SW_COUNTER_COOKIE_NAME);
if (debugLevel1){
alert('swCount: ' + swCountStr);
}
if (swCountStr == ''){
swCountStr = '0';
}
if (parseInt(swCountStr) < SW_SESSION_SW_MAX){
var currentPath = "";
if (path == ''){
currentPath = window.location.pathname;
}
else{
currentPath = path;
}
getSWMungeData();
processPath(currentPath);
swMungeData2MungeCookie();
}
}
function processPath(currentPath){
referrer = document.referrer;
if (debugLevel1){
alert('currentPath: ' + currentPath + '; referrer: ' + referrer);
}
for (var i=0; i < swPathBlackList.length; i++) {
var entry = swPathBlackList[i];
var swPathBlackListPath = entry[SW_PATH_BLACK_LIST_PATH_INDEX];
if (((swPathBlackListPath != '/') && (currentPath.indexOf(swPathBlackListPath) == 0)) || 
((swPathBlackListPath == '/') && (currentPath == '/'))){
if (blackListDebug){
alert('path on the blacklist.');
}
return;
}
}
var foundPathObjectMatch = 0;
for (var i=0; i < swPathObject.length; i++) {
var entry = swPathObject[i];
var swPathObjectID = entry[SW_PATH_OBJECT_ID_INDEX];
var swPathObjectPath = entry[SW_PATH_OBJECT_PATH_INDEX];
paths = swPathObjectPath.split(SW_PATH_SEPARATOR)
for (var j=0; j < paths.length; j++) {
var path = paths[j];
var swWindow = null;
if (((path != '/') && (currentPath.indexOf(path) == 0)) || ((path == '/') && (currentPath == '/'))){
if (debugLevel1){
alert('found a match: currentPath(' + currentPath + '), pathObject path(' + path + ')')
}
for (var k=0; k < swSequence.length; k++) {
var sequence = swSequence[k];
var swSequencePathObjectID = sequence[SW_SEQUENCE_PATH_OBJECT_ID_INDEX];
var swSequenceSequenceID = sequence[SW_SEQUENCE_SEQUENCE_ID_INDEX];
if (swPathObjectID == swSequencePathObjectID){
if (!isSequenceFresh(swSequenceSequenceID)){		
if (debugLevel3){
alert('sequence ' + swSequenceSequenceID + ' stale; restarting...');
}
restartSequence(swSequenceSequenceID);
}
processSequence(sequence);
}
} 
foundPathObjectMatch = 1; 			break;
} 		} 
if (foundPathObjectMatch == 1){
break;
}
} }
function isSequenceFresh(inSequenceID){
var fresh = false;
var startDate = getSWMungeSequenceStartDate(inSequenceID);
if (debugLevel2){
alert('sequence start date: ' + startDate);
}
var lifetime = getSWMungeSequenceLifetime(inSequenceID);
if (debugLevel2){
alert('sequence lifetime: ' + lifetime);
}
var nowDate = new Date ();
var now = nowDate.getTime();
if ((now - startDate) < lifetime){
fresh = true;
}
if (debugLevel2){
if (fresh == true){
alert('sequence still fresh');
}
else{
alert('sequence stale');
}
}
return fresh;
}
function isSequenceCurEntryFresh(inSequenceID){
var fresh = false;
var startDate = parseInt(getSWMungeCurEntryStartDate(inSequenceID));
var lifetime = parseInt(getSWMungeCurEntryLifetime(inSequenceID));
var nowDate = new Date ();
var now = parseInt(nowDate.getTime());
if (debugLevel1){
if (startDate != 0){
var msg = "cur entry\nstartDate: " + msDate2FriendlyDate(startDate) + "\n" +
"lifetime: " + ms2FriendlyTime(lifetime) + "\n" +
"now: " + msDate2FriendlyDate(now) + "\n" +
"expiration date: " + msDate2FriendlyDate(startDate+lifetime);
alert(msg);
}
}
if (debugLevel3){
var msg = "startDate: " + msDate2FriendlyDate(startDate) + "\n" +
"lifetime: " + ms2FriendlyTime(lifetime) + "\n" +
"expiration date: " + msDate2FriendlyDate(startDate+lifetime) + "\n" +
"now: " + msDate2FriendlyDate(now) + "\n";
alert(msg);
}
if ((now - startDate) < lifetime){
fresh = true;
}
return fresh;
}
function processSequence(sequence){
var startingSequence = 0;
var swSequenceSequenceID = sequence[SW_SEQUENCE_SEQUENCE_ID_INDEX];
var currentEntryIndex = getSWMungeCurEntryIndex(swSequenceSequenceID);
if (currentEntryIndex == 0){
startingSequence = 1;
currentEntryIndex = 1;
setSWMungeCurEntryIndex(swSequenceSequenceID, 1);
}
if (startingSequence == 0){
if (isSequenceCurEntryFresh(swSequenceSequenceID) == true){
if (debugLevel3){
alert('sequence entry still fresh');
}
return;
}
else{
if (moreSequenceEntries(swSequenceSequenceID, currentEntryIndex) == true){
currentEntryIndex++;
if (sequenceDebug){
alert('sequence entry stale; incrementing entry index to: ' + currentEntryIndex);
}
setSWMungeCurEntryIndex(swSequenceSequenceID, currentEntryIndex);
}
else{
if (sequenceDebug){
alert('reached end of sequence.');
}
return;
}
}
}
for (var i=0; i < swSequenceEntry.length; i++) {
var entry = swSequenceEntry[i];
var swSequenceEntrySequenceID = entry[SW_SEQUENCE_ENTRY_SEQUENCE_ID_INDEX];
var swSequenceEntryEntryIndex = entry[SW_SEQUENCE_ENTRY_ENTRY_INDEX_INDEX];
if (swSequenceSequenceID == swSequenceEntrySequenceID){
if (currentEntryIndex == swSequenceEntryEntryIndex){
processSequenceEntry(entry);	
break;			
}
}							
} }
function moreSequenceEntries(inSequenceID, inCurrentEntryIndex){
var moreEntries = 0;
for (var i=0; i < swSequenceEntry.length; i++) {
var entry = swSequenceEntry[i];
var swSequenceEntrySequenceID = entry[SW_SEQUENCE_ENTRY_SEQUENCE_ID_INDEX];
var swSequenceEntryEntryIndex = entry[SW_SEQUENCE_ENTRY_ENTRY_INDEX_INDEX];
if (inSequenceID == swSequenceEntrySequenceID){
if (swSequenceEntryEntryIndex > inCurrentEntryIndex){
moreEntries = 1;
break;
}
}							
} 
return moreEntries;
}
function restartSequence(inSequenceID){
var now = new Date ();
startDate = now.getTime();
if (debugLevel3){
alert('restarting sequence ' + inSequenceID + ' at ' + msDate2FriendlyDate(startDate));
}
setSWMungeSequenceStartDate(inSequenceID, startDate);
setSWMungeCurEntryIndex(inSequenceID, 0);
setSWMungeCurEntryStartDate(inSequenceID, 0);
}
function startSequenceCurEntry(inSequenceID, inLifetime){
var now = new Date ();
startDate = now.getTime();
if (debugLevel3){
alert('starting cur entry of sequence ' + inSequenceID + ' at ' + msDate2FriendlyDate(startDate));
}
setSWMungeCurEntryStartDate(inSequenceID, startDate);
setSWMungeCurEntryLifetime(inSequenceID, inLifetime);
}
function getLayerName(inLayerID){
var outLayerName = LAYER_OVER;
for (var i=0; i < swLayer.length; i++) {
var layer = swLayer[i];
if (inLayerID == layer[SW_LAYER_ID_INDEX]){
outLayerName = layer[SW_LAYER_NAME_INDEX];
break;
}
}
return outLayerName;
}
function processSequenceEntry(sequenceEntry){
var swSequenceEntrySequenceID = sequenceEntry[SW_SEQUENCE_ENTRY_SEQUENCE_ID_INDEX];
var swSequenceEntryEntryIndex = sequenceEntry[SW_SEQUENCE_ENTRY_ENTRY_INDEX_INDEX];
var swSequenceEntryContentID = sequenceEntry[SW_SEQUENCE_ENTRY_CONTENT_ID_INDEX];
var swSequenceEntryLayerID = sequenceEntry[SW_SEQUENCE_ENTRY_LAYER_ID_INDEX];
var swSequenceEntryLifetime = sequenceEntry[SW_SEQUENCE_ENTRY_LIFETIME_INDEX];
startSequenceCurEntry(swSequenceEntrySequenceID, swSequenceEntryLifetime);
var layerName = getLayerName(swSequenceEntryLayerID);
for (var i=0; i < swContent.length; i++) {
var entry = swContent[i];
var swContentID = entry[SW_CONTENT_ID_INDEX];
var swContentURL = entry[SW_CONTENT_URL_INDEX];
var swContentWidth = entry[SW_CONTENT_WIDTH_INDEX];
var swContentHeight = entry[SW_CONTENT_HEIGHT_INDEX];
var swName = "sw_" + swSequenceEntrySequenceID + "_" + swSequenceEntryEntryIndex;
if (swSequenceEntryContentID == swContentID){
var contentCookieName = SW_CONTENT_ID_COOKIE_NAME_PREFIX + swSequenceEntryContentID;
var contentCookie = getCookie(contentCookieName);
if (contentCookie == ''){
var expires = 0; 								setCookie(contentCookieName, 'foo', expires, SW_COUNTER_COOKIE_PATH, SW_COUNTER_COOKIE_DOMAIN);
}
else{
break;
}
if (layerName == LAYER_OVER){
smartWindowOver =  ngsOpenWindowAtPosition(SW_CONTENT_SERVER + swContentURL, swContentWidth, swContentHeight, SW_DEFAULT_LEFT_POSITION, SW_DEFAULT_TOP_POSITION, swName, 'no');	
if (is_gecko){
if (debugLevel1){
alert('gecko browser');
}
smartWindowOver.focus();
}
else if (is_nav4){
if (debugLevel1){
alert('ns4 browser');
}	
smartWindowOver.focus();
}
else if (is_ie4up){
if (debugLevel1){
alert('ie4+ browser');
}
smartWindowOver.focus();
}
}
else if (layerName == LAYER_UNDER){
var showMenu = 'no';
if (swContentHeight > SW_MAX_WINDOW_HEIGHT){
showMenu = 'yes';
}
smartWindowUnder =  ngsOpenWindowAtPosition(SW_CONTENT_SERVER + swContentURL, swContentWidth, swContentHeight, SW_DEFAULT_LEFT_POSITION, SW_DEFAULT_TOP_POSITION, swName, showMenu);
if (is_gecko){
if (debugLevel1){
alert('gecko browser');
}
window.focus();
smartWindowUnder.blur();
}
else if (is_nav4){
if (debugLevel1){
alert('ns4 browser');
}
window.focus();
smartWindowUnder.blur();
}
else if (is_ie4up){
if (debugLevel1){
alert('ie4+ browser');
}
window.focus();
smartWindowUnder.blur();				
}
}
incrementSessionCookieCounter();
break;
}
} }
function viewSequenceInfo(currentPath){
if (currentPath == ''){
currentPath = window.location.pathname;
}
for (var i=0; i < swPathObject.length; i++) {
var entry = swPathObject[i];
var swPathObjectID = entry[SW_PATH_OBJECT_ID_INDEX];
var swPathObjectPath = entry[SW_PATH_OBJECT_PATH_INDEX];
paths = swPathObjectPath.split(SW_PATH_SEPARATOR)
for (var j=0; j < paths.length; j++) {
var path = paths[j];
var swWindow = null;
if (((path != '/') && (currentPath.indexOf(path) == 0)) || ((path == '/') && (currentPath == '/'))){
for (var k=0; k < swSequence.length; k++) {
var sequence = swSequence[k];
var swSequencePathObjectID = sequence[SW_SEQUENCE_PATH_OBJECT_ID_INDEX];
var swSequenceSequenceID = sequence[SW_SEQUENCE_SEQUENCE_ID_INDEX];
if (swPathObjectID == swSequencePathObjectID){
var displayString = getSequenceInfo(swSequenceSequenceID);
alert(displayString);
}
} 			} 		} 	} }
function viewAllSequenceInfo(){
getSWMungeData(); 
var displayString = "";
for (var k=0; k < swSequence.length; k++) {
var sequence = swSequence[k];
var sequenceID = sequence[SW_SEQUENCE_SEQUENCE_ID_INDEX];
displayString = displayString + getSequenceInfo(sequenceID) + "<hr>";
} 
var win = ngsOpenWindow('', '500', '600', 'allseqinfo', 'yes');
win.document.write('<html>');
win.document.write('<font face="Verdana, Arial, Helvetica, sans-serif" size="-2">');
win.document.write('<pre>');
win.document.write(displayString);
win.document.write('</pre>');
win.document.write('</font>');
win.document.write('</html>');
}
function getSequenceInfo(inSequenceID){
var sequenceStartDate = getSWMungeSequenceStartDate(inSequenceID);
var sequenceLifetime = getSWMungeSequenceLifetime(inSequenceID);
var sequenceCurEntryIndex = getSWMungeCurEntryIndex(inSequenceID);
var sequenceCurEntryStartDate = getSWMungeCurEntryStartDate(inSequenceID);
var sequenceCurEntryLifetime = getSWMungeCurEntryLifetime(inSequenceID);
var displayString = "sequence id: " + inSequenceID + "\n" +
"sequence start date: " + msDate2FriendlyDate(sequenceStartDate) + "\n" +
"sequence lifetime: " + ms2FriendlyTime(sequenceLifetime) + "\n" +
"cur entry index: " + sequenceCurEntryIndex + "\n" +
"cur entry start date: " + msDate2FriendlyDate(sequenceCurEntryStartDate) + "\n" +
"cur entry lifetime: " + ms2FriendlyTime(sequenceCurEntryLifetime) + "\n";
return displayString;
}
function launchDebugWindow(inMessage){
var debugWindow=ngsOpenWindow('', '600', '350', 'debugWindow','no');
var currentPath = window.location.pathname;
debugWindow.document.write('<h4>A Smart Server Error Occurred</h4>');
debugWindow.document.write('<pre>Please email the following info to \n\tjousey@nationalgeographic.com: \n\n');
debugWindow.document.write('current path: ' + currentPath + '\n');
debugWindow.document.write(inMessage);
debugWindow.document.write('user agent: ' + agt + '\n');
debugWindow.document.write('</pre>');
}
function thisHostAlert(){
var hostname = window.location.hostname;
alert('this host: ' + hostname);
}
function rtblCheck(){
if (typeof ngs_sw_rtbl != "undefined"){
if (ngs_sw_rtbl == 1){
var expires = 0; 
setCookie(SW_RTBL_COOKIE_NAME, '1', expires, SW_MUNGE_COOKIE_PATH, SW_MUNGE_COOKIE_DOMAIN);
}
}
}

