/* MG: JSON class constructor - use this one instead of the one in omniture.js */
Array.prototype.jsonClass=function(){
	var x=this;
	var constr=function(){
		var a=arguments; var u;
		for(var i=0;i<x.length;i++){
			if(typeof x[i]=="object"){
				for(var j in x[i]){this[j]=this[j]!=u?this[j]:x[i][j]}
			};
			if(typeof x[i]!="string" || a[i]===u){continue};
			this[x[i]]=a[i];
		}
	};
	var nextProto=false;
	for(var i=0;i<=x.length;i++){
		var a=x[i]||constr;
		if(typeof a=="function"){
			a.prototype=nextProto||a.prototype;
			nextProto=new a();
		}
	};
	constr.addMembers=function(obj){
		for(var i in obj){constr.prototype[i]=obj[i]}
	};
	return constr
};

/* extending members sample: MyClass.addMembers({key:'value'}) */


/* MG: ajax caller */
includeJS=function(url,onload,allowCache){
     url=allowCache?url:url+'&nocache='+Math.random();
     url=url.split('?').length>1?url:url.replace(/\&/,'?');
     onload=typeof onload=="function"?onload:function(){};
     var js=document.createElement('script');
     js.setAttribute('src',url);
     js.addEventListener && function(){js.addEventListener('load',onload,false)}();
     js.onreadystatechange=
          function(){this.readyState=='complete' && onload.call()};
     document.getElementsByTagName('head').item(0).appendChild(js);
};


/* MG: definition for the main video item function */
videoProperties=[
'vprop0','vprop1','vprop2','vprop3','vprop4','vprop5','vprop6','vprop7','vprop8','vprop9','vprop10','vprop11','vprop12','vprop13','vprop14','vprop15',
     {
          vprop0:'empty',
          vprop1:'empty',
          vprop2:'empty',
          vprop3:'empty',
          vprop4:'empty',
          vprop5:'empty',
          vprop6:'empty',
          vprop7:'empty',
          vprop8:'empty',
          vprop9:'empty',
          vprop10:'empty',
          vprop11:'empty',
          vprop12:'empty',
          vprop13:'empty',
          vprop14:'empty',
          vprop15:'empty',
          getVprop0:function(){return this.vprop0},
          getVprop1:function(){return this.vprop1},
          getVprop2:function(){return this.vprop2},
          getVprop3:function(){return this.vprop3},
          getVprop4:function(){return this.vprop4},
          getVprop5:function(){return this.vprop5},
          getVprop6:function(){return this.vprop6},
          getVprop7:function(){return this.vprop7},
          getVprop8:function(){return this.vprop8},
          getVprop9:function(){return this.vprop9},
          getVprop10:function(){return this.vprop10},
          getVprop11:function(){return this.vprop11},
          getVprop12:function(){return this.vprop12},
          getVprop13:function(){return this.vprop13},
          getVprop14:function(){return this.vprop14},
          getVprop15:function(){return this.vprop15}
     }
].jsonClass();

/* MG: translation table
vprop0	empty
vprop1	$video_title1 
vprop2	$video_title2 
vprop3	$video_series_title 
vprop4	$video_season_number
vprop5	$video_description 
vprop6	$video_episode_number 
vprop7	$video_primary_cid 
vprop8	$video_category_type
vprop9	$video_runtime 
vprop10	$video_pid 
vprop11	$video_marker_thumb 
vprop12	$video_marker_full 
vprop13	$ <local> in xml - the current category value for the existing show pages
vprop14	$ <name> in xml - site name in xml, lowercased and trimmed to match the value passed from the left menu
vprop15	empty

*/

/* MG: definition for the main video item function */
videoCategories=[
'name','id','description','local',
     {
          name:'empty',
          id:'empty',
          description:'empty',
          local:'empty',
          getName:function(){return this.name},
          getId:function(){return this.id},
          getDescription:function(){return this.description},
          getLocal:function(){return this.local}
     }
].jsonClass();


/* SL: html constructor for HD Gallery video listing  */

