// Navegador
//------------------------------------------------------------------------------------------------
var ie = document.all ? 1 : 0;
var ns = document.layers ? 1 : 0;
var sepFecha = ".";
var idi;
//-- scroll
var apiScroll = null;
//-- player
var player = null;
var playlist  =  null;
var currentState = "NONE"; 
var previousState = "NONE";
var currentItem = -1; 
var previousItem = -1; 

idi = new Array(20)
idi[1] = "El campo|O campo|The field|Le champ|O campo|Il campo|Das feld";
idi[2] = "es obligatorio|é obrigatorio|cannot remain blank|est obligatoire|é obrigatório|non può essere vuoto|ist verpflichtend";
idi[3] = "no puede ser menor de|non pode ser menor de|must have at least|doit avoir|debe ter|deve essere|muss mindestens";
idi[4] = "caracteres|caracteres|characters|caractères|caracteres no máximo|caratteri|Zeichen lang sein|";
idi[5] = "no puede ser mayor de|non pode ser maior de|cannot contain more than|doit avoir au maximum|debe ter|deve essere massimo|darf maximal";
idi[6] = "debe ser numérico|debe ser numérico|must be a numeric value|doit être une valeur numerique|deve ser numérico|debe essere numerico|muss ein numerischer Wert sein";
idi[7] = "debe ser DD"+ sepFecha +"MM"+ sepFecha +"AAAA|debe ser DD"+ sepFecha +"MM"+ sepFecha +"AAAA|must be DD"+ sepFecha +"MM"+ sepFecha +"YYYY|doit être JJ"+ sepFecha +"MM"+ sepFecha +"AAAA|deve ser: DD"+ sepFecha +"MM"+ sepFecha +"AAAA|debe essere GG"+ sepFecha +"MM"+ sepFecha +"AAAA|muss TT"+ sepFecha +"MM"+ sepFecha +"JJJJ sein";
idi[8] = "no puede elegir una fecha anterior a la actual|non pode escoller unha data anterior á actual|the selected date cannot be earlier than the current date|vous ne pouvez pas choisir une date précédente à l’actuelle|a data não pode ser menor que a atual|la data non può essere precedente alla data odierna|das gewählte Datum muss späterer als das laufende Datum sein";
idi[9] = "debe ser una dirección de correo válida|debe ser un enderezo de correo válido|please, enter a valid e-mail address|vous devez saisir une adresse e-mail correcte|deve introduzir um endereço de email válido|voi dovete inserire un'indirizzo e-mail valido|Sie müssen eine gültige E-Mail-Adresse eingeben";
idi[10]= "debe seleccionar un tipo de archivo válido|debe seleccionar un tipo de arquivo válido|please, select a valid file format|vous devez sélectionner un fichier valide|deve selecionar um arquivo válido|voi dovete selezionare un formato file valido|bitte, wählen Sie eine gültige Datei aus";
idi[11]= "No existen restricciones de tipo|Non hai restricións de tipo|There are no type restrictions|Il n’y a pas de restrictions du type|Não existem restrições do tipo|Non esistono restrizioni dei tipo|Es gibt keine abgrenzung der art";
idi[12]= "debe ser DD"+ sepFecha +"MM"+ sepFecha +"AAAA|debe ser DD"+ sepFecha +"MM"+ sepFecha +"AAAA hh:mm|must be DD"+ sepFecha +"MM"+ sepFecha +"YYYY hh:mm|doit être JJ"+ sepFecha +"MM"+ sepFecha +"AAAA hh:mm|deve ser: DD"+ sepFecha +"MM"+ sepFecha +"AAAA hh:mi|debe essere GG"+ sepFecha +"MM"+ sepFecha +"AAAA hh:mm|muss TT"+ sepFecha +"MM"+ sepFecha +"JJJJ sein hh:mm";
idi[13]= "Los campos fecha deben tener formato DD"+ sepFecha +"MM"+ sepFecha +"AAAA|Os campos de data deben ter formato DD"+ sepFecha +"MM"+ sepFecha +"AAAA|The date fields must have DD"+ sepFecha +"MM"+ sepFecha +"YYYY format|Le format des champs de date doit être JJ"+ sepFecha +"MM"+ sepFecha +"AAAA|Os campos de data devem ter formato DD"+ sepFecha +"MM"+ sepFecha +"AAAA|I campi di tipo data devono devono avere il formato GG"+ sepFecha +"MM"+ sepFecha +"AAAA|Die Datumsfelder müssen das TT"+ sepFecha +"MM"+ sepFecha +"JJJJ Format haben";
idi[14]= "El día no es correcto|O día non é correcto|You have entered a wrong day|Le jour entré est incorrect|O dia introduzido é incorrecto|Il giorno introdotto è scorretto|Falscher Tag eingegeben";
idi[15]= "El mes no es correcto|O mes non é correcto|You have entered a wrong month|Le mois entré est incorrect|O mês introduzido é incorrecto|Il mese introdotto è scorretto|Falscher Monat eingegeben";
idi[16]= "El año no es correcto|O ano non é correcto|You have entered a wrong year|L’an entré est incorrect|O ano introduzido é incorrecto|Il anno introdotto è scorretto|Falsches Jahr eingegeben";
idi[17]= "Las contraseñas son distintas|Os contrasinais son distintos|Your passwords don't match|Les mots de passe sont différents|As senhas são distintas|I contrassegni sono differenti|Die Passworter sind verschieden";
idi[18] = "¿Desea borrar el registro seleccionado?|Desexa borrar o rexistro?|Do you want to delete the record?";


