//VARIABLES
var forma_pago="tarjeta";
var fecha_entrada="";
var procesando_form = false;
var clicado=false;
var is_ie=(navigator.appName.indexOf('Explorer')>0)?true:false;
// Prototype to YUI
var $ = YAHOO.util.Dom.get;
var dir_hoteles='/hoteles/';
var proveedores_pedido=null;
// YUI to jQuery
var use_jq = (typeof $j != 'undefined'); 


function $F(id){ try{ return $(id).value;}catch(e){return;} }
function showDetails(link,key,text_show,text_hide)
{
    if (link.innerHTML==text_show)
    {
        $('lista_item_'+key).className='visto';
        link.innerHTML=text_hide;
    } else {
        $('lista_item_'+key).className='oculto';
        link.innerHTML=text_show;
    }
}

function quitar(key_param, titulo)
{
    if(confirm(str_quitar_1 + ' "' + titulo + '" ' + str_quitar_2))
    {
        $('key_prod').value = key_param;
        $('form_cambios').submit();
    }
}

function codigoDescuento(key_param, codigo)
{
    $('key_prod').value = key_param;
    $('action').value = 'codigo_descuento';
    $('codigo_descuento_esp_act').value = codigo;
    if(isEmpty($('codigo_descuento_esp_act').value))
    {
        alert('Debes especificar el código descuento');
        return;
    }
    $('form_cambios').submit();
}

function substituir(key_param, titulo)
{
    if(confirm(str_sustituir_1 + ' "' + titulo + '" ' + str_sustituir_2))
    {
        $('key_prod').value = key_param;
        $('action').value = 'subs';
        $('form_cambios').submit();
    }
}

function substituirXSelling(params_hoteles, titulo){
if(confirm(str_sustituir_1 + ' ?' + titulo + '? ' + str_sustituir_2))searchHotel(params_hoteles);
}

function getCondicionesPDF(ln){
 var f=document.createElement('FORM');f.method='POST';
 var i=document.createElement('INPUT');i.name='h';i.type='hidden';
 i.value=ln.parentNode.innerHTML;
 f.action = 'https://www.atrapalo.com/download_pdf.php';
 f.appendChild(i);
 ln.parentNode.parentNode.appendChild(f);
 f.submit();
}

function viewCondiciones(titulo,texto,url,alto,ancho){
var print='<br><a href="#" onclick="window.print();return false;"><#t id="_link_imprimir_pagina"#>Imprimir pagina<#/t#></a> -';
print+='<a href="#" onclick="getCondicionesPDF(this);return false;"><#t id="_link_guardar_pdf"#>Guardar como PDF<#/t#></a>';
ancho?width=ancho:width="650px";alto?height=alto:height="410px";
oPanel=new YAHOO.widget.Panel("panel",{width:width,height:height,underlay:"none",close:true,draggable:false,fixedcenter:true,zIndex:1000});
oPanel.setHeader(titulo?titulo:"LEE ATENTAMENTE");
if(url){
 YAHOO.util.Connect.asyncRequest('GET',texto,{
 success:function(response){
    oPanel.setBody('<div style="overflow:auto;height:380px;">'+response.responseText+print+'</div>');
    oPanel.render(document.body);oPanel.show();
 }});
}else{
 oPanel.setBody('<div style="overflow:auto;height:380px;">'+texto+print+'</div>');
 oPanel.render(document.body);oPanel.show();
}
}

function viewAgradecimientoRedondeo(titulo,texto,url,alto,ancho){
if($('check_redondeo_solidario').checked == true){
ancho?width=ancho:width="300px";
alto?height=alto:height="90px";
texto="<p><strong>¡GRACIAS por tu micro-donación!</strong></p>";
texto+="<p>Recuerda que ATRAPALO donará la misma cantidad doblando la aportación total.</p>";
oPanel = new YAHOO.widget.Panel('panel',{width:width,height:height,underlay:"none",close:true,
 draggable:false,fixedcenter:false,modal: true,context:["check_redondeo_solidario","bl","tr"],
 zIndex:1000});
if(url){
 YAHOO.util.Connect.asyncRequest('GET',texto,{
 success:function(response){
 oPanel.setBody('<div style="overflow:auto;height:250px;">'+response.responseText+'</div>');
 oPanel.render(document.body);oPanel.show();
 }});
}else{
 oPanel.setBody('<div style="overflow:auto;height:250px;margin:15px;">'+texto+'</div>');
 oPanel.render(document.body);oPanel.show();
}
}}

function viewSeleccionInteligente(titulo,texto,url,alto,ancho){
ancho?width=ancho:width="350px";alto?height=alto:height="200px";

oPanel = new YAHOO.widget.Panel("panel",{width:width,height:height,underlay:"none",close:true,draggable:false,fixedcenter:true,zIndex:1000});
oPanel.setHeader(titulo?titulo:"Ofertas relacionadas para enriquecer tu pedido");
if(url){
 YAHOO.util.Connect.asyncRequest('GET',texto,{
  success:function(response){
  oPanel.setBody('<div style="overflow:auto;height:170px;">'+response.responseText+'</div>');
  oPanel.render(document.body);oPanel.show();
 }});
}else{
 oPanel.setBody('<div style="overflow:auto;height:170px;">'+texto+'</div>');
 oPanel.render(document.body);oPanel.show();
}}

function isEmpty(str){
if(str) str = str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
if ((str==null) || (str=='undefined') || (str.length==0) ) return true;
else return false;
}

function hayErrores(){
if(errores.cuantos()>0){errores.show();return true;}
else return false;
}
//Datos Reserva
function getRefToDivNest(divID, oDoc){
if(!oDoc)oDoc = document;
if(document.layers){
 if(oDoc.layers[divID])return oDoc.layers[divID];
 else{
  for( var x = 0, y; !y && x < oDoc.layers.length; x++ ){
   y = getRefToDivNest(divID,oDoc.layers[x].document);
   }
  return y;
 }
}
if(document.getElementById) return document.getElementById(divID);
if(document.all) return document.all[divID];
return document[divID];
}

function showdiv(thisdiv){
cdiv = getRefToDivNest(thisdiv);
if(!cdiv)return;
if(cdiv.style) { cdiv.style.visibility = 'visible'; cdiv.style.display = 'inline'; }
else{
 if( cdiv.visibility ) { cdiv.visibility = 'show'; cdiv.style.display = 'inline'; }
 else return;
}
}

function hidediv(thisdiv){cdiv=getRefToDivNest(thisdiv);
if(cdiv.style){cdiv.style.visibility='hidden';cdiv.style.display='none';}
else{cdiv.visibility='hide';cdiv.display='none';}
}

function checkCp(){
if(document.form_submit.boletin.checked)showdiv('cpas');
else{document.form_submit.cp_reg.style.backgroundColor='#ffffff';hidediv('cpas');}
}

function setAvs(){$('avs').checked = true;checkAvs();}

function checkAvs(){if($('avs').checked){showdiv('divavs');}else{hidediv('divavs');}}

function checkAvsrest(trig,id){if($(trig).checked){showdiv(id);}else{hidediv(id);}}

function checkAvsesp(trig,id,num_datos){
var trig_avs = 'avs_' + trig;var trig_reg = 'reg_' + trig;
if($(trig_avs).checked){
    if($(trig_reg) && $(trig_reg).checked){
        $(trig_reg).checked = false;hidediv('reg_' + id);
    }
    showdiv(id);
    if($(trig_reg)){
        $('av_br_nombre_' + num_datos).value = '';
        $('av_br_apellidos_' + num_datos).value = '';
        $('av_br_telefono_' + num_datos).value = '';
        $('av_br_nombre_' + num_datos).value = '';
        $('av_br_email_' + num_datos).value = '';
    }
}
else{hidediv(id);}
}

function checkRegalo(trig,id,num_datos){
    var trig_avs = 'avs_' + trig;
    var trig_reg = 'reg_' + trig;
    if($(trig_reg).checked){
        if($(trig_avs).checked){
            $(trig_avs).checked = false;
            hidediv(id);
        }
        showdiv('reg_' + id);
    }else{
        hidediv('reg_' + id);
        $('av_br_nombre_' + num_datos).value = '';
        $('av_br_apellidos_' + num_datos).value = '';
        $('av_br_telefono_' + num_datos).value = '';
        $('av_br_nombre_' + num_datos).value = '';
        $('av_br_email_' + num_datos).value = '';
    }
}
function mostrarESP(id_pedido_carrito)
{
	if ($('mostrarocultar_' + id_pedido_carrito).style.display=="none")
    {
        $('mostrarocultar_' + id_pedido_carrito).style.display="";
        if(dominio == 'afferralo.com' || dominio == 'atrapalo.it')
        {
            $('txt_ocultar_' + id_pedido_carrito).innerHTML = 'Nascondi dettagli';
        }
        else
        {
            $('txt_ocultar_' + id_pedido_carrito).innerHTML = 'Ocultar detalles';
        }
    }
	else
    {
        $('mostrarocultar_' + id_pedido_carrito).style.display="none";
        if(dominio == 'afferralo.com' || dominio == 'atrapalo.it')
        {
            $('txt_ocultar_' + id_pedido_carrito).innerHTML = 'Vedi dettagli';
        }
        else
        {
            $('txt_ocultar_' + id_pedido_carrito).innerHTML = 'Ver detalles';
        }
    }

}
function usarMisDatos(num_datos, campos)
{
    for(x=0;x<campos.length;x++)
    {
        if($(campos[x] + '_reg')) $('av_' + campos[x] + '_' + num_datos).value = $(campos[x] + '_reg').value;
    }
}
function usardatostarjeta(nombre)
{
    $('titular').value = nombre;
}

