var jqN = jQuery.noConflict();
var nbcHideMe = Array();

// Annoying bug from Facebook: They'll call the onConnected/onNotConnected & Login callbacks multiple times
var hasRunFacebookLoginCheck = false;

// BEGIN NBCU FRAMEWORK CONFIGURATION

	nbcu.config.addParam("nbcuEnvironment", "production");
	domain = document.domain;

	if (domain.substring(0, 6) == "stage.")
	{
		nbcu.config.addParam("nbcuEnvironment", "stage");
	}
	else if (domain.substring(0, 4) == "dev.")
	{
		nbcu.config.addParam("nbcuEnvironment", "dev");
	}
	else if (domain.substring(0, 3) == "qa.")
	{
		nbcu.config.addParam("nbcuEnvironment", "qa");
	}

	nbcu.config.addParam("frameworkUrl", "/assets/nbcu");
	nbcu.config.addParam("frameworkApiUrl", "/app/api");
	nbcu.config.addParam("snasSiteName", "nbc.com");
	nbcu.config.addParam("snasSiteDomainName", "my.nbc.com");
	nbcu.config.addParam("siteName", "NBC.com");
	nbcu.config.addParam("socialNetworkName", "myNBC");
		
	if (nbcu.config.getParam("nbcuEnvironment") == "dev" || nbcu.config.getParam("nbcuEnvironment") == "qa")
	{
		nbcu.config.addParam("snasRestUrl", "http://snasdev1.nbcuni.com")
		nbcu.config.addParam("socialNetworkUrl", "http://qa.my.nbc.com");
		nbcu.config.addParam("videoRatingFeedStoryId", "79354934916");
		nbcu.config.addParam("videoCommentFeedStoryId", "79355924916");
	}
	else
	{
		nbcu.config.addParam("snasRestUrl", "http://snas.nbcuni.com");
		nbcu.config.addParam("socialNetworkUrl", "http://my.nbc.com");
		nbcu.config.addParam("videoRatingFeedStoryId", "112120225818");
		nbcu.config.addParam("videoCommentFeedStoryId", "116612985818");
	}

// END FRAMEWORK CONFIGURATION


jqN(function(){
	jqN('#NBC_videoWatch, #nbc_shows, .global_drop').hide()
	jqN('#A-searchform input').hint();
	jqN(document).pngFix();	
	// jqN('input#globalLoginPass, input#globalLoginEmail').hint();
clearSelect("#globalLoginPass");
clearSelect("#globalLoginEmail");
// jqN('#mynbcLoginForm form input').hint();
	loadMyNBCLogin();
	hoverEffectDirect();
	initFacebook();
});
function clearSelect (arg){
	for (var i=0; i < arg.length; i++) {
		var strVal;
		jqN(arg).mousedown(function() {
			strVal = jqN(this).val();
			jqN(this).attr('value', '');
		})
	};
}
// function getWindowHeight() {
// 	var windowHeight = 0;
// 	if (typeof(window.innerHeight) == 'number') {
// 		windowHeight = window.innerHeight;
// 	}
// 	else {
// 		if (document.documentElement && document.documentElement.clientHeight) {
// 			windowHeight = document.documentElement.clientHeight;
// 		}
// 		else {
// 			if (document.body && document.body.clientHeight) {
// 				windowHeight = document.body.clientHeight;
// 			}
// 		}
// 	}
// 	return windowHeight;
// }
// function setFooter() {
// 	if (document.getElementById) {
// 		var windowHeight = getWindowHeight();
// 		if (windowHeight > 0) {
// 			var contentHeight = jqN('#nbc_masterWrap').offsetHeight;
// 			var footerElement = document.getElementById('nbc_mastFoot');
// 			var footerHeight  = footerElement.offsetHeight;
// 			if (windowHeight - (contentHeight + footerHeight) >= 0) {
// 				footerElement.style.top = (windowHeight - (contentHeight + footerHeight)) + 'px';
// 			}
// 			else {
// 				footerElement.style.top = '0px';
// 			}
// 		}
// 	}
// }
// function setWrapHeight(){
// 	
// }
// window.onload = function() {
// 	setFooter();
// }
// window.onresize = function() {
// 	setFooter();
// }

