var __seleccion='seleccion2';
var __expiracion=10368000000; // 4 meses, en milisegundos

// 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 borrarCookie(name,path,domain){
 document.cookie=name+"="+
  (path==null?"":"; path="+path)+
  (domain==null?"":"; domain="+domain)+
  "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}

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 '';
}



function cargarMercado(mer,lng,form){
 var rd=mer+'/'+lng;
	if(rd=='BR/ES'||rd=='BR/BR'||rd=='AR/ES'||rd=='AR/EN'||rd=='DO/EN'||rd=='DO/ES'||rd=='VE/EN'||rd=='VE/ES'||rd=='MX/EN'||rd=='MX/ES'||rd=='US/ES'||rd=='US/EN'){
	 switch(rd){
	  case'BR/EN': lng='BR';break;
   case'VE/ES': mer='DO';break;
   case'VE/EN': mer='MX';break;
   case'DO/RN': lng='EN';break;
   case'DO/ES': mer='MX';break;
   case'MX/ES':
   case'MX/EN': mer='VE';lng='EN';break;
  }
		form.p_codmer.value=mer;
		form.p_codidi.value=lng;
		if(rd=='US/ES'|| rd=='US/EN'){
   rd=rd.toLowerCase();
		 document.location="http://www.aireuropa.com/"+rd+"/default.html";
  }else{
		 rd=rd.toLowerCase();
		 document.location="http://www.aireuropa.com/"+rd+"/default_amadeus.html";
	 }
	}else{
	 switch(rd){
	  case'OT/ES':
	  case'IT/ES':
	  case'ES/ES':
	  case'FR/ES': rd='es';break;
	  case'OT/EN':
	  case'ES/EN': rd='en';break;
	  case'ES/CA': rd='ca';break;
	  case'FR/FR': rd='fr';break;
	  case'IT/IT': rd='it';break;
  }
		document.location='http://www.aireuropa.com/'+rd.toLowerCase()+'/default.html';
	}
}

function inicializaCookie(mer,lng,form){
 form=form||document.forms.foDatosSesion;
 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('-');
   cargarMercado(dat[1][0],dat[1][1],form);
   return;
  }else{
   dat[0]='0';
  }
 }
 establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');
}

/*
 Dale un [form] donde estén los controles,
  un par de checkboxes llamados [trip],
  otro par llamados [cabin],
  un select llamado [org], y otro llamado [dst],
  y será feliz.
 No te olvides de que todos son strings y,
  si no puedes darle alguna de todas esas cosas
  que tanto le gustan,
  dale la referencia a una función [fncbk]
  que se encarge de actualizar por ella.
*/
function cargaDatosCookie(form,trip,cabin,org,dst,fncbk){
 var dat=(leerCookie(__seleccion)||'@@@@').split('@');
 if(dat.length==0) return;
 dat[1]=dat[1].split('-');
 dat[2]=dat[2].split('-');
 if(typeof(fncbk)!='function'){
  form=document.forms[form];
  form[trip][dat[3]=='OW'?1:0].checked=true;
  form[cabin][dat[4]=='BUS'?1:0].checked=true;
  if(dat[2][0]) form[org].value=dat[2][0];
  cargaDestinos(form[org].id,'combo_aptarr');
  if(dat[2][1]) form[dst].value=dat[2][1];
 }else{
  fncbk(dat,form,trip,cabin,org,dst);
 }
}

function calcularExpiracion(exp){
 if(typeof(exp)!='number') exp=__expiracion;
 return new Date((new Date()).getTime()+exp);
}

function borrarAeropuertos(){
 var dat=(leerCookie(__seleccion)||'@@@@').split('@');
 dat[2]='';
 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 val,i;
 if(fld.length){
  for(i=fld.length-1,val='';i>-1 && val=='';i--) if(fld[i].checked) val=fld[i].value;
 }else val=fld.value;
 var dat=(leerCookie(__seleccion)||'@@@@').split('@');
 dat[3]=(val=='R')?'RT':'OW';
 establecerCookie(__seleccion,dat.join('@'),calcularExpiracion(),'/');
}

function establecerCabina(fld){
 var val,i;
 if(fld.length){
  for(i=fld.length-1,val='';i>-1 && val=='';i--) if(fld[i].checked) val=fld[i].value;
 }else val=fld.value;
 var dat=(leerCookie(__seleccion)||'@@@@').split('@');
 dat[4]=(val=='E')?'TUR':'BUS';
 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(),'/');
}
