/* BEGIN: MSN Video Player Overlay */
overlay = function() {
	var args = GetArgs(); 
    $('#infoOverlay').hide();
    $('#embedOverlay').hide();
    $('#linkOverlay').hide();
    $('#emailOverlay').hide();
	$('#emailOverlayConfirm').hide(); 
    
    $(function() {
        $(".hoverSwap").hover(
            function () {
                $(this).attr("src", $(this).attr("src").replace(/Off/, "On"));
            },
            function () {
                $(this).attr("src", $(this).attr("src").replace(/On/, "Off"));
            }
        );
    });
    
    $('#info').click(function(){        
        document.getElementById("Player1").vidPause();   
		loadXMLDoc(document.getElementById("Player1").vidGetId());
        $('#embedOverlay').hide();
        $('#linkOverlay').hide();
        $('#emailOverlay').hide();
		$('#emailOverlayConfirm').hide(); 
        $('#infoOverlay').show();
        $('.main_content div.col1:first-child').css("margin-top", "-362px");
        $('.extra_content .col1').css("margin-top", "0");
    });
    
    $('#embed').click(function(){
        document.getElementById("Player1").vidPause();
		var htmlStr = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="gtk0gv6f" width="600" height="438"><param name="movie" value="http://img.widgets.video.s-msn.com/flash/customplayer/1_0/customplayer.swf" /><param name="bgcolor" value="#ffffff" /><param name="base" value="." /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="flashvars" value="player.c=v&player.v='+document.getElementById("Player1").vidGetId()+'&mkt=en-us&configCsid=msnvideo&configName=syndicationplayer&from=foxsports_en-us_videocentral&brand=foxsports&fg=" /><embed src="http://img.widgets.video.s-msn.com/flash/customplayer/1_0/customplayer.swf" width="600" height="438" id="ng2mn8rg" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" pluginspage="http://macromedia.com/go/getflashplayer" base="." wmode="transparent" flashvars="player.c=v&player.v='+document.getElementById("Player1").vidGetId()+'&mkt=en-us&configCsid=msnvideo&configName=syndicationplayer&from=foxsports_en-us_videocentral&brand=foxsports&fg="></embed></object><noembed><a href="http://msn.foxsports.com/video?vid='+document.getElementById("Player1").vidGetId()+'" target="_new" title="">'+document.getElementById("Player1").vidGetTitle()+'</a></noembed>';
		$('.overlayEmbedCode').text(htmlStr);
        $('#infoOverlay').hide();
        $('#linkOverlay').hide();
        $('#emailOverlay').hide();
		$('#emailOverlayConfirm').hide(); 
        $('#embedOverlay').show();
		$('.overlayBtn').click(function(){
			//Create a new clipboard client
		    var clip = new ZeroClipboard.Client();
			//Glue the clipboard client to the element
            clip.glue(this);
			//Grab the text
            clip.setText(htmlStr);			
		});
        $('.main_content div.col1:first-child').css("margin-top", "-362px");
        $('.extra_content .col1').css("margin-top", "0");
    });
    
    $('#link').click(function(){
        document.getElementById("Player1").vidPause();          
	var htmlStr = 'http://msn.foxsports.com/video?vid='+document.getElementById("Player1").vidGetId()+'&from=foxsports_en-us_videocentral';
	$('.overlayLinkCode').text(htmlStr);	
        $('#infoOverlay').hide();
        $('#embedOverlay').hide();
        $('#emailOverlay').hide();
		$('#emailOverlayConfirm').hide(); 
        $('#linkOverlay').show();
		$('.overlayBtn').click(function(){
			//Create a new clipboard client
		    var clip = new ZeroClipboard.Client();
			//Glue the clipboard client to the element
            clip.glue(this);
			//Grab the text
            clip.setText(htmlStr);
		});
        $('.main_content div.col1:first-child').css("margin-top", "-362px");
        $('.extra_content .col1').css("margin-top", "0"); 
         loadXMLDoc(document.getElementById("Player1").vidGetId(),"share");     
    });
    
   $('#email').click(function(){ fsHookMeUp(this,{type:'email'}); });
    
    $('div.overlayClose').click(function(){
        $('#infoOverlay').hide();
        $('#embedOverlay').hide();
        $('#linkOverlay').hide();
        $('#emailOverlay').hide();
		$('#emailOverlayConfirm').hide(); 
        $('.main_content div.col1:first-child').css("margin-top", "0");
    })
	
	$('div.video-return').click(function(){
        $('#infoOverlay').hide();
        $('#embedOverlay').hide();
        $('#linkOverlay').hide();
        $('#emailOverlay').hide();
		$('#emailOverlayConfirm').hide(); 
        $('.main_content div.col1:first-child').css("margin-top", "0");
    })
	
	var url = location.href; //get url string
	var urlSearch = url.indexOf("/search"); //get shows search url string
	var urlQuery = url.indexOf("?"); //get query parameter in url string
	var urlAmp = url.indexOf("&"); //get query parameter in url string

	if(urlQuery > 0){
		var urlEnd = urlQuery;
	} else if (urlAmp > 0){
		var urlEnd = urlAmp;
	} else {
		var urlEnd = url.length;
	}

	if(urlSearch < 0){
		var urlVideo = url.indexOf("/video")+7; //get video url string
		var urlShow = url.indexOf("/shows/"); //get shows url string
		
		if(urlShow > 0){
			var urlCategory = url.substring(urlShow+7,urlEnd);

			// Update Lunch With Benefits Schedule
			if ($('#'+urlCategory)){
				var bgImageUrl = "";
				var bgImageWidth = "";
				
				if(urlCategory.length <= 6){
					bgImageUrl = "/component/photo/VideoShowsLunchWithBenefitsScheduleHighlightSmall";
				} else if(urlCategory.length <= 9){
					bgImageUrl = "/component/photo/VideoShowsLunchWithBenefitsScheduleHighlightMedium";
				} else {
					bgImageUrl = "/component/photo/VideoShowsLunchWithBenefitsScheduleHighlightLarge";
				}
				
				$('#'+urlCategory).css({'background-image': 'url('+bgImageUrl+')', 'background-repeat': 'no-repeat', 'background-position': 'top left'});
			}

			urlCategory = urlCategory.replace(/-/g, " ");
			urlCategory = urlCategory.replace(/_/g, " ");
			switch(urlCategory){
				case "mmathletics":
					urlCategory = "MMAthletics";
				break;
				case "mlb on fox":
					urlCategory = "MLB on FOX";
				break;
				case "nfl on fox":
					urlCategory = "NFL on FOX";
				break;
				case "club wpt":
					urlCategory = "Club WPT";
				break;
				case "online ot":
					urlCategory = "Online OT";
				break;
				case "what the fox":
					urlCategory = "What The FOX";
				break;
                                case "nfl draft":
					urlCategory = "NFL Draft";
				break;
				case "picknation":
					urlCategory = "";
				break;
				default:
					urlCategory = urlCategory;
			}
		}
		else{
			if(urlVideo > urlEnd){
				var urlCategory = "All Fox Sports Videos";
			}
			else {
				var urlCategory = url.substring(urlVideo,urlEnd);
			}
			urlCategory = urlCategory.replace(/-/g, " ");
			urlCategory = urlCategory.replace(/_/g, " ");
			switch (urlCategory){
				case "MMA Boxing":
					urlCategory = "MMA/Boxing";
				break;				
			}
			urlCategory = "Channel: "+ urlCategory;
		}	
		$('#channel').text(urlCategory); //set div ID channel to category
	}
	// UPDATE TITLE
	window.Player = new function()
	{
		this.OnVideoTitle = function(text, id)
		{
		   if (text != "Advertisement" && text != "" && text != null && urlCategory != "")
		   {
				  var elem = document.getElementById("title");
				  elem.innerHTML = text;
		   }
		}
	}
	
	
       if(args.emailSentOkay && args.emailSentOkay == "true"){
         try{           
           document.getElementById("Player1").vidPause();
	   loadXMLDoc(document.getElementById("Player1").vidGetId());
         }catch(e){}     
        
           $('#infoOverlay').hide();
           $('#embedOverlay').hide();
           $('#emailOverlay').hide();
		   $('#emailOverlayConfirm').hide(); 
           $('#linkOverlay').hide();                                        
           $("#emailConfirmation").css("font-weight", "bold");
           $("#emailConfirmation").css("margin-left", "170px");
           $("#emailConfirmation").css("margin-top", "100px"); 
	   $("#emailConfirmation").css("font-size", "18px");          		   
           $('#emailOverlayConfirm').show();         
           $('.main_content div.col1:first').css("margin-top", "-362px");
           $('.extra_content .col1').css("margin-top", "0");     
       }    
};
/* END: MSN Video Player Overlay */