function globalNav(){
	jqN('#NBC_videoWatch, #nbc_shows, .global_drop').hide()
	
	jqN('ul#A-mast-nav li').hover(function() {
		jqN(this).children('.global_drop').show();
		jqN(this).addClass('activeNavItem');
		hideVisible('#nbcAd300x250', 1);
			nbcToggleEl(nbcHideMe, "hide");
		jqN('#OPA_Spotlight_holder embed').hide();
	}, function() {
		jqN(this).children('.global_drop').toggle();
		jqN(this).toggleClass('activeNavItem');
		hideVisible('#nbcAd300x250', 0);
			nbcToggleEl(nbcHideMe, "show");
			jqN('#OPA_Spotlight_holder embed').show();
	})
}
function globalNavPressDown(openclose){
	jqN('#NBC_videoWatch, #nbc_shows, .global_drop').hide()
	jqN('#A-nav-shows, #A-nav-video, #A-nav-schedule, #A_nav_news, #A_nav_mobile, #A_nav_comm, #A_nav_photo, #A_nav_games, #A_nav_shop, #A_nav_extras').attr('href', '#');
	jqN('#A-nav-shows, #A-nav-video, #A-nav-schedule, #A_nav_news, #A_nav_mobile, #A_nav_comm, #A_nav_photo, #A_nav_games, #A_nav_shop, #A_nav_extras').click(function() {
		if (jqN(this).siblings('.global_drop').css('display') == "none") 
		{
			globalCloseDropState(1);
			jqN(this).siblings('.global_drop').show();			
			jqN(this).parent().addClass('activeNavItem');
			// hideVisible('#nbcAd300x250', 1);
				nbcToggleEl(nbcHideMe, "hide");
			jqN('#OPA_Spotlight_holder embed').hide();
						
		}else if(jqN(this).siblings('.global_drop').css('display') == "block"){
			globalCloseDropState(1);
			jqN('#OPA_Spotlight_holder embed').show();
		}
	})
	jqN('.clkCloseDROP , .dd_options').click(function() {
		globalCloseDropState(1);
		jqN('#OPA_Spotlight_holder embed').show();
		
	})
}
function globalCloseDropState(trig){
	if (trig ==1) {
		jqN('.global_drop').hide();
		jqN('ul#A-mast-nav li.activeNavItem').toggleClass('activeNavItem');
		nbcToggleEl(nbcHideMe, "show");
	}
			// jqN('.global_drop').hide();
			// jqN('ul#A-mast-nav li').toggleClass('activeNavItem');
			// // jqN(this).siblings('.global_drop').toggle();
			// // jqN(this).parent().toggleClass('activeNavItem');
			// hideVisible('#nbcAd300x250', 0);
			// nbcToggleEl(nbcHideMe, "show");
			// jqN('#OPA_Spotlight_holder embed').show();
}
function nbcDropDown(id){
	jqN(function(){
		jqN(id).superfish({
			pathClass : 'current',
			animation : {height: 'toggle'},
			delay : 0,
			speed : "fast"
		})
	})
}
function nbcMainDrop (id){
	// jqN("ul#A-mast-nav li div.sub-navi").css({top: "20px"})
	jqN(id+"> li").hover(function() {
		jqN(this+" div.sub-navi").css({top: "20px"})
	},
	function() {
		jqN("div.sub-navi").css({top: "-999em"})
	})
}
function hideVisible (hideThis, trig){
	if(trig == 1){
	jqN(hideThis).css('visibility','hidden');
	}else{
		jqN(hideThis).css('visibility','visible');
	}
}

