/*
 */

function plegarDiv(btn, elem) {
	
	var obj = $(elem);
	obj.toggle();
	
	if ( !obj.visible() ) {
		$(btn).className = 'maximizar';
		$(btn).innerHTML = 'Maximizar';
	}
	else {
		$(btn).className = 'minimizar';
		$(btn).innerHTML = 'Minimizar';
	}
}

function include(file, opt){
    if (file == "") 
        return;
    //Genera una id para el archivo con el fin de evitar que se cargue 2 veces.   
    
    idfile = file.replace(location.hostname, "");
    idfile = idfile.replace(location.protocol, "");
    idfile = idfile.replace("//", "");
    
    if (document.getElementById(idfile)) {
        return
    };
    if (typeof opt == "undefined") 
        opt = {};
    if (typeof opt.cache == "undefined") 
        opt.cache = true;
    if (typeof opt.dom == "undefined") 
        opt.dom = false;
    if (typeof opt.type == "undefined") 
        opt.type = "";
    
    ext = (opt.type != "") ? opt.type : file.substring(file.lastIndexOf('.') + 1);
    if (!opt.cache) {
        var random = new Date().getTime().toString();
        if (file.indexOf("?") != -1) 
            file = file + "&" + random;
        else 
            file = file + "?" + random;
    }
    if (opt.dom) {
        var head = document.getElementsByTagName('head').item(0)
    }
    switch (ext) {
        case "css":
            if (!opt.dom) 
                document.write('<link rel="stylesheet" href="' + file + '" id="' + idfile + '" type="text/css"><\/link>');
            else {
                css = document.createElement('link');
                css.rel = 'stylesheet';
                css.href = file;
                css.type = 'text/css';
                css.id = idfile;
                head.appendChild(css);
            }
            break;
        case "js":
            if (!opt.dom) {
                document.write('<script type="text/javascript" id="' + idfile + '" src="' + file + '"><\/script>');
            }
            else {
                script = document.createElement('script');
                script.src = file;
                script.type = 'text/javascript';
                script.id = idfile;
                head.appendChild(script);
                if (typeof opt.oncomplete != "undefined") {
                    //Para IE
                    script.onreadystatechange = function(){
                        if (script.readyState == 'complete') {
                            if (typeof opt.oncomplete == "function") {
                                eval(opt.oncomplete());
                            }
                        }
                    }
                    //Para Firefox
                    script.onload = function(){
                        if (typeof opt.oncomplete == "function") {
                            opt.oncomplete();
                        }
                    }
                }
            }
            break;
    }
}

//Devuelve la parte entera de una cadena q representa una cantidad numerica del tipo xxxx.yy
function parteEntera(precio){
    var precioSTR = precio.toString();
    var indexPto = precioSTR.indexOf('.');
    
    if (indexPto == -1) {
        precioSTR += '.00';
        indexPto = precioSTR.indexOf('.');
    }
    
    return precioSTR.substring(0, indexPto);
}

//Devuelve la parte decimal de una cadena q representa una cantidad numerica del tipo xxxx.yy
function parteDecimal(precio){
    var precioSTR = precio.toString();
    var indexPto = precioSTR.indexOf(".");
    
    if (indexPto == -1) {
        precioSTR += '.00';
        indexPto = precioSTR.indexOf('.');
    }
    var ret = precioSTR.substring(indexPto + 1, precioSTR.length);

    return ret.length == 1 ? ret + '0' : ret;
}

//borra las filas de una tabla que especifiquemos
function limpiaTablaHTML(nombreTabla){
    var tabla = $(nombreTabla);
    if (detectarNavegador() == "FF") {
        if (tabla != null) {
            tabla.innerHTML = ' ';
        }
    }
    else {
        if (tabla != null) {
            while (tabla.hasChildNodes()) {
                tabla.removeChild(tabla.firstChild);
            }
        }
    }
}

//dado un numero de mes nos devuelve las tres letras primeras del nombre
function textoMes(numero){
    var ret = '';

	numeroMes=parseInt(numero,10);
	    
    switch (numeroMes) {
        case 1:
            ret = 'Ene';
            break;
        case 2:
            ret = 'Feb';
            break;
        case 3:
            ret = 'Mar';
            break;
        case 4:
            ret = 'Abr';
            break;
        case 5:
            ret = 'May';
            break;
        case 6:
            ret = 'Jun';
            break;
        case 7:
            ret = 'Jul';
            break;       
        case 8:
            ret = 'Ago';
            break;			
        case 9:
            ret = 'Sep';
            break;
        case 10:
            ret = 'Oct';
            break;
        case 11:
            ret = 'Nov';
            break;
        case 12:
            ret = 'Dic';
            break;
    }
    
    return ret;
}

