// JavaScript Document
// Custom
var _imgHost = "http:\/\/fsi.dmmotion.com\/10134\/img\/";
//var _imgHost = "img\/";
var Destacados;
var selectedChannel = 0;

function onPlayerInit(PyIndex) {
	// Inicializacion
	var player = admtv.Players[PyIndex];
	// Search set-up
	document.getElementById("admtv_term").disabled = false;
	document.getElementById("admtv_term").onkeypress = function (e) {
		if (typeof(e)=="undefined") e = event;
		buscarVideoInput(e, player.Id);
	}
	document.getElementById("admtv_term_bt").disabled = false;
	document.getElementById("admtv_term_bt").onclick = function () {
		buscarVideo(player.Id);
	}
	showCanales(PyIndex);
	// Highlights
	Destacados = player.getHighlights();
	if (Destacados.length>0) showDestacados(0, PyIndex);
	// Eventos
	player.onSearchFinished = function (evObj) {
		showSearch(this.Index, evObj);
	}
	player.onMostViewedFetched = function (mv) {
		document.getElementById("divLMvistos").innerHTML = generateTop(this.Index, mv);
	}
	player.onMostSentFetched = function (ms) {
		document.getElementById("divLMrecomendados").innerHTML = generateTop(this.Index, ms);
	}
	player.onMostRecentFetched = function (mr) {
		document.getElementById("divLMnuevos").innerHTML = generateTop(this.Index, mr);
	}
	player.onContentChange = function (evObj) {
		var ItemId = this.getCurrentItemInfo();
		setADMactive(ItemId);
		var Item = this.getItemById(ItemId[0], ItemId[1], ItemId[2]);
		document.getElementById("divEstasViendo").innerHTML = '<span style="font-weight:normal">Est&aacute;s viendo: <\/span>'+Item.Title;
	}
	player.getMostViewed(5, 2);
	player.getMostSent(5, 2);
	player.getMostRecent(5);
}

