var iOpcionEPG  = 1;
var bMoviendoCanal  = false;
var iMaxOpcionEPG  = 1;
var iPaginaEPG  = 1;			// Num de Pag Actual de EPG. Aqui siempre sera 1
var iMaxPaginaEPG  = 1;		// Num Max de Paginas de eventos EPG en el canal
var iMaxNumEventos = 0;		// Num MAx de Eventos de un canal
var NUM_EVENTOS_HOJA = 9;
var viendo_descrip = 0;  // num. de veces que se pulsa DOWN cuando se visualiza la descripcion del EPG, para hacer scroll
var MAX_SCROLL_DESCRIP = 4; // num. max de veces que se puede hacer scroll sobre la descripcion del EPG

function Pag_EPG_Show(continua) 
{
	var objCanal = ObtenerCanal(iNumCanal);
	Page_Show("Pag_EPG",
		 '<table width="719px" cellpadding="0" cellspacing="0" style="position: absolute; table-layout: fixed; background-image: url(fondo_datos.png);">'
		+'<tr height="88px">'
		+	'<td width="75px"/>'
		+	'<td width="220px" valign="bottom" style="color:#ffffff; font-size:18pt;">EPGar canales</td>'
		+	'<td width="280px" valign="bottom" align="right" class="font15"> '+ ObtenerHoraActual() + '</td>'
		+	'<td width="140px"/>'
		+'</tr>'
		+'<tr height="17px"/>'
		+'<tr height="34px"><td/><td class="font16">&nbsp;<u>Eventos</u></td><td class="font16"><u>' + objCanal.name + '</u></td></tr>'
		+'<tr height="315px">'
		+	'<td/>'
		+	'<td valign="top" colspan="3">'
		+	'<table id="Frm_EPG" width="570px" cellpadding="0" cellspacing="0" style="table-layout: fixed">'
		+		'<tr height="34px" id="Pag_EPG_Opcion1" style="background-repeat: no-repeat;'+ ((iOpcionEPG==1 )?"background-color: #4A72C5;":"") +'">'
		+   '<td id="Pag_EPG_Horas1" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento1" width="430px" class="font16"></td><td width="50px"/></tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion2" style="background-repeat: no-repeat;'+ ((iOpcionEPG==2 )?"background-color: #4A72C5;":"") +'"><td id="Pag_EPG_Horas2" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento2" width="430px" class="font16"></td><td width="50px"/></tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion3" style="background-repeat: no-repeat;'+ ((iOpcionEPG==3 )?"background-color: #4A72C5;":"") +'"><td id="Pag_EPG_Horas3" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento3" width="430px" class="font16"></td><td width="50px"/></tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion4" style="background-repeat: no-repeat;'+ ((iOpcionEPG==4 )?"background-color: #4A72C5;":"") +'"><td id="Pag_EPG_Horas4" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento4" width="430px" class="font16"></td><td width="50px"/></tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion5" style="background-repeat: no-repeat;'+ ((iOpcionEPG==5 )?"background-color: #4A72C5;":"") +'"><td id="Pag_EPG_Horas5" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento5" width="430px" class="font16"></td><td width="50px"/></tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion6" style="background-repeat: no-repeat;'+ ((iOpcionEPG==6 )?"background-color: #4A72C5;":"") +'"><td id="Pag_EPG_Horas6" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento6" width="430px" class="font16"></td><td width="50px"/></tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion7" style="background-repeat: no-repeat;'+ ((iOpcionEPG==7 )?"background-color: #4A72C5;":"") +'"><td id="Pag_EPG_Horas7" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento7" width="430px" class="font16"></td><td width="50px"/></tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion8" style="background-repeat: no-repeat;'+ ((iOpcionEPG==8 )?"background-color: #4A72C5;":"") +'"><td id="Pag_EPG_Horas8" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento8" width="430px" class="font16"></td><td width="50px"/></tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion9" style="background-repeat: no-repeat;'+ ((iOpcionEPG==9 )?"background-color: #4A72C5;":"") +'"><td id="Pag_EPG_Horas9" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento9" width="430px" class="font16"></td><td width="50px"/></tr>'
		+	'</table>'
		+	'</td>'
		+'</tr>'
		+'<tr height="50px" valign="top"><td/><td class="font16" style="background-image: url(boton_rojo.png); background-repeat: no-repeat;"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Guardar</td><td class="font16" style="background-image: url(boton_azul.png); background-repeat: no-repeat;"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cancelar</td></tr>'
		+'<tr height="50px"/>'
		+'</table>');
	if (continua==0)
		{
			iOpcionEPG = 1;
			iPaginaEPG = 1;
			bMoviendoCanal = false;
			iMaxPaginaEPG = parseInt(objCanal.events.length/NUM_EVENTOS_HOJA)+1; 
		}
	RefreshCargarEPG();
}