/**
* Called after the user authorizes the site with Facebook Connect
**/
function facebookOnLoginReady() 
{

	hideUnhideVideo(false);
	
	FB.ensureInit( function() {
		// We will do this manually otherwise there's a good chance we'll keep refreshing the DOM extra times
		FB.XFBML.Host.autoParseDomTree = false;
		FB.Facebook.get_sessionState().waitUntilReady( function(session) {
			var is_now_logged_into_facebook = session ? true : false;
			if (is_now_logged_into_facebook) {
				// We don't want to re-run any logic if Facebook gives back the onConnected callback
				hasRunFacebookLoginCheck = true;
				var params = new Object();
				
				return nbcu.api.call("facebookLogin", params, "sn", "account", "PROXY", "POST", loadMyNBCLogin);
				
			}

		});
	});

}

/**
* Called when the user clicks the 'logout' link. This abides to Facebook's TOS to log
* the user out of both NBC.com and Facebook.com
**/
function handleFacebookLogout()
{

	hideUnhideVideo(true);

	nbcu.sn.session.logoutExternalPlatform();
	FB.Connect.logoutAndRedirect('http://my.nbc.com/accounts/logout?redirectUrl=' + document.location);
}

/**
* Make sure we're ready to communicate with Facebook
**/
function initFacebook() 
{
	try {
		if (document.domain == "www.nbc.com" || document.domain == "stage.nbc.com") {
			FB.init("61b68b0702fb928dc0620a836a6a86b0", "/xd_receiver.htm", {"ifUserConnected":onFacebookConnected, "ifUserNotConnected":onFacebookNotConnected});
			jqN('#fb_global_login').html('<a href="#" title="Log in using Facebook" id="fb_logon_btn" onclick="hideUnhideVideo(true);FB.Connect.requireSession(facebookOnLoginReady); return false;">Log in using facebook</a>');
		} else if (document.domain == "sandbox.nbc.com" || document.domain == "qa.nbc.com" || document.domain == "dev.nbc.com") {
			jqN('#fb_global_login').html('<a href="#" title="Log in using Facebook" id="fb_logon_btn" onclick="hideUnhideVideo(true);FB.Connect.requireSession(facebookOnLoginReady); return false;">Log in using facebook</a>');
			FB.init("1454d8a755ecb0e83b129a35a656fb9e", "/xd_receiver.htm", {"ifUserConnected":onFacebookConnected, "ifUserNotConnected":onFacebookNotConnected});
		}
	} catch(e) {}
}

/**
* Facebook will do a callback to this method if the user is currently logged in to their platform
**/
function onFacebookConnected() 
{
	
	FB.ensureInit( function()
	{
		FB.Facebook.get_sessionState().waitUntilReady( function(session)
		{	

			// Facebook will keep calling this callback over and over...
			if (hasRunFacebookLoginCheck)
			{
				return;
			}
			hasRunFacebookLoginCheck = true;

			//if we think the user isn't logged in
			if (!nbcu.sn.session.isLoggedInToExternalPlatform('facebook')) 
			{
				// Forcifully log the user in
				facebookOnLoginReady();
			}
		});
	});

}

/**
* Facebook will do a callback to this method if the user is currently NOT logged in to their platform
**/
function onFacebookNotConnected() 
{
	
	FB.ensureInit( function()
	{


		// Facebook will keep calling this callback over and over...
		if (hasRunFacebookLoginCheck)
		{
			return;
		}
		hasRunFacebookLoginCheck = true;
	
		if (nbcu.sn.session.isLoggedInToExternalPlatform('facebook')) 
		{
			//Logging the user out completely
			handleFacebookLogout();
		}
	});

}

/*
 * Convienence function to refresh the dom whenever a new XFBML tag is placed
 * onto the page
 */
function refreshXFBML()
{
	FB.ensureInit( function()
	{
		if (FB.XFBML.Host.parseDomTree) {
			setTimeout(FB.XFBML.Host.parseDomTree, 0);
		}
	});

}