/* BEGIN: Channel drop down for MSN Video gallery */
function changeGallery(vidCategory){
	var featuredGallery = "videoByTag.aspx?tag=top%20news&ns=Fox%20Sports_Gallery&mk=us&vs=1";
	var videoGallery = "videoByTag.aspx?tag=Fox Sports&ns=MSNVideo_Top_Cat&mk=us&sf=HourlyCount&st=1&sd=-1&ns=VC_Supplier&vs=0";
	var width = 973;
	var height = 200;
	var configName = "video%20channel%20featured%20video";
	
	switch(vidCategory){
		case "All" :
			featuredGallery = "videoByTag.aspx?tag=top%20news&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=Fox Sports&ns=MSNVideo_Top_Cat&mk=us&sf=HourlyCount&st=1&sd=-1&ns=VC_Supplier&vs=0";
		  break;
		case "LWB" :
			featuredGallery = "videoByTag.aspx?tag=lwb&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=lwb&ns=Fox%20Sports_Gallery&mk=us&sd=-1&sf=ActiveStartDate&vs=0";
		  break;
		case "NFL" :
			featuredGallery = "videoByTag.aspx?tag=nfl&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=Fox Sports_NFL News&ns=MSNVideo_Top_Cat&mk=us&sd=-1&sf=ActiveStartDate&vs=0";
		  break;
		case "MLB" :
			featuredGallery = "videoByTag.aspx?tag=baseball&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=fox sports_baseball news&ns=MSNVideo_Top_Cat&mk=us&sd=-1&sf=ActiveStartDate&vs=0";
		  break;
		case "NASCAR" :
			featuredGallery = "videoByTag.aspx?tag=nascar&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=fox sports_motorsports&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&vs=0";
		  break;		  
		case "NBA" :
			featuredGallery = "videoByTag.aspx?tag=nba&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=Fox Sports_NBA news&ns=MSNVideo_Top_Cat&mk=us&sd=-1&sf=ActiveStartDate&vs=0";
		  break;
		case "NHL" :
			featuredGallery = "videoByTag.aspx?tag=fox Sports_hockey news&ns=MSNVideo_Top_Cat&mk=us&sd=-1&sf=HourlyCount&vs=0";
			videoGallery = "videoByTag.aspx?tag=fox sports_hockey news&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&vs=0";
		  break;
		case "NCAAFB" :
			featuredGallery = "videoByTag.aspx?tag=college football&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=fox sports_college fb news&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&vs=0";
		  break;
		case "NCAABK" :
			featuredGallery = "videoByTag.aspx?tag=cbk&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=fox sports_college bk news&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&vs=0";
		  break;
		case "FOXSoccer" :
			featuredGallery = "videoByTag.aspx?tag=fox sports_premierleague&ns=MSNVideo_Top_Cat&mk=us&sd=-1&sf=HourlyCount&vs=0";
			videoGallery = "videoByTag.aspx?tag=fox sports_premierleague&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&vs=0";
		  break;  
		case "Fantasy" :
			featuredGallery = "videoByTag.aspx?tag=fox Sports_fantasy_video&ns=MSNVideo_Top_Cat&mk=us&sd=-1&sf=HourlyCount&vs=0";
			videoGallery = "videoByTag.aspx?tag=fox sports_fantasy_video&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&sd=-1&vs=0";
		  break;
		case "SPEED_Channel" :
			featuredGallery = "videoByTag.aspx?tag=fox sports_motorsports_speed&ns=MSNVideo_Top_Cat&mk=us&sd=-1&sf=HourlyCount&vs=0";
			videoGallery = "videoByTag.aspx?tag=fox sports_motorsports_speed&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&sd=-1&vs=0";
		  break;  
		case "Golf" :
			featuredGallery = "videoByTag.aspx?tag=golf&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=fox sports_golf&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&sd=-1&vs=0";
		  break;
		case "Tennis" :
			featuredGallery = "videoByTag.aspx?tag=tennis&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=tennis&ns=Fox%20Sports_Gallery&mk=us&sd=-1&sf=ActiveStartDate&vs=0";
		  break;
		case "MMA_Boxing" :
			featuredGallery = "videoByTag.aspx?tag=fox Sports_fight video&ns=MSNVideo_Top_Cat&mk=us&sd=-1&sf=HourlyCount&vs=0";
			videoGallery = "videoByTag.aspx?tag=fox sports_fight video&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&sd=-1&vs=0";
		  break;
		case "Fuel_TV" :
			  featuredGallery = "videoByTag.aspx?tag=fox sports_action_fuel&ns=MSNVideo_Top_Cat&mk=us&sf=HourlyCount&sd=-1&vs=0";
			  videoGallery = "videoByTag.aspx?tag=fox sports_action_fuel&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&sd=-1&vs=0";
			break;
		case "Olympic_Sports" :
			  featuredGallery = "videoByTag.aspx?tag=olympics&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			  videoGallery = "videoByTag.aspx?tag=olympics&ns=Fox%20Sports_Gallery&mk=us&sd=-1&sf=ActiveStartDate&vs=0";
			break;
		case "More" :
			featuredGallery = "videoByTag.aspx?tag=fox sports_more fox sports&ns=MSNVideo_Top_Cat&mk=us&sf=HourlyCount&sd=-1&vs=0";
			videoGallery = "videoByTag.aspx?tag=fox sports_more fox sports&ns=MSNVideo_Top_Cat&mk=us&sf=ActiveStartDate&sd=-1&vs=0";
		break;		
		default:
			featuredGallery = "videoByTag.aspx?tag=top%20news&ns=Fox%20Sports_Gallery&mk=us&vs=1";
			videoGallery = "videoByTag.aspx?tag=Fox Sports&ns=MSNVideo_Top_Cat&mk=us&sf=HourlyCount&st=1&sd=-1&ns=VC_Supplier&vs=0";		
	}
	$('#FeaturedVideosGalleryContainer').html("");
	$('#VideoGalleryContainer').html("");
	
	if($('#MarketingSliverGalleryContainer').length){
		width = 754;
		height = 200;
		configName = "video%20channel%20featured%20video%20with%20marketing%20sliver";
	}
	
	Msn.Video.createWidget('FeaturedVideosGalleryContainer', 'Gallery', width, height, {"configCsid": "fox%20sports", "configName": configName, "gallery.categoryRequests": featuredGallery }, 'FeaturedVideosGallery');
	
	Msn.Video.createWidget('VideoGalleryContainer', 'Gallery', 973, 500, {"configCsid": "fox%20sports", "configName": "video%20channel%20gallery", "gallery.categoryRequests": videoGallery }, 'VideosGallery');

}
/* END: Channel drop down for MSN Video gallery */