function usarMisTarjetas(id)
{
	if (typeof id == 'object') id=id.target.value;
	$('usa_datos_tarjeta').checked=true;
	mostrar_info('datos_tarjeta1'); 
	mostrar_info('datos_tarjeta2');
    if (typeof mis_tarjetas_editables == 'undefined') return false;
    else if (typeof mis_tarjetas_editables[id] == 'object') {
    	$('titular').value=mis_tarjetas_editables[id].titular;
    	$('num_tarjeta').value=mis_tarjetas_editables[id].numero;
    	$('cad_Month').value=mis_tarjetas_editables[id].caducidad.substr(2,2);
    	$('cad_Year').value='20'+mis_tarjetas_editables[id].caducidad.substr(0,2);
    	$('tipo_tarjeta').value=mis_tarjetas_editables[id].tipo;
    	$('alias_tarjeta').value=mis_tarjetas_editables[id].alias;
    	$('id_tarjeta').value=id;
    	if (mis_tarjetas_editables[id].caducada==1) alert('<#t id="texto_tarjeta_elegida_caducada"#>La tarjeta elegida está caducada<#/t#>');
    } else {
    	$('titular').value='';
    	$('num_tarjeta').value='';
    	$('cad_Month').value='';
    	$('cad_Year').value='';
    	$('tipo_tarjeta').value='';    	
    	$('id_tarjeta').value='';
    	$('alias_tarjeta').value='';
    }
}

<#* inicializo los eventos de los radio botones *#>
function init_usar_tarjeta_radio() {for (n=0;n<radio_usa_tarjeta.length;n++) radio_usa_tarjeta[n].onclick = function(){ if (this.id!='usa_datos_tarjeta') document.getElementById('guarda_tarjeta').checked=false; if (this.id!='usa_datos_tarjeta') { ocultar_info('datos_tarjeta1'); ocultar_info('datos_tarjeta2'); } else { mostrar_info('datos_tarjeta1'); mostrar_info('datos_tarjeta2'); }; if (document.getElementById('trCvv2')!=null) { if (this.id=='usa_datos_tarjeta') ocultar_info('trCvv2'); else mostrar_info('trCvv2');}}} 

<#* devuelve el valor de el radio seleccionado *#>
function getUsarTarjeta() {for (n=0;n<radio_usa_tarjeta.length;n++) if (radio_usa_tarjeta[n].checked) return radio_usa_tarjeta[n].value; return '';}

<#* inicializo los elementos ocultados *#>
function init_paso3_ocultar_campos() { ocultar_info('label_alias_tarjeta'); if (getUsarTarjeta()!='') {ocultar_info('datos_tarjeta1'); ocultar_info('datos_tarjeta2');}}

var radio_usa_tarjeta=document.getElementsByName('usar_tarjeta');

if (use_jq) {
$j(document).ready(init_usar_tarjeta_radio);
$j(document).ready(init_paso3_ocultar_campos);
$j('#mis_tarjetas').change(usarMisTarjetas);
$j('#guarda_tarjeta').click(function(){ if ($('guarda_tarjeta').checked) mostrar_info('label_alias_tarjeta'); else ocultar_info('label_alias_tarjeta'); });
} else {
YAHOO.util.Event.onDOMReady(init_usar_tarjeta_radio);
YAHOO.util.Event.onDOMReady(init_paso3_ocultar_campos);
YAHOO.util.Event.addListener('mis_tarjetas', 'change', usarMisTarjetas);
YAHOO.util.Event.addListener('guarda_tarjeta', 'click', function(){ if ($('guarda_tarjeta').checked) mostrar_info('label_alias_tarjeta'); else ocultar_info('label_alias_tarjeta'); });
}

function usarMisDatosESPACT(num_datos, campos)
{
    for(x=0;x<campos.length;x++)
    {
        $('av_' + campos[x] + '_' + num_datos + '_1').value = $(campos[x] + '_reg').value;
    }
}

function usarDatosAnteriores(num_datos, campos)
{
    for(x=0;x<campos.length;x++)
    {
        if($('av_' + campos[x] + '_' + (num_datos-1)))
        {
            if($('av_' + campos[x] + '_' + num_datos))
            {
                $('av_' + campos[x] + '_' + num_datos).value = $('av_' + campos[x] + '_' + (num_datos-1)).value;
            }

            if($('av_' + campos[x] + '_' + num_datos + '_1'))
            {
                $('av_' + campos[x] + '_' + num_datos + '_1').value = $('av_' + campos[x] + '_' + (num_datos-1)).value;
            }
        }

        if($('av_' + campos[x] + '_' + (num_datos-1) + '_1'))
        {
            if($('av_' + campos[x] + '_' + num_datos))
            {
                $('av_' + campos[x] + '_' + num_datos).value = $('av_' + campos[x] + '_' + (num_datos-1) + '_1').value;
            }

            if($('av_' + campos[x] + '_' + num_datos + '_1'))
            {
                $('av_' + campos[x] + '_' + num_datos + '_1').value = $('av_' + campos[x] + '_' + (num_datos-1) + '_1').value;
            }
        }
    }
}

function usarDatosAnterioresESPACT(num_datos, campos)
{
    for(x=0;x<campos.length;x++)
    {
        $('av_' + campos[x] + '_' + num_datos + '_1').value = $('av_' + campos[x] + '_' + (num_datos-1) + '_1').value;
    }
}
function isTelefono(telf)
{
    if (telf.length>15) return false;
    filter= /^\+?[0-9]+[0-9\\\.\-\ ]*[0-9]+$/;
    if (!filter.test(telf)) {
    	return false;
    }
    return true;
}
function checkCampo(campo, comprobarEmail, comprobarTelf)
{
	try
	{
		if(typeof(salta_val_tlf) !== 'undefined' && salta_val_tlf == 1) 
		{
			if((isEmpty(YAHOO.lang.trim($F(campo)))) || (comprobarEmail && !isEmail($F(campo)))) return false;
		    else return true;
		}
		else
		{
			if((isEmpty($F(campo))) || (comprobarEmail && !isEmail(YAHOO.lang.trim($F(campo)))) || (comprobarTelf && !isTelefono($F(campo)))) return false;
			else return true;
		}
	}
	catch(error) {}
	
}

function comprobarDocId(num_documento, tipo, required){
	if (typeof required=='undefined') required=false;
	if (num_documento.length<1 || isEmpty(num_documento)) return !required;
	switch(tipo){
	case 'dni':
		return comprobarNifCif(num_documento);
		break;
	case 'rut':
		return true; //comprobarRut(num_documento);
		break;
	default:
		return true;
	}
}

//From Vuelos
function comprobarNifCif(num_documento)
{
	if ( typeof( num_documento ) == 'undefined' ) return false ;
    if (num_documento.length < 1) return false;
    var numeros = num_documento.replace(/[^0-9]/ig, '');
    var letras  = num_documento.replace(/[^a-z]/ig, '');
    // Comprobamos si tiene 8 numeros y 1 letra, sin tener en cuenta el orden
    if (
    ((letras.length != 1) || (numeros.length != 8)) &&
    ((letras.length != 2) || (numeros.length != 7)) &&
    ((letras.length != 1) || (numeros.length != 7)) &&
    ((letras.length != 2) || (numeros.length != 8))
    ) return false;
    return true;
}

//function comprobarRut(num_documento){
//
//	var l=num_documento.length;
//	if(l < 1) return true;	
//	if($('doc_reg').value!='dni' && $('doc_reg').value!='rut') return true;	
//	if(l>9 || l<8) return false;		
//	if( num_documento.substring(0,(l-1)).search(/[^0-9]/) >= 0) return false;	
//	return (num_documento.substring((l-1),l).search(/[^0-9kK]/) < 0);	
//}

