// JavaScript Document
// Custom
//var _imgHost = "img\/";
//var _imgHost = "http:\/\/desarrollo-cstv.nspmotion.com\/10267\/img\/";
var _imgHost = "http:\/\/fsi.dmmotion.com\/10267\/img\/";



var selectedItem = [0, 0, 0];
var _channelsPerPage = 7;
var _channelsPage = 0;

var _itemsPerPage = 14;
var _itemsPage = 0;

function onPlayerInit(PyIndex){
	var player = admtv.Players[PyIndex];
		
	player.onContentChange = function (evObj) {
		var rDTO  = this.getCurrentItemData();
		//Ids del item en reproducción
		var ChannelId  = rDTO.ChannelId;
		var PlaylistId = rDTO.PlaylistId;
		var Id         = rDTO.Id;
		var item       = this.getItemById(ChannelId,PlaylistId,Id);
		document.getElementById("ADMEstasViendoText").innerHTML = item.Title;
	}
	doSearch(PyIndex,document.getElementById('ADMSearchInp'),	document.getElementById('ADMSearchBtn'))
	player.onSearchFinished = function (evObj) {
		_itemsPage = 0 ;
		showSearchedItems(PyIndex,evObj);
				
	}
	player.onMostViewedFetched = function(Obj){			
			setMostView(PyIndex,Obj)
	}
	
	
	player.onMostRecentFetched = function(Obj){			
			setMostRecent(PyIndex,Obj)
	}
	
	mostrarPlaylists(PyIndex);
	
	var fVars= "PyIndex="+PyIndex;
	document.getElementById("ADMMostView").innerHTML = genSWFcode("SWFMostView",320, 100, _imgHost+"mostView.swf", fVars, "transparent");
	document.getElementById("ADMultimos").innerHTML  = genSWFcode("SWFMostRecent",152, 417, _imgHost+"mostRecent.swf", fVars, "transparent");
}
function getContentRecent() {
	var player = admtv.Players[0];
	player.getMostRecent(10, 4);
}
function getMostViewed() {
	var player = admtv.Players[0];
	player.getMostViewed (10, 7);
	
}

function setMostRecent(PyIndex,rDTOs){
	var player = admtv.Players[PyIndex];
	var mov2 = "SWFMostRecent";
	var swfObj2 = (navigator.appName.indexOf("Microsoft") != -1) ? window[mov2] : document[mov2];
	
	var player = admtv.Players[PyIndex];
	var cont   = new Array();
	var it      = rDTOs.length;
	for (var i=0; i<it; i++) {
	   var thisCanal    = player.getChannelById(rDTOs[i].ChannelId);
	   var thisPlaylist = player.getPlaylistById(rDTOs[i].ChannelId, rDTOs[i].PlaylistId);
	   var thisItem     = player.getItemById(rDTOs[i].ChannelId, rDTOs[i].PlaylistId, rDTOs[i].Id);
	   var urlThumb     = player.getItemThumbnail({ChannelId:rDTOs[i].ChannelId ,PlaylistId:rDTOs[i].PlaylistId ,Id:rDTOs[i].Id}, "m");
	   
	  cont.push({Title: thisItem.Title, Description: thisItem.Description, Thumb: urlThumb, chId:rDTOs[i].ChannelId,plId:rDTOs[i].PlaylistId, Id:rDTOs[i].Id});
	}
	swfObj2.setContentRecent(cont,PyIndex);		
}

