﻿/******************************************************************************/
/* Registro Agencia, logica javascript de la pagina Registrate-Empresa */
/* 05-06-2008 */
/******************************************************************************/
var sepFila = "|";
var sepValor = ":";
var contador = 0;
var contadorDest = 0;
var hDestinos = [];

function InitEmpresa() {
    var selmeses = $("selFechaMes") != null;
    var seldias = $("selFechaDia") != null;
    var selanios = $("selFechaAnio") != null;
    if (selmeses) { Funciones.Tools.CargaMeses($("selFechaMes")); $("selFechaMes").selectedIndex = 0; }
    if (seldias) { Funciones.Tools.CargaDias($("selFechaDia")); }
    if (selanios) { Funciones.Tools.CargaAnios($("selFechaAnio")); }
    //        $("sNinos").onchange =Fecha_ninos;
    //var opt = new Option(" ","0");
    var opt = document.createElement("option");
    opt.value = "0";
    var nOpt = document.createTextNode(" ");
    opt.appendChild(nOpt);
    $("selProvincias").appendChild(opt);
    $("selProvincias").selectedIndex = 0;
    $("btEnviar").onclick = ValidaCampos;
    $("txtFax").onkeypress = Funciones.Tools.telefono;
    $("txtTelefono").onkeypress = Funciones.Tools.telefono;
    $("txtMovil").onkeypress = Funciones.Tools.telefono;
    $("txtFrecuencia").onkeypress = Funciones.Tools.numeros;
    //$("txtPresupuesto").onkeypress= Funciones.Tools.numeros; 
    //        $("txtParNombre").onkeypress  = Funciones.Tools.SoloCaracteres;
    //        $("txtApellido1").onkeypress  = Funciones.Tools.SoloCaracteres;
    //        $("txtApellido2").onkeypress  = Funciones.Tools.SoloCaracteres;
    //        $("txtNombre").onkeypress  = Funciones.Tools.SoloCaracteres;
    $("txtCif").onkeypress = Funciones.Tools.AlfaNumericos;
    $("txtCiudad").onkeypress = Funciones.Tools.SoloCaracteres;
    $("txtPassword").onkeypress = Funciones.Tools.AlfaNumericos;
    $("txtRepetir").onkeypress = Funciones.Tools.AlfaNumericos;
    $("txtEmailEmp").onkeypress = soloTextoMail;

    $("selProvincias").onchange = CopiaDestino;
    //LoadPaises();
    //LoadDestinos();
    getCtl("hidParamsAjax").value = "RegistroEmpresa" + sepGra + "inicio" + sepBloc;
    getCtl("hidFunctionAjax").value = "inicio";
    petiAjaxMain(getCtl("hidParamsAjax").value, iniciaVuelta);
}

function iniciaVuelta(res) {
    var resul = res.split(sepBloc);

    if (resul[0] == "ok") {
        cargaSels("selPais,selProvincia,selFechaDia,selFechaMes,selFechaAnio,selPaisPrefe", resul[1]);
    }
    iniciaLoginWeb();
    ocultaCtl("divLoading");
}

function cambioIdiomaRegistroEmpresa() {
    switch (getCtl("hidFunctionAjax").value) {
        case "inicio":
            petiAjaxMain(getCtl("hidParamsAjax").value, iniciaVuelta);
            break;
    }
}


