// JavaScript Document

function grabarForm2(p_form){
var form = document.getElementById(p_form);
var flag = 'false';

    if (form.id == 'id_form_editar_campos_turigest'){
        for(var i = 0; i <= form.length - 1; i++){
            if (form[i].id.indexOf('agrupacion') != -1){
                re = /^\d+\.?\d*$/
                if(!re.exec(form[i].value)){
                    alert(' Inserte solo números en Agrupación Turigest. ');
                    document.getElementById(form[i].id).focus();
                    break;
                }
                else{
                    if (form[i].value > 0){
                        form.submit();
                    }
                    else{
                        alert(' Inserte un número mayor de 0. ');
                        document.getElementById(form[i].id).focus();
                    }
                }
            }
        }
    }
    else{
        if (form.id == 'id_form_ficha_desc_supl'){
            for(var i = 0; i <= form.length - 1; i++){
                if (form[i].name == 'form_ficha_desc_supl_concepto_en_espanol'){
                    if (form[i].value == ''){
                        flag = 'true';
                        alert(' Rellene el campo ' + form[i].alt + '.');
                        document.getElementById(form[i].id).focus();
                        break;
                    }
                }

                if ((form[i].name == 'form_ficha_desc_supl_porcentaje') || (form[i].name == 'form_ficha_desc_supl_importe') || (form[i].name == 'form_ficha_desc_supl_desde_noches') || (form[i].name == 'form_ficha_desc_supl_hasta_noches') || (form[i].name == 'form_ficha_desc_supl_desde_unidades') || (form[i].name == 'form_ficha_desc_supl_hasta_unidades')){
                    re = /^\d+\.?\d*$/
                    if(!re.exec(form[i].value)){
                        flag = 'true';
                        alert(' Inserte solo números en el campo ' + form[i].alt + '.');
                        document.getElementById(form[i].id).focus();
                        break;
                    }
                    else{
                        if (form[i].name == 'form_ficha_desc_supl_hasta_noches'){
                            if (parseInt(form[i].value) < parseInt(form[i-1].value)){
                                flag = 'true';
                                alert('Hasta Noches debe ser mayor o igual que Desde Noches. ');
                                document.getElementById(form[i].id).focus();
                                break;
                            }
                            if (form[i].value < 0){
                                flag = 'true';
                                alert(' Inserte un número mayor de 0. ');
                                document.getElementById(form[i].id).focus();
                                break;
                            }
                        }

                        if (form[i].name == 'form_ficha_desc_supl_hasta_unidades'){
                            if (parseInt(form[i].value) < parseInt(form[i-1].value)){
                                flag = 'true';
                                alert('Hasta unidades debe ser mayor o igual que Desde unidades. ');
                                document.getElementById(form[i].id).focus();
                                break;
                            }
                            if (form[i].value < 0){
                                flag = 'true';
                                alert(' Inserte un número mayor de 0. ');
                                document.getElementById(form[i].id).focus();
                                break;
                            }
                        }
                    }
                }
                else{
                    if ((document.getElementById('id_form_ficha_desc_supl_opcional_al_reservar').checked == true) && (document.getElementById('id_form_ficha_desc_supl_obligatorio_al_reservar').checked == true)){
                        alert(' Un complemento no puede ser Opcional al Reservar y Obligatorio en el Formulario de Reserva a la vez. ');
                        document.getElementById('id_form_ficha_desc_supl_obligatorio_al_reservar').checked = false;
                        flag = 'true';
                        break;
                    }
                    else{
                        if ((document.getElementById('id_form_ficha_desc_supl_opcional_al_reservar').checked == true) && (document.getElementById('id_form_ficha_desc_supl_complemento_a_devolver').checked == true)){
                            alert(' Un complemento no puede ser Opcional al Reservar y Complemento a devolver a la vez. ');
                            document.getElementById('id_form_ficha_desc_supl_complemento_a_devolver').checked = false;
                            flag = 'true';
                            break;
                        }
                        else{
                            if ((document.getElementById('id_form_ficha_desc_supl_opcional_al_reservar').checked == true) && (document.getElementById('id_form_ficha_desc_supl_promo_especial').checked == true)){
                                alert(' Un complemento no puede ser Opcional al Reservar y Promoción Especial a la vez. ');
                                document.getElementById('id_form_ficha_desc_supl_promo_especial').checked = false;
                                flag = 'true';
                                break;
                            }
                            else{
                                if ((document.getElementById('id_form_ficha_desc_supl_opcional_al_reservar').checked == true) && (document.getElementById('id_form_ficha_desc_supl_cargo_tarjeta_credito').checked == true)){
                                    alert(' Un complemento no puede ser Opcional al Reservar y Recargo pago por tarjeta de crédito. ');
                                    document.getElementById('id_form_ficha_desc_supl_cargo_tarjeta_credito').checked = false;
                                    flag = 'true';
                                    break;
                                }
                                else{
                                    if ((document.getElementById('id_form_ficha_desc_supl_obligatorio_al_reservar').checked == true) && (document.getElementById('id_form_ficha_desc_supl_complemento_a_devolver').checked == true)){
                                        alert(' Un complemento no puede ser Obligatorio en el Formulario de Reserva y Complemento a devolver a la vez. ');
                                        document.getElementById('id_form_ficha_desc_supl_complemento_a_devolver').checked = false;
                                        flag = 'true';
                                        break;
                                    }
                                    else{
                                        if ((document.getElementById('id_form_ficha_desc_supl_obligatorio_al_reservar').checked == true) && (document.getElementById('id_form_ficha_desc_supl_promo_especial').checked == true)){
                                            alert(' Un complemento no puede ser Obligatorio en el Formulario de Reserva y Promoción Especial a la vez. ');
                                            document.getElementById('id_form_ficha_desc_supl_promo_especial').checked = false;
                                            flag = 'true';
                                            break;
                                        }
                                        else{
                                            if ((document.getElementById('id_form_ficha_desc_supl_obligatorio_al_reservar').checked == true) && (document.getElementById('id_form_ficha_desc_supl_cargo_tarjeta_credito').checked == true) && (document.getElementById('id_form_ficha_desc_supl_cargo_tarjeta_credito') != null)){
                                                alert(' Un complemento no puede ser Obligatorio en el Formulario de Reserva y Recargo pago por tarjeta de crédito. ');
                                                document.getElementById('id_form_ficha_desc_supl_cargo_tarjeta_credito').checked = false;
                                                flag = 'true';
                                                break;
                                            }
                                            else{
                                                if ((document.getElementById('id_form_ficha_desc_supl_complemento_a_devolver').checked == true) && (document.getElementById('id_form_ficha_desc_supl_promo_especial').checked == true)){
                                                    alert(' Un complemento no puede ser Complemento a devolver y Promoción Especial a la vez. ');
                                                    document.getElementById('id_form_ficha_desc_supl_promo_especial').checked = false;
                                                    flag = 'true';
                                                    break;
                                                }
                                                else{
                                                    if ((document.getElementById('id_form_ficha_desc_supl_complemento_a_devolver').checked == true) && (document.getElementById('id_form_ficha_desc_supl_cargo_tarjeta_credito').checked == true) && (document.getElementById('id_form_ficha_desc_supl_cargo_tarjeta_credito') != null)){
                                                        alert(' Un complemento no puede ser Complemento a devolver y Recargo pago por tarjeta de crédito. ');
                                                        document.getElementById('id_form_ficha_desc_supl_cargo_tarjeta_credito').checked = false;
                                                        flag = 'true';
                                                        break;
                                                    }
                                                    else{
                                                        if (form[i].id.indexOf('fecha') != -1){
                                                            re = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/
                                                            if(!re.exec(form[i].value)){
                                                                alert(form[i].alt + ' no tiene formato DD/MM/AAAA. ');
                                                                document.getElementById(form[i].id).focus();
                                                                flag = 'true';
                                                                break;
                                                            }
                                                            else{
                                                                if (fechas(form[i].value)){
                                                                    if (form[i].name == 'form_ficha_desc_supl_hasta_fecha_entrada'){
                                                                        if (compararFechas(form[i].value, form[i-1].value)){
                                                                            alert(form[i-1].alt + ' es mayor que ' + form[i].alt + '.');
                                                                            document.getElementById(form[i].id).focus();
                                                                            flag = 'true';
                                                                            break;
                                                                        }
                                                                    }
                                                                    if (form[i].name == 'form_ficha_desc_supl_desde_fecha_salida'){
                                                                        if (!compararFechas(form[i-2].value, form[i].value)){
                                                                            alert(form[i-2].alt + ' es mayor o igual que ' + form[i].alt + '.');
                                                                            document.getElementById(form[i].id).focus();
                                                                            flag = 'true';
                                                                            break;
                                                                        }
                                                                    }
                                                                    if (form[i].name == 'form_ficha_desc_supl_hasta_fecha_salida'){
                                                                        if (compararFechas(form[i].value, form[i-1].value)){
                                                                            alert(form[i-1].alt + ' es mayor que ' + form[i].alt + '.');
                                                                            document.getElementById(form[i].id).focus();
                                                                            flag = 'true';
                                                                            break;
                                                                        }
                                                                    }
                                                                    if (form[i].name == 'form_ficha_desc_supl_fecha_fin_tramo'){
                                                                        if (compararFechas(form[i].value, form[i-1].value)){
                                                                            alert(form[i-1].alt + ' debe de ser menor o igual que ' + form[i].alt + '.');
                                                                            document.getElementById(form[i].id).focus();
                                                                            flag = 'true';
                                                                            break;
                                                                        }
                                                                    }
                                                                }
                                                                else{
                                                                    flag = 'true';
                                                                    alert(form[i].alt + ' tiene una fecha incorrecta. ');
                                                                    document.getElementById(form[i].id).focus();
                                                                    break;
                                                                }
                                                            }
                                                        }
                                                        else{
                                                            if (form[i].id.indexOf('vigente') != -1){
                                                                re = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/
                                                                if (form[i].value != ''){
                                                                    if(!re.exec(form[i].value)){
                                                                        alert(form[i].alt + ' no tiene formato DD/MM/AAAA. ');
                                                                        document.getElementById(form[i].id).focus();
                                                                        flag = 'true';
                                                                        break;
                                                                    }

                                                                    if (form[i].name == 'form_ficha_desc_supl_vigente_hasta'){
                                                                        if (form['form_ficha_desc_supl_vigente_desde'].value != ''){
                                                                            if (compararFechas(form['form_ficha_desc_supl_vigente_hasta'].value, form['form_ficha_desc_supl_vigente_desde'].value)){
                                                                                flag = 'true';
                                                                                alert('Vigente Hasta debe ser mayor o igual que Vigente Desde. ');
                                                                                document.getElementById(form[i].id).focus();
                                                                                break;
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        else{
            if (form.id == 'id_form_ficha_config_calendario_pagos'){
                for(var i = 0; i <= form.length - 1; i++){
                    if (form[i].name == 'form_ficha_config_calendario_pagos_nombre'){
                        if (form[i].value == ''){
                            flag = 'true';
                            alert(' Rellene el campo ' + form[i].alt + '.');
                            document.getElementById(form[i].id).focus();
                            break;
                        }
                    }

                    if ((form[i].name == 'form_ficha_config_calendario_pagos_importe') || (form[i].name == 'form_ficha_config_calendario_pagos_porcentaje_sobre_alojamientos') || (form[i].name == 'form_ficha_config_calendario_pagos_porcentaje_sobre_complementos')){
                        re = /^\d+\.?\d*$/
                        if(!re.exec(form[i].value)){
                            flag = 'true';
                            alert(' Inserte solo números en el campo ' + form[i].alt + '.');
                            document.getElementById(form[i].id).focus();
                            break;
                        }
                    }
                    else{
                        if (form[i].name == 'form_ficha_config_calendario_pagos_desplazamiento_en_dias'){
                            re = /^-?\d+\.?\d*$/
                            if(!re.exec(form[i].value)){
                                flag = 'true';
                                alert(' Inserte solo números en el campo ' + form[i].alt + '.');
                                document.getElementById(form[i].id).focus();
                                break;
                            }
                        }
                    }
                }
            }
            else{
                if (form.id == 'id_form_ficha_estancia_minima'){
                    for(var i = 0; i <= form.length - 1; i++){
                        if (form[i].id.indexOf('fecha') != -1){
                            re = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/
                            if(!re.exec(form[i].value)){
                                alert(form[i].alt + ' no tiene formato DD/MM/AAAA. ');
                                document.getElementById(form[i].id).focus();
                                flag = 'true';
                                break;
                            }
                            if (form[i].name == 'form_ficha_estancia_minima_fecha_hasta'){
                                if (compararFechas(form[i].value, form[i-1].value)){
                                    alert(form[i-1].alt + ' es mayor que ' + form[i].alt + '.');
                                    document.getElementById(form[i].id).focus();
                                    flag = 'true';
                                    break;
                                }
                            }
                        }
                        else{
                            if (form[i].name == 'form_ficha_estancia_minima_minimo_estancia'){
                                re = /^\d+\.?\d*$/
                                if(!re.exec(form[i].value)){
                                    flag = 'true';
                                    alert(' Inserte solo números en el campo ' + form[i].alt + '.');
                                    document.getElementById(form[i].id).focus();
                                    break;
                                }
                            }
                        }
                    }
                }
                else{
                    if (form.id == 'id_form_ficha_restr_fechas'){
                        if (form['form_ficha_restr_fechas_nombre'].value == ''){
                            flag = 'true';
                            alert(' Rellene el campo ' + form['form_ficha_restr_fechas_nombre'].alt + '.');
                            document.getElementById(form['form_ficha_restr_fechas_nombre'].id).focus();
                        }

                        re = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/
                        if(!re.exec(form['form_ficha_restr_fechas_desde_fecha_entrada'].value)){
                            alert(form['form_ficha_restr_fechas_desde_fecha_entrada'].alt + ' no tiene formato DD/MM/AAAA. ');
                            document.getElementById(form['form_ficha_restr_fechas_desde_fecha_entrada'].id).focus();
                            flag = 'true';
                        }

                        if(!re.exec(form['form_ficha_restr_fechas_hasta_fecha_entrada'].value)){
                            alert(form['form_ficha_restr_fechas_hasta_fecha_entrada'].alt + ' no tiene formato DD/MM/AAAA. ');
                            document.getElementById(form['form_ficha_restr_fechas_hasta_fecha_entrada'].id).focus();
                            flag = 'true';
                        }

                        if (!compararFechas(form['form_ficha_restr_fechas_desde_fecha_entrada'].value, form['form_ficha_restr_fechas_hasta_fecha_entrada'].value)){
                            alert(form['form_ficha_restr_fechas_desde_fecha_entrada'].alt + ' es mayor o igual que ' + form['form_ficha_restr_fechas_hasta_fecha_entrada'].alt + '.');
                            document.getElementById(form['form_ficha_restr_fechas_desde_fecha_entrada'].id).focus();
                            flag = 'true';
                        }

                        if (form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].value == ''){
                            if (form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].value == ''){
                                alert(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].alt + ' y ' +  form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].alt + ' no pueden estar en blanco los dos.');
                                document.getElementById(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].id).focus();
                                flag = 'true';
                            }
                            else{
                                if(!re.exec(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].value)){
                                    alert(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].alt + ' no tiene formato DD/MM/AAAA. ');
                                    document.getElementById(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].id).focus();
                                    flag = 'true';
                                }
                                else{
                                    if (compararFechas(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].value, form['form_ficha_restr_fechas_hasta_fecha_entrada'].value)){
                                        alert(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].alt + ' es mayor que ' + form['form_ficha_restr_fechas_hasta_fecha_entrada'].alt + '.');
                                        document.getElementById(form['form_ficha_restr_fechas_desde_fecha_entrada'].id).focus();
                                        flag = 'true';
                                    }
                                }
                            }
                        }
                        else{
                            if (form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].value == ''){
                                if(!re.exec(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].value)){
                                    alert(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].alt + ' no tiene formato DD/MM/AAAA. ');
                                    document.getElementById(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].id).focus();
                                    flag = 'true';
                                }
                                else{
                                    if (compararFechas(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].value, form['form_ficha_restr_fechas_hasta_fecha_entrada'].value)){
                                        alert(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].alt + ' es mayor que ' + form['form_ficha_restr_fechas_hasta_fecha_entrada'].alt + '.');
                                        document.getElementById(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].id).focus();
                                        flag = 'true';
                                    }
                                }
                            }
                            else{
                                if(!re.exec(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].value)){
                                    alert(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].alt + ' no tiene formato DD/MM/AAAA. ');
                                    document.getElementById(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].id).focus();
                                    flag = 'true';
                                }

                                if(!re.exec(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].value)){
                                    alert(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].alt + ' no tiene formato DD/MM/AAAA. ');
                                    document.getElementById(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].id).focus();
                                    flag = 'true';
                                }

                                if (!compararFechas(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].value, form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].value)){
                                    alert(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].alt + ' es mayor o igual que ' + form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].alt + '.');
                                    document.getElementById(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].id).focus();
                                    flag = 'true';
                                }

                                if (compararFechas(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].value, form['form_ficha_restr_fechas_hasta_fecha_entrada'].value)){
                                    alert(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].alt + ' es menor que ' + form['form_ficha_restr_fechas_hasta_fecha_entrada'].alt + '.');
                                    document.getElementById(form['form_ficha_restr_fechas_desde_fecha_salida_permitida'].id).focus();
                                    flag = 'true';
                                }

                                if (!compararFechas(form['form_ficha_restr_fechas_hasta_fecha_entrada'].value, form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].value)){
                                    alert(form['form_ficha_restr_fechas_hasta_fecha_entrada'].alt + ' es mayor o igual que ' + form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].alt + '.');
                                    document.getElementById(form['form_ficha_restr_fechas_hasta_fecha_salida_permitida'].id).focus();
                                    flag = 'true';
                                }
                            }
                        }
                    }
                    else{
                        form.submit();
                    }
                }
            }
        }
    }

    if (flag == 'false')
        form.submit();
}