//funcion que dada una cadena, si supera los 10 caracteres la corta y pone: ...
function cortaCadena(cadena){
    var cadRet = cadena;
	
    if (cadena.length >= 9) {
        cadRet = cadena.substring(0, 6) + '...';
    }
    
    return cadRet;
}

//funcion que dada una cadena, si supera los 10 caracteres la corta y pone: ...
function cortaCadenaT(cadena,tam){
    var cadRet = cadena;
	
    if (cadena.length >= tam) {
        cadRet = cadena.substring(0, tam-3) + '...';
    }
    
    return cadRet;
}

//funcion que dada una cadena, si supera los 10 caracteres la corta y pone: ...
function cortaCadena(cadena, tam){
    var cadRet = cadena;
    if (cadena.length >= tam - 1) {
    	var st = cadena.replace(/(<([^>]+)>)/ig,""); 
        cadRet = st.substring(0, tam - 4) + '...';
    }
    
    return cadRet;
}

//funcion que nos devuelve el tipo de navegador del cliente
//FF: Firefox
//IE: Internet Explorer
//OT: Otro
function detectarNavegador(){
    var browsertype = navigator.userAgent;
    if (browsertype.indexOf("MSIE") != -1) {
        return "IE";
    }
    else 
        if (browsertype.indexOf("Firefox") != -1) {
            return "FF";
        }
        else {
            return "OT";
        }
}

//devuelve cadena vacia en caso de que CADENA sea NULL
function leeCadena(cadena){
    if (cadena == null) {
        return "";
    }
    else {
        return cadena;
    }
}

//abre para impresion una pagina interna, pero atencion no debe llevar parametros la variable pgina
function imprimirInterna(pagina){
    window.open(pagina + '?impresion=S', 'noimporta', 'width=800, height=700, scrollbars=yes');
}

//funciones para trim	
function ltrim(s){
    return s.replace(/^\s+/, "");
}

function rtrim(s){
    return s.replace(/\s+$/, "");
}

function trim(s){
    return rtrim(ltrim(s));
}

//carga el combo de ofertas
function cargaCombo(tabla, idCombo){

    var url = '/includes/cargaCombo.php';
    var pars = 'tabla=' + tabla;
    
    var myAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onComplete: function(transport){
            //para evitar el bug de explorer y los combos, generamos todo el select aqui
            var textoHTML = '<select>'
            textoHTML += transport.responseText;
            textoHTML += '</select>';
            $(idCombo).innerHTML = textoHTML;
        }
    });
    
}

// agregar a favoritos la web
function agregarFavoritos(){
    titulo = "viajes.net ";
    url = "http://www.viajes.net/";
    if (window.sidebar) { // Mozilla Firefox 
        window.sidebar.addPanel(titulo, url, "");
    }
    else 
        if (window.external) { // IE 
            window.external.AddFavorite(url, titulo);
        }
        else 
            if (window.opera && window.print) { // Opera
                return true;
            }
}

//poner como pagina de inicio
function paginaInicio(enlace){
    if (detectarNavegador() == 'IE') {
		enlace.style.behavior="url(#default#homepage)";
		enlace.setHomePage("http://www.viajes.net");
    }else{
		var imagenAlerta='<img src="/images/iconos/warn.gif">';	
		var mensaje='<center>Atenci&oacute;n: Su navegador no soporta esta operaci&oacute;n, si desea agregar la p&aacute;gina como p&aacute;gina de inicio, as&iacute;gnela en las opciones de su navegador.</center>';
		mensaje+='</ul></center><br><center><a href="javascript:Modalbox.hide()">Cerrar</a></center>';
		Modalbox.show(mensaje, {
				title: '<center><div class="cabeceraAlerta">' + imagenAlerta + ' Hacer p&aacute;gina de inicio.</div></center>',
				width: 400,
				transitions: true
			});
	}
}

function borraCampo(campoForm){
    $(campoForm).value = '';
}

//mtodos que cortan la cadena obtenida por el autocompleter y dejan solo la ciudad para cargarla en ofertas
function setCiudadOrigenOferta(text, li){
    $('txtOrigenOfe').value = li.id;
}

function setCiudadDestinoOferta(text, li){
    $('txtDestinoOfe').value = li.id;
}