function comprobarRut(rut) {
	if(rut.length < 1) return false;
	//var rexp = new RegExp(/^([0-9])+\-([kK0-9])+$/);
	var rexp = new RegExp(/^([kK0-9])+$/);
	if (rut.match(rexp)) {
		if (rut.search('-')>=0){
		var RUT = rut.split("-");
		}else{var RUT=[rut.substr(0,rut.length-1), rut.substr(rut.length-1,1)];}
		var elRut = RUT[0].split('');//.toArray();
		var factor = 2;
		var suma = 0;
		var dv;
		for (i = (elRut.length - 1); i >= 0; i--) {
			factor = factor > 7 ? 2 : factor;
			suma += parseInt(elRut[i]) * parseInt(factor++);
		}
		dv = 11 - (suma % 11);
		if (dv == 11) {
			dv = 0;
		} else if (dv == 10) {
			dv = "k";
		}
		if (dv == RUT[1].toLowerCase()) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}

/*function comprobarNifCifSeguro(num_documento)
{
        if (num_documento.length < 1) return false;
        carcaterraro=num_documento.search(/[\(\)\.\-\ ]/g);
    if (carcaterraro!=-1) return false;
	var numeros = num_documento.replace(/[^0-9]/ig, '');
    var letras  = num_documento.replace(/[^a-z]/ig, '');

    if (num_documento.lenght>0) return false;
    // Comprobamos si tiene 8 numeros y 1 letra, sin tener en cuenta el orden
    if (
    ((letras.length != 1) || (numeros.length != 8)) &&
    ((letras.length != 2) || (numeros.length != 7)) &&
    ((letras.length != 1) || (numeros.length != 7)) &&
    ((letras.length != 2) || (numeros.length != 8))
    ) return false;
    return true;
}*/

// CREDIT CARD
// Metodo que comprueba la validez de una tarjeta
function isValidCreditCardNumber (cardNumber, cardType)
{
    var isValid = false;
    var ccCheckRegExp = /[^\d ]/;
    isValid = !ccCheckRegExp.test(cardNumber);
    if (isValid)
    {
        var cardNumbersOnly = cardNumber.replace(/ /g,"");
        var cardNumberLength = cardNumbersOnly.length;
        var lengthIsValid = false;
        var prefixIsValid = false;
        var prefixRegExp;
        switch(cardType)
        {
            case "CAD":
            case "CA":
            lengthIsValid = (cardNumberLength == 16);
            prefixRegExp = /^5[1-5]/;
            break;
            case "VI":
            case "VIE":
			case "VID":
            lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
            prefixRegExp = /^4/;
            break;
            case "AX":
            lengthIsValid = (cardNumberLength == 15);
            prefixRegExp = /^3(4|7)/;
            break;
            case "DCC":
            lengthIsValid = (cardNumberLength == 14);
            prefixRegExp = /^3(0|6|8)/;
            break;
            case "EN":
            lengthIsValid = (cardNumberLength == 15);
            prefixRegExp = /^2(014|149)/;
            break;
            case "DIS":
            lengthIsValid = (cardNumberLength == 16);
            prefixRegExp = /^6011/;
            break;
            case "JCB":
            lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 15);
            prefixRegExp = /^3(088|096|112|158|337|528)/;
            break;
            case 'MA':
            lengthIsValid = cardNumberLength == 16 ;
            prefixRegExp = /^56(0359|7139|7229|8009)/;
            break;
            default:
            prefixRegExp = /^$/;
            alert("Card type not found");
        }
        prefixIsValid = prefixRegExp.test(cardNumbersOnly);
        isValid = prefixIsValid && lengthIsValid;
    }
    if (isValid && cardType=='AX') return luhnCheck(cardNumber);
    if (isValid)
    {
        var numberProduct;
        var numberProductDigitIndex;
        var checkSumTotal = 0;
        for (digitCounter = cardNumberLength - 1;digitCounter > 0;digitCounter--)
        {
            checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
            digitCounter--;
            numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
            for (var productDigitCounter = 0; productDigitCounter < numberProduct.length; productDigitCounter++)
            {
                checkSumTotal +=
                parseInt(numberProduct.charAt(productDigitCounter));
            }
        }
        isValid = (checkSumTotal % 10 == 0);
    }
    return isValid;
}
//Metodo que modifica el numero maximo de caracteres del campo CVV segun la tarjeta
function setMaxLenCVV(card, hay_vue)
{
    if(card=='AX')
    {
        $('cvv').setAttribute('maxLength',4);
        $('num_tarjeta').setAttribute('maxLength',15);
    }
    else if(card=='EN' || card=='JCB')
    {
        $('cvv').setAttribute('maxLength',3);
        $('num_tarjeta').setAttribute('maxLength',15);
    }
    else if(card=='DCC')
    {
        $('cvv').setAttribute('maxLength',3);
        $('num_tarjeta').setAttribute('maxLength',14);
    }
    else
    {
        $('cvv').setAttribute('maxLength',3);
        $('num_tarjeta').setAttribute('maxLength',16);
    }
	if (hay_vue == 0) { $('cvv').value=''; }
}
//Metodo que comprueba que sea valido el cvv
function isValidCVV(cvv,card)
{
    cvv.replace(/ /g,"");
    if(isNaN(cvv)) return false;
    if(card=='AX') return (cvv.length==4);
    return (cvv.length==3);
}
//metodo que compara dos fechas a nivel de mes/anno
function checkFechaCaducidad(fecha)
{
    if($('form_submit').cad_Year.value=='' || $('form_submit').cad_Month.value=='') return false;
    if(!fecha) fecha=new Date();
    var fecha_e=new Date();
    fecha_e.setFullYear(fecha.getFullYear(),fecha.getMonth(),01);
    var fecha_t=new Date();
    es_venere=false;
    if (proveedores_pedido)
    {
    	for(i=0;i<proveedores_pedido.length;i++)
    	{
    		if (proveedores_pedido[i]=='7') es_venere=true;
    	}
    }
    if (!es_venere){ //si el proveedor de hotel es venere, la fecha de caducidad de la terjeta es un mes anterior
    	fecha_t.setFullYear($('form_submit').cad_Year.value,$('form_submit').cad_Month.value-1,01);
    }else{
        fecha_e.setFullYear(fecha_entrada.getFullYear(),fecha_entrada.getMonth(),01);
    	fecha_t.setFullYear($('form_submit').cad_Year.value,$('form_submit').cad_Month.value-2,01);
    }
    if(fecha_e>fecha_t) return false;
    else return true;
}
function luhnCheck(CardNumber) {
    if (isNaN(CardNumber)) return false;
    var no_digit = CardNumber.length;
    var oddoeven = no_digit & 1;
    var sum = 0;
    for (var count = 0; count < no_digit; count++) {
        var digit = parseInt(CardNumber.charAt(count));
        if (!((count & 1) ^ oddoeven)) {
            digit *= 2;
            if (digit > 9)
            digit -= 9;
        }
        sum += digit;
    }
    if (sum % 10 == 0)
    return true;
    else
    return false;
}
//CREDIT CARD
function verPago(qual)
{
    if ($('tarjeta')) $('tarjeta').style.display=(qual=='tarjeta' || qual=='fraccionado')?'block':'none';
    if ($('telefono')) $('telefono').style.display=(qual=='telefono')?'block':'none';
    if ($('transferencia')) $('transferencia').style.display=(qual=='transferencia')?'block':'none';
    if ($('fraccionado')) $('fraccionado').style.display=(qual=='fraccionado')?'block':'none';
    forma_pago=qual;
}
//TUS RESERVAS
function Ver(loc)
{
    //$('email').value = '';
    $('localizador').value = '';
    $('localizadores').value = '';
    $('ver_pedido_localizador').value = loc;
    $('form_submit').submit();
}
function Imprimir(loc)
{
    $('email').value = '';
    $('localizador').value = '';
    $('localizadores').value = '';
    $('ver_pedido_localizador').value = loc;
    $('imprimir').value = '1';
    $('form_submit').submit();
}
function formLogin()
{
    if(!checkCampo('email_login', true)) errores.push(new Error('10','999','001','',"setErrorBackColor($('email_login'));"));
    if(!checkCampo('password_login')) errores.push(new Error('10','999','002','',"setErrorBackColor($('password_login'));"));
    if(!hayErrores()) $('form_submit').submit();
}
function formLoginTusReservas()
{
    if(!checkCampo('email', true)) errores.push(new Error('10','999','001','',"setErrorBackColor($('email'));"));
    if(!checkCampo('localizador')) errores.push(new Error('10','999','050','',"setErrorBackColor($('localizador'));"));
    if(!hayErrores()) $('form_submit').submit();
}
function Cancelar(id, localizador, titulo)
{
    if(!procesando_form)
    {
        procesando_form = true;
        if(confirm("Si quieres cancelar la reserva " + titulo + ", pulsa en Aceptar."))
        {
            window.status = "Cancelando reserva ... Por favor, espere.";
            $('localizador_cancelar').value = localizador;
            $('cancelar').value = id;
            $('form_cancelar').submit();
        }
    }

}
function CancelarI18n(id, localizador, titulo, preguntaTexto, pulsaTexto, statusTexto)
{
    if(!procesando_form)
    {
        procesando_form = true;
        if(confirm(preguntaTexto + " '" + titulo + "' ," + pulsaTexto))
        {
            window.status = statusTexto;
            $('localizador_cancelar').value = localizador;
            $('cancelar').value = id;
            $('form_cancelar').submit();
        }
    }

}