function formatDate(d) {
	var dia = (d.getDate()<10) ? "0"+d.getDate() : d.getDate();
	var mes = (d.getMonth()<9) ? "0"+(d.getMonth()+1) : d.getMonth()+1;
	var hora = (d.getHours()<10) ? "0"+d.getHours() : d.getHours();
	var minu = (d.getMinutes()<10) ? "0"+d.getMinutes() : d.getMinutes();
	return dia+" - "+mes+" - "+d.getFullYear();
}
function showCanales(PyIndex) {
	var player = admtv.Players[PyIndex];
	var sel = document.getElementById("selCanales");
	var it = player.Content.Channels.length;
	for (var i = 0; i<it; i++) {
		var op = new Option(player.Content.Channels[i].Title, i, false, (selectedChannel==i));
		sel.options[i] = op;
	}
	sel.disabled = false;
	sel.onchange = function () {
		selectedChannel = this.selectedIndex;
		showPlaylists(PyIndex);
	}
	showPlaylists(PyIndex);
}
function showPlaylists(PyIndex) {
	document.getElementById("divCanaleraHeader").style.display = "none";
	var oEl = document.getElementById("divCanalera");
	oEl.style.height = "503px";
	var player = admtv.Players[PyIndex];
	var u = '';
	var it = player.Content.Channels[selectedChannel].Playlists.length;
	for (var i = 0; i<it; i++) {
		u += generatePlaylist(PyIndex, i);
	}
	oEl.innerHTML = u;
	admtvSL_setSelected(true);
}
function showItems(PyIndex, PlIndex) {
	var oHe = document.getElementById("divCanaleraHeader");
	oHe.style.display = "";
	oHe.innerHTML = '<input type="button" onclick="showPlaylists('+PyIndex+')" style="width: 160px; height: 24px;" value="&laquo;&nbsp;Volver al canal" />';
	var oEl = document.getElementById("divCanalera");
	oEl.style.height = "473px";
	var player = admtv.Players[PyIndex];
	var u = '';
	var it = player.Content.Channels[selectedChannel].Playlists[PlIndex].Items.length;
	for (var i = 0; i<it; i++) {
		u += generateItem(PyIndex, player.Content.Channels[selectedChannel].Id, player.Content.Channels[selectedChannel].Playlists[PlIndex].Id, player.Content.Channels[selectedChannel].Playlists[PlIndex].Items[i].Id);
	}
	oEl.innerHTML = u;
	admtvSL_setSelected(true);
}
function setupSearch(PyIndex) {
	var player = admtv.Players[PyIndex];
	var oHe = document.getElementById("divCanaleraHeader");
	oHe.style.display = "";
	oHe.style.height = "54px";
	oHe.innerHTML = '<input type="button" onclick="showPlaylists('+PyIndex+')" style="width: 160px; height: 24px; margin:4px" value="&laquo;&nbsp;Volver al canal" /><br \/>Resultados para: \"'+player.searchingFor+'\"';
	var oEl = document.getElementById("divCanalera");
	oEl.style.height = "443px";
	oEl.innerHTML = "";
	return oEl;
}
function showSearch(PyIndex, obj) {
	var oEl = setupSearch(PyIndex);
	var player = admtv.Players[PyIndex];
	var u = '';
	var it = obj.length;
	for (var i = 0; i<it; i++) {
		u += generateItem(PyIndex, obj[i].ChannelId, obj[i].PlaylistId, obj[i].Id);
	}
	oEl.innerHTML = u;
}
function generateItem(PyIndex, ChId, PlId, ItId) {
	var player = admtv.Players[PyIndex];
	var channel = player.getChannelById(ChId);
	var playlist = player.getPlaylistById(ChId, PlId);
	var item = player.getItemById(ChId, PlId, ItId);
	var assetId = "ADM_AS_"+item.Id;
	var u = '';
		u+= '<table id="'+assetId+'" class="admTV_Items" border="0" cellpadding="0" cellspacing="0" width="280">';
		u+= '<tr>';
		u+= '<td padding-top:10px; padding-bottom:10px">';
			u+= '<table border="0" cellpadding="0" cellspacing="0" onclick="admtv.Players['+PyIndex+'].playVideo({ChannelId:'+channel.Id+', PlaylistId:'+playlist.Id+', Id:'+item.Id+'});">';
			u+= '<tr>';
				u+= '<td valign="top" width="66"><img src="'+player.getItemThumbnail({ChannelId:channel.Id, PlaylistId:playlist.Id, Id:item.Id}, "s")+'" width="60" height="40" \/><td>';
				u+= '<td valign="top" width="214" style="padding:5px; padding-top:0px; color:#4c4c4c; font-size:10px">';
				u+= '<div style="color:#4c7399; font-weight:bold; font-size:12px">'+item.Title+'<\/div>';
				if(typeof(item.Description)=="undefined"){
					u+= '';
				}else{
					u+= item.Description;
				}
				
				u+= '<\/td>';
			u+= '<\/tr>';
			u+= '<\/table>';
		u+= '<\/td>';
		u+= '<\/tr>';
		u+= '<\/table>';
	return u;
}
function generatePlaylist(PyIndex, PlIndex) {
	var player = admtv.Players[PyIndex];
	var playlist = player.Content.Channels[selectedChannel].Playlists[PlIndex];
	var PlaylistId = "ADM_PL_"+playlist.Id;
	var u = '';
		u+= '<table border="0" cellpadding="0" cellspacing="0" width="280">';
		u+= '<tr>';
		u+= '<td>';
			u+= '<table id="'+PlaylistId+'" class="admTV_Playlist" onclick="showItems('+PyIndex+', '+PlIndex+')" border="0" cellpadding="0" cellspacing="0">';
			u+= '<tr>';
				u+= '<td valign="top" width="96"><img src="'+player.getPlaylistThumbnail(playlist.Id, "m")+'" width="96" height="72" \/><td>';
				u+= '<td valign="top" width="144" style="padding:5px; padding-top:0px; color:#4c4c4c; font-size:10px">';
				u+= '<div style="color:#4c7399; font-weight:bold; font-size:12px">'+playlist.Title+'<\/div>';
				if(typeof(playlist.Description)=="undefined"){
					u+= '';
				}else{
					u+= playlist.Description;
				}
				u+= '<\/td>';
				u+= '<td width="40"><img src="'+_imgHost+'pl_arr.gif" width="30" height="30" \/><td>';
			u+= '<\/tr>';
			u+= '<\/table>';
		u+= '<\/td>';
		u+= '<\/tr>';
		u+= '<\/table>';
	return u;
}
function playTopItem(PyIndex, itArr) {
	self.scrollTo(0, 190);
	admtv.Players[PyIndex].playVideo({ChannelId:itArr[0], PlaylistId:itArr[1] , Id:itArr[2]});
}
function generateTopItem(pIndex, obj) {
	var player = admtv.Players[pIndex];
	var Channel = player.getChannelById(obj.ChannelId);
	var Playlist = player.getPlaylistById(obj.ChannelId, obj.PlaylistId);
	var Item = player.getItemById(obj.ChannelId, obj.PlaylistId, obj.Id);
	var fecha = new Date(Item.StartDateMS);
	var u = '';
		u+= '<table width="266" cellpadding="10" cellspacing="0" border="0" style="color:#124679">';
		u+= '<tr><td>';
			u+= '<table width="246" cellpadding="0" cellspacing="0" border="0" style="cursor:pointer" onclick="playTopItem('+pIndex+', ['+obj.ChannelId+', '+obj.PlaylistId+', '+obj.Id+']);">';
			u+= '<tr><td colspan="2" style="border:1px #ffffff; border-top-style:solid; border-bottom-style:solid; font-size:10px; padding:3px">'+formatDate(fecha)+'<\/td><\/tr>';
			u+= '<tr>';
			u+= '<td width="60" valign="top" style="padding:6px; padding-left:0px"><img src="'+player.getItemThumbnail(obj, "s")+'" width="60" height="40" \/><\/td>';
			if(typeof(Item.Description)=="undefined"){
				u+= '<td width="186" valign="top" style="padding:3px; height:80px"><div style="font-size:13px; font-weight:bold;">'+Item.Title+'<\/div><div style="font-size:10px; color:#4c4c4c;"><\/div><\/td>';
			}else{
				u+= '<td width="186" valign="top" style="padding:3px; height:80px"><div style="font-size:13px; font-weight:bold;">'+Item.Title+'<\/div><div style="font-size:10px; color:#4c4c4c;">'+Item.Description+'<\/div><\/td>';	
			}
			u+= '<\/tr>';
			u+= '<tr><td colspan="2" style="background:#bacde0; padding:4px; font-size:10px; font-weight:bold;"><img src="'+_imgHost+'lm_arr.gif" width="13" height="13" align="right" \/>'+Playlist.Title+'<\/td><\/tr>';
			u+= '<tr><td colspan="2" style="border:#6c6c6c 1px; border-bottom-style:dashed;"><img src="'+_imgHost+'trans.gif" width="10" height="10" \/><\/td><\/tr>';
			u+= '<\/table>';
		u+= '<\/td><\/tr>';
		u+= '<\/table>';
	return u;
}

