var lTimerCambioCanal = null;
var lTimerTeclaCambio = null;

var iNumCanal = -1;
var CFG_CANAL = "cfg.canal";

function Pag_Canal_Show(iCan, bForzar) {
	var objEvento = null;
	var dInicio;
	var iHoras;
	var iMinutos;
	var cHoraInicio;
	var cHoraFin;

	try {
		iLastKeyChar = -1;
		iModoPlay = 0;
		if ((iNumCanal != iCan) || bForzar) {
			try {
				objVideo.close();
			} catch(ex) {}

			iNumCanal = iCan;
			if (iNumCanal > objTuner.services.length) iNumCanal = 1;
			if (iNumCanal < 1) iNumCanal = objTuner.services.length;

			var objCanal = ObtenerCanal(iNumCanal);
			objVideo.open(objCanal.serviceInfo.uri, null);
			setValue(CFG_CANAL, iNumCanal);
		} else {
			var objCanal = ObtenerCanal(iNumCanal);
		}	
		Page_Show("Pag_Canal", 
			 '<table width="720px" cellpadding="0" cellspacing="0" style="position: absolute;">'
			+'<tr height="453px"/>'
			+'<tr height="67px">'
			+'	<td width="55px"/>'
			+'	<td width="590px" height="67px" style="background-image: url(fondo_canal.png); background-repeat: no-repeat;">'
			+'		<table width="550px" height="67px" cellpadding="0" cellspacing="0" style="table-layout: fixed">'
			+'			<tr height="33px"><td width="30px"/><td width="30px" class="font15" id="Pag_Canal_NumCanal">' + iNumCanal + '</td><td width="280px" class="font15" id="Pag_Canal_Nombre">' + objCanal.name + '</td><td align="right" class="font15">' + ObtenerHoraActual() + '</td></tr>'
			+'			<tr height="33px"><td width="30px"/><td id="Pag_Canal_Evento" colspan="3" class="font15" style="white-space: nowrap; text-overflow: ellipsis; overflow: hidden;"></td></tr>'
			+'		</table>'
			+'	</td>'
			+'	<td width="55px"/>'
			+'</tr>'
			+'</table>');
		RefreshCanalShow(0);
		lTimerPageHide = setTimeout("Page_Show('', '')",5000);
	} catch(ex) {
		alert("Pag_Canal_Show: " + ex);
	}
}

function Pag_Canal_Hide() {
	if (lTimerCambioCanal != null) {
		clearTimeout(lTimerCambioCanal);
		lTimerCambioCanal = null;	
	}
	if (lTimerTeclaCambio != null) {
		clearTimeout(lTimerTeclaCambio);
		lTimerTeclaCambio = null;	
	}
}

function RefreshCanalShow(iRetry) {
	var objCanal = ObtenerCanal(iNumCanal);
	try {
		objEvento = objCanal.events.getPresentEvent();
		dInicio = new Date(objEvento.startTime * 1000);
		iHoras = dInicio.getHours();
		iMinutos = dInicio.getMinutes();
		var cHoraInicio = ((iHoras<10)?"0":"") + iHoras + ":" + ((iMinutos<10)?"0":"") + iMinutos;
		dInicio = new Date((objEvento.startTime + objEvento.duration) * 1000);
		iHoras = dInicio.getHours();
		iMinutos = dInicio.getMinutes();
		cHoraFin = ((iHoras<10)?"0":"") + iHoras + ":" + ((iMinutos<10)?"0":"") + iMinutos;
		document.getElementById("Pag_Canal_Evento").innerHTML = cHoraInicio + "-" + cHoraFin + "  " + objEvento.name;
	} catch(ex) {
		/* Si no se ha encontrado evento actual, retardar un poco la actualizacion en pantalla de la información */
		if (iRetry < 15) {
			lTimerCambioCanal = setTimeout("RefreshCanalShow(" + (iRetry+1) + ")", 300);
		}
	}
}

function Pag_Canal_KeyDown(keyChar) {
	try {
		switch (keyChar) {
		case KEY_UP:
		case KEY_CHUP:
			Pag_Canal_Show(iNumCanal + 1, false);
			return 0;
		case KEY_DOWN:
		case KEY_CHDN:
			Pag_Canal_Show(iNumCanal - 1, false);
			return 0;
		case KEY_0: case KEY_1:
		case KEY_2: case KEY_3:
		case KEY_4: case KEY_5:
		case KEY_6: case KEY_7:
		case KEY_8: case KEY_9:
			if (iLastKeyChar == -1) {
				Pag_Canal_Show(iNumCanal, false);
				iLastKeyChar = keyChar;
				lTimerTeclaCambio = setTimeout("Pag_Canal_Show(" + (iLastKeyChar  - KEY_0) + ", false)", 1000);
				document.getElementById("Pag_Canal_NumCanal").innerHTML = (iLastKeyChar  - KEY_0) + "|";
			} else {
				Pag_Canal_Show((iLastKeyChar  - KEY_0) * 10 + keyChar - KEY_0, false);
			}
			return 0;
		case KEY_HELP:
			Pag_Canal_Show(iNumCanal, false);
			return 0;
		case KEY_BACK:
			Page_Show("", "");
			return 0;
		}
	} catch(ex) {
		alert("Pag_Canal_KeyDown: " + ex);
	}
	return 1;
}