function Localizadores()
{
    if(!checkCampo('email_buscar', true)) errores.push(new Error('10','999','003','',"setErrorBackColor($('email_buscar'));"));
    if(!hayErrores())
    {
        $('email').value = '';
        $('localizador').value = '';
        $('localizadores').value = '1';
        $('form_submit').submit();
    }
}
//Cancelacion Hoteles
function CancelarReservaHotel(localizador,titulo,id)
{
    var old_inner=$('cancel_'+localizador).innerHTML;
    if(!procesando_form)
    {
       procesando_form = true;
       window.status = (txt_cancelando)?txt_cancelando:'Cancelando reserva ... Por favor, espere.';
       $('cancel_'+localizador).innerHTML=(txt_comprobando)?txt_comprobando:"<strong>Comprobando si hay gastos</strong>";
       YAHOO.util.Connect.asyncRequest('POST',dir_hoteles+'check/',{
            success:function(response){
                if(response.responseText!='')
                {
                    if(response.responseText.indexOf("ERROR")<0)accion=confirm(response.responseText);
                    else{
                        accion=false;
                        if(response.responseText.indexOf("(ERROR-01)")>=0 )
                        {
                            errores.push(new Error(12,0,0,response.responseText.substr(response.responseText.indexOf(')')+1)));
                        }else{
                            num_error=response.responseText.substr(response.responseText.lastIndexOf(':')-8,8);
                            errores.push(new Error(num_error.substr(0,2),num_error.substr(2,3),num_error.substr(5,3)));
                        }
                        errores.show();
                    }
                }else accion=true;
                if(accion)
                {
                    $('localizador_cancelar').value = localizador;
                    $('cancelar').value = id;
                    $('form_cancelar').submit();
                }else{
                    $('cancel_'+localizador).innerHTML=old_inner;
                    procesando_form = false;
                    window.status = '';
                }
        },failure:function(response){
                errores.push(new Error('12','000','000'));
                errores.show();
                $('cancel_'+localizador).innerHTML=old_inner;
                procesando_form = false;
                window.status = '';
            }
        },'pg=gastos_cancelar_reserva&mode=null&l='+localizador);
    }
}
function enterSubmit(e, sForm, sFunction){
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    if(code == 13){
        if(sFunction) eval(sFunction);
        else sForm.submit();
    }else return true;
    return false;
}

function usarMisDatosVMH(num_datos)
{
    if ($('av_tlf_'+num_datos+'_1')) $('av_tlf_1_'+num_datos).value = $('telefono1_reg').value;
    if ($('av_email_'+num_datos+'_1')) $('av_email_1_'+num_datos).value = $('email_reg').value;
    if ($('av_nombre_'+num_datos+'_1')) $('av_nombre_'+num_datos+'_1').value = $('nombre_reg').value;
    if ($('av_apellido_'+num_datos+'_1')) $('av_apellido_'+num_datos+'_1').value = $('apellidos_reg').value;
    if ($('nif_reg')) $('av_documento_'+num_datos+'_1').value = $('nif_reg').value;
    if ($('av_telefono'+num_datos+'_1')) $('av_telefono'+num_datos+'_1').value = $('telefono1_reg').value;
    if ($('av_email_1')) $('av_email_1').value = $('email_reg').value;
}
//PASO 2
function checkPaso2pre (num_datos){try{
    function handleSuccess (o){
        try{user = YAHOO.lang.JSON.parse(o.responseText);}
        catch(x){return false;}
		if (user.emailstatus=='ok') return checkPaso2(num_datos);
        if (user.emailstatus=='malformateado') errores.push(new Error('10','999','52','',"setErrorBackColor($('email_reg'));"));
        if (user.emailstatus=='blocked') errores.push(new Error('10','999','53','',"setErrorBackColor($('email_reg'));"));
        //if (user.emailstatus=='yaexiste') errores.push(new Error('10','999','54','',"setErrorBackColor($('email_reg'));")); //Bug44208
        return checkPaso2(num_datos);
    }

    function handleFailure(o){return checkPaso2(num_datos);}

    var callback={success: handleSuccess,failure: handleFailure};
    
    var request = YAHOO.util.Connect.asyncRequest(
        "POST","index.php?pg=datos_usuario&mode=null",callback,
        "email_reg="+$('email_reg').value
    );
    
}catch(e){return true;}}

