var jqN = jQuery.noConflict();

jqN(function(){
	jqN('#A-searchform input').hint();
	jqN('input#globalLoginEmail, #globalLoginPass').hint();
	nbcDropDown('ul#A-mast-nav');
	loadmyLTPLogin();
	showsDropDown('#A-li-nav-show', '#A-sub-show');
	showsDropDown('#A-li-nav-video', '#A-sub-video');
	nbcAccordion('#A-news-inner', '.A-newsContent', '.newsTitle', 'activeNewsTitle', '.def-listener');
	nbcAccordion('#myCommAccord', '.myCommContent', '.myCommTitle', 'activeTitle', '.def-listener-comm');
	jqN('ul#A-mast-nav li').hover(function(){jqN(this+'a').addClass('selectHover')},
	function(){jqN(this+'a').removeClass('selectHover')});
	// tabbing('#webex-tabContent', 1);
	// jqN('#nbc-728lb').append(nbcAd728x90);
	// var d = jqN("a[rel='nuWin']")
// newWin();
});

var nbcDropDown = function(id){
	jqN(function(){
		jqN(id).superfish({
			pathClass : 'current',
			animation : {height: 'toggle'},
			delay : 500,
			speed : "fast"
		});
	})
 }
var hideVisible = function(hideThis, trig){
	if(trig == 1){
	jqN(hideThis).css('visibility','hidden');
	}else{
		jqN(hideThis).css('visibility','visible');
	}
}
var nbcAccordion = function(containDiv, panelDiv, handle, activeClass, closePanel){
		jqN(containDiv+'>'+panelDiv).hide();
		jqN(panelDiv+':first').show();
		jqN(containDiv+'> '+handle).css('cursor', 'pointer');
		jqN(containDiv+'> '+handle).click(function(){
			jqN(containDiv).find(panelDiv+':visible').hide();
			jqN(this).next().show().fadeIn('fast');
				jqN(containDiv).find('.'+activeClass).removeClass(activeClass)
			jqN(this).addClass(activeClass).fadeIn('fast');;
		});
		jqN(closePanel).click(function(){
				jqN(containDiv+'>'+panelDiv).hide();
				jqN(panelDiv+':first').show();
				jqN(containDiv).find('.'+activeClass).removeClass(activeClass);
			});
}
var loadmyLTPLogin = function(){
	jqN('#myLTP_login_out').click(function(){
		if(jqN(this).attr('class') != 'logout'){
			jqN('#myLTPLoginForm').fadeIn('fast').show();
		}
	});
	jqN('#globalLoginclose').click(function(){
		jqN('#myLTPLoginForm').hide('slow');
	})
	if(jqN.cookie('sn_nbc_b')){
		jqN('#myLTP_login_out').addClass('logout');
		var t = jqN.cookie('sn_nbc_b').split('|');
		jqN('#myLTP-login').append('<p><a href=\"http://my.nbc.com/'+t[6]+'\" title=\"'+t[6]+'\">Hello, '+t[6]+'</a></p>');
		jqN('.logout').click(function(){jqN(this).attr('href', 'http://my.nbc.com/accounts/logout')});
	}

	jqN('#globalLoginSubmitBtn').click(function(){

		var loginForm = jqN('#myLTPLoginForm 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/sn/api/sso/",
				data: theQuery,
				dataType:"xml",
				error: function(){
					jqN('#myLTPLoginForm').append('<div id=\"response-text\">Sorry cant 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('#myLTPLoginForm').append('<div id=\"response-text\">'+response+'</div>');
					jqN('#response-text').fadeIn('slow').animate({opacity:1.0},3000).fadeOut('slow');
					}

					if(jqN('status', msg).text() == '1'){
						if(logState==1){
							jqN('#myLTPLoginForm').hide('slow');
							var userName = jqN('userName', msg).text();
							jqN('#myLTP-login').append('<p><a href=\"http://my.nbc.com/'+userName+'\" title=\"'+userName+'\">Hello, '+userName+'</a></p>');
							jqN('#myLTP_login_out').addClass('logout');
							logState = 1;
						}else{return false;}
					}
				}
			})
	})
}
var showsDropDown = function(hoverEl, id){
	var el = jqN(hoverEl);
	jqN(id).hide();
	var theID = jqN(id);
	el.hover(function(){theID.toggle();hideVisible('#b-companion-ad', 1)},
		function(){
			var renderOut = theID.hide();hideVisible('#b-companion-ad');
			}
	);
}
var loadShowNav = function(){
	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);
				}
			})

		}
	});
}


var newWin = function(){
	jqN("a.moreToit").setAttribute("target","_blank");
}


var browserSniff = function(){
	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)
		// }
}


// 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 myLTP 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){
	// if (document.all&&document.getElementById) {
	//
	// 	navRoot = document.getElementById(dd); // Get a handle to the "nav" id
	// 	/// Count out the number of elements.
	//
	// 	for (i=0; i<navRoot.childNodes.length; i++) {
	// 		node = navRoot.childNodes[i]; // set the handle of each element
	// 		/// Check to see if it's a list item
	//
	// 		if (node.nodeName=="LI") {
	// 			/// Create and set the mouse over functions
	// 			node.onmouseover=function() {
	//
	// 				this.className+=" over"; // Set the new class for the element moused over
	//
	// 			}
	// 			/// Create and set the mouse out functions
	// 			node.onmouseout=function() {
	//
	// 				this.className=this.className.replace(" over", "");  //Set the new class for the element mouse out
	// 			 }
	// 		 }
	// 	 }
	// }
	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});
}