/* BEGIN: [XML Data Gathering for in page update] */
var xmlLoc; // XML Location Holder
var xmlhttp; // create the xml holder
function loadXMLDoc(query, pageName, sortType){    
	if (pageName == "VideoSearch"){
	  if (sortType != ""){
		sortType = "date";  
	  }
	  	xmlLoc = "/feed/video/search/?q="+query+"&sort="+sortType+"&num=40&printXML=true&media=video"; // XML location
	  // xmlLoc = "/component/xml/VideoSearchXML"; // XML location
	}
	else {
    	xmlLoc = "/feed/video/msn/videoByuuids.aspx?uuids="+query; // XML location
		//xmlLoc = "/component/xml/VideoMetaData";
	}
    xmlhttp=null; // reset the xml request holder

    if(window.XMLHttpRequest){  // code for all new browsers
        xmlhttp=new XMLHttpRequest(); // create new xml request
    }else if(window.ActiveXObject){  // code for IE5 and IE6
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); // create new xml request
    }

    if (xmlhttp!=null){ // check xml status
        xmlhttp.open("GET",xmlLoc,true); // get the file
        xmlhttp.onreadystatechange=function(){
			if(xmlhttp.readyState == 4 ){  // Make sure the document has been loaded(4 = "loaded")
				if (xmlhttp.status==200){  // Make sure the contents are good (200 = "OK")
					getSearchResult(pageName); // get Video Data from XML
				}else{ // if there was a problem
					//alert("Problem retrieving XML data"); // notify the user
				}
			}
	
		} // launch stateChange when the file is ready
        xmlhttp.send(null); // launch
    }else{ // if the request has not ran
        alert("Your browser does not support XMLHTTP."); // notify the user
    }
    return true;
}