function checkPaso2 (num_datos){

	control_equipaje_linea = false;
	control_equipaje_maletas = false;

    focused  = false;
    {
        if(!checkCampo('nombre_reg'))
            errores.push(new Error('10','999','10','',"setErrorBackColor($('nombre_reg'));"));
        if(!checkCampo('apellidos_reg'))
            errores.push(new Error('10','999','11','',"setErrorBackColor($('apellidos_reg'));"));
        if(!checkCampo('email_reg',true))
            errores.push(new Error('10','999','12','',"setErrorBackColor($('email_reg'));"));
        if($F('email_reg')!=$F('email_reg2'))
            errores.push(new Error('10','999','55','',"setErrorBackColor($('email_reg2'));"));
        
//        if( (check_nif=='true' || check_nif=='1') && !checkCampo('nif_reg') && !comprobarNifCif($F('nif_reg'))) 
//            errores.push(new Error('10','999','13','',"setErrorBackColor($('nif_reg'));"));
//        if ( typeof( check_rut ) != 'undefined' && check_rut && !comprobarRut( $F('nif_reg')) )
//        	errores.push(new Error('10','999','56','',"setErrorBackColor($('nif_reg'));"));
        if($('nif_reg')!=null && !comprobarDocId($F('nif_reg'),check_docid_type,(check_nif=='true' || check_nif=='1'))){
     	   if(dominio!='atrapalo.cl')
     		   errores.push(new Error('10','999','13','',"setErrorBackColor($('nif_reg'));"));
     	   else
     		   errores.push(new Error('10','999','56','',"setErrorBackColor($('nif_reg'));"));
        }
        
        if((check_tlf=='true' || check_tlf=='1') && !checkCampo('telefono1_reg', false, true) )
            errores.push(new Error('10','999','14','',"setErrorBackColor($('telefono1_reg'));"));
        
        if(typeof( check_reg ) != 'undefined' && check_reg && !checkCampo('regione_reg') )
            errores.push(new Error('10','999','57','',"setErrorBackColor($('regione_reg'));"));


	    // Caso Vuelos comprobacion extra Datos Comprador
	    for(var i=1; i <= num_datos; i++ )
	    	if ($F('av_tipo_'+i) == 'Vuelos')
	    	{
	    		if ($('direccion_reg'))
	    	        if (!V2validateData('minlen=2',$('direccion_reg')))
                        errores.push(new Error('10','999','15','',"setErrorBackColor($('direccion_req'));"));
	    	    if ($('poblacion_reg'))
	    	        if (!V2validateData('minlen=2',$('poblacion_reg')))
                        errores.push(new Error('10','999','16','',"setErrorBackColor($('poblacion_req'));"));
	    	}

	    if($('boletin').checked && $('cp_reg') &&  !checkCampo('cp_reg'))
            errores.push(new Error('10','999','17',"","setErrorBackColor($('cp_reg'));"));
        // Si no hay errores

        if(!hayErrores())
        {
            if($F('logged')== 'false') $('nuevo_usuario').value = 'true';
            // Por cada formulario de asistente/viajero
            for(var i=1; i <= num_datos; i++ )
            {
                switch($F('av_tipo_'+i))
                {
                    case 'Espectaculos':
                    // Si el usuario quiere poner unos datos diferentes a los suyos
                    var n_avs = parseInt($('av_numavs_' + i).value,10);
                    var var_avs = $('av_id_pedido_carrito_' + i).value;

                    if($('avs_' + var_avs).checked || n_avs > 1)
                    {
                        for(j=1;j<=n_avs;j++)
                        {
                            if(!checkCampo('av_nombre_'+ i + '_' + j))
                                errores.push(new Error('10','999','18',"","setErrorBackColor($('av_nombre_"+i+"_"+j+"'));"));
                            if(!checkCampo('av_apellidos_'+ i + '_' + j))
                                errores.push(new Error('10','999','19',"","setErrorBackColor($('av_apellidos_"+i+"_"+j+"'));"));
                            var nif_obligatorio = $F('av_nif_obligatorio_'+i);
                            //if(nif_obligatorio=='true' && j == 1 && !checkCampo('av_nif_'+ i + '_' + j) && !comprobarNifCif($F('av_nif_'+ i + '_' + j)))
                            if($('av_nif_'+ i + '_' + j) && !comprobarDocId($F('av_nif_'+ i + '_' + j),check_docid_type,nif_obligatorio=='true'))
                                errores.push(new Error('10','999','20',"","setErrorBackColor($('av_nif_"+i+"_"+j+"'));"));
                            var telefono1_obligatorio = $F('av_telefono1_obligatorio_'+i);
                            if(telefono1_obligatorio=='true' && j == 1 && !checkCampo('av_telefono1_'+ i + '_' + j, false, true))
                                errores.push(new Error('10','999','14',"","setErrorBackColor($('av_telefono1_"+i+"_"+j+"'));"));
                        }
                    }
                    else usarMisDatosESPACT(i, new Array('nombre', 'apellidos', 'nif', 'telefono1')); // Cogemos los valores de la cuenta

                    // Formulario de bono regalo
                    var regalo = $F('av_regalo_'+i);
                    if(regalo == 'true' && $('reg_' + var_avs).checked)
                    {
                        if(!checkCampo('av_br_nombre_'+ i))
                            errores.push(new Error('10','999','18',"","setErrorBackColor($('av_br_nombre_"+i+"'));"));
                        else $('av_nombre_' + i + '_1').value = $('av_br_nombre_' + i).value;

                        if(!checkCampo('av_br_apellidos_'+ i))
                            errores.push(new Error('10','999','19',"","setErrorBackColor($('av_br_apellidos_"+i+"'));"));
                        else $('av_apellidos_' + i + '_1').value = $('av_br_apellidos_' + i).value;

                        if((check_tlf=='true' || check_tlf=='1') && !checkCampo('av_br_telefono_1', false, true) )
                        	errores.push(new Error('10','999','14',"","setErrorBackColor($('av_br_telefono_"+i+"'));"));
                        else $('av_telefono1_' + i + '_1').value = $('av_br_telefono_' + i).value;
                        
                        if(!checkCampo('av_br_email_'+ i, true))
                            errores.push(new Error('10','999','12',"","setErrorBackColor($('av_br_email_"+i+"'));"));

                        $('av_nif_' + i + '_1').value = '';

                    }

                    // Formulario de envio de entradas ESPACT
                    var datos_envio = $F('av_envio_entradas_'+i);
                    if(datos_envio == 'true')
                    {
                        if(!checkCampo('av_envio_nombre_'+ i))
                            errores.push(new Error('10','999','40',"","setErrorBackColor($('av_envio_nombre_"+i+"'));"));
                        if(!checkCampo('av_envio_direccion_'+ i))
                            errores.push(new Error('10','999','41',"","setErrorBackColor($('av_envio_direccion_"+i+"'));"));
                        if(!checkCampo('av_envio_cp_'+ i))
                            errores.push(new Error('10','999','42',"","setErrorBackColor($('av_envio_cp_"+i+"'));"));
                        if(!checkCampo('av_envio_poblacion_'+ i))
                            errores.push(new Error('10','999','43',"","setErrorBackColor($('av_envio_poblacion_"+i+"'));"));
                        if(!checkCampo('av_envio_provincia_'+ i))
                            errores.push(new Error('10','999','44',"","setErrorBackColor($('av_envio_provincia_"+i+"'));"));
                        if(!checkCampo('av_envio_telefono_'+ i))
                            errores.push(new Error('10','999','45',"","setErrorBackColor($('av_envio_telefono_"+i+"'));"));
                    }
                    break;
                    case 'Restaurantes': // Si es un formulario de validaci?n de asistentes a Restaurantes
                    var var_avs = $('av_id_pedido_carrito_' + i).value;
                    if($('avs_' + var_avs).checked)
                    {
                        // Comprobar formulario
                        if(!checkCampo('av_nombre_'+ i))
                            errores.push(new Error('10','999','18',"","setErrorBackColor($('av_nombre_"+i+"'));"));
                        if(!checkCampo('av_apellidos_'+ i))
                            errores.push(new Error('10','999','19',"","setErrorBackColor($('av_apellidos_"+i+"'));"));
                        if(isEmpty($F('av_telefono1_'+ i)) || isNaN($F('av_telefono1_'+ i)))
                            errores.push(new Error('10','999','22',"","setErrorBackColor($('av_telefono1_"+i+"'));"));
                    }else usarMisDatos(i, new Array('nombre', 'apellidos', 'telefono1')); // Cogemos los valores de la cuenta
                    break;
                    case 'Coches': {
                        if(!checkCampo('av_nombre_' + i)) {
                            errores.push(new Error('16', '999', '10', '', "setErrorBackColor($('av_nombre_" + i + "'));"));
                        }
                        if(!checkCampo('av_apellidos_' + i)) {
                            errores.push(new Error('16', '999', '20', '', "setErrorBackColor($('av_apellidos_" + i + "'));"));
                        }
                        if(!checkCampo('av_telefono1_' + i)) {
                            errores.push(new Error('16', '999', '30', '', "setErrorBackColor($('av_telefono1_" + i + "'));"));
                        }
                        if(!checkCampo('av_edad_' + i)) {
                            errores.push(new Error('16', '999', '40', '', "setErrorBackColor($('av_edad_" + i + "'));"));
                        }
                        var edad = $('av_edad_' + i).value;
                        if(parseInt(edad) < 18) {
                            errores.push(new Error('16', '999', '50', '', "setErrorBackColor($('av_edad_" + i + "'));"));
                        }                        
                        break;
                    }
                    case 'Hoteles':
                    // Comprobar formulario
                    if($('av_prov_hot_'+ i).value=='6')
                    {
                        var n_guests = parseInt($('cont_guests_'+i).value,10);
                        for(j=1;j<n_guests;j++)
                        {
                            if(!checkCampo('av_nombre_'+ i + '_' + j))
                                errores.push(new Error('10','999','18',"","setErrorBackColor($('av_nombre_"+i+"_"+j+"'));"));
                            if(!checkCampo('av_apellidos_'+ i + '_' + j))
                                errores.push(new Error('10','999','19',"","setErrorBackColor($('av_apellidos_"+i+"_"+j+"'));"));
                            if (j==1)
                            {
                                if(!checkCampo('av_telefono1_'+ i + '_' + j,false,true))
                                    errores.push(new Error('10','999','24',"","setErrorBackColor($('av_telefono1_"+i+"_"+j+"'));"));
                                if(!checkCampo('av_email_'+ i + '_' + j,true))
                                    errores.push(new Error('10','999','25',"","setErrorBackColor($('av_email_"+i+"_"+j+"'));"));
                                if($('seguro_hot_nifobligatorio_'+i) && $('seguro_hot_nifobligatorio_'+i).value=='10'){
                                if(!checkCampo('av_nif_'+ i + '_' + j))
                                    errores.push(new Error('10','999','20',"","setErrorBackColor($('av_nif_"+i+"_"+j+"'));"));}
                            }
                        }
                    }else if($('av_seguro_hot_'+i) && $('av_seguro_hot_'+i).value=='10'){ //Seguro con multiasistentes
                    	var n_guests = parseInt($('cont_guests_'+i).value,10);
                        for(j=1;j<n_guests;j++)
                        {
                            if(!checkCampo('av_nombre_'+ i + '_' + j))
                                errores.push(new Error('10','999','18',"","setErrorBackColor($('av_nombre_"+i+"_"+j+"'));"));
                            if(!checkCampo('av_apellidos_'+ i + '_' + j))
                                errores.push(new Error('10','999','19',"","setErrorBackColor($('av_apellidos_"+i+"_"+j+"'));"));
                            if(!checkCampo('av_nif_'+ i + '_' + j))
                                errores.push(new Error('10','999','19',"","setErrorBackColor($('av_nif_"+i+"_"+j+"'));"));
                            if (j==1)
                            {
                                if(!checkCampo('av_telefono1_'+ i + '_' + j,false,true))
                                    errores.push(new Error('10','999','24',"","setErrorBackColor($('av_telefono1_"+i+"_"+j+"'));"));
                                if( !checkCampo('av_email_'+ i + '_' + j,true))
                                    errores.push(new Error('10','999','25',"","setErrorBackColor($('av_email_"+i+"_"+j+"'));"));
                            }
                        }
                    }else{

                    if(!checkCampo('av_nombre_'+ i))
                        errores.push(new Error('10','999','18',"","setErrorBackColor($('av_nombre_"+i+"'));"));
                    if(!checkCampo('av_apellidos_'+ i))
                        errores.push(new Error('10','999','19',"","setErrorBackColor($('av_apellidos_"+i+"'));"));
                    if($('seguro_hot_nifobligatorio_'+i) && $('seguro_hot_nifobligatorio_'+i).value=='10'){ if (!checkCampo('av_telefono1_'+ i,false,true))
                        errores.push(new Error('10','999','24',"","setErrorBackColor($('av_telefono1_"+i+"'));"));}
                    if($('seguro_hot_nifobligatorio_'+i) && $('seguro_hot_nifobligatorio_'+i).value!='10'){ if (!checkCampo('av_telefono1_'+ i))
                        errores.push(new Error('10','999','24',"","setErrorBackColor($('av_telefono1_"+i+"'));"));}
                    if(!checkCampo('av_email_'+ i,true))
                        errores.push(new Error('10','999','25',"","setErrorBackColor($('av_email_"+i+"'));"));
                    if ($('seguro_hot_nifobligatorio_'+i) && $('seguro_hot_nifobligatorio_'+i).value=='10' && !checkCampo('av_nif_'+i))
                        errores.push(new Error('10','999','20',"","setErrorBackColor($('av_nif_"+i+"'));"));
                    if($('av_prov_hot_'+ i).value=='2' && $('av_comments_' + i).value.length>150)
                        errores.push(new Error('10','999','26',"","setErrorBackColor($('av_comments_"+i+"'));"));
                    if($('av_prov_hot_'+ i).value=='1'  && $('av_nombre_' + i).value.length>10)
                        errores.push(new Error('10','999','27',"","setErrorBackColor($('av_nombre_"+i+"'));"));
                    if($('av_prov_hot_'+ i).value=='1'  && $('av_apellidos_' + i).value.length>15)
                        errores.push(new Error('10','999','28',"","setErrorBackColor($('av_apellidos_"+i+"'));"));
                    if($('av_prov_hot_'+ i).value=='2'  && ($('av_nombre_' + i).value.length+$('av_apellidos_' + i).value.length)>18)
                        errores.push(new Error('10','999','29',"","setErrorBackColor($('av_nombre_"+i+"'));"));
                    }
                    break;
                    case 'Vuelos':
                    // Comprobacion de vuelos
                    if($('cp_reg') && !checkCampo('cp_reg')) //es obligatorio el codigo postal
                        errores.push(new Error('10','999','17',"","setErrorBackColor($('cp_reg'));"));
                    validar_reserva();
                    break;
                    case "vmh":
                    if($('cp_reg') && !checkCampo('cp_reg')) //es obligatorio el codigo postal
                        errores.push(new Error('10','999','17',"","setErrorBackColor($('cp_reg'));"));
                    validar_reserva();
                    var n_guests = parseInt($('cont_guests_'+i).value,10);
                    for(j=1;j<n_guests;j++)
                    {
                    	if ($('seguro_hot_nifobligatorio_'+i) && $('seguro_hot_nifobligatorio_'+i).value=='10'){
                    	if(!checkCampo('av_email_'+ i+"_"+j,true))
                                errores.push(new Error('10','999','25',"","setErrorBackColor($('av_email_"+i+"_"+j+"'));"));}
                        if($('av_prov_hot_'+ i).value=='2' && $('av_comments_' + i).value.length>150)
                                errores.push(new Error('10','999','26',"","setErrorBackColor($('av_comments_"+i+"_"+j+"'));"));
                        if (($('seguro_hot_nifobligatorio_'+i) && $('seguro_hot_nifobligatorio_'+i).value=='10') && !checkCampo('av_documento_'+i+'_'+j))
                                errores.push(new Error('10','999','20',"","setErrorBackColor($('av_documento_"+i+"_"+j+"'));"));
                        if($('seguro_hot_nifobligatorio_'+i) && $('seguro_hot_nifobligatorio_'+i).value=='10'){ if (!checkCampo('av_tlf_'+ i+'_'+j,false,true))
                                errores.push(new Error('10','999','24',"","setErrorBackColor($('av_tlf_"+i+"_"+j+"'));"));}
                    }
                    if(!checkCampo('av_telefono1_'+ i))
                        errores.push(new Error('10','999','24',"","setErrorBackColor($('av_telefono1_"+i+"'));"));
                    if(!checkCampo('av_email_'+ i,true))
                        errores.push(new Error('10','999','25',"","setErrorBackColor($('av_email_"+i+"'));"));
                    break;
                    case 'Viajes':
                    	// Comprobacion de viajes
						if (pasajeros_viajes>0)
						{
							for (j=0;j<pasajeros_viajes;j++)
							{
								if(!checkCampo('av_nombre_'+ i+"_"+j,false,false)) errores.push(new Error('10','999','18',"","setErrorBackColor($('av_nombre_"+i+"_"+j+"'));"));
								if(!checkCampo('av_apellidos_'+ i+"_"+j,false,false)) errores.push(new Error('10','999','19',"","setErrorBackColor($('av_apellidos_"+i+"_"+j+"'));"));
								if (document.getElementById('av_tipo_'+i+'_'+j).value!="1")
								{
									// Nino o bebe:
									var pre_name = 'av_fechanac_'+i+'_'+j;
			                        if (document.getElementsByName(pre_name +'[Date_Day]')[0].selectedIndex == 0)
			                        	errores.push(new Error('11','151','052','',setErrorBackColor(document.getElementsByName('av_fechanac_'+i+'_'+j+'[Date_Day]')[0]),new Array(new String(i))));
			                        if (document.getElementsByName(pre_name +'[Date_Month]')[0].selectedIndex == 0)
			                        	errores.push(new Error('11','151','053','',setErrorBackColor(document.getElementsByName('av_fechanac_'+i+'_'+j+'[Date_Month]')[0]),new Array(new String(i))));
			                        if (document.getElementsByName(pre_name +'[Date_Year]')[0].selectedIndex == 0)
			                        	errores.push(new Error('11','151','054','',setErrorBackColor(document.getElementsByName('av_fechanac_'+i+'_'+j+'[Date_Year]')[0]),new Array(new String(i))));
								}
							}
						}
                    break;

                }
                if(hayErrores()){return false;}
            }
            document.form_submit.submit();
        }
        return false;
    }
    return false;
}
function html_entity_decode(str) {
	var ta=document.createElement("textarea");
	ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
	return ta.value;
}