function Pag_EPG_KeyDown(keyChar) {
	var iTemp;
	var iPos1;
	var iPos2;
	try {
		switch (keyChar) {
		case KEY_UP:
			if (viendo_descrip > 0)
				{
					if (viendo_descrip > 1)
						viendo_descrip = viendo_descrip - 1;
					RefreshCargarEPG2(viendo_descrip);
				}
			else
				{
					ActualizarEPG(iOpcionEPG - 1);
				}
			return 0;
		case KEY_DOWN:
			if (viendo_descrip > 0) 
				{
					if (viendo_descrip <MAX_SCROLL_DESCRIP)
						viendo_descrip = viendo_descrip + 1;
					RefreshCargarEPG2(viendo_descrip);
				}
			else
				{
					ActualizarEPG(iOpcionEPG + 1);
				}
			return 0;
		case KEY_OK:
			Pag_EPG_Show2();
			return 0;
		case KEY_LEFT:
			if (viendo_descrip > 0)
				{
					viendo_descrip = 0;
					Pag_EPG_Show(1);
					return 0;
				}
		case KEY_BACK:
		case KEY_BLUE:
			viendo_descrip=0;
			Pag_Canal_Show(iNumCanal, false);
			return 0;
		case KEY_RED:
			viendo_descrip=0;
			Pag_Canal_Show(iNumCanal, false);
			return 0;
		}
	} catch(ex) {
		alert("Pag_EPG_KeyDown: " + ex);
	}
	return 1;
}

function CargarEPG(iPag)   /* Carga la Pagina que recibe como parámetro*/
{
	var num_evento;
	try {
		iPaginaEPG  = iPag;
		if (iPaginaEPG < 1) iPaginaEPG  = iMaxPaginaEPG;
		if (iPaginaEPG > iMaxPaginaEPG) iPaginaEPG  = 1;
		iMaxOpcionEPG  = 0;
		for (var iNumLinea  = 0; iNumLinea < NUM_EVENTOS_HOJA; iNumLinea++) 
		{
			num_evento=iNumLinea + ((iPaginaEPG - 1)*9);
			document.getElementById("Pag_EPG_Opcion" + (iNumLinea+1)).style.backgroundImage = "none";
			document.getElementById("Pag_EPG_Opcion" + (iNumLinea+1)).style.backgroundColor = "#0D428F"; 
			iMaxOpcionEPG  = iNumLinea + 1;
		}
		
		if (iOpcionEPG < 1) 
			{
				iOpcionEPG=iMaxOpcionEPG;
				ActualizarEPG(iOpcionEPG);
			} 
		else if (iOpcionEPG > iMaxOpcionEPG) 
			{
				iOpcionEPG = 1;
				ActualizarEPG(iOpcionEPG);
			}
		setTimeout("RefreshCargarEPG()",1);
	} catch(ex) {
		alert("CargarEPG: " + ex);
	}
}
		