var video = new Object(); // Video Object Holder
function getSearchResult(pageName){
	
	searchData = xmlhttp.responseXML.documentElement; // get search data
	
	if(pageName == "VideoSearch"){
		var searchTerms = searchData.getElementsByTagName('sc'); // get sc node
		var completeResults = searchData.getElementsByTagName('CompleteResult'); // get CompleteResult node
		var guid = "";
		
		for(i=0; i<completeResults.length; i++){ // go through all results
			var episodeMetaData = completeResults[i].getElementsByTagName('EpisodeMetaData')[0]
			guid += episodeMetaData.getAttribute("guid"); // get seriesMetatData node w/ guid
			if (i < completeResults.length-1){
				guid +=	 ",";
			}
		}
		
		var searchTerm = searchTerms[0].getElementsByTagName('s')[0].childNodes[0].nodeValue;
		
		$('#Player1Container').html("");
		$('#MostWatchedGalleryContainer').html("");
		$('#VideoGalleryContainer').html("");
	
		Msn.Video.createWidget('Player1Container', 'Player', 640, 400, {"cbprefix": "Player.", "configCsid": "fox%20sports", "configName": "video_player", "player.vcq": "videoByUuids.aspx?uuids="+guid }, 'Player1');
	
		Msn.Video.createWidget('MostWatchedGalleryContainer', 'Gallery', 173, 385, {"configCsid": "fox%20sports", "configName": "video%20channel%20most%20watched", "gallery.categoryRequests": "search.aspx?q="+query+"&mk=us&sf=DailyCount&st=1&vs=1&cs=Fox%20Sports" }, 'MostWatchedGallery');
		
		Msn.Video.createWidget('VideoGalleryContainer', 'Gallery', 667, 500, {"configCsid": "fox%20sports", "configName": "video_search_gallery", "gallery.categoryRequests": "videoByUuids.aspx?uuids="+guid}, 'VideosGallery');

		$('#channel').text("Search: "+searchTerm);       

        $('#VideoGalleryContainer').prepend('<span>Search Results: '+searchTerm+'</span>');
	}
	else{
		var videoTitle = searchData.getElementsByTagName('video'); // get video  node
		var description = searchData.getElementsByTagName('description'); // get description node
		var startDate = searchData.getElementsByTagName('startDate'); // get startDate node
        var imageFiles = searchData.getElementsByTagName('files')[0].childNodes; //image files

		var videoText = videoTitle[0].getElementsByTagName('title')[0].childNodes[0].nodeValue; //get title node data
		var descriptionText = description[0].childNodes[0].nodeValue; //get description node data
		var publishDate = startDate[0].childNodes[0].nodeValue; //get startDate node data
		var thumbnailImage = '';
		for(var l= 0; l <  imageFiles.length; l++){
			 if(imageFiles[l].getAttribute("formatCode") == '2007'){
			   thumbnailImage = imageFiles[l].childNodes[0].childNodes[0].nodeValue;//get the image url
			 }
		} 
                 
		
		var guid = searchData.getElementsByTagName('uuid')[0].nodeValue;
		var shareUrl = "http://"+ window.location.host + window.location.pathname + "?vid=" + document.getElementById("Player1").vidGetId();
		var d = new Date();
		
		var month=new Array(12);
		month[0]="Jan";
		month[1]="Feb";
		month[2]="Mar";
		month[3]="Apr";
		month[4]="May";
		month[5]="Jun";
		month[6]="Jul";
		month[7]="Aug";
		month[8]="Sept";
		month[9]="Oct";
		month[10]="Nov";
		month[11]="Dec";
		
		publishDay = d.getDate(publishDate);
		publishYear = d.getFullYear(publishDate);
		publishMonth = month[d.getMonth(publishDate)];
		
		//Share button variables		               
		$("#fbShareLink").click(function(){   
				fsHookMeUp(this,{type:'share', source: "facebook", linkUrl: shareUrl, title: videoText, desc: descriptionText, imageUrl: thumbnailImage});  
		});  
		$("#twShareLink").click(function(){   
				fsHookMeUp(this,{type:'share', source: "twitter", linkUrl: shareUrl, title: videoText, desc: descriptionText, imageUrl: thumbnailImage});  
		});  
		$("#emShareLink").click(function(){   
				fsHookMeUp(this,{type:'email', linkUrl: shareUrl, title: videoText, desc: descriptionText, imageUrl: thumbnailImage});  
		});  
		$("#shareLink").click(function(){   
				fsHookMeUp(this,{type:'share', source: "facebook", linkUrl: shareUrl, title: videoText, desc: descriptionText, imageUrl: thumbnailImage});  
		});  
		
		$('#overlayEmailTitle').text(videoText);
        $('#emailOverlayInputTitle').val(videoText);
		$('#emailOverlayInputSubject').val(videoText);
		$('#emailOverlayInputLink').val(shareUrl);
		$('#emailOverlayReturnUrl').val(shareUrl);
		$('#overlayTitle').text(videoText);
		$('#overlayDate').text(publishMonth + " " + publishDay + ", " + publishYear);
		$('#overlayDescription').text(descriptionText);
	}
}