function sendPaso2(num_datos){
	if ($F('logged')!= 'true'){
        try{
        	<#* Si la password no está seteada y estan seteados campos de el otro formulario no voy a considear el login *#>
            if ($('email_login').value!='' && ($('password_login').value!='' || ($('email_reg2').value=='' && $('nombre_reg').value=='' && $('apellidos_reg').value=='')))
            {
                if(!checkCampo('email_login', true)) errores.push(new Error('10','999','001','',"setErrorBackColor($('email_login'));"));
                if(!checkCampo('password_login')) errores.push(new Error('10','999','002','',"setErrorBackColor($('password_login'));"));

                if (hayErrores())
                return false;

                function handleSuccess (o){
                    try{user = YAHOO.lang.JSON.parse(o.responseText);}
                    catch(x){return false;}

                    if (isEmpty(user.id_usuario)){
                        alert (user.login_error);return false;
                    }

                    // set datos reserva fields
                    $('logged').value = 'true';
                    $('id_usuario').value = user.id_usuario;
                    $('email_orig').value = user.email;
                        $('nombre_reg').value = html_entity_decode(user.nombre);
                        $('apellidos_reg').value = html_entity_decode(user.apellidos);
                    $('nuevo_usuario').value = 'false';
                    $('email_reg').value = user.email;
                    $('email_reg2').value = user.email;
                    
                    if($('cp_reg'))$('cp_reg').value = user.cp;
                    
                    $('telefono1_reg').value = user.telefono1;
                    $('telefono2_reg').value = user.telefono2;
                    if ($('nif_reg'))$('nif_reg').value = user.nif;

                    $('right_box_title').innerHTML = user.datos_title;

                    //Emails en readonly para no posibilitar el cambio
                    document.getElementById("email_reg").readOnly="readonly";
                    document.getElementById("email_reg2").readOnly="readonly";
                    
                    // disable display left box
                    emailLogin  =  new YAHOO.util.Element('email_login');
                    emailLogin.set ("disabled", "disabled");
                    emailLogin.setStyle("background-color", "#EDEDED");

                    passwordLogin =  new YAHOO.util.Element('password_login');
                    passwordLogin.set ("disabled", "disabled");
                    passwordLogin.setStyle("background-color", "#EDEDED");

                    recuperarLink = new YAHOO.util.Element('recuperar_link');
                    recuperarLink.setStyle("display", "none");

                    recordarLink = new YAHOO.util.Element('recordar');
                    recordarLink.setStyle("display", "none");

                    $('caja_login').setAttribute("class", "fondo_gris_oscuro fontgris");
                    $('left_box_title').setAttribute("class", "alignmiddle linea fontgris");

                    return checkPaso2pre(num_datos);
                }
                function handleFailure(o){return checkPaso2(num_datos);}

                var callback={success: handleSuccess,failure: handleFailure};
                
                var request = YAHOO.util.Connect.asyncRequest(
                    'POST','index.php?pg=datos_usuario&mode=null',
                    callback,"email_login="+$('email_login').value+"&password_login="+$('password_login').value
                );
            }
            else{return checkPaso2pre(num_datos);}
        }catch(e){
        	//no esta implementado login en alguna de las marcas blancas, p.e., bookmehotels
            return checkPaso2pre(num_datos);
        }
	}
	else{return checkPaso2(num_datos);}
}
function clickIE4(){
    if (event.button==2) return false;
}
function clickNS4(e){
    if (document.layers||document.getElementById&&!document.all){
       if (e.which==2||e.which==3) return false;
    }
}

