var __seleccion='seleccion';

var __expiracion=10368000000; // 4 meses, en milisegundos

var numLlamadas = 0;



//function inicializaCookie(mer,lng,form){

function inicializaCookie() {

  // Comprobamos si existe alguna cookie 

  var dat=leerCookie(__seleccion);

  // Si existe cookie, recuperaremos los datos y los pasaremos en la consulta 

  // para la validacion de la sesion  

  if(dat.search(/^[01]?@(\w*-\w*)?@(\w*-\w*)?@(OW|RT)?@(TUR|BUS)?$/i)!=-1){
    
    dat=dat.split('@');

    dat2 = dat[1].split('-');

    document.foSesion.p_codmer.value='ES';

    document.foSesion.p_codidi.value='ES';

    if (dat[2]!='') {

      dat2 = dat[2].split('-');

      document.foSesion.p_aptdep.value=dat2[0];

      document.foSesion.p_aptarr.value=dat2[1];

    }

    document.foSesion.p_tiptra.value=dat[3];

    document.foSesion.p_tipcab.value=dat[4];

  }
  
  //establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');

}



function leerCookie(name){

  var cname=name+"=";

  var dc=document.cookie;

  if(dc.length>0){

    var begin=dc.indexOf(cname);

    if(begin!=-1){

      begin+=cname.length;

      var end=dc.indexOf(";",begin);

      if(end==-1) end=dc.length;

      return unescape(dc.substring(begin,end));

    }

  }

  return '';

}



// Crea una cookie en funcion de la seleccion del usuarios respecto al idioma y el pais

// para que el navegador se acuerde en ocasiones venideras, de dicha seleccion.

function establecerCookie(name,value,expires,path,domain,secure){

  document.cookie=name+"="+escape(value)+

  (expires==null?"":"; expires="+expires.toGMTString())+

  (path==null?"":"; path="+path)+

  (domain==null?"":"; domain="+domain)+

  (secure==null?"":"; secure");

}



function calcularExpiracion(exp){

  if(typeof(exp)!='number') exp=__expiracion;

  return new Date((new Date()).getTime()+exp);

}



function generarCookie(mer,lng) {

  mer=mer.toUpperCase();lng=lng.toUpperCase();

  var dat=leerCookie(__seleccion);

  var cmp=mer+'-'+lng;

  if(dat.search(/^[01]?@(\w*-\w*)?@(\w*-\w*)?@(OW|RT)?@(TUR|BUS)?$/i)==-1){

    dat=['0',mer+'-'+lng,'','',''];

  }else{

    dat=dat.split('@');

    if(cmp!=dat[1] && dat[0]=='0'){

      dat[0]='1';

      establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');

      dat[1]=dat[1].split('-');

      return;

    }else{

      dat[0]='0';

    }

  }

  establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');

}

function cambiarPaisIdioma(mer,lng){

  mer=mer.toUpperCase();lng=lng.toUpperCase();

  dat=['0',mer+'-'+lng,'','',''];

  establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');
}

function establecerPaisLang(pais,cod){
  var dat=(leerCookie(__seleccion)||'@@@@').split('@');

  var rx=pais?/^\w+/:/\w+$/;

  dat[1]=dat[1].replace(rx,cod.toUpperCase());

  establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');      

}



function establecerAeropuerto(org,cod){

  var dat=(leerCookie(__seleccion)||'@@@@').split('@');

  dat[2]=dat[2].split('-');

  dat[2][org?0:1]=cod;

  dat[2]=dat[2].join('-');

  establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');

}



function establecerTViaje(fld){

  var dat=(leerCookie(__seleccion)||'@@@@').split('@');

  dat[3]=(fld.checked)?'OW':'RT';

  establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');

}



function establecerCabina(fld){

  var dat=(leerCookie(__seleccion)||'@@@@').split('@');

  dat[4]=(fld.checked)?'BUS':'TUR';

  establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');

}



function tratarGet() {

  var p_valores = leerGET();

  if (p_valores.lenght!=0) {

    for (obj in p_valores) {

      if (obj=='p_idiurl') {

        document.foSesion.p_idiurl.value = p_valores[obj].replace('+',' ');
        
        document.foSesion.p_codidi.value = p_valores[obj].replace('+',' ');

      }

      if (obj=='p_merurl') {

        document.foSesion.p_merurl.value = p_valores[obj].replace('+',' ');
        
        document.foSesion.p_codmer.value = p_valores[obj].replace('+',' ');

      }

      if (obj=='p_sysurl') {

        document.foSesion.p_sysurl.value = p_valores[obj].replace('+',' ');

      }

    }        

  }

  if (  document.foSesion.p_merurl.value != 'ES' 
  
    && document.foSesion.p_merurl.value != 'FR'
    
    && document.foSesion.p_merurl.value != 'IT'
    
	&& 	document.foSesion.p_merurl.value != 'OT'	    

    ){

	  var cadena;

      cadena =document.foSesion.p_merurl.value.toLowerCase()+'/'+document.foSesion.p_idiurl.value.toLowerCase();

      if (  document.foSesion.p_merurl.value == 'US' 

         || document.foSesion.p_merurl.value == 'UK' 

         || document.foSesion.p_merurl.value == 'PT' 
         
         || document.foSesion.p_merurl.value == 'PE'
         || document.foSesion.p_merurl.value == 'NL'

      ){

         document.aux.action='http://www.aireuropa.com/web9/'+cadena+'/default.html';

      }else{
          
        document.aux.action='http://www.aireuropa.com/web9/'+cadena+'/default_amadeus.html';

      }

    document.foSesionWEB9.p_codmer.value = document.foSesion.p_merurl.value; 
    document.foSesionWEB9.p_codidi.value = document.foSesion.p_idiurl.value;
    document.foSesionWEB9.submit();
  } else {
	if (document.foSesion.p_merurl.value == 'OT') 
	
		document.foSesion.p_merurl.value = 'ES'; 	
    cambiarPaisIdioma(document.foSesion.p_codmer.value,document.foSesion.p_codidi.value);
    document.foSesion.submit();

  }

} 

function leerGET(){

  var cadGET = location.search.substr(1,location.search.length);

  var arrGET = cadGET.split(String.fromCharCode(38));

  var asocGET = new Array();

  var variable = "";

  var valor = "";

  for(i=0;i!=arrGET.length;i++) {

    var aux = arrGET[i].split('=');

    variable = aux[0];

    valor = aux[1];

    asocGET[variable] = valor;

  }

  return asocGET;

}