function videoDisplayEpisodes(videoArray, count, showItemsPerPage, offset) {
	var videoPageArray = videoArray;
	var total = count;
	var page = eval(offset);
	var itemsPerPage = showItemsPerPage;
	var itemsToShow = itemsPerPage;
	var number_of_pages = count / itemsPerPage;
	number_of_pages = Math.ceil(number_of_pages);
	if (itemsToShow > total - itemsPerPage * page) itemsToShow = total - itemsPerPage * page;
	
	document.write("<div align=\"center\" class=\"paginationWrapper\" id=\"pagination1\">");
		if (page!=0) document.write("<a style=\"outline:none\" href=\"?offset=" + (page-1) + "&category=" + category + "&reload=true&pid=" + pid + "&show=" + show + "\"><img src=\"/primetime/finales_2009/images/left_arrow_on.gif\" border=\"0\" alt=\"Previous Page\" title=\"Previous Page\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-right:9px;\"></a>")
		else {document.write("<img src=\"/primetime/finales_2009/images/left_arrow_off.gif\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-right:9px;\" border=\"0\"/>")}
		//if (total !=0) document.write("<span class=\"size14 bold\" style=\"\">&nbsp;Page " + (page+1) + " of " + number_of_pages + "&nbsp;</span>");
		
		buildPagination(number_of_pages,page);
		
		
		
		if (page + 1 < number_of_pages) document.write("<a style=\"outline:none\" href=\"?offset=" + (page+1) + "&category=" + category + "&reload=true&pid=" + pid + "&show=" + show + "\"><img src=\"/primetime/finales_2009/images/right_arrow_on.gif\" border=\"0\" alt=\"Next Page\" title=\"Next Page\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-left:8px;\"></a>")
		else {document.write("<img src=\"/primetime/finales_2009/images/right_arrow_off.gif\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-left:8px;\" border=\"0\"/>")}
	document.write("</div><div class=\"clear\"></div>");
	
	if (videoPageArray.length > 0) {
		var j = 0;
		for (var i = 0 + itemsPerPage*page;i < itemsPerPage*page + itemsToShow; i++) {
			if (((videoPageArray[i].vprop10 == pid)||(videoPageArray[i].vprop15 == pid))&&(pid != '')) {
				if ((j==7)||(j==12)) {
					document.write("<div class=\"featured featuredHighlight\" style=\"margin-right:0\">")
				}
				else {
					document.write("<div class=\"featured featuredHighlight\">");
				}
			}
			else {
				if ((j==7)||(j==12)) {
					document.write("<div class=\"featured\" style=\"margin-right:0\">")
				}
				else {
					document.write("<div class=\"featured\">");
				}
			}
			document.write("<div class=\"playThumb\"><a target=\"_parent\" href=\"/" + videoPageArray[i].vprop1 + "?cid=" + videoPageArray[i].vprop7 + "&pid=" + videoPageArray[i].vprop10 + "&show=" + show + "&offset=" + page + "&play=true\"><img src=\"" + videoPageArray[i].vprop11 + "\" width=\"160\" height=\"120\" border=\"0\" /></a></div><div class=\"content\">");
			document.write("<h5 class=\"showname\">" + videoPageArray[i].vprop13 + "</h5>");
			document.write("<h5>" + videoPageArray[i].vprop2 + "</h5>");
			document.write("<p class=\"season_episode\">");
			//if (videoPageArray[i].vprop4 != '') document.write("Season " + videoPageArray[i].vprop4);
			if (videoPageArray[i].vprop6 != '') document.write("Ep. " + videoPageArray[i].vprop6 + " ");
			document.write("<span class=\"duration\">" + videoPageArray[i].vprop8 + "&nbsp;&nbsp;(" + videoPageArray[i].vprop9 + ")</span></p>");
				
				
				document.write("<div class=\"clear\"></div></div></div>")
				if ((j == 2)||(j == 7)) document.write("<div class=\"verticalSpacer40\"></div>");
				j++;
		}
	}
	else {
		document.write("<br/><h5>There are currently no videos in this category.<br/><br/>Please, check back later.</h5><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>")
	}
	
	document.write("<div class=\"clear\"></div><div align=\"center\" class=\"paginationWrapper\" id=\"pagination2\" style=\"width:auto\">");
		if (page!=0) document.write("<a style=\"outline:none\" href=\"?offset=" + (page-1) + "&category=" + category + "&reload=true&pid=" + pid + "&show=" + show + "\"><img src=\"/primetime/finales_2009/images/left_arrow_on.gif\" border=\"0\" alt=\"Previous Page\" title=\"Previous Page\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-right:9px;\"></a>")
		else {document.write("<img src=\"/primetime/finales_2009/images/left_arrow_off.gif\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-right:9px;\" border=\"0\"/>")}
		
		buildPagination(number_of_pages,page);
		
		if (page + 1 < number_of_pages) document.write("<a style=\"outline:none\" href=\"?offset=" + (page+1) + "&category=" + category + "&reload=true&pid=" + pid + "&show=" + show + "\"><img src=\"/primetime/finales_2009/images/right_arrow_on.gif\" border=\"0\" alt=\"Next Page\" title=\"Next Page\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-left:8px;\"></a>")
		else {document.write("<img src=\"/primetime/finales_2009/images/right_arrow_off.gif\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-left:8px;\" border=\"0\"/>")}
	document.write("</div><div class=\"clear\"></div>");
}