//PASO 2
function Corregir(v_tipo) { $('tipo').value = v_tipo; $('form_corregir').submit(); }
function getTitular() { $('titular').value = titular; }
var enviar_confirm_datos = function (msg)
{
    if (!confirm (msg))
    {
        $('btn_finalizar').innerHTML=old_btn;
		if ($('factura') && $('factura').checked) { hide('div_factura');show('div_factura'); }
        return false;
    }
	sendPaso3();
	if ($('factura') && $('factura').checked) { hide('div_factura');show('div_factura'); }
    if(mostrar_splash){
    	if (document.all)
		  	document.body.style.background = "#fff";
    	else
    		document.body.style.setProperty("background","#fff",null);
    	
    	mostrarSplash();
    }
    return true;
};
function sendPaso3()
{
    window.status = status_enviando;
    shortcut("Ctrl+R", function() {});
    shortcut("F5", function() {});
    shortcut("Ctrl+F5", function() {});
    shortcut("Ctrl+SHIFT+F5", function() {});
    procesando_form = true;    
    document.form_submit.submit();
}
function comprobarPaso3(){
	old_btn=$('btn_finalizar').innerHTML;
    $('btn_finalizar').innerHTML='<strong>'+status_enviando+'<'+'/'+'strong>';
    var checkConflictividadESP = $('conflictividadESP').value;
    
    if (pg_o || tipos['hoteles'] || checkConflictividadESP > 1){
    	if(getUsarTarjeta()=='' && forma_pago=='tarjeta' && $('tipo_tarjeta'))// Comprobacion datos bancarios
    	{
			// Comprobamos la tarjeta
			if ($F('tipo_tarjeta') == '')
				errores.push(new Error('11','53','67','',"setErrorBackColor($('tipo_tarjeta'));"));
			else
			{
	            if(!checkCampo('titular'))
	                errores.push(new Error('10','999','030','',"setErrorBackColor($('titular'));"));
	            if(!isValidCreditCardNumber($F('num_tarjeta'), $F('tipo_tarjeta')))
	                errores.push(new Error('10','999','031','',"setErrorBackColor($('num_tarjeta'));"));
	            if(!isValidCVV($F('cvv'), $F('tipo_tarjeta')))
	                errores.push(new Error('10','999','032','',"setErrorBackColor($('cvv'));"));
	            if (!pg_o)
	            {
	                if(!checkFechaCaducidad(fecha_entrada))
	                    errores.push(new Error('10','999','033','',"setErrorBackColor($('form_submit').cad_Month);"));
	            }else{
	                if(!checkFechaCaducidad())
	                    errores.push(new Error('10','999','034','',"setErrorBackColor($('form_submit').cad_Month);"));
	            }
			}
        }
    	else if(getUsarTarjeta()!='' && tipos['vuelos'] && forma_pago=='tarjeta')
    	{
    		if($F('cvv2')=='')
                errores.push(new Error('10','999','032','',"setErrorBackColor($('cvv'));"));
    	}
    }
    if(!$('condiciones').checked)
        errores.push(new Error('10','999','035','',"setErrorBackColor($('condiciones'));"));

    if($('condiciones_usa') != null && $('condiciones_usa') != 'undefined')
        if(!$('condiciones_usa').checked)
            errores.push(new Error('11','999','006','',"setErrorBackColor($('condiciones_usa'));"));


    if(tipos['vuelos']){
        if (((errores.cuantos() == 0)) && ($('factura')) && ($('factura').checked)) validar_datos();
        if (errores.cuantos() == 0){
            if(!procesando_form){
                 if($('redondeo_solidario')) {
                	 if($('check_redondeo_solidario').checked) {
                		 $('redondeo_solidario').value = $('redondeo_value').value;
                	 }
                 }
                 sendPaso3();
                 if(mostrar_splash){
                	if (document.all)
            		  	document.body.style.background = "#fff";
                	else
                		document.body.style.setProperty("background","#fff",null);
                	 mostrarSplash();
                 }
                 return true;
            }
        }else{errores.showAlert();$('btn_finalizar').innerHTML=old_btn;return false;}
    }else{
        if(tipos['hoteles']){
	        if (((errores.cuantos() == 0)) && ($('factura')) && ($('factura').checked)) validar_datos();
	        if (errores.cuantos() == 0){
	            if(!procesando_form)
	            {
	                 sendPaso3();
	                 return true;
	            }
	        }else{
	            errores.showAlert();
	            $('btn_finalizar').innerHTML=old_btn;
	            return false;
	        }
        }else{
       	    if(!hayErrores() && !procesando_form) return sendPaso3();
	        else{
	            $('btn_finalizar').innerHTML=old_btn;
	            return false;
	        }
        }
	}
}


// Desactivamos el onkeypressEnter
//YAHOO.util.Event.onAvailable('form_submit', function() {shortcut("Return", function() {},{'target':'form_submit'});});
YAHOO.util.Event.onAvailable('nombre_reg', function() {shortcut("Return", function() {},{'target':'nombre_reg'});});
YAHOO.util.Event.onAvailable('apellidos_reg', function() {shortcut("Return", function() {},{'target':'apellidos_reg'});});
YAHOO.util.Event.onAvailable('email_reg1', function() {shortcut("Return", function() {},{'target':'email_reg1'});});
YAHOO.util.Event.onAvailable('email_reg2', function() {shortcut("Return", function() {},{'target':'email_reg2'});});
YAHOO.util.Event.onAvailable('direccion_reg', function() {shortcut("Return", function() {},{'target':'direccion_reg'});});
YAHOO.util.Event.onAvailable('telefono1_reg', function() {shortcut("Return", function() {},{'target':'telefono1_reg'});});
YAHOO.util.Event.onAvailable('telefono2_reg', function() {shortcut("Return", function() {},{'target':'telefono2_reg'});});
YAHOO.util.Event.onAvailable('cp_reg', function() {shortcut("Return", function() {},{'target':'cp_reg'});});
YAHOO.util.Event.onAvailable('nif_reg', function() {shortcut("Return", function() {},{'target':'nif_reg'});});

YAHOO.util.Event.onAvailable('email_reg2', function() {shortcut("Ctrl+V", function() {},{'target':'email_reg2'});});

