﻿var provinciaSEL = -1;
var poblacionSEL = -1;
var viaTel = false;
var IdCalle = 0;
var _calle = "";
var _via = "";
var _numero = "";
var _poblacion = "";
var _provincia = "";
var _tipoServicio = "";
var _ctc = "false";
var bool_ListDir = false;

if (_afiliado == null)
    var _afiliado = 'ONO';

if (_source == null)
    var _source = '1';

if (_cid == null)
    var _cid = '';

if (_sid == null)
    var _sid = '';

if (_wid == null)
    var _wid = '';

if (_swid == null)
    var _swid = '';

$(document).ready(function() {
    $(".iluminactc").click(iluminar_capa);

    $("#nombre").focus(set_activo);
    $("#nombre").blur(validate_nombre);

    $("#movil").focus(set_activo);
    $("#movil").blur(validate_movil);

    $("#email").focus(set_activo);
    $("#email").blur(validate_email);

    $("#tipovia").bind('focusin', set_activo);
    $("#tipovia").blur(validate_tipoVIA);

    $("#via").focus(set_activo_nombre_via);
    $("#via").blur(validate_via);

    $("#numero").focus(set_activo);
    $("#numero").blur(validate_numero);

    $('#provincias').bind('focusin', set_activo);
    $("#provincias").change(get_poblaciones);
    get_provincias();

    $('#poblaciones').attr('disabled', 'disabled');
    $('#poblaciones').bind('focusin', set_activo);

    $("#no_tel").attr("checked", "checked");
    $("#no_tel").click(hide_telefono);
    $("#si_tel").click(show_telefono);
    hide_telefono();

    $("#tlf_cobertura").focus(set_activo);
    $("#tlf_cobertura").blur(validate_tlf);
    $("#tlf_cobertura").val("");

    $("#getCoberturaNOCTC").click(obtener_cobertura);
    $("#getCobertura").click(obtener_cobertura_ctc);

    $("#btn_otradireccion").click(show_formulario);
});

function obtener_cobertura_ctc() {
    _ctc = "true";
    obtener_cobertura();
}

function obtener_cobertura() {
    tb_remove();
    // Comprobación de formulario sin rellenar nada
    var empty = check_empty_form();
    if (empty == true) {
        var msg = document.getElementById('msg');
        if (null != msg) {
            $("#msg").css({
                "display": "none"
            });
        }
        tb_show("Por favor, rellena todos los datos del formulario", "/formulario-lightwindow.aspx?TB_iframe=true&height=240&width=480", false);
    }
    else {
        var acept = $("#acepto").attr("checked");
        var publi = $("#publi").attr("checked");
        if (validate_form()) {
            if (publi == null || publi == true) {
                if (acept) {
                    get_direccion();
                }
                else {
                    inlineMsg('acepto', 'Para continuar acepta las condiciones', true);
                }
            }
            else
                inlineMsg('publi', 'Para continuar acepta las condiciones', true);
        }
    }
}

function show_formulario() {
    //primero limpio el formulario de los datos antiguos.
    $("#via").focus();
    //quitar el lightbox en thickbox
    tb_remove();
    //Quito el display del listado de elementos
    $(".datos_resultados").css({
        "display": "none"
    });
    $(".resultados").css({
        "display": "none"
    });

    //registramos en google analitics la peticion con resultado de no cobertura.
    pageTracker._trackPageview('WS/ONO.es/No Cobertura/btnVolver');
}

// Muestra por pantalla la ventana emergente con las direcciones encontradas.
function show_direcciones(direcciones, altura) {
    bool_ListDir = true;
    obj = direcciones;

    tb_show("Elige tu dirección", "#TB_inline?height=400&width=800&inlineId=direcciones_encontradas", false);

    $(".datos_resultados").animate({
        height: altura
    }, 500, print_lista_direcciones(direcciones));
}

// Pinta una lista con las direcciones encontradas
function print_lista_direcciones(obj) {
    $(".resultados").css({
        "display": "block"
    });

    $("#displayDirecciones").empty();
    for (var i = 0; i < obj.length; i++) {
        if ((i % 2) == 0)
            $("#displayDirecciones").append("<li idCalle='" + obj[i].IdCalle + "' class='elm_" + i + "'><p class='provincia'>" + obj[i].Provincia + "</p><p class='poblacion'>" + obj[i].Poblacion + "</p><p class='calle'>" + obj[i].Via + ". " + obj[i].Calle + "</p><p class='numero'>" + obj[i].Numero + "</p></li>")
        else
            $("#displayDirecciones").append("<li style=\"background-color:#CDF5F7\" idCalle='" + obj[i].IdCalle + "' class='elm_" + i + "'><p class='provincia'>" + obj[i].Provincia + "</p><p class='poblacion'>" + obj[i].Poblacion + "</p><p class='calle'>" + obj[i].Via + ". " + obj[i].Calle + "</p><p class='numero'>" + obj[i].Numero + "</p></li>")
    }
    $("#displayDirecciones li").click(click_direccion);
    $("#displayDirecciones li").mouseover(over_direccion);
    $("#displayDirecciones li").mouseout(out_direccion);
}