function buildPagination(number_of_pages, page) {
	
		if (number_of_pages <= 10) {
			
			for (i=0; i<number_of_pages; i++) {
				if (page != i) {
					document.write('<div class="navdot"><a href="?offset=' + i + '&category=' + category + '&reload=true&pid=' + pid + '&show=' + show +'">' + (i+1) + '</a></div>')
				}
				else {
					document.write('<div class="navdotSelected">' + (i+1) + '</div>')
				}
			}
			
		}
		
		else {
			
			if (number_of_pages - (page+1) < 9 ) {
		
				for (i=number_of_pages-10; i<number_of_pages; i++) {
					if (page != i) {
						document.write('<div class="navdot"><a href="?offset=' + i + '&category=' + category + '&reload=true&pid=' + pid + '&show=' + show +'">' + (i+1) + '</a></div>')
					}
					else {
						document.write('<div class="navdotSelected">' + (i+1) + '</div>')
					}
				}
			}
			
			else if ((page >= 9)&&(number_of_pages - (page+1) >= 9 )) {
				
				if (number_of_pages - (page+1) >= 10) pagesToShow = 11
				else pagesToShow = 10;
				
				for (i=page-9; i<page+pagesToShow; i++) {
					if (page != i) {
						document.write('<div class="navdot"><a href="?offset=' + i + '&category=' + category + '&reload=true&pid=' + pid + '&show=' + show +'">' + (i+1) + '</a></div>')
					}
					else {
						document.write('<div class="navdotSelected">' + (i+1) + '</div>')
					}
				}
				
			}
			
			else if (page < 9) {
				
				for (i=0; i<10; i++) {
					if (page != i) {
						document.write('<div class="navdot"><a href="?offset=' + i + '&category=' + category + '&reload=true&pid=' + pid + '&show=' + show +'">' + (i+1) + '</a></div>')
					}
					else {
						document.write('<div class="navdotSelected">' + (i+1) + '</div>')
					}
				}
				
			}
			
			else {
				
				for (i=page; i<page+10; i++) {
					if (page != i) {
						document.write('<div class="navdot"><a href="?offset=' + i + '&category=' + category + '&reload=true&pid=' + pid + '&show=' + show +'">' + (i+1) + '</a></div>')
					}
					else {
						document.write('<div class="navdotSelected">' + (i+1) + '</div>')
					}
				}
				
			}
		
		}

	
	
}