/* Carga tantos controles dinamicos como niños se seleccionan en la select */
function Fecha_ninos() {
    var sel = document.createElement("select");
    var _divncidos = $("divnacidos");
    var etiqueta = $("lblNacidos");
    var numero = this.options[this.selectedIndex].value;
    var bSalir = false;
    var controles = 8;
    var contador = 0;
    var fechasninos = "";
    var nNino = "";
    if (numero != "") {

        if (numero == 0) {
            for (var h = 0; h < controles; h++) {
                var Iscontenedor = $("div_" + h) != null;
                if (Iscontenedor) {
                    var contenedor = $("div_" + h);
                    contenedor.parentNode.removeChild(contenedor);
                    etiqueta.style.display = "none"
                    contador -= 1;
                    bSalir = true;

                }

            }
        } else if (controles >= numero) {
            for (var h = 0; h < 8; h++) {
                var Iscontenedor = $("div_" + h) != null;
                if (Iscontenedor) {
                    var contenedor = $("div_" + h);
                    contenedor.parentNode.removeChild(contenedor);
                    etiqueta.style.display = "none"
                    contador -= 1;
                    bSalir = false;
                }
            }

        }

        if (!bSalir) {
            etiqueta.style.display = "inline"
            var theNumero = parseInt(numero);
            for (var i = 0; i < numero; i++) {
                if (contador <= 7) {
                    var div = document.createElement("div");
                    var seldia = document.createElement("select");
                    var selmes = document.createElement("select");
                    var selanio = document.createElement("select");
                    div.setAttribute("id", "div_" + i);
                    seldia.setAttribute("id", "sel_" + i);
                    seldia.className = "espaiLlistaDates";
                    selmes.setAttribute("id", "sel_" + i);
                    selmes.className = "espaiLlistaDates";
                    selanio.setAttribute("id", "sel_" + i);
                    selanio.className = "espaiLlistaDates";
                    Funciones.Tools.CargaDias($(seldia));
                    Funciones.Tools.CargaMeses($(selmes));
                    Funciones.Tools.CargaAnios($(selanio));
                    div.appendChild(seldia);
                    div.appendChild(selmes);
                    div.appendChild(selanio);
                    _divncidos.appendChild(div);
                }
                contador++;
            }
        }
    }
}

function ValidaCampos() {
    verCtl("divLoading");
    ocultaCtl("tbRegistro");
    var destinos = "";
    var sexo = false;
    var ninos = "";
    var todos = [];
    var especiales = [];
    var camposRequeridos = [];
    var camposCheck = [];
    var camposRadio = [];
    var bCorrecto = false;
    var bSaltar = false;
    var form = $("fEmpresa");
    var datos = "";
    var contador = 0;
    todos = form.getInputs('text');
    especiales = form.getInputs('password');
    camposRadio = form.getInputs('radio');
    camposCheck = form.getInputs('checkbox', 'est_tipoviaje');
    var opciones = [todos, especiales, camposRadio, camposCheck];
    var sel = document.getElementsByTagName("select");
    for (var i = 0; i < opciones.length; i++) {
        for (ii = 0; ii < opciones[i].length; ii++) {
            var attr = opciones[i][ii].getAttribute("name");
            var requiered = opciones[i][ii].getAttribute("user");
            bSaltar = false;
            if (attr != null && attr != "") {
                if (requiered != null) {
                    var txt = $(opciones[i][ii].id);
                    camposRequeridos[contador++] = txt.id;
                    requiered = "";
                }
                var value = $F(opciones[i][ii].id)
                //if(value != null && value != "") {
                if (attr.indexOf("wc") == -1) {
                    switch (attr) {
                        case "est_numviajes":
                            value = "0";
                            if ($("txtFrecuencia").value != "") value = $("txtFrecuencia").value;
                            //else bSaltar = true;
                            break;

                        case "PAR_SEXO":
                            if (!sexo) {
                                if ($("rbtHombre").checked) value = $("rbtHombre").value;
                                else if ($("rbtMujer").checked) value = $("rbtMujer").value;

                                if (value == null) bSaltar = true;
                                sexo = true;
                            } else bSaltar = true;
                            break;
                        case "EST_PRESUPUESTO":
                            if (value != null && value != "") value = value.replace(",", ".");
                            else bSaltar = true;
                            break;
                        case "est_tipoviaje":
                            if ($("txtPlacer").checked) {
                                datos += "EST_TIPOVIAJE_TRABAJO" + sepValor + "true" + sepFila;
                            } else {
                                datos += "EST_TIPOVIAJE_TRABAJO" + sepValor + "false" + sepFila;
                            }
                            if ($("txtTrabajo").checked) {
                                datos += "EST_TIPOVIAJE_PLACER" + sepValor + "true" + sepFila;
                            } else {
                                datos += "EST_TIPOVIAJE_PLACER" + sepValor + "false" + sepFila;
                            }
                            bSaltar = true;
                            break;
                    }

                    if (!bSaltar) {
                        datos += attr.toUpperCase() + sepValor + value + sepFila;
                        bSaltar = false;
                    }
                }
                //                           } else {
                //                                var _value = "";
                //                                switch(attr){
                //                                    case "est_numviajes":
                //                                    _value = "0";
                //                                    break;
                //                                    case "EST_PRESUPUESTO":
                //                                    _value = "0";
                //                                    break;
                //                                }
                //                               if(atrr == "est_tipoviaje") {
                //                                   _value = "false";
                //                                   datos += "EST_TIPOVIAJE_TRABAJO" + sepValor + _value + sepFila;
                //                                   datos += "EST_TIPOVIAJE_PLACER" + sepValor + _value + sepFila;
                //                                   
                //                               } else datos += attr.toUpperCase() + sepValor + _value + sepFila;
                //                          }
            }
        }
    }

    if ($F("selFechaDia") != "" && $F("selFechaMes") != "" && $F("selFechaAnio") != "") {
        datos += "PAR_FECHANAC" + sepValor + $F("selFechaDia") + "/" + $F("selFechaMes") + "/" + $F("selFechaAnio") + sepFila;
    } else {
        //datos +="PAR_FECHANAC:" + sepFila;
    }

    datos += "LOPD:true" + sepFila;
    datos += " EST_CODPAIS:" + sepFila;
    datos += " EST_CODIGOPROV:" + sepFila;

    for (var j = 0; j < sel.length; j++) {
        var attr = sel[j].getAttribute("attributo");
        var requiered = sel[j].getAttribute("user");
        if (attr != null && attr != "") {
            var opcion = $F(sel[j].id)
            if (opcion != "" && opcion != null && opcion != " ") {
                if (attr.indexOf(":") == -1) {
                    if (requiered != null) {
                        var _selects = $(sel[j].id);
                        camposRequeridos[contador++] = _selects.id;
                        requiered = "";
                    }
                    datos += attr.toUpperCase() + sepValor + opcion + sepFila;
                }
            } else {
                if (attr == "codigoprov") {
                    datos += attr.toUpperCase() + sepValor + "" + sepFila;
                }
            }
        }
    }

    for (var k = 0; k < hDestinos.length; k++) {
        var codProv = hDestinos[k].Provincia;
        if (codProv == "0") {
            codProv = "";
        }
        destinos += "CODPAIS:" + hDestinos[k].Pais + "(#)" + "CODIGOPROV:" + codProv + "|";
    }

    if ($("txtPassword").value != $("txtRepetir").value) {
        alert("Las contraseña no coincide.");
    }

    if (verifDatos(camposRequeridos)) {
        verCtl("divLoading");
        var parametros = "RegistroEmpresa" + sepGra + "NuevaEmpresa" + sepBloc + datos + sepGra + destinos;
        peticionAjax('main(_)' + parametros, HandleEmpresa);
    } else {
        verCtl("tbRegistro");
        ocultaCtl("divLoading");
    }
}