/*
 * Show the feed form. This would be typically called in response to the onclick
 * handler of a "Publish" button, or in the onload event after the user submits
 * a form with info that should be published.
 * 
 */
function facebook_publish_feed_story(form_bundle_id, template_data, userMessage, userMessagePrompt, callback)
{
	// For some reason Facebook wants an object with a single property 'value'
	// For convience we'll just take a string for now and convert it for you
	var user_message = null;
	if (typeof userMessage != 'undefined' && userMessage != '') {
		user_message = {
			value : userMessage
		};
	}
	
	// Default user message prompt if you don't pass one in
	if (typeof userMessagePrompt == 'undefined' || userMessagePrompt == '') {
		userMessagePrompt = "What's on your mind?";
	}


	FB.ensureInit( function()
	{
		FB.Connect.showFeedDialog(form_bundle_id, template_data, null, null, null, FB.RequireConnect.promptConnect, callback, userMessagePrompt, user_message);
		});
}


function loadMyNBCLogin(){
	jqN('#mynbc_login_out').click(function(){
		if(jqN(this).attr('class') != 'logout'){
			jqN('#mynbcLoginForm').fadeIn('fast').show();
			jqN('#mynbc_login_out').toggle();
			// new OPA requirement doesnt need to hide these elements hideVisible('#A-searchform',1);
			// hideVisible('#nbc_MastLogo',1);
	}
	});
	jqN('#globalLoginclose').click(function(){
		jqN('#mynbcLoginForm').hide('slow');
					hideVisible('#A-searchform',0);
					hideVisible('#nbc_MastLogo',0);
					jqN('#mynbc_login_out').toggle();
	})
	
	var platform = nbcu.sn.session.getExternalPlatform();
	if (nbcu.sn.session.isLoggedInToExternalPlatform(platform) && (document.domain == "www.nbc.com" || document.domain == "stage.nbc.com" || document.domain == "qa.nbc.com" || document.domain == "qw-www.nbc.com")) {
		// Need to figure out the platform and output the right XFBML / HTML

		var externalUserId = nbcu.sn.session.getExternalPlatformUserId();
		if (platform == 'facebook') {
			jqN('#fb_global_login').hide();
			jqN('#myNBC_log_status').html('<p>Hello, <fb:name uid=\"' + externalUserId + '\"  firstnameonly = \"false\" useyou=\"false\" linked=\"true\"></fb:name></p>');
			jqN('#mynbc_login_out').addClass('logout');
			jqN('#mynbc_login_out').attr('href', '');
      jqN('#mynbc_login_out').click(function () {
					handleFacebookLogout();
					return false;
				});
			refreshXFBML();
		}
	} else if (nbcu.sn.session.isLoggedIn()){
		jqN('#fb_global_login').hide();
		jqN('#myNBC_log_status').append('<p><a href=\"http://my.nbc.com/'+nbcu.sn.session.getUserName()+'\" title=\"'+nbcu.sn.session.getUserName()+'\">Hello, '+nbcu.sn.session.getUserName()+'</a></p>');
		jqN('#mynbc_login_out').addClass('logout');
		jqN('a#mynbc_login_out').html("<span>log out</span>");
		jqN('.logout').click(function(){
		jqN(this).attr('href', 'http://my.nbc.com/accounts/logout?redirectUrl=' + window.location.href)
	
			// jqN.ajax({
			// 			type:"POST",
			// 			url:"/app/sn/api/sso/",
			// 			data:"remember=0",
			// 			dataType:"xml",
			// 			error: function() {alert("logout not happening")},
			// 			success: function() {alert("logged out")},
			// 		})
			// jqN.post({
			// 		url:"http://my.nbc.com/accounts/logout?success=1",
			// 		callback: function(){alert('loggit out')},
			// 		type: "http"
			// 		})
		}); 
	}
	
	jqN('#globalLoginSubmitBtn').click(function(){	
callToLogin();
	})
	jqN('#mynbcLoginForm form').submit(function() {
callToLogin();		
	})
}
function callToLogin(){
	var loginForm = jqN('#mynbcLoginForm form');
	var emailSub = jqN('#globalLoginEmail').val();
	var passSub = jqN('#globalLoginPass').val();
	
	// var theQuery = "method=login&email="+emailSub+".com&password="+passSub+"&remember=0"
	var theQuery = "method=login&email="+emailSub+"&password="+passSub+"&remember=0";
	var logState = 1;
		jqN.ajax({
			type:"POST",
			url:"/app/api/sn/account/",
			data: theQuery,
			dataType:"xml",
			error: function(){
				jqN('#mynbcLoginForm').append('<div id=\"response-text\">Sorry can\'t login from here.</div>');
				var currentLocation = window.location;
				window.location = 'http://my.nbc.com/accounts/login?redirectUrl='+currentLocation+'';
			},
			success: function(msg){
				if(jqN('status', msg).text() == '0'){
					var response = jqN('msg', msg).text();
				jqN('#mynbcLoginForm').append('<div id=\"response-text\">'+response+' <span>X</span></div>');
				jqN('#response-text').fadeIn('slow').animate({opacity:1.0},3000).fadeOut('slow');
				setTimeout("jqN('#response-text').remove()", 5000);
				jqN('#response-text span').click(function() {jqN('#response-text').remove()})
				}
				
				if(jqN('status', msg).text() == '1'){
					if(logState==1){
							jqN('#mynbcLoginForm').hide('slow');
				hideVisible('#A-searchform',0);
				hideVisible('#nbc_MastLogo',0);
						jqN('#fb_global_login').hide();
						var userName = jqN('userName', msg).text();
						jqN('#myNBC_log_status').html('<a href=\"http://my.nbc.com/'+userName+'\" title=\"'+userName+'\">Hello, '+userName+'</a>');
						jqN('#mynbc_login_out').addClass('logout');
						jqN('a#mynbc_login_out').html("<span>log out</span>");
						jqN('.logout').click(function(){
							jqN(this).attr('href', 'http://my.nbc.com/accounts/logout?redirectUrl=' + window.location.href)
						});
						jqN('#mynbc_login_out').show();
						logState = 1;
					}else{return false;}
				}
			}
		})
}
function nbcHideItem(anArray) {
	for (var i=0; i < anArray.length; i++) {
		// nbcHideMe[i] = anArray[i];
		nbcHideMe.push(anArray[i])
	};
};
function showsDropDown(hoverEl, id){
	// Not in use anymore
	var el = jqN(hoverEl);
	jqN(id).hide();
	var theID = jqN(id);
	el.hover(function(){theID.toggle();
		nbcToggleEl(nbcHideMe, "hide")
		},
		function(){
			var renderOut = theID.hide();
			nbcToggleEl(nbcHideMe, "show")
			}
	);
}
function nbcToggleEl (arr, set){
	if(set == "hide"){
		for (var i=0; i < arr.length; i++) {
			// document.getElementById(arr[i]).style.visibility = 'hidden';
			jqN(arr[i]).css('visibility','hidden');
			// jqN(arr[i]).css('display','none');
		};
	}else if(set == "show"){
			for (var i=0; i < arr.length; i++) {
				// document.getElementById(arr[i]).style.visibility = 'visible';
				jqN(arr[i]).css('visibility','visible');
				// jqN(arr[i]).css('display','block');
			}
	}
}
function nbcToggleElShow (arr){
		for (var i=0; i < arr.length; i++) {
			document.getElementById(arr[i]).style.visibility = 'visible';
			// document.getElementById(arr[i]).style.display = 'block';
		}
}
function tabThis (navContainer, holder){
	jqN(navContainer+" a").each(function() {
		var divContainers = jqN(this).attr("href");
		jqN(divContainers).hide();
	});
	jqN(navContainer+" a").click(function() {
		jqN(holder).hide();
		jqN(jqN(this).attr("href")).show();
		return false;	
	});			
}
function loadShowNav(){
	jqN.ajax({
	type:"GET",
	url:"/www.assets/xml/nav_shows.xml",
	dataType:"xml",
	timeout: 40000,
	error:function(){
		jqN('body').append("<b>Shows nav failed to load</b>")
		},
	success:function(xml){
		var isShow = jqN('show', xml);	
			var htmlUL = '<ul class=\"showlistlink\"></ul>';
			var htmlULLast = '<ul class=\"showlistlink\" style=\"margin:0; width:160px; background:none\"></ul>';
			jqN('#A-sub-show').append(htmlUL+htmlUL+htmlUL+htmlULLast);
		isShow.each(function(i){
			var isTitle = jqN('name', this).text();
			var isUrl = jqN('link', this).text();
			var ifFull = jqN('full', this).text();
			var htmlLI = '<li><a href=\"'+isUrl+'\" title=\"'+isTitle+'\">'+isTitle+'</a></li>';
				if(i<=8){	
				jqN('ul.showlistlink:eq(0)').append(htmlLI);
				}
				if(i>=9 && i<=17){
					jqN('ul.showlistlink:eq(1)').append(htmlLI);				
				}
				if(i>=18 && i<=26){
					jqN('ul.showlistlink:eq(2)').append(htmlLI);
				}
				if(i>=27 && i<=35){
					jqN('ul.showlistlink:eq(3)').append(htmlLI);
				}
				if(i>=36 && i<=48){
					jqN('ul.showlistlink:eq(4)').append(htmlLI);
				}
			})	
				
		}
	});
}
function hoverEffectDirect(){
	jqN('.hasFullEpisode').hover(function() {
		jqN(this).css('color','#FDB913')
	}, function() {
		jqN(this).css('color','#fcffff')
	})
	jqN('.nbc_directable').hover(function() {
		jqN(this).siblings().css('color','#FDB913')
	},
	function() {
		jqN(this).siblings().css('color','#fcffff');
	}
	);
}
function newWin(){
	jqN("a.moreToit").setAttribute("target","_blank");
}
function browserSniff(){
	var browserSpec = navigator.userAgent;
	return browserSpec;
		// if(jqN.browser.msie){
		// 	jqN('body').append(navigator.userAgent)
		// }
		// if(jqN.browser.safari){
		// 	jqN('body').append(navigator.userAgent)
		// }
		// if(jqN.browser.mozilla){
		// 	jqN('body').append(navigator.userAgent);
		// }
		// if(jqN.browser.opera){
		// 	jqN('body').append(navigator.userAgent)
		// }
}
// Jake Garcia's function
function linktrack(myname) { 
        var s=s_gi(s_account); s.tl(true,'o',myname+'|'+ document.location) ;
} 
function linkHunt(myname) { 
        var s=s_gi(s_account); s.tl(true,'o','FrontDoor|'+myname);
	//	return false;
}