// Desactivamos los botones del raton
if (document.layers){
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown=clickNS4;
}else if (document.all&&!document.getElementById){
    document.onmousedown=clickIE4;
}
document.oncontextmenu=function(){return false;};
function verDetallesVMH(producto){
    producto_str = producto;
    if(dominio == 'afferralo.com' || dominio == 'atrapalo.it') {
        if(producto=='vuelo') producto_str = 'del volo';
        if(producto=='hotel') producto_str = 'dell\'hotel';
    }
    if(is_ie) $('div_'+producto+'_detalle_1').style.display=($('div_'+producto+'_detalle_1').style.display=='none') ? '' : 'none';
    else $('div_'+producto+'_detalle_1').style.display=($('div_'+producto+'_detalle_1').style.display=='none') ? '' : 'none';
    if($('lnk_'+producto) && txt_ocultar && producto != 'vuelo') $('lnk_'+producto).innerHTML=($('div_'+producto+'_detalle_1').style.display=='none')?txt_ver+producto_str:txt_ocultar+producto_str;
    if($('lnk_'+producto) && txt_ocultar && producto == 'vuelo') $('lnk_'+producto).innerHTML=($('div_'+producto+'_detalle_1').style.display=='none')?txt_ver:txt_ocultar;
}
function verDetallesV2(capa,producto){
    producto_str = producto;
    if(dominio == 'afferralo.com' || dominio == 'atrapalo.it') {
        if(producto=='vuelo') producto_str = 'volo';
        if(producto=='hotel') producto_str = 'hotel';
    }
    if(is_ie) $(capa).style.display=($(capa).style.display=='none') ? '' : 'none';
    else $(capa).style.display=($(capa).style.display=='none') ? '' : 'none';
    if($('lnk_'+capa) && txt_ocultar && producto != 'vuelo') $('lnk_'+capa).innerHTML=($(capa).style.display=='none')?txt_ver+producto_str:txt_ocultar+producto_str;
    if($('lnk_'+capa) && txt_ocultar && producto == 'vuelo') $('lnk_'+capa).innerHTML=($(capa).style.display=='none')?txt_ver:txt_ocultar;
}
function compraxotro(){
if ($('avs').checked==true) $('usarmisdatos').style.display='none';
else $('usarmisdatos').style.display='';
}
function updatePrecioTotalHotel(precio_seguro, id_hotel){
 	precio_total=parseFloat($('carrito_total').value)+precio_seguro;
	precio_total_carrito = parseFloat(precio_total);
 	if ($('span_precio_total'))    $('span_precio_total').innerHTML    = changeToMoney(precio_total);
    if ($('span_carrito_total_1')) $('span_carrito_total_1').innerHTML = changeToMoney(precio_total_carrito);
	if ($('span_carrito_total_2')) $('span_carrito_total_2').innerHTML = changeToMoney(precio_total_carrito);
	if ($('span_carrito_total_3')) $('span_carrito_total_3').innerHTML = changeToMoney(precio_total_carrito);
	if ($('importe_bono')){
        saldo_bono=parseFloat($('importe_bono_saldo_tmp').value);
        importe_bono_act=parseFloat($('importe_bono_saldo').value);
        if((saldo_bono+importe_bono_act-precio_total_carrito)>0){
            $('importe_bono_saldo_tmp').value = saldo_bono+importe_bono_act-precio_total_carrito;
            $('importe_bono_saldo').value = precio_total_carrito;
            $('importe_bono').innerHTML = "-"+changeToMoney(precio_total_carrito);
            $('importe_a_pagar').innerHTML = changeToMoney(0);
        }
    }
    $('carrito_total').value=precio_total_carrito;
}
function calcula_precios_hotel(segurosino, id_hotel,key_array, checked){
    precio_total=parseFloat($('precio_total_'+id_hotel).value);
    precio_carrito=parseFloat($('carrito_total').value);
    precio_seguro=0;
    if (segurosino == 1 && $('seguro_cancelacion_hotel_'+id_hotel+'_'+key_array).value==0 )
    {
        precio_seguro = parseFloat($('precio_seguro_cancelacion_hotel_'+id_hotel+'_'+key_array).value);
        $('seguro_cancelacion_hotel_'+id_hotel+'_'+key_array).value = 1;
        $('texto_seguro').innerHTML = $('texto_seguro_3').innerHTML;
    }
    else if (segurosino == 0 && $('seguro_cancelacion_hotel_'+id_hotel+'_'+key_array).value==1)
    {
        precio_seguro =(0 - parseFloat($('precio_seguro_cancelacion_hotel_'+id_hotel+'_'+key_array).value));
        $('seguro_cancelacion_hotel_'+id_hotel+'_'+key_array).value = 0;
        $('texto_seguro').innerHTML = $('texto_seguro_2').innerHTML;
    }
    precio_total=precio_total+precio_seguro;
	$('precio_total_'+id_hotel).value = precio_total.toFixed(2);
	updatePrecioTotalHotel(precio_seguro, id_hotel);
}

function controlCheckBoxSeguro(){
var correcto = false;
if ($('check_seguro_cancelacion_rechaza')){
	for (a = 0; a < document.form_cambios.check_seguro_cancelacion.length; a++) {
		if (document.form_cambios.check_seguro_cancelacion[a].checked == true) {
			correcto = true;
		}
	}
}else if ($('check_seguro_cancelacion_hotel')){
	seguro_input = $('check_seguro_cancelacion_hotel').value;
	seguro_radio = eval('document.form_cambios.'+seguro_input);

	if($(seguro_radio)){
		for (a = 0; a < seguro_radio.length; a++){
		if (seguro_radio[a].checked == true){correcto = true;}
		}
	}
}else correcto = true;

if(correcto == false){
	if($('check_seguro_cancelacion_rechaza')) errores.push(new Error('11', '123', '902', '', setErrorBackColor($('check_seguro_cancelacion_acepta'))));
	else if($('check_seguro_cancelacion_hotel')) errores.push(new Error('11', '123', '902', '', setErrorBackColor($(seguro_input))));
	errores.showAlert();
	return false;
}else{
	procesando_form=true;
	$('form_datos').submit();
}
}

//escuchamos modif datos usuarios y activamos checkbox 'actualizar mis datos'
YAHOO.util.Event.onAvailable('actual_datos_trigger', function() {
campos_a_auditar = new Array('nombre_reg','apellidos_reg','email_reg','email_reg2','telefono1_reg','telefono2_reg','cp_reg','nif_reg');
for(id_campo in campos_a_auditar){
 YAHOO.util.Event.addListener(campos_a_auditar[id_campo], 'change', marcaCheckActualizar);
}
});

function marcaCheckActualizar(){if($('actualizar')) $('actualizar').checked = 'checked';}

function mostrarSplashCar(){
if (document.all) document.body.style.background = "#fff";
else document.body.style.setProperty("background","#fff",null);
mostrar_splash();	
}

//BONOREGALO

function mostrarInputValeRegalo(){
$('td_link_bonoregalo').className='oculto';
$('td_input_bonoregalo').className='';
if($('codigo1'))$('codigo1').focus();
}

function bonoRegalo(){
$('pg').value='reserva';
if(isEmpty($('codigo1').value) || isEmpty($('codigo2').value) || isEmpty($('codigo3').value) || isEmpty($('codigo4').value)){
 alert('Debes especificar el código descuento');return;
}
codigo_completo = $('codigo1').value + $('codigo2').value + $('codigo3').value + $('codigo4').value;
if(codigo_completo.length < 16){
 alert('El código descuento no es correcto');return;
}
$('frm_bono_regalo').submit();
}

function cambia_casilla(actual,siguiente){if(actual.value.length==4){$(siguiente).focus();}}


/**
 * Muestra el contenido del id especificado.
 * @param id_info
 * @return
 */
function mostrar_info(id_info){YAHOO.util.Dom.removeClass(id_info, 'oculto');}

/**
 * Oculta el contenido del id especificado.
 * @param id_info
 * @return
 */
function ocultar_info(id_info){YAHOO.util.Dom.addClass(id_info,'oculto');}

/*************************
*      RESTAURANTES      *
*************************/
if(!YAHOO.RES){YAHOO.namespace('RES');}

YAHOO.RES.tus_reservas={
init: function(){
	el = document.getElementById('row_resto_comensales');
	el.style.visibility = 'hidden';
	YAHOO.util.Event.addListener($('notificar_resto_comensales'),'click', function(){
		el.style.visibility = 'visible';$('notificar_resto_comensales').style.display = 'none'
		return false;
	});
	YAHOO.util.Event.addListener($('button_notificar_resto_comensales'),'click', function(){
		YAHOO.RES.tus_reservas.notificar_comensales();return false;
	});
},
crear_elementos:function(){
},
// Funcion que hace una llamada ajax para enviar correos a los comensales indicados por el usuario.
notificar_comensales: function(){
    var emails_resto_comensales = $('emails_resto_comensales').value;
    var localizador             = $('localizador').value;
	el = document.getElementById('td_resto_comensales');
	el.innerHTML = '<#t escape="js" id="_enviando"#>Enviando...<#/t#>';
    if(emails_resto_comensales!=''){
        var load_url = '<#t id="@RES" escape="js"#><#/t#>do_ajax?pg_action=notificar_comensales&loc='+localizador+'&emails_resto_comensales='+emails_resto_comensales;
        YAHOO.util.Connect.asyncRequest("get", load_url,{timeout: 10000,
            success: function(o) {
				if(o.responseText=='true') {
					el.innerHTML = '<#t id="_carrito_c_res_notificacion_enviada_ok" escape="js"#>Notificación enviada a los comensales indicados<#/t#>';return true;
				} else {
					el.innerHTML = '<#t id="_carrito_c_res_notificacion_enviada_ko_direcciones" escape="js"#>Error, comprueba que todas las direcciones de correo son correctas<#/t#>';return true;
				}
              },
              failure: function(){el.innerHTML = '<#t id="_carrito_c_res_notificacion_enviada_ko_envio" escape="js"#>Error, no pudo realizarse el envío<#/t#>';return false;}
        });
    }
}
}