function verifDatos(campos) {
    var esValido = true;
    var bSelected = false;
    var mensaje = "";
    var IdAlert = "";
    if ($F(campos[0]) == "") { IdAlert += "27,"; }                      //Nombre
    if ($F(campos[1]) == "") { IdAlert += "55,"; }             //Primer apellido
    //if($F(campos[2]) == ""){IdAlert +="55,";}            //Segundo apellido
    if ($F(campos[2]) == "") { IdAlert += "56,"; }                      //E-mail
    if ($F(campos[3]) == "") { IdAlert += "86,"; }                     //Empresa
    if ($F(campos[4]) == "") { IdAlert += "84,"; }                   //Nif
    if ($F(campos[5]) == "") { IdAlert += "30,"; }                   //Direccion
    if ($F(campos[6]) == "") { IdAlert += "85,"; }                      //Ciudad
    if ($F(campos[7]) == "") { IdAlert += "40," }                    //Telefono
    //if($F(campos[8]) == ""){IdAlert +="41,"}                         //Fax
    if ($F(campos[9]) == "") { IdAlert += "87,"; }                  //E-mail empresa
    if ($F("txtRepetir") == "") { IdAlert += "79,"; }                                            //repetir password
    if (!getCtl("chklopd").checked) { IdAlert += "80,"; }                                      //LOPD

    //Selects
    var sel = $("selPais");
    if ($F(sel) == " ") {
        IdAlert += "81,";
    }

    //Password
    if ($F("txtPassword").toUpperCase() != $F("txtRepetir").toUpperCase()) {
        IdAlert += "82,";
    }
    if (IdAlert != "") {
        esValido = false;
        multiAlertAjax(IdAlert.substring(0, IdAlert.length - 1));
    } else {
        esValido = true; ;
    }

    return esValido;

}
function enviaEmpresa() {
    petiAjaxMain("RegistroEmpresa" + sepGra + "envia" + sepBloc, enviaEmpresaVuelta);
}