function grabarForm(p_form){
var flag = 'false';
var flag2 = 'false';
var fecha = new Array();
var fecha2 = new Array();
var form = document.getElementById(p_form);

	for(var i = 0; i <= form.length - 1; i++){
		if (form[i].value == ''){
			if (form[i].id == 'id_form_mant_tarifaspopup_nombre'){
				alert(' Rellene el campo ' + form[i].alt);
				document.getElementById(form[i].id).focus();
				flag = 'true';
				break;
			}
	
			if (form[i].id.indexOf('fecha') != -1){
				alert(' Rellene el campo ' + form[i].alt);
				document.getElementById(form[i].id).focus();
				flag = 'true';
				break;
			}
	
			if (form[i].id.indexOf('precio') != -1){
				alert(' Rellene el campo ' + form[i].alt);
				document.getElementById(form[i].id).focus();
				flag = 'true';
				break;
			}
		}
		else{
			if (form[i].id.indexOf('fecha') != -1){
				re = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/
				if(!re.exec(form[i].value)){
					alert(' La ' + form[i].alt + ' no tiene formato DD/MM/AAAA. ');
					document.getElementById(form[i].id).focus();
					flag = 'true';
					break;
				}
				else{
					if (form[i].id.indexOf('fecha_fin') != -1){
						if (compararFechas(form[i].value, form[i - 1].value)){
							alert(' Fecha Fin Periodo es menor que Fecha Inicio Periodo. ');
							document.getElementById(form[i].id).focus();
							flag = 'true';
							break;
						}
					}

					fecha.push(form[i].value);
				}
			}
			else{
				if (form[i].id.indexOf('precio') != -1){
					re = /^\d+\.?\d*$/
					if(!re.exec(form[i].value)){
						alert(' El ' + form[i].alt + ' no es correcto. ');
						document.getElementById(form[i].id).focus();
						flag = 'true';
						break;
					}
				}
			}
		}
	}

	// Parte para comprobar que las fechas nuevas no se solapen con las anteriores.
	for (var c = 0; c <= fecha.length - 3; c += 2){
		var m = c + 2;

		if (m >= fecha.length)
			m = 0;

		if (compararFechas(fecha[c], fecha[m])){
			if (compararFechas(fecha[c + 1], fecha[m])){
				if (compararFechas(fecha[c], fecha[fecha.length - 2])){
					if (compararFechas(fecha[c + 1], fecha[fecha.length - 2])){
						flag2 = 'false';
					}
					else{
						alert(' Se han encontrado fechas solapadas... ');
						flag2 = 'true';
						break;
					}
				}
				else{
					if (compararFechas(fecha[fecha.length - 2], fecha[c])){
						if (compararFechas(fecha[fecha.length - 1], fecha[c])){
							flag2 = 'false';
						}
						else{
							alert(' Se han encontrado fechas solapadas... ');
							flag2 = 'true';
							break;
						}
					}
					else{
						alert(' Se han encontrado fechas solapadas... ');
						flag2 = 'true';
						break;
					}
				}
			}
			else{
				alert(' Se han encontrado fechas solapadas... ');
				flag2 = 'true';
				break;
			}
		}
	}

	// Parte para comprobar que las fechas antiguas no se solapen con las mas nuevas.
	if (flag2 != 'true'){
		var cont = 0;
		var c = 0;
		var d = 0;
		while(cont <= fecha.length){
			if (c >= fecha.length - 1){
				c = 0;
				d = 2;
			}

			m = c + 2 + d;
			if (m >= fecha.length - 1)
				m = 0;

			if (c != m){
				if (compararFechas(fecha[c], fecha[m])){
					if (compararFechas(fecha[c + 1], fecha[m])){
						flag2 = 'false';
					}
					else{
						alert(' Se han encontrado fechas solapadas... ');
						flag2 = 'true';
						break;
					}
				}
				else{
					if (compararFechas(fecha[m], fecha[c])){	
						if (compararFechas(fecha[m + 1], fecha[c])){
							flag2 = 'false';
						}
						else{
							alert(' Se han encontrado fechas solapadas... ');
							flag2 = 'true';
							break;
						}
					}
					else{
						alert(' Se han encontrado fechas solapadas... ');
						flag2 = 'true';
						break;
					}
				}
			}

			c += 2;
			cont++;
		}
	}

	if ((flag == 'false') && (flag2 == 'false'))
		form.submit();
}

