var W3CDOM = (document.createElement && document.getElementsByTagName);

//Se detectan los diferentes navegadores
var esIE = false
//Detectar el navegador explorer 5.01
if (navigator.appVersion.indexOf("MSIE") != -1) { esIE = true;}
swIE501 = (navigator.appVersion.indexOf("5.01") == (-1))?1:0;
//Detectar el navegador explorer 5.5
swIE55 = (navigator.appVersion.indexOf("5.5") != -1)?1:0;
//Se detecta si es opera
esOpera = (navigator.userAgent.indexOf("Opera") !=-1)?1:0;
//Es Internet Explorer version 7.0
swIE70 = (navigator.appVersion.indexOf("7.0") == (-1))?1:0;
		
// devuelve un array con todos los objetos que tengan la clase que se le pase como parametro (className)
// y esten contenidos dentro del contenedor especificado (container) que puede ser un literal o el propio objeto. Si no se le pasa este parametro, buscara dentro del contenedor "wrapper"
document.getElementsByClassName = function(className, container){
   var data = tags = [];
   var obj = document.getElementById("wrapper");
   var node = aux = null;		
	if(container) node = (typeof(container) == "object") ? container : document.getElementById(container);
	else node = (obj) ? obj : document;		   
	aux = node.getElementsByTagName("*");		
	tags = (document.all) ? node.all : aux;	
   for(var i=0;i<tags.length;i++) { if(tags[i].className == className || tags[i].className.indexOf(className) != -1) data[data.length]=tags[i];}	
   return data;
}

var e = {
	addEvent : function(obj, evType, fn, useCapture){
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		}else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		}else {
			return false;
		}
	}
}







/*-- Funcion que modifica los select a&ntilde;adiendole la primera option cuando hay javascript--*/
	var transSelect={
			cargar:function (){
				if(load.existeName("accesibleSelects")) {
					var hiddElement=document.getElementsByName("accesibleSelects");
					//alert('Cuantos? '+hiddElement.length);
					transSelect.buscarHidden();
				}
	//			if(load.existeId("oculto")) pintarSelected();		
			},	
			buscarHidden:function(){
			var cadena="";
				//contamos los campos de hidden con la informaci&oacute;n de los selects
				var hiddElement=document.getElementsByName("accesibleSelects");
				for (i=0;i<hiddElement.length;i++){
					//alert('i:'+i);
					//alert(''+hiddElement[i].value);
					if (cadena=="")
						cadena=hiddElement[i].value;
					else
						cadena=cadena+"~"+hiddElement[i].value;
				//pintarSelected(hiddElement[i].value);
				}
				transSelect.pintarSelected(cadena);
			},
			pintarSelected:function(valorOculto){
				//leemos los datos del hidden
				var oculto= valorOculto;
		
				//contamos cuantos selects vamos a modificadas
				totalSelect=oculto.split('~');
				//alert('totalSelect. '+totalSelect.length);
				
		
				for(i=0;i<totalSelect.length;i++){
					//sacamos las cadenas
					oculto=totalSelect[i].split('||');
			
					//primero comprobamos que el select realmente existe
					if(load.existeId(oculto[0])){
						//creamos el nuevo option
						var opElement= document.createElement('option');
							opElement.value=oculto[1];
							opElement.text=oculto[2];
							//comprobamos la longitud del array unicamente para saber si en destino tenemos que darle el select a
							//la primera opcion que seri ala que metemos nosotros o lo dejamos como saca el codigo
							if (oculto.length<4){opElement.selected="selected";}

						//leemos el select
						var selElement = document.getElementById(oculto[0]);
				
						//insertamos
						try{selElement.add(opElement,selElement.options[0]); } catch(ex){selElement.add(opElement,0); }
					}
				}
			}
		}



	
/*--  Funcion para el segundo listado: establece una anchura porcentual a cada elemento para que ocupe el ancho disponible --*/