// Legacy crap --------->
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{	// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 	// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};
BrowserDetect.init();
// -- GET URL STRING INFORMATION -- //
function QueryString(key)
{
	var value = null;
	for (var i=0;i<QueryString.keys.length;i++)
	{
		if (QueryString.keys[i]==key)
		{
			value = QueryString.values[i];
			break;
		}
	}
	return value;
	
}
QueryString.keys = new Array();
QueryString.values = new Array();
function QueryString_Parse()
{
	var query = window.location.search.substring(1);
	var pairs = query.split("&");
	
	for (var i=0;i<pairs.length;i++)
	{
		var pos = pairs[i].indexOf('=');
		if (pos >= 0)
		{
			var argname = pairs[i].substring(0,pos);
			var value = pairs[i].substring(pos+1);
			QueryString.keys[QueryString.keys.length] = argname;
			QueryString.values[QueryString.values.length] = value;		
		}
	}

}
// Steady on states for drop downs
function switchNav(nav,action){
	sNav = document.getElementById(nav);
	
	switch(nav){
		case "showsImg": //Shows
			switch(action){
				case "show":	
					sNav.src="/www.assets/images/nav/nav_shows_on.jpg";
				break
				case "hide":	
					sNav.src="/www.assets/images/nav/nav_shows_off.jpg";
				break
			}
		break
		case "fansImg": //For Fans
			switch(action){
				case "show":
					sNav.src="/www.assets/images/nav/nav_for_fans_on.jpg";
				break
				case "hide":					
					sNav.src="/www.assets/images/nav/nav_for_fans_off.jpg";
				break
			}
		break
		case "fullepisodesImg": //Full Episodes
			switch(action){
				case "show":
					sNav.src="/www.assets/images/nav/nav_watch_episodes_on.jpg";
				break
				case "hide":					
					sNav.src="/www.assets/images/nav/nav_watch_episodes_off.jpg";
				break
			}
		break
	}
	mfbSwitch(action);
}
function mfbSwitch(ac){
	try{
	if(navigator.appVersion.indexOf("Mac")!=-1){ // for mac flash/DHTML issues.
		if(ac == "show"){
			document.getElementById('mfb').style.visibility="hidden";		
		}else{
			document.getElementById('mfb').style.visibility="visible";
		}
	}	
	}catch(e){/*ignore*/}
}
// Sub-Nav rollovers and MyNBC Add selector viewer for the list..
function vis(loc, act, sid){
	try{
		var tag = loc;
		var addTag = "Add"+sid;
		addTag = document.getElementById(addTag);
		if(act == 'show'){
			tag.style.backgroundColor = "#666666";
			addTag.style.backgroundImage = "url('/www.assets/images/nav/selector.jpg')";		
		}else{
			tag.style.backgroundColor = "";
			addTag.style.backgroundImage = "";	
		}
	}catch(e){/* ignore */}
}
// Global DropDown Script
function navDD(dd){

	jqN(function(){
			jqN(dd+'> li').hover(function(){
				jqN(this).addClass('over');
			},function(){
				jqN(this).removeClass('over')
			})
	})
}
function navPop(div){
	Effect.Appear(div, {duration:0.5, from:0.0, to:1.0});	
}

function navFade(div){
	Effect.Fade(div, {duration:0.5, from:1.0, to:0.0});	
}
function thisMovie(movieName,id) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}
function hideUnhideVideo(state)
{
	if(state)
	{
		try
		{
			embeddedPlayerManager.getPlayer().hidePlayer()
		} catch (e) {}
	} else {
		try
		{
			embeddedPlayerManager.getPlayer().unHidePlayer()
		} catch (e) {}
	}
		
}
// preload images
var myimages=new Array()
function preloadimages(){
	for (i=0;i<preloadimages.arguments.length;i++){
		myimages[i]=new Image();
		myimages[i].src=preloadimages.arguments[i];
	}
}
var randDARTNumber=0;
function genSetRandDARTNumber()
{
 randDARTNumber = Math.round(Math.random()*1000000000000);
}
genSetRandDARTNumber();




function sitePerformedInvite(id){
var r = /(REMO_INVITE)=([^;]*)/gi.exec(document.cookie);
return (r && unescape(r[2]));

}
function siteInvited(id){
id != undefined || ( id = '1');
var ex = new Date(new Date().getTime() + (86400000*30));
document.cookie = 'REMO_INVITE' + '=' + escape(id) + ((!ex || !(ex instanceof Date))? '' : ('; expires=' + ex.toGMTString()))+ ';path=/; domain=NBC.com';


}
// tracking for home page
function __a(link) {
	var __source = 'front-door';
	var __module = link.name;
	var __t="__source="+__source+"|"+__module;
	var objRegExp = /(\?)/i;
	if (s_prop10 =="Front Door") {
        	if (objRegExp.test(link)) {
        	link=link +"&"+__t;
        	} else {
        	link=link +"?"+__t;
        	}
	
	} 
	return (link);
}
	