// DEVUELVE un texto del array idi pasándole una posición y un idioma
// -----------------------------------------------------------------------------------------------
function mIdiJS(id){
	aux = idi[id].split("|");
	return aux[idIdioma-1];
}

// CORRIGE defectos de IE para mostrar el menú emergente
// -----------------------------------------------------------------------------------------------
function iniciaMenuDesplegable() {
	if (document.all && document.getElementById) {
		if (document.getElementById("menuDesplegable0")) {
			navRoot = document.getElementById("menuDesplegable0");
			for (i=0; i < navRoot.childNodes.length; i++) {
				node = navRoot.childNodes[i];
				if (node.nodeName == "LI") {
					selects = document.getElementsByTagName("select");
					node.onmouseover = function() {
						this.className += " over";
						// ocultamos los combos
						for (i = 0; i != selects.length; i++) {
							selects[i].style.visibility = "hidden";
						}
					}
					node.onmouseout = function() {
						this.className = this.className.replace(" over", "");
						// mostramos los combos
						for (i = 0; i != selects.length; i++) {
							selects[i].style.visibility = "visible";
						}
					}
				}
			}
		}
	}
}


// Popups
//------------------------------------------------------------------------------------------------
function abrePop(cual, nombre, alto, ancho, ajustable, scroll) {
	var ventana;
	var donde_x, donde_y;
	donde_x = (screen.width - ancho) / 2;
	donde_y = (screen.height - alto) / 2;
	if (ie) {
		ventana = window.open(cual, nombre, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars='+scroll+', resizable='+ajustable+', copyhistory=no, width='+ancho+', height='+alto+', top='+donde_y+', left='+donde_x+'');
	} else if (ns) {
		ventana = window.open(cual, nombre, 'width='+ ancho +', height='+ alto +', location=no,toolbar=no, directories=no, menubar=no, resizable='+ajustable+', scrollbars='+ scroll +', status=no, top='+donde_y+', left='+donde_x+'');
	} else {
		ventana = window.open(cual, nombre, 'left='+ donde_x +', top='+ donde_y +', width='+ ancho +', height='+ (alto+5) +', location=no, toolbar=no, directories=no, resizable='+ ajustable +', scrollbars='+ scroll +', status=no');
	}
	ventana.focus();
}

// CAMBIA el valor de una variable de nº de registros
// -----------------------------------------------------------------------------------------------
function cambiaNumRs(todo, varQuery, varQueryValor) {
	window.location = ""+todo+"&"+varQuery+"="+varQueryValor;
}


// AÑADE un 0 a la izda de un nº de una cifra
// ------------------------------------------------------------------------------------------------
function numDosCifras(num){
	var aux =num;
	if (num < 10){
		aux = "0" + aux;
	}
	return aux;
}


// DEVUELVE el nº de días de un mes
// -----------------------------------------------------------------------------------------------
function nDiasMes(ano, mes){
	var msDia, msFecha, fecha;
	msDia = 86400000; // nº de ms de un dia
	msFecha = new Date(ano, mes, 1).getTime(); // nº de ms hasta el dia 1 del mes siguiente al seleccionado
	fecha = new Date(msFecha - msDia); // fecha del último día del mes
	return fecha.getDate();
}


// RECARGA la pagina al seleccionar un año o un mes distinto en el combo del calendario
// -----------------------------------------------------------------------------------------------
function recargaCalendario(destino){
	var ano, mes, fechaIni, fechaFin;
	mes = document.getElementById("comboMesCalendario").value;
	ano = document.getElementById("comboAnoCalendario").value;
	fechaIni = "01"+ sepFecha + numDosCifras(mes) + sepFecha + ano;
	fechaFin = nDiasMes(ano, mes) + sepFecha + numDosCifras(mes) + sepFecha + ano;

//	enviamos el mes y año del calendario para posicionarlo en esa posicion al recargar la página
	window.location.href = destino +"&anoCalendario="+ ano +"&mesCalendario="+ mes;
}


// MAXIMIZA y MINIZA capas
// ** necesitamos incluir el fichero jquery.js
// -----------------------------------------------------------------------------------------------
function abreCierraCapa(capa){
	if(document.getElementById("cat"+ capa)){
		$("#cat"+ capa).slideToggle();
	}
	if(document.getElementById("c"+ capa)){
		$("#c"+ capa).slideToggle();
	}
	if(document.getElementById("ico"+ capa)){
		if(document.getElementById("ico"+ capa).src.indexOf("img/menos.gif") == -1){
			document.getElementById("ico"+ capa).src = "img/menos.gif";
		}else{
			document.getElementById("ico"+ capa).src = "img/mas.gif";
		}
	}
}


// -------------------------------------------------------------------------------------------
function escribeUrl(destino){
	while (destino.indexOf("&amp;") != -1) {
		destino = destino.replace("&amp;", "&");
	}
	return destino;
}

// PIDE confirmación para eliminar un registro
// -----------------------------------------------------------------------------------------------
function chekeaBorrarRegistro(destino){
	if (confirm(mIdiJS(18)) == true){
		document.location.href = destino;
	}
}

// Cambia la foto o el vídeo que se está mostrando en un contenedor al pulsar sobre una miniatura
// ----------------------------------------------------------------------------------------
function cambiaElementoBloqueGaleria(el, destino, idGaleria, foto, video){
	$('.miniaturaGaleria_'+idGaleria).removeClass('sel');
	$('.miniaturaGaleria_'+idGaleria).removeClass('miniaturaGaleria_'+idGaleria);
	$(el).addClass('miniaturaGaleria_'+idGaleria);
	$(el).addClass('sel');
	if(video != ""){
		$('#bloqueGaleria_'+idGaleria).fadeOut(500, function(){
			cadena = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"305\" height=\"247\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0\">";
			cadena+= "<param name=\"movie\" value=\""+video+"\" />";
			cadena+= "<param name=\"allowFullScreen\" value=\"true\" />";
			cadena+= "<param name=\"allowscriptaccess\" value=\"always\">";
			cadena+= "<param name=\"quality\" value=\"high\" />";
			cadena+= "<param name=\"menu\" value=\"false\" />";
			cadena+= "<param name=\"wmode\" value=\"transparent\" />";
			cadena+= "<embed src=\""+video+"\" width=\"305\" height=\"247\" wmode=\"transparent\" menu=\"false\" quality=\"high\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"></embed>";
			cadena+= "</object>";
			$('#bloqueGaleria_'+idGaleria).html(cadena);
			$('#bloqueGaleria_'+idGaleria).fadeIn(500);
		})
	}else{
		$('#bloqueGaleria_'+idGaleria).fadeOut(500, function(){
			$('#bloqueGaleria_'+idGaleria).attr("src",ruta0+"img/cFotos/vp_"+foto);
			$('#bloqueGaleria_'+idGaleria).parent().attr("href",destino);
			$('#bloqueGaleria_'+idGaleria).load(function(){
				$('#bloqueGaleria_'+idGaleria).fadeIn(500);
			})				
		})
	}
}

// Recarga lista de videos con AJAX 
// ----------------------------------------------------------------------------------------
function recargaFlash(nombreVideo, idIdioma, ids, pos){
	//alert(pos);
	dataString = "accion=recargaFlash&nombreVideo="+nombreVideo+"&idIdioma="+idIdioma+"&ids="+ids+"&pos="+pos;
	$.ajax({
		type: "POST",
		url: "incAjax.php",
		data: dataString,
		success: function(cadena){			
			$('#cntFlash').html(cadena);
		}
	});
}

//Selecciona el enlace del video pinchado y deselecciona el anterior (jquery)
//---------------------------------------------------------------------------
function selecVideo(id){
	var a = $('.cntTxtVideo').find('a');
	var div = $('.items').find('div');
		
	for (var i = 0; i < a.length; i++) {
		//borraamos clase sel
		$(a[i]).removeClass("sel");
		$(div[i]).removeClass("sel");
    	
		//obtenemos el id
		var idActual = $(a[i]).attr('id');
		if(idActual == id){
			$(a[i]).addClass("sel");
			$(div[i]).addClass("sel");
		}
 	}
	
}

// ABRE la ventana de pantalla completa para el reproductor
// -----------------------------------------------------------------------------------------------
function openFull(url){
  var fs = window.open("popcExtrasFlash.php?url="+ url, "FullScreenVideo", "toolbar=no,width=" + screen.availWidth  + ",height="+ screen.availHeight +",status=no,resizable=yes,fullscreen=yes,scrollbars=no");
  fs.focus();
}

function agregar(){
//IE
if ((navigator.appName=="Microsoft Internet Explorer") && (parseInt(navigator.appVersion)>=4)) {
	var url="http://www.ferrolOrtegal.com/"; //Cambia esta dirección por la de tu web
	var titulo="Ferrol Ortegal"; //Cambia esta nombre por el de tu web
	window.external.AddFavorite(url,titulo);
}
//Para Firefox
else {
	if(navigator.appName == "Netscape")
	//Hay que modificar el nombre por el de vuestra pagina
	window.sidebar.addPanel("Ferrol Ortegal", "http://www.ferrolOrtegal.com","");
	}
}





// Crea overlay
//------------------------------------------------------------------------
function creaOverlay(){
 // select the overlay element - and "make it an overlay" 
		var apiOverlay = $("#cntOverlay").overlay({ 
		 
			// custom top position 
			top: 272,
			// some expose tweaks suitable for facebox-looking dialogs 
			expose: {
				// you might also consider a "transparent" color for the mask 
				color: '#fff', 
				// load mask a little faster 
				loadSpeed: 200,
				// highly transparent 
				opacity: 0.5
			},
			// disable this for modal dialog-type of overlays 
			closeOnClick: false,
			closeOnEsc: false,
			// we want to use the programming API 
			api: true		
		});
	return apiOverlay;
}

//recogemos velocidad seleccionada y la atribuimos a la cookie
function setVelocidad(){
	var velocidad = $("input[name='groupVelocidad']:checked").val()*1000/8;
	
	$.cookie("Kbps", velocidad);
}


//----- player ------------------------------------

// Obtenemos id del player para poder referenciarlo
// - el flashplayer es el q se encarga de llamar a esta funcion
function playerReady(thePlayer) {
	player = window.document.getElementById(thePlayer.id);
	addListeners();	
	$('#cntInfoVideo').html('<span>'+playList[0].title+'</span>');
}

//Anadimos listeners
// -si player aun no existe se vuelve a llamar hasta q exista
function addListeners() {
	
	if (player) {
		
		playList = player.getPlaylist();		
		player.addControllerListener("ITEM", "itemListener");
		//player.addControllerListener("NEXT", "temListener");
		player.addModelListener("STATE", "stateListener");
		return playList;
	} else {
		setTimeout("addListeners()",100);
	}
}

// nuestra funcion ->  indica lo q se va hacer en caso de q el player cambie d estado
function stateListener(obj) { //IDLE, BUFFERING, PLAYING, PAUSED, COMPLETED	
	currentState = obj.newstate; 
	previousState = obj.oldstate; 
	//alert(currentState);
	if ((currentState == "IDLE")/*currentState == "PAUSED"*/){	 
		 apiScroll.setPage(playList[currentItem].link);
		 //apiScroll.move(playList[currentItem].category);
		 //alert(playList[currentItem].category);
		 //alert(playList[currentItem+1].description);
		 selecVideo('cnt_'+playList[currentItem].description);
		 $('#cntInfoVideo').html('<span>'+playList[currentItem].title+'</span>');
	}
}

// ECUCHAMOS el item
// - nos permite saber el item del video actual
function itemListener(obj) { 
	//if (obj.index != currentItem) {
 		previousItem = currentItem;
		currentItem = obj.index;		
		
		//al cargar no movemos scroll
		if(previousItem != -1){
			//alert(currentItem);
			/*if(previousItem < currentItem){							
				//si nuevo item es el ultimo -> scroll hasta el final
				if(currentItem == playList.length-1){
					apiScroll.end();
				}else{
					apiScroll.next();
				}
				 selecVideo('cnt_'+playList[currentItem].description)
			}else if(previousItem > currentItem){				
				//si llegamos al final, volvemos al principio
				if(currentItem == 0){
					apiScroll.begin();
				}else{
					apiScroll.prev();
				}
				 selecVideo('cnt_'+playList[currentItem].description)
			}*/
			//apiScroll.seekTo(playList[currentItem].link);
			//apiScroll.load();
			apiScroll.setPage(playList[currentItem].link);
			selecVideo('cnt_'+playList[currentItem].description);			
			$('#cntInfoVideo').html('<span>'+playList[currentItem].title+'</span>');
		}
	//}	
}

function dameParamRedS(destino){
	//return '&play='+playList[currentItem].description;
	window.open(destino +"&play="+ playList[currentItem].description);
	return false;
	//alert(destino+"&play="+ playList[currentItem].description);
	//window.open( $(this).attr('href') );
        //return false;
}





//(re)inicializamos scrool de los videos para la nueva lista
function cargaScroll(){
	var api = $("div.scrollable").scrollable({
		vertical: true,
		size: 1,
		clickable: false,
		api: true
		//loop: true
	});
	return api;
}

function setInfoVideo(){
	$('#cntInfoVideo').html(playList[currentItem].title);
}