// myLTP Add to favorite functions Begin
function addfavorite(id, fromPage) {

	if(id.id != null){
		pageId = id.id.replace('sAdd', '');
	}else{
		pageId = id;

	}


	runMessage();
	if(document.getElementById('myLTPApp').style.display == "none"){
		myLTPSet();
		window.setTimeout('runIt('+pageId+')',1400);
	}else{
		runIt(pageId);
	}


	/* BEGIN: [Onmiture Tracking Code]*/
	try{var s=s_gi(s_account);}catch(e){alert('s_account error: '+e);}
	s.linkTrackVars='prop30';
	s.linkTrackEvents='none';

	// check where the request is coming from
	if(fromPage){ // Actual Site
		trackMe = document.getElementById(fromPage.id);
		page = document.getElementById(trackMe.id.replace('sAdd', 'dd'));

		page = document.getElementById(page.id);
		type = "Page";

	}else{ // NBC Navigation
		trackMe = document.getElementById('Add'+id); // NBC Navigation
		page = document.getElementById('dd'+id);
		type = "Nav";
	}

	s.prop30 = 'myLTP | '+page.title+' | '+type;
	s.tl(trackMe,'o', s.prop30);

	/* END: [Onmiture Tracking Code] */




}


function runIt(id){
	thisMovie("myLTP").addfav(id);
}


var origin;
function runMessage(){
	sNavInfo =document.getElementById('show');
	sNavInfo.style.zIndex= "0";
	document.getElementById('navMessage').style.zIndex= "10000";
	document.getElementById('navMessage').style.backgroundColor = "#122e44";
	document.getElementById('navMessage').innerHTML = "Saving to your &quot;mySHOWS&quot;...";
	window.setTimeout('resetIt()',1800);
}


function resetIt(){
	document.getElementById('show').style.zIndex ="10000";
	document.getElementById('navMessage').style.zIndex ="-1";
	document.getElementById('navMessage').innerHTML = "";
	document.getElementById('navMessage').style.backgroundColor = "";
	}


function thisMovie(movieName,id) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}

// MY NBC Cookie Checks  BEGIN //
var cOpen = readCookie('myLTP');
function myLTPRead(){
	//Effect.toggle('myLTPApp','blind',{duration:.5});
	if(cOpen){
		if(cOpen == "1"){
			document.getElementById('myLTPApp').style.display="block";
			document.getElementById('myLTPApp').style.height="215px";
			try{var s=s_gi(s_account);}catch(e){alert('s_account error: '+e);}
			s.linkTrackVars='prop30';
			s.linkTrackEvents='None';
			s.prop30 = 'myLTP | Exposed';
			trackMe=document.getElementById('myLTPApp');
			s.tl(trackMe,'o', s.prop30);
		}
	}else{
		document.getElementById('myLTPApp').style.display="none";
	}
}




function myLTPSet(){
	try{
		if(cOpen!=null){
			Effect.toggle('myLTPApp','blind',{duration:.6});
			eraseCookie('myLTP');
			cOpen = null;
		}else{
			Effect.toggle('myLTPApp','blind',{duration:.8});
			createCookie('myLTP', '1', 0);
			cOpen = '1';

			var s=s_gi(s_account);
			s.linkTrackVars='prop30';
			s.linkTrackEvents='None';
			s.prop30 = 'myLTP | Exposed';
			trackMe=document.getElementById('myLTPApp');
			s.tl(trackMe,'o', s.prop30);
		}
	}catch(e){alert("LTP SET error: "+e)}
}


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);
}
// MY NBC Cookie Checks  #END //


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];
	}
}


function openWirelessRegisterWindow()  {

	var eventId;
	var userId;
	var url;
	var left;
	var top;
	var iWidth;
	var iHeight;
	var settings;
	var urlName;
	var urlVariables;


	iWidth=screen.availWidth;
	iHeight=screen.availHeight;

	left=(iWidth-610)/2;
	top=(iHeight-420)/2;


	eventId= 10083;

	settings= "scrollbars=no,menubar=no,width=610,height=420,left="+left+",top="+top;

	urlName = "http://wireless.eventmatrix.com/Registration/Register.aspx";
	urlVariables = "?eid=" + eventId + "&uid=" + userId;

	url="http://gold.eventmatrix.com/EMCGWebTemplate/main.aspx?ProducerId=10132&EventId=10083";
	window.open(url, "WirelessRegistration", settings);
}


function ad_req(cid, bid, sid, pos) {
	//var rand = rando();
	//ad = new Image();
	//var ad_uri = "http://ads.nbc.com/clear.gif?c=" + cid + "&b=" + bid + "&s=" + s
}

function launchvideo(pathid)
{
	// test
	//site='http://video-proto.nbcuni.com/player.html';
	// prod
	site='http://video.nbc.com/player.html';

	param = '?dlid=';
	newwindow=window.open(site+param+pathid,'sendtofriend','toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=no,width=750,height=550');
	if (window.focus) {newwindow.focus()}
	//return false;
}

function launchvideodir(pathid)
{
	// test
	//site='http://video-proto.nbcuni.com/player.html';
	// prod
	site='http://video.nbc.com/player.html';

	param = '?dl=';
	newwindow=window.open(site+param+pathid,'sendtofriend','toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=no,width=750,height=550');
	if (window.focus) {newwindow.focus()}
	//return false;
}

var randDARTNumber=0;
function genSetRandDARTNumber()
{
 randDARTNumber = Math.round(Math.random()*1000000000000);
}
genSetRandDARTNumber();