window.parado = false;
window.pos = 0;
window.paradoMiniatura = false;
window.posMiniatura = 0;
window.mapaGalerias = new Hash();
window.mapaAudios = new Hash();




/**
 * Método para avanzar las flechas de la última hora de cabecera en una dirección
 * @param direccion
 * 		puede valer [+1, -1] e indica si el avance es positivo (hacia delante) o negativo (hacia atrás) respectivamente
 */
function avanzaUltimaHoraMovil(direccion) {
    if (direccion != "+1" && direccion != "-1") {
    	direccion = "+1";    	
    }
    // Vemos qué noticia se está mostrando
    var bloqUH = document.getElementById("noticiasUHCabecera");
    if (bloqUH != null) {    	
    	var noticias = bloqUH.childElements();
    	var numNoticias = noticias.size();
    	var completado = false;
    
    	for (var i= 0; i < numNoticias && !completado; i++ ) {
    		var estilo = noticias[i].style.display;
    		
    		if (estilo != "none") {
    		
    			// hacia adelante
    			if (direccion == "+1") {
    				//es la ultima
    				if (i+1 == numNoticias) {
    					noticias[i].style.display = "none";
    					noticias[0].style.display = "block";
    					completado = true;
    				}
    				//no es la ultima
    				else {
    					noticias[i].style.display = "none";
    					noticias[i+1].style.display = "block";
    					completado = true;
    				}
    			}
    			// hacia atras
    			else if (direccion == "-1") {
   
    				//es la primera
    				if (i == 0) {
    					noticias[0].style.display = "none";
    					noticias[numNoticias-1].style.display = "block";
    					completado = true;
    				}
    				//no es la ultima
    				else {
    					noticias[i].style.display = "none";    					
    					noticias[i-1].style.display = "block";
    					completado = true;
    				}
    			}
    		}
    
    	}  
    }
}
    
/**
 * Método para para detener el avance de las noticias de última hora
 */
function pausarUltimaHoraMovil() {
	if (window.ultima_hora.intervalo) {
		clearInterval(window.ultima_hora.intervalo);
		window.ultima_hora.intervalo = null;
	}
}






/**
 * Método para avanzar las miniaturas del multimedia
 * @param minutos
 * 		mínutos que se quiere avanzar la parrilla
 */
function despuesMiniaturaCalculado (tamVentana ,limit, idArticulo, miniaturasVisibles) {
	var idCapaPrincipal = "galeria_" +  idArticulo;
	var miniaturasSlide = "miniaturas_slide_" + idArticulo
	var anchoMiniatura = 80;
	var avance = anchoMiniatura * miniaturasVisibles;
	var galeria = window.mapaGalerias.get(idArticulo);

	if((limit-tamVentana)>=galeria.posMiniatura && !galeria.paradoMiniatura) {
		if(galeria.posMiniatura<=(tamVentana-limit)+(avance)) {
			galeria.posMiniatura=(tamVentana-limit);
		} else {
			galeria.posMiniatura = galeria.posMiniatura-(avance);
		}
		if (galeria.posMiniatura < -(limit  - tamVentana)){
			galeria.posMiniatura = -(limit  - tamVentana);
		}
		galeria.paradoMiniatura=true;
		$(miniaturasSlide).style.marginLeft = galeria.posMiniatura + "px";
		galeria.paradoMiniatura=false;		
		window.mapaGalerias.unset(idArticulo);
		window.mapaGalerias.set(idArticulo, galeria);
	}
}

/**
 * Método para hacer retroceder las miniaturas del multimedia
 * @param minutos
 * 		mínutos que se quiere retroceder la parrilla
 */
function antesMiniaturaCalculado (tamVentana, limit, idArticulo, miniaturasVisibles) {
	var idCapaPrincipal = "galeria_" +  idArticulo;
	var miniaturasSlide = "miniaturas_slide_" + idArticulo
	var galeria = window.mapaGalerias.get(idArticulo)
	var anchoMiniatura = 80;
	var avance = 85 * miniaturasVisibles;
	if(galeria.posMiniatura<=0 && !galeria.paradoMiniatura)
	{
		if(galeria.posMiniatura>-(avance)) {
			galeria.posMiniatura=0;
		} else {
			galeria.posMiniatura = galeria.posMiniatura+(avance);
		}
		if (galeria.posMiniatura < -(limit - tamVentana)){
			galeria.posMiniatura = -(limit  - tamVentana);
		}
		galeria.paradoMiniatura=true;
		$(miniaturasSlide).style.marginLeft = galeria.posMiniatura + "px";
		galeria.paradoMiniatura=false;	
		window.mapaGalerias.unset(idArticulo);
		window.mapaGalerias.set(idArticulo, galeria);
	}
}


/**
 * Método para avanzar la parrilla un número de minutos
 * @param minutos
 * 		mínutos que se quiere avanzar la parrilla
 * @param limit
 * 		número máximo de minutos que tiene la parrilla
 */
function despues (minutos,limit) {	
	if(pos>(880-limit) && !parado) {
		if(pos<=(880-limit)+(minutos*6)) {
			pos=(880-limit);
		} else {
			pos=pos-(minutos*6);
		}
		parado=true;
		$("parrilla_slide").style.marginLeft = pos + "px";
		parado=false;			
	}
}