var navigationCombos={
	validaCmb:function(id){
		var form = document.getElementById(id);		
		var cmb = form.getElementsByTagName("select")[0];
		var sel= cmb[cmb.selectedIndex].value;				
		if (sel=="-1"){
			cmb.setAttribute("class","backValidacion");
			return false;
		}
		return true;
	},

	goCmbAiportsModule:function(id, staging){
		navigationCombos.validaCmb(id);
		var form = document.getElementById(id);		
		var cmb = form.getElementsByTagName("select")[0];
		var sel= cmb[cmb.selectedIndex].value;		
		var radios = form.getElementsByTagName("fieldset")[1].getElementsByTagName("input");
		var radiosSel = 0;
		var i = 0;
		var urllink = "";
		if(sel != -1){		
			for(i = 0; i < radios.length; i++)
				if(radios[i].checked)	radiosSel = i;
			// si es planos abro funcion de plano			
			if(radiosSel == 3){
				urllink = eval("array"+radiosSel+"[sel]");
				re=RegExp('http://www.aena.es','gi');
				if (staging=="true") urllink = urllink.replace(re,'http://www14.aena.es');
				else urllink = urllink.replace(re,'');				
				airport.openMap(urllink, staging);
			}else{
				urllink = urlcontext+pagename+Language+assettype+sitename[sel]+eval("array"+radiosSel+"[sel]");
				document.location.href = urllink;
			}
		}
	}
}



var infoVuelos = {
	


	validaPda:function(datos,aviso){
		var cmb= document.getElementById(datos);
		var sel= cmb[cmb.selectedIndex].value;				
		if (sel==""){
			cmb[cmb.selectedIndex].text=aviso;						
			cmb.setAttribute("class","backValidacion");
			return false;
		}
		return true;	
	},	
	togglePda:function(){	
		var objForms= document.getElementsByTagName("form");

		//1 formulario
		var objLabel = objForms[0].getElementsByTagName("label");	
		var objInputs = objForms[0].getElementsByTagName("input");
		
		
		objInputs[1].onclick=function(){
			if (objInputs[0].value==""){
				objLabel[0].innerHTML=literal["Escriba_numero"];			
				objLabel[0].setAttribute("class","textFly errorValidacion");
				return false;				
			}
			else
				return true;
		}
		
		
		
		objInputs[1].onkeypress=function(){
			if (objInputs[0].value==""){
				objLabel[0].innerHTML=literal["Escriba_numero"];			
				objLabel[0].setAttribute("class","textFly errorValidacion");				
				return false;
			}
			else
				return true;
		}
		
		//2 formulario (lo selects)
		if(load.existeId("originRecarga")){
			obj=document.getElementById("originRecarga");
			obj.onclick = function(){
				var resultado = infoVuelos.validaPda("origin",literal["Debe_seleccionar_un_aeropuerto"]) ? true:false;
//				var resultado = infoVuelos.validaPda("origin","Debe seleccionar un origen") ? true:false;
				return resultado;
			}
			obj.onkeypress = function(){				
				var resultado = infoVuelos.validaPda("origin",literal["Debe_seleccionar_un_aeropuerto"]) ? true:false;
//				var resultado = infoVuelos.validaPda("origin","Debe seleccionar un origen") ? true:false;
				return resultado;
			}			
		}
		
		if(load.existeId("destinationRecarga")){
			obj=document.getElementById("destinationRecarga");
			
			obj.onclick = function(){
//				var resultado = infoVuelos.validaPda("destination",literal["Seleccione_Continente"]) ? true:false;
				var resultado = infoVuelos.validaPda("destination","Debe seleccionar un destino") ? true:false;
				return resultado;
			}
			obj.onkeypress = function(){				
//				var resultado = infoVuelos.validaPda("destination",literal["Seleccione_Continente"]) ? true:false;
				var resultado = infoVuelos.validaPda("destination","Debe seleccionar un destino") ? true:false;
				return resultado;
			}			
		}		
	
	}
	
}




	
/* ASIGNACION DE EVENTOS */
var load={
	existeId:function(cid){
		if(document.getElementById(cid)) return true;
		return false;
	},
	existeClass:function(className){
		var content = document.getElementById("content");
		var existsClass = false;
		if(content){			
			if(content.className.indexOf(className) != -1) existsClass = true;
		}	
		return existsClass;		
	},
	existeName:function(cname){
		if(document.getElementsByName(cname)) return true;
		return false;
	},		
	setEvents:function(){	
		transSelect.cargar(); //buscamos selects, y campos hiddens con informacion para modificarlos.
		
		//validacion para PDA
		if(load.existeId("logoBack") && load.existeId("searchFly")) infoVuelos.togglePda();
		

		
	}
}
if(W3CDOM) e.addEvent(window, "load", load.setEvents, false);