function setMostView(PyIndex,rDTOs){
	
	var player = admtv.Players[PyIndex];
	var mov2 = "SWFMostView";
	var swfObj2 = (navigator.appName.indexOf("Microsoft") != -1) ? window[mov2] : document[mov2];
	var player = admtv.Players[PyIndex];
	var cont   = new Array();
	var it      = rDTOs.length;
	for (var i=0; i<it; i++) {
	   var thisCanal    = player.getChannelById(rDTOs[i].ChannelId);
	   var thisPlaylist = player.getPlaylistById(rDTOs[i].ChannelId, rDTOs[i].PlaylistId);
	   var thisItem     = player.getItemById(rDTOs[i].ChannelId, rDTOs[i].PlaylistId, rDTOs[i].Id);
	   var urlThumb     = player.getItemThumbnail({ChannelId:rDTOs[i].ChannelId ,PlaylistId:rDTOs[i].PlaylistId ,Id:rDTOs[i].Id}, "m");
		   
	  	cont.push({Title: thisItem.Title, Description: thisItem.Description, Thumb: urlThumb, chId:rDTOs[i].ChannelId,plId:rDTOs[i].PlaylistId, Id:rDTOs[i].Id});
	}
		
	swfObj2.setContent(cont,PyIndex);
		
}
function playVideo(pyIndex, rDTO){	admtv.Players[pyIndex].playVideo({ChannelId:rDTO.ChannelId, PlaylistId:rDTO.PlaylistId, Id:rDTO.Id});}
function generarItem(PyIndex, ChId, PlId, ItId, num) {
	var thisPlayer = admtv.Players[PyIndex];
	var thisCanal = thisPlayer.getChannelById(ChId);
	var thisPlaylist = thisPlayer.getPlaylistById(ChId, PlId);
	var thisItem = thisPlayer.getItemById(ChId, PlId, ItId);
	var assetId = "ADM_AS_"+thisItem.Id;
		
	var u = "<table id='"+assetId+"' class='item' onclick='admtv.Players["+PyIndex+"].playVideo({ChannelId:"+thisCanal.Id+", PlaylistId:"+thisPlaylist.Id+", Id:"+thisItem.Id+"})' border='0' cellspacing='0' cellpadding='0'><tr";
		u+= "><td width='60' style='padding:5px;'><img src='"+admtv.getThumbnailURL(thisPlayer.Content.Id, thisItem, "s")+"' width='60' height='40' style='border-width:1px;border-style:solid;border-color:#555555' \/><\/td>";
		u+= "<td width='317' style='padding:10px;padding-left:5px;color:#444444;'>";
		u+= "<span class='itemTitle'>"+thisItem.Title+"<\/span><br \/>";
		if (typeof(thisItem.Description)!="undefined") {
			if (thisItem.Description!="null") u += "<span class='itemDesc'>"+textEllipsis(thisItem.Description, 35)+"</span>";
		}
		u+= "<\/tr><\/table>";
	
	return u;
	
}

function generarPlaylist(PyIndex, PlIndex) {
	var thisPlayer = admtv.Players[PyIndex];
	var thisPlaylist = thisPlayer.Content.Channels[0].Playlists[PlIndex];
	var activo = (PlIndex == selectedItem[1]);
	var oncl = " onclick='selectedItem[1]="+PlIndex+";mostrarPlaylists("+PyIndex+")' ";
	var u = "<td"+oncl+"style='cursor:pointer;' width='7' ><img src='"+_imgHost;
		u+= (activo) ? "sola01_a" : "sola01";
		u+= ".gif' width='7' height='24' \/><\/td>";
		u+= "<td"+oncl+"style='cursor:pointer;";
		if (activo) u+= "background:url(\""+_imgHost+"sola02_a.gif\") repeat-x;";
		else u+= "background:url(\""+_imgHost+"sola02.gif\") repeat-x;";
		u+= " height:24px;padding-left:5px;padding-right:5px;font-size:11px;font-family:Verdana, Arial, Helvetica, sans-serif;font-weight:";
		u+= (activo) ? "bold;":"bold;";
		u+="color:#";
		u+= (activo) ? "FFFFFF" : "FFFFFF";
		u+= ";'>"+textEllipsis(thisPlaylist.Title,11)+"<\/td>";
		u+= "<td style='cursor:pointer;padding-right:4px'"+oncl+"width='7' valign=''><img src='"+_imgHost;
		u+= (activo) ? "sola03_a" : "sola03";
		u+= ".gif' width='7' height='24' \/><\/td>";
	return u;
}


function mostrarPlaylists(PyIndex) {
	_itemsPage = 0 ;
	var thisPlayer = admtv.Players[PyIndex];
	var iu = _channelsPage*_channelsPerPage;
	
	var it = Math.min(iu+_channelsPerPage, thisPlayer.Content.Channels[0].Playlists.length);
//	selectedItem[0] = 2;
	var u = "<table border='0' cellspacing='0' cellpadding='0'><tr><td width='5'></td>";
	for (var i = iu; i<it; i++) {
		u+= generarPlaylist(PyIndex, i);
	}
		u+= "<\/tr><\/table>";
		u+= "<span id='BTNmasL'>";
		u+= "<input class='noPadding' type='image' onclick='masCanales("+PyIndex+", false)' ";
		if (_channelsPage==0) {
			u+= "src='"+_imgHost+"trans.gif' disabled='disabled'";
		} else u+= "src='"+_imgHost+"trans.gif' style='cursor:pointer;'";
		u+= " /></span><span id='BTNmasR'>";
		u+= "<input class='noPadding' type='image' onclick='masCanales("+PyIndex+", true)' ";
		if (iu+_channelsPerPage >= thisPlayer.Content.Channels[0].Playlists.length) {
			u+= "src='"+_imgHost+"trans.gif' disabled='disabled'";
		} else u+= "src='"+_imgHost+"trans.gif' style='cursor:pointer;'";
		u+= " />";
		u+= "<\/span>";
	document.getElementById("canales").innerHTML=u;
	obtenerItems(PyIndex,selectedItem[0], selectedItem[1]);

}
function masCanales(PyIndex, avanza){
	_channelsPage = (avanza) ? _channelsPage+1 : _channelsPage-1;
	mostrarPlaylists(PyIndex);
}
function masItems(PyIndex, avanza, chIndex, plIndex , isSearch, rDTOs){

	_itemsPage = (avanza) ? _itemsPage+1 : _itemsPage-1;
	if(isSearch) showSearchedItems(PyIndex,rDTOs);
	else obtenerItems(PyIndex, chIndex, plIndex); 
}