// Función que obtiene la dirección sobre la que hemos hecho click
// y llama a comprobar su cobertura.
function click_direccion() {
    IdCalle = $(this).attr("idCalle");
    var clase = $(this).attr("class");
    var viaCompleta = $("." + clase).find("p.calle").text();
    _numero = $("." + clase).find("p.numero").text();
    _poblacion = $("." + clase).find("p.poblacion").text();
    _via = viaCompleta.split(" ")[0];
    _via = _via.substring(0, _via.length - 1);
    _calle = viaCompleta.substring(_via.length + 2, viaCompleta.length);
    _provincia = $("." + clase).find("p.provincia").text();

    ocultar_direcciones();
    //tb_remove();
    // Llamamos a la función que comprueba la cobertura de la dirección
    check_cobertura();
}

function check_cobertura() {
    var telefono = $("input[name='telefono']:checked").val();
    // Si no hay id_calle ni telefono, no hay cobertura
    if (IdCalle == "" && telefono == 0) {
        show_no_cobertura();
        // Si no hay id_calle, pero si telefono, se consulta la cobertura por teléfono
    } else if (IdCalle == "" && telefono == 1) {
        get_cobertura_telefono();
        // El mejor caso, comprobamos que exista cobertura por la calle
    } else if (IdCalle != "") {
        get_cobertura_calle();
    }
    // Registramos en google una petición de cobertura.
    pageTracker._trackPageview('WS/ONO.es/Home/Cobertura/btnComprobar');
}

function show_no_cobertura() {
    if (bool_ListDir)
        $(".botonera").css({ "display": "none" });
    bool_ListDir = false;
    var dirBAD = " " + $("#tipovia").val() + " " + $("#via").val() + " " + $("#numero").val();
    $(".dir").text(dirBAD);

    tb_show("Sin cobertura", "#TB_inline?height=400&width=800&inlineId=noCobertura", false)
}

function show_cobertura() {
    var publicidad = 0;
    if ($("input[name='publicidad']:checked").val()) publicidad = 1;
    var tlf_cobertura = $("#tlf_cobertura").val();
    if (tlf_cobertura.length == 0) tlf_cobertura = "void";
    //declara las variables que envio
    $("#fnombre").val($("#nombre").val());
    $("#ftel_contacto").val($("#movil").val());
    $("#femail").val($("#email").val());

    $("#fprovincia").val(_provincia);
    $("#fpoblacion").val(_poblacion);
    $("#fvia").val(_via);
    $("#fcalle").val(_calle);
    $("#fnumero").val(_numero);
    $("#ftel_cobertura").val(tlf_cobertura);
    $("#fafiliado").val(_afiliado);
    $("#fclick_to_call").val(_ctc);
    $("#fpublicidad").val(publicidad);
    $("#fIdCalle").val(IdCalle);
    $("#ftipo").val(_tipoServicio);

    //document.location = "/ws/confirmacion.aspx";
    $("#confirmaSolicitud").attr("action", "/ws/confirmacion.aspx?afiliado=" + _afiliado + "&source=" + _source + "&ctc=" + _ctc + "&cid=" + _cid + "&sid=" + _sid + "&wid=" + _wid + "&swid=" + _swid);
    $("#confirmaSolicitud").submit();
}

// Oculta el listado de direcciones encontradas
function ocultar_direcciones() {
    //tb_remove();
    $("#direcciones_encontradas").css({
        "display": "none"
    });
    $(".datos_resultados").css({
        "display": "none"
    });
    $(".resultados").css({
        "display": "none"
    });
}

function set_activo_nombre_via() {
    $(this).css({
        "color": _utils_activo_color,
        "border": _utils_activo_border,
        "background-color": _utils_activo_background_color
    });
    if ($(this).attr('isvalid') == 'false')
        $(this).val('');
    if (bool_ListDir) close_direcciones();
}

function close_direcciones() {
    bool_ListDir = false; //variable de control para desactivar el listado al hacer focus sobre el input#via
    //tb_remove();
    $(".datos_resultados").css({
        "display": "none"
    });
    $(".resultados").css({
        "display": "none"
    });
}