function generateTop(pIndex, obj) {
	var u = "";
	var it = obj.length;
	for (var i=0; i<it; i++) {
		u+= generateTopItem(pIndex, obj[i]);
	}
	return u;
}
function showDestacados(n, PyIndex) {
	var player = admtv.Players[PyIndex];
	if (n==Destacados.length) n = 0;
	var clickArray = {ChannelId:Destacados[n].ChannelId, PlaylistId:Destacados[n].PlaylistId, Id:Destacados[n].Id};
	// Evito destacar el contenido en reproduccion
	//if (Destacados[n].Id != player.getCurrentItemInfo()[2]) {
		var objDes = player.getItemById(Destacados[n].ChannelId, Destacados[n].PlaylistId, Destacados[n].Id);
		var t = "";
		t += "<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr style='background:#ffffff'>";
		t += "<td valign='top' width='120'><img src='"+player.getItemThumbnail(Destacados[n], "m")+"' width='120' height='89' \/><\/td>";
		t += "<td valign='top' width='324' style='padding:8px'>";
			t += "<span style='font-size:16px; font-weight:bold; color:#124679;'>"+objDes.Title+"<\/span><br \/>";
			if(typeof(objDes.Description)=="undefined"){
				t += "<span style='font-size:12px; color:#4c4c4c;'><\/span>";
			}else{
				t += "<span style='font-size:12px; color:#4c4c4c;'>"+objDes.Description+"<\/span>";
			}
		t += "<\/td>";
		t += "<\/tr><\/table>";
		var obj = document.getElementById("divDestacados");
		obj.innerHTML = t;
		obj.style.cursor = "pointer";
		obj.onclick = function () {
			player.playVideo(clickArray);
		}
		n++;
		if (Destacados.length>1) setTimeout("showDestacados("+n+", "+PyIndex+")", 8000);
	//} else showDestacados(n+1, PyIndex);
}
function buscarVideo(PyId) {
	if (typeof(admtv.getPlayerById(PyId))!="undefined") {
		var player = admtv.getPlayerById(PyId);
		var s=document.getElementById("admtv_term").value.replace(/^\s*|\s*$/g,"");
		if (s.length>3) {
			var oEl = setupSearch(player.Index);
			oEl.innerHTML="Buscando...";
			player.search(s);
		}
	}
}
function buscarVideoInput(evObj, PyId) {
	var keyCode = evObj.keyCode ? evObj.keyCode : evObj.which ? evObj.which : evObj.charCode; 
	if (keyCode == 13) {
		buscarVideo(PyId);
	}
}

//************ ELEMENTO SELECIONADO ***********//
var admtvSL_myClass_Channel = "admTV_Channel";
var admtvSL_myClass_playlist = "admTV_Playlist";
var admtvSL_myClass_Items = "admTV_Items";

var admtvSL_ch = "";
var admtvSL_pl = "";
var admtvSL_as = "";

function setADMactive(It){
	admtvSL_setSelected(false);
	try {
		admtvSL_myClass_Items = document.getElementById("ADM_AS_"+It[2]).className;
	} catch (e) {}
		
	admtvSL_ch = "ADM_CH_"+It[0];
	admtvSL_pl = "ADM_PL_"+It[1];
	admtvSL_as = "ADM_AS_"+It[2];
	admtvSL_setSelected(true);
}
function admtvSL_setSelected(bool){
	//
	var aclass_0 = (bool) ? admtvSL_myClass_Channel+"_S" : admtvSL_myClass_Channel;
	var aclass_1 = (bool) ? admtvSL_myClass_playlist+"_S" : admtvSL_myClass_playlist;
	var aclass_2 = (bool) ? admtvSL_myClass_Items+"_S" : admtvSL_myClass_Items;
	
	var CH_elem = document.getElementById(admtvSL_ch);
	var PL_elem = document.getElementById(admtvSL_pl);
	var AS_elem = document.getElementById(admtvSL_as);
	if (CH_elem) AS_elem.className = aclass_0;
	if (PL_elem) PL_elem.className = aclass_1;
	if (AS_elem) AS_elem.className = aclass_2;
}