function obtenerItems(PyIndex, chIndex, plIndex){
	var iu = _itemsPage*_itemsPerPage;
	var cont = new Array();
	var thisPlayer = admtv.Players[PyIndex];
	var thisCanal = thisPlayer.Content.Channels[chIndex];
	var thisPlaylist = thisCanal.Playlists[plIndex];
	var it = Math.min(iu+_itemsPerPage, thisPlaylist.Items.length);
	var actualPage =  _itemsPage + 1;
	var totalPage = (Math.ceil( thisPlaylist.Items.length / _itemsPerPage)) ;
	
	for (iu; iu<it; iu++) { 
		var urlThumb = thisPlayer.getItemThumbnail({ChannelId:thisCanal.Id ,PlaylistId:thisPlaylist.Id ,Id:thisPlaylist.Items[iu].Id}, "m");
		var oncl = "onclick='admtv.Players["+PyIndex+"].playVideo({ChannelId:"+thisCanal.Id+", PlaylistId:"+thisPlaylist.Id+", Id:"+thisPlaylist.Items[iu].Id+"})'";
		cont.push({Title: thisPlaylist.Items[iu].Title, Description:  thisPlaylist.Items[iu].Description, Thumb: urlThumb, onclick:oncl})
	}
	
	var back = "<span class='buttonText' onclick='masItems("+PyIndex+", false, "+chIndex+", "+plIndex+", false)' ";
		back+= (_itemsPage==0)? "style='visibility:hidden;'" : "style='cursor:pointer;'";
		back+= " /><table><tr><td><input type='image' src='"+_imgHost+"AdmBack.gif'/><\/td><td>Anterior<\/td></tr><\/table></span>";
		
		var ff = "<span class='buttonText' onclick='masItems("+PyIndex+", true, "+chIndex+", "+plIndex+", false)' ";
		ff += (iu >= thisPlaylist.Items.length)? " style='visibility:hidden;'" : "style='cursor:pointer;'";		
		ff+= " /><table><tr><td>Siguiente<\/td><td><input type='image' src='"+_imgHost+"AdmFF.gif' \/><\/td></tr><\/table>";
		ff+= "<\/span>";
		
	document.getElementById("ADMPLaylistItems").innerHTML=generateItems(cont, 2, 7);
	document.getElementById("p_l").innerHTML=back;
	document.getElementById("p_r").innerHTML=ff;
	document.getElementById("p_c").innerHTML= "<span>P&aacute;gina <span class='color'>"+actualPage+"</span> de "+totalPage+"</span>";

}