function compararFechas(p_f1, p_f2){
	var String1 = p_f1;
	var String2 = p_f2;

	if (String1.substring(1,2) == '/')
		String1 = '0' + String1
	
	if (String1.substring(4,5) == '/')
		String1 = String1.substring(0,3) + '0' + String1.substring(3,9)
	
	if (String2.substring(1,2) == '/')
		String2 = '0' + String2
	
	if (String2.substring(4,5) == '/')
		String2 = String2.substring(0,3) + '0' + String2.substring(3,9)
	
	var dia1 = String1.substring(0,2);
	var mes1 = String1.substring(3,5);
	var anyo1 = String1.substring(6,10);
	var dia2 = String2.substring(0,2);
	var mes2 = String2.substring(3,5);
	var anyo2 = String2.substring(6,10);

	if (dia1 == '08') // parseInt('08') == 10 base octogonal
		dia1 = '8';
	if (dia1 == '09') // parseInt('09') == 11 base octogonal
		dia1 = '9';
	if (mes1 == '08') // parseInt('08') == 10 base octogonal
		mes1 = '8';
	if (mes1 == '09') // parseInt('09') == 11 base octogonal
		mes1 = '9';
	if (dia2 == '08') // parseInt('08') == 10 base octogonal
		dia2 = '8';
	if (dia2 == '09') // parseInt('09') == 11 base octogonal
		dia2 = '9';
	if (mes2 == '08') // parseInt('08') == 10 base octogonal
		mes2 = '8';
	if (mes2 == '09') // parseInt('09') == 11 base octogonal
		mes2 = '9';

	dia1 = parseInt(dia1);
	dia2 = parseInt(dia2);
	mes1 = parseInt(mes1);
	mes2 = parseInt(mes2);
	anyo1 = parseInt(anyo1);
	anyo2 = parseInt(anyo2);

	if (anyo1 > anyo2)
		return false;
	
	if ((anyo1 == anyo2) && (mes1 > mes2))
		return false;
	
	if ((anyo1 == anyo2) && (mes1 == mes2) && (dia1 >= dia2))
		return false;
	
	return true;
}