//lo desbloquea y lo limpia y su campo oculto asociado
function desbloqueaCampoYOculto(campo,campoOculto){
    $(campo).value = '';
    $(campoOculto).value = '';
    $(campo).className = 'normal';
}

function parseaInt(cadena){	
	i=0;
	while(cadena[i]=='0'){
		i++;
	}
	return parseInt(cadena.substring(i,cadena.length));
}

function formateaNombreImagen(cadena) {
	var text = cadena.toLowerCase();
	text = text.replace(' ', '');
	text = escape(text);
	
	text = text.replace(/[á]/g, 'a');
	text = text.replace(/[é]/g, 'e');
	text = text.replace(/[í]/g, 'i');
	text = text.replace(/[ó]/g, 'o');
	text = text.replace(/%F3/g, 'o');
	text = text.replace(/[ú]/g, 'u');
	return text;
}

//funcion que suma los dias que pasamos por parmetro a la fecha de hoy 
function sumaDiasHoy(dias){
		milisegundos=parseInt(dias*24*60*60*1000);
 		fecha=new Date();
		dia=fecha.getDate();
		mes=fecha.getMonth()+1;
		anio=fecha.getYear();
		
		//si la fecha es a partir del 29/19 se suma 1 al anio
 		if(dia >= 29 && mes == 12)
			anio = anio +1;
			
 		tiempo=fecha.getTime();
		total=fecha.setTime(parseInt(tiempo+milisegundos));
		dia=fecha.getDate();
		dia=dia.toString();
		if(dia.length==1){
			dia='0'+dia;
		}
		mes=fecha.getMonth()+1;
		mes=mes.toString();
		
		if(mes.length==1){
			mes='0'+mes;
		}
		if (detectarNavegador() != "IE") {
			anio = 1900 + fecha.getYear();
		}else{
			anio = fecha.getYear();
		}
		anio=anio.toString();
		fechaRet=dia+"/"+mes+"/"+anio;
		return fechaRet;
 }
 
 //funcion que suma los dias que pasamos por parametro a la fecha que pasemos