function videoDisplayAll(videoArray, count, ipp, offset) {
	var videoPageArray = videoArray;
	var total = count;
	var itemsPerPage = ipp;
	var itemsToShow = itemsPerPage;
	var number_of_pages = count / itemsPerPage;
	number_of_pages = Math.ceil(number_of_pages);
	
	if (videoPageArray.length > 0) {
		
		for (k=0; k<number_of_pages; k++) {
			
			if (itemsToShow > total - itemsPerPage * k) itemsToShow = total - itemsPerPage * k;

			document.write("<div class=\"videoPage\" style=\"display:none\" id=\"page" + k + "\">");
		
			
				document.write("<div align=\"center\" class=\"paginationWrapper\"><div align=\"center\" class=\"paginationContainer\">");
				if (number_of_pages > 1) {
					if (k!=0) document.write("<a style=\"outline:none\" href=\"javascript:void(0)\" onclick=\"showPage(" + (k-1) + ")\"><img src=\"/primetime/finales_2009/images/left_arrow_on.gif\" border=\"0\" alt=\"Previous Page\" title=\"Previous Page\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-right:5px;\"></a>")
					else {document.write("<img src=\"/primetime/finales_2009/images/left_arrow_off.gif\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-right:5px;\" border=\"0\"/>")}
					for (i=0; i<number_of_pages; i++) {
						if (i != k) {
							document.write('<div class="navdot"><a href="javascript:void(0)" onclick="showPage(' + i + ')"><img src="/primetime/finales_2009/images/nav_dot_off.gif" border="0" alt="Page ' + (i+1) + '" title="Page ' + (i+1) + '"/></a></div>')
						}
						else {
							document.write('<div class="navdot"><img src="/primetime/finales_2009/images/nav_dot_on.gif" border="0" alt="Page ' + (i+1) + '" title="Page ' + (i+1) + '"/></div>')
						}
					}
					if (k + 1 < number_of_pages) document.write("<a style=\"outline:none\" href=\"javascript:void(0)\" onclick=\"showPage(" + (k+1) + ")\"><img src=\"/primetime/finales_2009/images/right_arrow_on.gif\" border=\"0\" alt=\"Next Page\" title=\"Next Page\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-left:1px;\"></a>")
					else {document.write("<img src=\"/primetime/finales_2009/images/right_arrow_off.gif\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-left:1px;\" border=\"0\"/>")}
				}
				document.write("<div class=\"clear\"></div></div><div class=\"clear\"></div></div><div class=\"clear\"></div>");
			
			var j = 0;
			for (var i = 0 + itemsPerPage*k;i < itemsPerPage*k + itemsToShow; i++) {
				if (((videoPageArray[i].vprop10 == pid)||(videoPageArray[i].vprop15 == pid))&&(pid != '')) {
					if ((j==7)||(j==12)) {
						document.write("<div class=\"featured featuredHighlight\" style=\"margin-right:0\">")
					}
					else {
						document.write("<div class=\"featured featuredHighlight\">");
					}
				}
				else {
					if ((j==7)||(j==12)) {
						document.write("<div class=\"featured\" style=\"margin-right:0\">")
					}
					else {
						document.write("<div class=\"featured\">");
					}
				}
				document.write("<div class=\"playThumb\"><a target=\"_parent\" href=\"/" + videoPageArray[i].vprop1 + "?cid=" + videoPageArray[i].vprop7 + "&pid=" + videoPageArray[i].vprop10 + "&play=true&offset=" + k + "&show=" + show + "\"><img src=\"" + videoPageArray[i].vprop11 + "\" width=\"160\" height=\"120\" border=\"0\" /></a></div><div class=\"content\">");
				document.write("<h5 class=\"showname\">" + videoPageArray[i].vprop3 + "</h5>");
				document.write("<h5>" + videoPageArray[i].vprop2 + "</h5>");
				document.write("<p class=\"season_episode\">");
				//if (videoPageArray[i].vprop4 != '') document.write("Season " + videoPageArray[i].vprop4);
				if (videoPageArray[i].vprop6 != '') document.write("Ep. " + videoPageArray[i].vprop6);
				document.write("<span class=\"duration\">" + videoPageArray[i].vprop8 + "&nbsp;&nbsp;(" + videoPageArray[i].vprop9 + ")</span></p>");
				document.write("<p style=\"margin-top:3px\">Watch in:&nbsp;")
				if (videoPageArray[i].vprop10 != '') {
					if (videoPageArray[i].vprop10 == pid) {
						document.write("&nbsp;<a target=\"_parent\" href=\"/" + videoPageArray[i].vprop1 + "?cid=" + videoPageArray[i].vprop7 + "&pid=" + videoPageArray[i].vprop10 + "&play=true&offset=" + k + "&show=" + show + "\" alt=\"High Quality (480p)\" title=\"High Quality (480p)\"><img src=\"/primetime/finales_2009/images/HQ_button_active.gif\" align=\"texttop\"/></a>");
					}
					else {
						document.write("&nbsp;<a target=\"_parent\" href=\"/" + videoPageArray[i].vprop1 + "?cid=" + videoPageArray[i].vprop7 + "&pid=" + videoPageArray[i].vprop10 + "&play=true&offset=" + k + "&show=" + show + "\" alt=\"High Quality (480p)\" title=\"High Quality (480p)\"><img src=\"/primetime/finales_2009/images/HQ_button.gif\" align=\"texttop\"/></a>");
					}
				}
				if (videoPageArray[i].vprop15 != '') {
					if (videoPageArray[i].vprop15 == pid) {
						document.write("&nbsp;&nbsp;<a target=\"_parent\" href=\"/" + videoPageArray[i].vprop1 + "?cid=" + videoPageArray[i].vprop7 + "&pid=" + videoPageArray[i].vprop15 + "&play=true&offset=" + k + "&show=" + show + "\" alt=\"High Definition (720p)\" title=\"High Definition (720p)\"><img src=\"/primetime/finales_2009/images/HD_button_active.gif\" align=\"texttop\"/></a>");
					}
					else {
						document.write("&nbsp;&nbsp;<a target=\"_parent\" href=\"/" + videoPageArray[i].vprop1 + "?cid=" + videoPageArray[i].vprop7 + "&pid=" + videoPageArray[i].vprop15 + "&play=true&offset=" + k + "&show=" + show + "\" alt=\"High Definition (720p)\" title=\"High Definition (720p)\"><img src=\"/primetime/finales_2009/images/HD_button.gif\" align=\"texttop\"/></a>");
					}
				}
				document.write("</p><div class=\"clear\"></div></div></div>")
				if ((j == 2)||(j == 7)) document.write("<div class=\"verticalSpacer40\"></div>");
				j++;
			}
			
			document.write("<div class=\"clear\"></div><div align=\"center\" class=\"paginationWrapper\" id=\"pagination2\"><div align=\"center\" class=\"paginationContainer\">");
				if (number_of_pages > 1) {
				if (k!=0) document.write("<a style=\"outline:none\" href=\"javascript:void(0)\" onclick=\"showPage(" + (k-1) + ")\"><img src=\"/primetime/finales_2009/images/left_arrow_on.gif\" border=\"0\" alt=\"Previous Page\" title=\"Previous Page\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-right:5px;\"></a>")
				else {document.write("<img src=\"/primetime/finales_2009/images/left_arrow_off.gif\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-right:5px;\" border=\"0\"/>")}
				for (i=0; i<number_of_pages; i++) {
					if (i != k) {
						document.write('<div class="navdot"><a href="javascript:void(0)" onclick="showPage(' + i + ')"><img src="/primetime/finales_2009/images/nav_dot_off.gif" border="0" alt="Page ' + (i+1) + '" title="Page ' + (i+1) + '"/></a></div>')
					}
					else {
						document.write('<div class="navdot"><img src="/primetime/finales_2009/images/nav_dot_on.gif" border="0" alt="Page ' + (i+1) + '" title="Page ' + (i+1) + '"/></div>')
					}
				}
				if (k + 1 < number_of_pages) document.write("<a style=\"outline:none\" href=\"javascript:void(0)\" onclick=\"showPage(" + (k+1) + ")\"><img src=\"/primetime/finales_2009/images/right_arrow_on.gif\" border=\"0\" alt=\"Next Page\" title=\"Next Page\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-left:1px;\"></a>")
				else {document.write("<img src=\"/primetime/finales_2009/images/right_arrow_off.gif\" width=\"26\" height=\"21\" align=\"absmiddle\" style=\"margin-left:1px;\" border=\"0\"/>")}
				}
			document.write("<div class=\"clear\"></div></div><div class=\"clear\"></div></div><div class=\"clear\"></div>");
			
			document.write("</div>");
		}
	}
	else {
		document.write("<br/><h5>There are currently no videos in this category.<br/><br/>Please, check back later.</h5><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>")
	}
}