function showSearchedItems(PyIndex,rDTOs){
	var iu = _itemsPage*_itemsPerPage;
	var actualPage =  _itemsPage + 1;
	var totalPage = (Math.ceil( rDTOs.length / _itemsPerPage)) ;
	var player = admtv.Players[PyIndex];
	var cont   = new Array();
	
	var it = Math.min(iu+_itemsPerPage, rDTOs.length);
	
    for (iu; iu<it; iu++) {
       var thisCanal    = player.getChannelById(rDTOs[iu].ChannelId);
       var thisPlaylist = player.getPlaylistById(rDTOs[iu].ChannelId, rDTOs[iu].PlaylistId);
	   var thisItem     = player.getItemById(rDTOs[iu].ChannelId, rDTOs[iu].PlaylistId, rDTOs[iu].Id);
	   var urlThumb     = player.getItemThumbnail({ChannelId:rDTOs[iu].ChannelId ,PlaylistId:rDTOs[iu].PlaylistId ,Id:rDTOs[iu].Id}, "m");
	   var oncl = "onclick='admtv.Players["+PyIndex+"].playVideo({ChannelId:"+rDTOs[iu].ChannelId+", PlaylistId:"+rDTOs[iu].PlaylistId+", Id:"+rDTOs[iu].Id+"})'";
	  cont.push({Title: thisItem.Title, Description: thisItem.Description, Thumb: urlThumb, onclick:oncl});
    }
	var idAtras="input_"+Math.round(Math.random()*99999999);
	var idAdelante="input_"+Math.round(Math.random()*99999999);

	var back= "<span  id='"+idAtras+"' class='buttonText' " ;
 		back+= (_itemsPage==0)? "style='display:none;' " : "style='cursor:pointer;'";
		back+= "><table><tr><td><input type='image' src='"+_imgHost+"AdmBack.gif'/><\/td><td>Anterior<\/td></tr><\/table><\/span> ";
		
	var ff = "<span class='buttonText' id='"+idAdelante+"'"; 

		ff+=(iu >=  rDTOs.length)?" style='display:none;'":"style='cursor:pointer;'";
		ff+= "><table><tr><td>Siguiente<\/td><td><input type='image' src='"+_imgHost+"AdmFF.gif' \/><\/td></tr><\/table>";
		ff+= "<\/span>";
	
	document.getElementById("ADMPLaylistItems").innerHTML= (it>0)? generateItems(cont, 2, 7): "<div class='noResult'>No se encontraron resultados</div>";
	document.getElementById("p_l").innerHTML=back;
	document.getElementById("p_r").innerHTML=ff;
	document.getElementById("p_c").innerHTML= "<span>P&aacute;gina <span class='color'>"+actualPage+"</span>  de "+totalPage+"</span>";
	
	document.getElementById(idAdelante).onclick=function()
	{
		masItems(PyIndex, true, null, null, true, rDTOs);
	}
	document.getElementById(idAtras).onclick=function()
	{
		masItems(PyIndex, false, null, null, true,rDTOs)
	}
}
function doSearch(PyIndex,inp, btn){
	var player = admtv.Players[PyIndex];
	btn.onclick = function(){
		player.search(inp.value);
		document.getElementById("ADMPLaylistItems").innerHTML="<div class='noResult'>Buscando...</div>";
	}
	inp.onkeypress = function(evObj){
		if (typeof(evObj)=="undefined") evObj = event;
		var keyCode = (evObj.keyCode) ? evObj.keyCode : (evObj.which) ? evObj.which : evObj.charCode; 
		if (keyCode == 13) {
			player.search(inp.value);
			document.getElementById("ADMPLaylistItems").innerHTML="<div class='noResult'>Buscando...</div>";
		}
		
	}
}
function generateItems(aDemos, f, c){
	var cont = new Array();
	var pTemplate = "";
	var it = 0;
	cont = aDemos;
	var endIt = cont.length;
	
	var pTemplate = "<table border='0' cellspacing='0' cellpadding='0' id='admholder'>";
	for(var i=0 ; i<f ; i++){
		
		pTemplate += "<tr>";
		for(var j=0 ; j<c ; j++){
	
			if(it < endIt)	{		
				var t = (typeof(cont[it].Title) != "undefined")? textEllipsis(cont[it].Title , 15) : "";
				var d = (typeof(cont[it].Description) != "undefined")?cont[it].Description : "";
				pTemplate += "<td>";
				pTemplate += "<div class='pTemplate' "+ cont[it].onclick +">";
				pTemplate += "<img src='"+cont[it].Thumb+"'  class='pThumb'\/>";
				pTemplate += "<div class='pTitle'>"+  t  +"</div>";
				pTemplate += "<div class='pDesc'>"+ d +"</div>";
				pTemplate += "<div style='display:inline;float:left;padding-left:6px;width:15px;'><img src='"+_imgHost+"ADMplay.gif' /></div>";
				pTemplate += "<div class='pLink' style='float:left;'>REPRODUCIR</div>";
				pTemplate += "<\/div>";
				pTemplate += "</td>";
				it++;
		    }
		}
		pTemplate += "</tr>";
		
	}
	pTemplate += "</table>";
	return pTemplate;
}
function textEllipsis(t, l) {
	var u = t.substr(0, l);
	if (u != t) u+="...";
	return u;
}

 
 function genSWFcode(id, width, height, file, fv, wmode, bgcolor) {
	
	if (typeof(fv)=="undefined") fv="";
	if (typeof(wmode)=="undefined") wmode="window";
	var h = '';
	h+= '<object id="'+id+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'"><param name=movie value="'+file+'" \/><param name=quality value=high \/><param name=menu value=false \/>';
	if (typeof(bgcolor)!="undefined") h+= '<param name="bgcolor" value="'+bgcolor+'" \/>';
	h+= '<param name="wmode" value="'+wmode+'" \/>';
	h+= '<param name=FlashVars value="'+fv+'" \/>';
	h+= '<param name="allowScriptAccess" value="always" \/><param name="allowFullScreen" value="true" \/>';
	h+= '<embed name="'+id+'" src="'+file+'" menu=false quality=high width="'+width+'" height="'+height+'" type="application\/x-shockwave-flash" pluginspace="http:\/\/www.macromedia.com\/go\/getflashplayer" wmode="'+wmode+'"';
	if (typeof(bgcolor)!="undefined") h+= ' bgcolor="'+bgcolor+'"';
	h+= ' FlashVars="'+fv+'"';
	h+= ' allowScriptAccess="always" allowFullScreen="true"><\/embed>';
	h+= '<\/object>';
	return h;
 }