function sumaDias(fechaI,dias){
		milisegundos=parseInt(dias*24*60*60*1000);
	 	var fec = fechaI.split('/');
        var dia = parseInt(fec[0], 10);	
        var mes = parseInt(fec[1], 10);		
        var anyo = parseInt(fec[2],10);
 		fecha=new Date(anyo,mes-1,dia);
		//dia=fecha.getDate();
		//mes=fecha.getMonth()+1;
		//anio=fecha.getYear();
 		
 		tiempo=fecha.getTime();
		total=fecha.setTime(parseInt(tiempo+milisegundos));
		dia=fecha.getDate();
		dia=dia.toString();
		if(dia.length==1){
			dia='0'+dia;
		}
		mes=fecha.getMonth()+1;
		mes=mes.toString();
		if(mes.length==1){
			mes='0'+mes;
		}
		if (detectarNavegador() != "IE") {
			anio = 1900 + fecha.getYear();
		}else{
			anio = fecha.getYear();
		}
		anio=anio.toString();
		fechaRet=dia+"/"+mes+"/"+anio;
		return fechaRet;
 }
 
 // funcion que ordena dos fechas: devuelve -1 si a<b, 0 si a=b y 1 si a>b
 function ordenaFechas(a,b){
 	var fecA = a.split('/');
    var diaA = parseInt(fecA[0], 10);	
    var mesA = parseInt(fecA[1], 10);		
    var anyoA = parseInt(fecA[2],10);
	var fechaA=new Date(anyoA,mesA-1,diaA);
 	
 	var fecB = b.split('/');
    var diaB = parseInt(fecB[0], 10);	
    var mesB = parseInt(fecB[1], 10);		
    var anyoB = parseInt(fecB[2],10);
	var fechaB=new Date(anyoB,mesB-1,diaB);
	
	var milisA = fechaA.getTime();
	var milisB = fechaB.getTime();
	if(milisA < milisB)
		return -1;
	else if(milisA == milisB)
		return 0;
	else
		return 1;
}
 
 function tipoMapa(tipo) {
 	var tipoM;
	
 	if (tipo == "satellite") 
		tipoM = "k";
	if (tipo == "map")
		tipoM == "m"
	if (tipo == "hybrid")
		tipoM = "h";	
	if (tipo == "terrain")
		tipoM = "p";		
	
	return tipoM;
 }
 
 function muestraAeropuertosCercanos(uri, tipo) {
 	if( $('ulAeropuertos') == null ) return;
	
 	var interna;
 	if (uri.indexOf(".") != -1)
	 	interna = uri.substring(0, (uri.indexOf(".") - 6));
	else
		interna = uri.substring(0, uri.length - 1);
		
	var tipoM = tipoMapa(tipo);
	var url = "/vuelos/buscaAeropuertoCerca.php";
	var pars = "xml=1&max=7&ruta=" + interna;	
	var myAjax = new Ajax.Request(url, {
		method: 'get',
		parameters: pars,
		onLoading: $('ulAeropuertos').innerHTML='<center><br><br><img src=\'/images/modalbox/spinner3.gif\'></center>',
		onComplete: function (transport) {	
			var xml = transport.responseXML.documentElement;
	    	$('ulAeropuertos').innerHTML='<ul class="ulListaAeropuertos">';
	        for (i = 0; i < xml.getElementsByTagName('AEROPUERTO').length; i++) {				
	      		var item = xml.getElementsByTagName('AEROPUERTO')[i];
	      		nombre=item.getElementsByTagName('NOMBRE')[0].firstChild.data;
	      		latitud=item.getElementsByTagName('LATITUD')[0].firstChild.data;
	      		longitud=item.getElementsByTagName('LONGITUD')[0].firstChild.data;
	      		iata=item.getElementsByTagName('IATA')[0].firstChild.data;
	      		ciudad=item.getElementsByTagName('CIUDAD')[0].firstChild.data;
	      		pais=item.getElementsByTagName('PAIS')[0].firstChild.data;
    	  		distancia=Math.round(item.getElementsByTagName('DISTANCIA')[0].firstChild.data);
				onclick = "/mapa/mapa.php?localizacion=" + nombre + "&mapa="+escape('http://maps.google.es/maps?hl=es&ie=UTF8&t=' + tipoM + '&s=AARTsJrLRXLDvw-sGnbpxTAwfWRgbV_1OQ&ll='+latitud+','+longitud+'&spn=0.011968,0.018239&z=14&output=embed');				
	      		//generamos el aeropuerto en la tabla
				$('ulAeropuertos').innerHTML+='<li class="lAeropuertosDestino" id="'+iata+'"><a href=\"' + onclick + '\" target="_blank" title="'+nombre+' ('+iata+') '+distancia+' Km" onclick="window.open(this.href, this.target, \'width=643,height=483\'); return false;"><span>'+cortaCadena(nombre+' ('+iata+')', 19)+' '+distancia+' Km</span>&nbsp;</a></li>';
	    	}
    		$('ulAeropuertos').innerHTML+='</ul>';					
		}
	});
 }
 
 function muestraMapa(uri, rutaImagen, tipo) {
 	if ($('mapaInt') == null) return;
	
 	if (rutaImagen != null) {
		var interna;
	 	if (uri.indexOf(".") != -1)
		 	interna = uri.substring(0, (uri.indexOf(".") - 6));
		else
			interna = uri.substring(0, uri.length - 1);
			
		var tipoM = tipoMapa(tipo);
		var url = "/includes/buscaCiudadInternas.php";
		var pars = "ruta=" + interna;
		var myAjax = new Ajax.Request(url, {
			method: 'get',
			parameters: pars,
			onLoading: $('mapaInt').innerHTML='<center><br><br><img src=\'/images/modalbox/spinner3.gif\'></center>',		
			onComplete: function(transport){
				var xml = transport.responseXML.documentElement;
				for (i = 0; i < xml.getElementsByTagName('CIUDAD').length; i++) {
					var item = xml.getElementsByTagName('CIUDAD')[i];
					nombre = item.getElementsByTagName('NOMBRE')[0].firstChild.data;
					latitud = item.getElementsByTagName('LATITUD')[0].firstChild.data;
					longitud = item.getElementsByTagName('LONGITUD')[0].firstChild.data;
					onclick = "/mapa/mapa.php?localizacion=" + nombre + "&mapa=" + escape('http://maps.google.es/maps?hl=es&ie=UTF8&t=' + tipoM + '&s=AARTsJrLRXLDvw-sGnbpxTAwfWRgbV_1OQ&ll=' + latitud + ',' + longitud + '&spn=0.011968,0.018239&z=14&output=embed');
					imagen = "<img src=\"" + rutaImagen + "\" alt=\"Mapa " + nombre + "\" width=\"162\" height=\"110\">";
					$('mapaInt').innerHTML = '<a href=\"' + onclick + '\" target="_blank" onclick="window.open(this.href, this.target, \'width=643,height=483\'); return false;">' + imagen + '</a>';
				}
			}
		});
	}
 }