function showPage(num) {
	var pagesArray = new Array();
	pagesArray = $$('div.videoPage');
	for (i=0; i<pagesArray.length; i++) {
		if ($(pagesArray[i]).visible()) $(pagesArray[i]).hide();
	}
	//$('page' + num).appear({ duration: 0.5 })
	$('page' + num).show()
}

function showClipInfo(videoArray,count,pid) {
	var videoPageArray = videoArray;
	var videoCount = count;
	var videoId = pid;
	for (var i = 0;i<videoCount; i++) {
		if ((videoId == videoPageArray[i].vprop10)||(videoId == videoPageArray[i].vprop15)) {
			document.write('<div id="clipInfo" style="width:189px">');
				document.write('<b>' + videoPageArray[i].vprop3 + '</b><br/>');
				document.write(videoPageArray[i].vprop2 + '<br/><span style="color:#ffffff;">');
				//document.write(videoPageArray[i].vprop2 + '<br/><span class="white">');
				if (videoPageArray[i].vprop6 != '') document.write("Episode " + videoPageArray[i].vprop6 + "<br/>");
				document.write("<p style=\"margin-top:2px\">" + videoPageArray[i].vprop8 + " (" + videoPageArray[i].vprop9 + ")");

			document.write('</p></span></div>');
			document.write('<div id="clipDescription">');
				document.write('<span style="color:#ffffff;">' + videoPageArray[i].vprop5 + '</span>');
				//document.write('<span class="white">' + videoPageArray[i].vprop5 + '</span>');
			document.write('</div>');
		}
	}
}

function getProp(videoArray,count,pid, prop) {
	var videoPageArray = videoArray;
	var videoCount = count;
	var videoId = pid;
	var propNum = prop;
	for (var i = 0;i<videoCount; i++) {
		if ((videoId == videoPageArray[i].vprop10)||(videoId == videoPageArray[i].vprop15)) {
			var propContent = videoPageArray[i][propNum]
			return propContent
		}
	}
}