/**
 * Método para hacer retroceder la parrilla un número de minutos
 * @param minutos
 * 		mínutos que se quiere retroceder la parrilla
 * @param limit
 * 		número máximo de minutos que tiene la parrilla
 * @return
 */
function antes (minutos,limit) {
	if(pos<=0 && !parado)
	{
		if(pos>-(minutos*6)) {
			pos=0;
		} else {
			pos=pos+(minutos*6);
		}
		parado=true;
		$("parrilla_slide").style.marginLeft = pos + "px";
		parado=false;	
	}
}


/**
 * Método para avanzar las flechas de la última hora de cabecera en una dirección
 * @param direccion
 * 		puede valer [+1, -1] e indica si el avance es positivo (hacia delante) o negativo (hacia atrás) respectivamente
 */
function avanzaUltimaHora(direccion) {
	if (direccion) {
		window.ultima_hora.direccion = direccion;
	}
	
	var direccion = window.ultima_hora.direccion;
	
	if (!window.ultima_hora.intervalo) {
		window.ultima_hora.intervalo = setInterval(avanzaUltimaHora, window.ultima_hora.duracion);
	}
	
    if (direccion != "+1" && direccion != "-1") {
    	direccion = "+1";
    	window.ultima_hora.direccion = "+1";
    }
    
    // Vemos qué noticia se está mostrando
    var bloqUH = $("noticiasUHCabecera");
    if (bloqUH != null) {
    	 var noticias = bloqUH.select("a");
    	    var actual = window.ultima_hora.actual;
    	    
    	    switch(direccion)
    	    {
    	        case "+1":     // Si existe la siguiente mostramos la siguiente y si no volvemos a la primera
    		            index_sig = (actual + 1 + window.ultima_hora.numNoticias)%window.ultima_hora.numNoticias;	            
    		        break;
    		   	case "-1":     // Si existe la siguiente mostramos la siguiente y si no volvemos a la última
    		            index_sig = (actual - 1 + window.ultima_hora.numNoticias)%window.ultima_hora.numNoticias;
    		        break;
    	    }
    	    window.ultima_hora.actual = index_sig;
    	    noticias[actual].hide();
    	    noticias[index_sig].show();
    }
}
    
/**
 * Método para para detener el avance de las noticias de última hora
 */
function pausarUltimaHora() {
	if (window.ultima_hora.intervalo) {
		clearInterval(window.ultima_hora.intervalo);
		window.ultima_hora.intervalo = null;
	}
}

/**
 * Método para lanzar el especial de programación
 */
function cargaEspecialProgramacionEmisoras (idCapa) {
	var capa = $(idCapa);
	AjaxSherpa(mcf.rutaPeticiones, {
		parametros : peticiones.listadoCanalesParrilla(),
		ejecutar : function(datos, parametros) {
			var prog = datos.getElementsByTagName('prog');
			
		}.bind(this)
	})
}


/**
 * Método para avanzar las miniaturas del multimedia
 * @param minutos
 * 		mínutos que se quiere avanzar la parrilla
 */
function despuesMiniatura (limit) {
	var minutos = 85;
	if(posMiniatura>(470-limit)) {
		if(posMiniatura<=(470-limit)+(minutos*6)) {
			posMiniatura=(470-limit);
		} else {
			posMiniatura=posMiniatura-(minutos*6);
		}
		paradoMiniatura=true;
		$("miniaturas_slide").style.marginLeft = posMiniatura + "px";
		paradoMiniatura=false;			
	}
}

/**
 * Método para hacer retroceder las miniaturas del multimedia
 * @param minutos
 * 		mínutos que se quiere retroceder la parrilla
 */
function antesMiniatura (limit) {
	var minutos = 85;	
	if(posMiniatura<=0 && !paradoMiniatura)
	{
		if(posMiniatura>-(minutos*6)) {
			posMiniatura=0;
		} else {
			posMiniatura=posMiniatura+(minutos*6);
		}
		paradoMiniatura=true;
		$("miniaturas_slide").style.marginLeft = posMiniatura + "px";
		paradoMiniatura=false;	
	}
}

function cargaElementoMultimedia(id) {
	alert("tratar el elemento con id "+id);
}


function validaFormEA(formulario) {
	var error ="";
	if (trim(formulario.suEmail.value) == "") {
		error += "- Es necesario el email de su amigo\n"
	}
	if(trim(formulario.tuEmail.value) == "") {
		error += "- Es necesario su email\n"
	}
	
	if(error != "") {
		alert("El formulario no es correcto: \n" + error);
		return false;
	}
	else {		
		return true;
	}
}



function validaFormRSS(formulario) {
	var ok = false;
	var plantillas = formulario.plantilla;
	
	for(var i= 0; i< plantillas.length() && !ok; i++) {
		if(plantillas[i].checked == true) {
			ok = true;
		}
	}
	
	
	if(!ok) {
		alert("Debe seleccionar una plantilla");
		return false;
	}
	else {		
		return true;
	}
}


function trim (cadena) {
	var tmp = ltrim(cadena);
	tmp = rtrim (tmp);
	return tmp;
}

function ltrim (cadena) {
	var tmp = cadena.replace(/^\s+/, "");
	return tmp;
}

function rtrim (cadena) {
	var tmp = cadena.replace(/\s+$/, "");
	return tmp;
}