function cambiaSelect(p_value, p_identificador){
	window.location = '../traducciones/ficha_traducciones.php?identificador=' + p_identificador + '&idioma=' + p_value;
}

function fechas(caja){
    if (caja){
    	borrar = caja;
      	if ((caja.substr(2,1) == '/') && (caja.substr(5,1) == '/')){
        	for (var i = 0; i < 10; i++){
            	if (((caja.substr(i,1) < '0') || (caja.substr(i,1) > '9')) && (i != 2) && (i != 5)){
               		borrar = '';
               		break;
				}
         	}

			if (borrar){
				a = caja.substr(6,4);
				m = caja.substr(3,2);
				d = caja.substr(0,2);

				if ((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
					borrar = '';
				else{
					if ((a%4 != 0) && (m == 2) && (d > 28))	   
						borrar = ''; // Año no visiesto y es febrero y el dia es mayor a 28
				   else{
						if ((((m == 4) || (m == 6) || (m == 9) || (m == 11)) && (d > 30)) || ((m == 2) && (d > 29)))
							borrar = '';
				   }
				}
			}
		}
		else
			borrar = '';

		if (borrar == '')
			return false;
		else
			return true;
	}
}

function fechaSalida(p_fecha, p_noches){
var dia = parseInt(p_fecha.substr(0, 2), 10);
var mes = parseInt(p_fecha.substr(3, 2), 10);
var any = parseInt(p_fecha.substr(6, 4), 10);
var diasMes = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var cont = 1;

	if ((mes == 2) && (any % 4 == 0))
		var total = 29;
    else
    	var total = diasMes[mes - 1];

	while(cont <= p_noches){
		if (dia >= total){
			dia = 0;
			if (mes == 12){
				mes = 1;
				any++;
			}
			else{
				mes++;
				
				if ((mes == 2) && (any % 4 == 0))
					var total = 29;
				else
					var total = diasMes[mes - 1];
			}
		}
		
		dia++;
		cont++;
	}

	if (dia < 10)
		dia = '0' + dia;

	if (mes < 10)
		mes = '0' + mes;

	document.getElementById('spanfecha').innerHTML = dia + '/' + mes + '/' + any;
}

function sumaNoches(p_fecha, p_noches){
var dia = parseInt(p_fecha.substr(0, 2), 10);
var mes = parseInt(p_fecha.substr(3, 2), 10);
var any = parseInt(p_fecha.substr(6, 4), 10);
var diasMes = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var cont = 1;

	if ((mes == 2) && (any % 4 == 0))
		var total = 29;
    else
    	var total = diasMes[mes - 1];

	while(cont <= p_noches){
		if (dia >= total){
			dia = 0;
			if (mes == 12){
				mes = 1;
				any++;
			}
			else{
				mes++;
				
				if ((mes == 2) && (any % 4 == 0))
					var total = 29;
				else
					var total = diasMes[mes - 1];
			}
		}
		
		dia++;
		cont++;
	}

	if (dia < 10)
		dia = '0' + dia;

	if (mes < 10)
		mes = '0' + mes;

	return dia + '/' + mes + '/' + any;
}

function modAny(p_form, p_tipo){
var form = document.getElementById(p_form);

	for(var i = 0; i <= form.length - 1; i++){
		if (form[i].id.indexOf('fecha') != -1){
			re = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/
			if(!re.exec(form[i].value)){
				alert(form[i].alt + ' no tiene formato DD/MM/AAAA. ');
				document.getElementById(form[i].id).focus();
				flag = 'true';
				break;
			}
			else{
				var dia = form[i].value.substr(0, 2);
				var mes = form[i].value.substr(3, 2);
				var any = parseInt(form[i].value.substr(6, 4), 10);

				if (p_tipo == 'inc')
					any++;
				else
					any--;

				form[i].value = dia + '/' + mes + '/' + any;				
			}
		}
	}
}

// Formatea un precio en Javascript(1234.00) a fornmato español(1.234,00).
function formatoMoneda(num){
num += '';
var splitStr = num.split('.');
var splitLeft = splitStr[0];
var splitRight = splitStr.length > 1 ? ',' + splitStr[1] : '';
var regx = /(\d+)(\d{3})/;

	while (regx.test(splitLeft))
		splitLeft = splitLeft.replace(regx, '$1' + '.' + '$2');

	return splitLeft + splitRight + ' &euro;';
}

function pagoCombo1(){
var form = document.getElementById('id_EDITAR_OPCIONES');
var pago = document.getElementById('id_FORM_RESERVA_FORMA_PAGO_POR_DEFECTO').value;
var tr = document.getElementById('id_check_transferencia').checked;
var ch = document.getElementById('id_check_cheque').checked;

	if ((tr == false) && (pago == 'TR')){
		alert(' Si está desactivada la forma de pago por Transferencia, ha de establecer una nueva forma de pago por defecto. ');
		return;
	}
	else
		if ((ch == false) && (pago == 'CH')){
			alert(' Si está desactivada la forma de pago por Cheque, ha de establecer una nueva forma de pago por defecto. ');
			return;
		}
		else
			form.submit();
}

function pagoCombo2(){
var pago = document.getElementById('id_FORM_RESERVA_FORMA_PAGO_POR_DEFECTO').value;
var tr = document.getElementById('id_check_transferencia').checked;
var ch = document.getElementById('id_check_cheque').checked;

	if ((tr == false) && (pago == 'TR'))
		alert(' Si está desactivada la forma de pago por Transferencia, ha de establecer una nueva forma de pago por defecto. ');
	
	if ((ch == false) && (pago == 'CH'))
		alert(' Si está desactivada la forma de pago por Cheque, ha de establecer una nueva forma de pago por defecto. ');
}

function comprobarNombre(param, nombre, usu, pass){
var form  = document.getElementById(param);
var nom   = document.getElementById(nombre);
var usu	  = document.getElementById(usu);
var pass  = document.getElementById(pass);
var error = false;

	if (nom.value == ""){
		alert("El campo Nombre no debe de estar vacío. ");
		error = true;
	}
	else{
		if (usu.value == ""){
			alert("El campo Usuario no debe de estar vacío. ");
			error = true;
		}
		else{
			if (pass.value == ""){
				alert("El campo Password no debe de estar vacío. ");
				error = true;
			}
		}
	}

	if (error == false)
		form.submit();
}

function fechadeHoy(){
    var fechaActual = new Date();

    dia = fechaActual.getDate();
    mes = fechaActual.getMonth() +1;
    any = fechaActual.getFullYear();

    if (dia < 10) dia = "0" + dia;
    if (mes < 10) mes = "0" + mes;

    return dia + "/" + mes + "/" + any;
}

function hasClass(ele, cls){
    return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele, cls){
    if (!hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele, cls){
    if (hasClass(ele,cls)) {
        var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
        ele.className=ele.className.replace(reg,' ');
    }
}

function fechaDesdeTimestamp(date){
    var dia = date.getDate();
    var mes = date.getMonth() + 1;
    var any = date.getFullYear();

    if (dia < 10)
        dia = '0' + dia;

    if (mes < 10)
        mes = '0' + mes;

    return dia + '/' + mes + '/' + any;
}