function enviaEmpresaVuelta(res) {
    var resul = res.split(sepBloc);
    if (resul[0] == "ok") {
        window.location.href = "http://" + Server + Path + "mensajeRegistro.aspx";
    } else {
        alert(resul[1]);
    }
}

function HandleEmpresa(res) {
    var filas = [];
    filas = res.split(sepBloc);
    if (filas[0] == "true") {
        enviaEmpresa();
    } else {
        alert(filas[1]);
        verCtl("tbRegistro");
        ocultaCtl("divLoading");
    }
    ocultaCtl("divLoading");
}

function CopiaDestino() {
    var _selects = "selProvincias" + sepElem + "selPaisPrefe" + sepElem + "seldestinos";
    CopiaProvincia(_selects);
}


function LoadPaises() {
    var TodosHoteles = true;

    var parametros = "Comun" + sepGra + "LoadPaises" + sepBloc + "selPais" + sepParams + TodosHoteles;
    peticionAjax('main(_)' + parametros, HandlePaises);
}

function LoadDestinos() {
    var TodosHoteles = true;
    var parametros = "Comun" + sepGra + "LoadPaises" + sepBloc + "selPaisPrefe" + sepParams + TodosHoteles;
    peticionAjax('main(_)' + parametros, HandleDestinos);
}

function HandleDestinos(res) {
    var selpais = $("selPaisPrefe");
    var filas = [];
    filas = res.split("#");
    //Funciones.Tools._AddOpcion(selpais," "," ");
    for (var i = 0; i < filas.length; i++) {
        Funciones.Tools._AddOpcion(selpais, filas[i].substr(0, filas[i].indexOf(":")), filas[i].substr(filas[i].indexOf(":") + 1, filas[i].length));
    }
}

function HandlePaises(res) {
    var selpaises = $("selPais");
    var selpais = $("selPaisPrefe");
    var filas = [];
    filas = res.split("#");
    //Funciones.Tools._AddOpcion(selpaises," "," ");
    for (var i = 0; i < filas.length; i++) {
        Funciones.Tools._AddOpcion(selpaises, filas[i].substr(0, filas[i].indexOf(":")), filas[i].substr(filas[i].indexOf(":") + 1, filas[i].length));
    }
}

function LoadProvincias() {
    var parametros = "Comun" + sepGra + "LoadProvincias" + sepBloc + "selProvincias";
    peticionAjax('main(_)' + parametros, HandleProvincias);
}

function HandleProvincias(res) {
    var selprovincia = $(_provincia);
    var lblprovincia = $("lblProvincia");
    var filas = [];
    filas = res.split("#");
    //Funciones.Tools._AddOpcion(selprovincia," "," ");   
    for (var i = 0; i < filas.length; i++) {
        Funciones.Tools._AddOpcion(selprovincia, filas[i].substr(0, filas[i].indexOf(":")), filas[i].substr(filas[i].indexOf(":") + 1, filas[i].length));
    }
    selprovincia.style.display = "inline";
    lblprovincia.style.display = "inline";
}


/*function CambiaProv(pais, provincia){
_pais = pais;
_provincia = provincia;
var _selprov = $("selProvincias")
var _selpais = $("selPaisPrefe");
var _seldestinos = $("seldestinos");
if($F(pais)=="E"){
LoadProvincias(provincia);
CopiaDestino();
}else {
$(provincia).innerHTML="";   
//_seldestinos.style.display = "inline";
CopiaDestino();
}     
}*/

function LoadProv(pais, provincia) {
    _pais = pais;
    _provincia = provincia;
    var _selprov = $("selProvincia")
    var _selpais = $("selPaisPrefe");
    if ($F(pais) == "E") {
        LoadProvincias(provincia);
    } else {
        $(provincia).innerHTML = "";
        var lblprovincia = $("lblProvincia");
        $(provincia).style.display = "none";
        lblprovincia.style.display = "none";
    }
}

window.onload = init;

function init() {
    InitEmpresa();
    CalendarioLib.GestionPet.InitFechas();
    pintarListboxesCombinaciones();
    //iniciaLoginWeb();
}