function RefreshCargarEPG() {
	var objCanal;
	var objEvento;
	var num_evento;
	try {
		objCanal = ObtenerCanal(iNumCanal)
		iMaxNumEventos = objCanal.events.length;
		for (var iNumLinea  = 0; iNumLinea < NUM_EVENTOS_HOJA; iNumLinea++) 
		{ 
			num_evento=iNumLinea + ((iPaginaEPG - 1)*9);
			if (num_evento < objCanal.events.length) 
			{
				try {
					objEvento = objCanal.events.item(num_evento);
					dInicio = new Date(objEvento.startTime * 1000);
					iHoras = dInicio.getHours();
					iMinutos = dInicio.getMinutes();
					var cHoraInicio = ((iHoras<10)?"0":"") + iHoras + ":" + ((iMinutos<10)?"0":"") + iMinutos;
					document.getElementById("Pag_EPG_Horas" + (iNumLinea+1)).innerHTML = cHoraInicio + "&nbsp;&nbsp;";
					document.getElementById("Pag_EPG_Evento" + (iNumLinea+1)).innerHTML = objEvento.name;
					if (iOpcionEPG==(iNumLinea + 1))
						{
							document.getElementById("Pag_EPG_Opcion" + iOpcionEPG).style.backgroundImage = "none";
							document.getElementById("Pag_EPG_Opcion" + iOpcionEPG).style.backgroundColor = "#4A72C5"; // O RED
						}
					else document.getElementById("Pag_EPG_Opcion" + (iNumLinea+1)).style.backgroundColor = "#0D428F";
				} catch(ex) {
					document.getElementById("Pag_EPG_Horas" + (iNumLinea+1)).innerHTML = "";
					document.getElementById("Pag_EPG_Evento" + (iNumLinea+1)).innerHTML = "";
				}
				iMaxOpcionEPG  = iNumLinea + 1;
			} 
			else {
				//Ignorar errores de que el servicio no existe y poner la fila en blanco
				document.getElementById("Pag_EPG_Horas" + NUM_EVENTOS_HOJA).innerHTML = "";
				document.getElementById("Pag_EPG_Evento" + NUM_EVENTOS_HOJA).innerHTML = "";
			}
		}
	} catch(ex) {
		alert("RefreshCargarEPG: " + ex+ " iNumLinea->" + iNumLinea);
	}
}

function ActualizarEPG(iOpc) {
	try {
		if (iOpcionEPG > 0) 
		{
			document.getElementById("Pag_EPG_Opcion" + iOpcionEPG).style.backgroundImage = "none";
			document.getElementById("Pag_EPG_Opcion" + iOpcionEPG).style.backgroundColor = "#0D428F";
		}
		if (iOpc < 1) 
		{
			iOpcionEPG = iMaxOpcionEPG;
			CargarEPG(iPaginaEPG - 1);
		} 
		else 
			if (iOpc > iMaxOpcionEPG) 
			{
			iOpcionEPG = 1;
			CargarEPG(iPaginaEPG + 1);
			} 
			else 
				{
					iOpcionEPG = iOpc;
					
					document.getElementById("Pag_EPG_Opcion" + iOpcionEPG ).style.backgroundImage = "none";
					document.getElementById("Pag_EPG_Opcion" + iOpcionEPG ).style.backgroundColor = "#4A72C5"; // O RED
				}
	} catch(ex) {
		alert("ActualizarEPG: " + ex);
	}
}

function ObtenerCanal(iCan) {
	try {
		if (arrCanales.length < iCan) {
			return objTuner.services.item(iCan - 1);
		}
		return objTuner.services.item(arrCanales[iCan - 1]);
	} catch(ex) {
		alert("ObtenerCanal: " + ex);
	}
	return null;
}

function Pag_EPG_Show2() {
	var objCanal = ObtenerCanal(iNumCanal);
	bMoviendoCanal = false;
	viendo_descrip = 1;
	Page_Show("Pag_EPG",
		 '<table width="780px" cellpadding="0" cellspacing="0" style="position: absolute; table-layout: fixed; background-image: url(fondo_datos.png);">'
		+'<tr height="88px">'
		+	'<td width="75px"/>'
		+	'<td width="160px" valign="bottom" style="color:#ffffff; font-size:18pt;">EPGar canales ' + (iOpcionEPG) + ' de '+ iMaxPaginaEPG + '</td>'
		+	'<td width="170px" valign="bottom" align="right" class="font15"> '+ ObtenerHoraActual() + ' </td>'
		+	'<td width="140px"/>'
		+'</tr>'
		+'<tr height="17px"/>'
		+'<tr height="34px"><td/><td class="font20">&nbsp;<u>Canal ' + iNumCanal + '</u></td><td class="font20">' + objCanal.name + '</td></tr>'
		+'<tr height="50px">'
		+	'<td/>'
		+	'<td valign="top" colspan="3">'
		+	'<table id="Frm_EPG" width="580px" cellpadding="0" cellspacing="0" style="table-layout: fixed">'
		+		'<tr height="5px" id="Pag_EPG_Opcion0" style="background-repeat: no-repeat; background-image: url(cursor_explor.png)">'
		+   		'<td id="Pag_EPG_Horas0" align="right" width="80px" class="font18"></td>'
		+   		'<td id="Pag_EPG_Evento0" width="430px" class="font18"></td>'
		+				'<td width="50px"/>'
		+		'</tr>'
		+		'<tr height="17px"/>'
		+		'<tr height="220px" id="Pag_EPG_Opcion1" style="background-repeat: no-repeat; background-image: url(cursor_explor.png)">'
		+   		'<td id="Pag_EPG_Evento1" width="430px"  colspan="3" class="font16"><textarea name="describe" id="describe1" cols="40" rows="10" class="font18" style="border: none;background-color: #0D4290;color:#FFFFFF;overflow:scroll"></textarea></td>'
		+		'</tr>'
		+		'<tr height="34px" id="Pag_EPG_Opcion9" style="background-repeat: no-repeat;"><td id="Pag_EPG_Horas9" align="right" width="80px" class="font16"></td><td id="Pag_EPG_Evento9" width="430px" class="font16"></td><td width="50px"/></tr>'
		+	'</table>'
		+	'</td>'
		+'</tr>'
		+'<tr height="50px" valign="top"><td/><td class="font16" style="background-image: url(boton_rojo.png); background-repeat: no-repeat;"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Guardar</td><td class="font16" style="background-image: url(boton_azul.png); background-repeat: no-repeat;"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cancelar</td></tr>'
		+'<tr height="50px"/>'
		+'</table>');
	RefreshCargarEPG2(0);
}

function RefreshCargarEPG2(siguiente) 
{
	var objCanal;
	var objEvento;
	
	try {
		objCanal = ObtenerCanal(iNumCanal)
			if ((iOpcionEPG ) <= (objCanal.events.length)) 
			{
				try {
					objEvento = objCanal.events.item(iOpcionEPG-1);
					dInicio = new Date(objEvento.startTime * 1000);
					iHoras = dInicio.getHours();
					iMinutos = dInicio.getMinutes();
					var cHoraInicio = ((iHoras<10)?"0":"") + iHoras + ":" + ((iMinutos<10)?"0":"") + iMinutos;
					document.getElementById("Pag_EPG_Horas0").innerHTML = cHoraInicio + "&nbsp;&nbsp;";
					document.getElementById("Pag_EPG_Evento0").innerHTML = objEvento.name + ".&nbsp;&nbsp;";
					cad=objEvento.description; /*replace*/
					while (cad.indexOf(String.fromCharCode(5))>0)
						cad= cad.replace(String.fromCharCode(5),'');
					document.getElementById("describe1").value = cad;
					var i;
					for (i=1;i<siguiente;i++)
						{
							//document.getElementById("describe1").doScroll("scrollbarPageDown");
							var elem=document.getElementById("describe1");
							var tmp=elem.scrollTop;
							//window.scrollTo(elem.scrollLeft, elem.scrollTop);
							elem.scrollTop+=(i*50);
							if (tmp==elem.scrollTop) {siguiente=i-1;break;}
						}
				} catch(ex) {
					document.getElementById("Pag_EPG_Horas0").innerHTML = "MAL";
					document.getElementById("Pag_EPG_Evento0").innerHTML = "MAL "+ ex;
					alert(ex);
				}
				iMaxOpcionEPG  = 2;
			} else {
			}
	} catch(ex) {
		alert("RefreshCargarEPG2: " + ex);
	}
}
