﻿﻿﻿﻿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 _enlaceDesde="landing"; // El usuario ha accedido desde una landing.
var _requestId = 0;
var bool_ListDir = false;
var get_url_confirmacion = "/landing/api/coverage/c2c/";
// var get_url_portletResponse = "/web/guest/landing_response";
// var get_url_portletResponse = "/web/thickbox/confirmacion";
var get_url_portletResponse = "/landing/confirmation/";
var _verticalId=0;
var direccionPredefinida="false";

if(_ipOno==null){
	var _ipOno='';
}

if(_tipoCliente == null)
	var _tipoCliente = '';

if (_afiliado == null)
    var _afiliado = 'ONO';

if (_source == null)
    var _source = '1';

if (_prodId == null)
    var _prodId = '';

if (_cid == null)
    var _cid = '';

if (_sid == null)
    var _sid = '';

if (_wid == null)
    var _wid = '';

if (_swid == null)
    var _swid = '';

if (_zanpid == null)
    var _zanpid = '';



$(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(function() {
    	$("#getCobertura").hide();
  	  $(this).hide();
  	  $(this).parent().append('<img alt="Por favor, espere" src="/resources/images/ajaxload.gif" class="ajaxload" />');
    });
    $("#getCoberturaNOCTC").click(obtener_cobertura);
    
    /* exmmkk */
    $("#getCobertura").click(function() {
    	$("#getCoberturaNOCTC").hide();
    	  $(this).hide();
    	  $(this).parent().append('<img alt="Por favor, espere" src="/resources/images/ajaxload.gif" class="ajaxload" />');
    });
    $("#getCobertura").click(obtener_cobertura_ctc);

    $("#btn_otradireccion").click(show_formulario);
    
    /* exmmkk */
    org_tb_remove = window.tb_remove;
    window.tb_remove = function() {
    	unblockGetCobertura();
	    org_tb_remove();
	    return false;
	};
	    	
});

/* exmmkk */
function unblockGetCobertura() {
	$("#getCobertura").show();
	$("#getCoberturaNOCTC").show();
    $(".ajaxload").remove();
}

function obtener_cobertura_ctc() {
    _ctc = "true";
    obtener_cobertura();
}

function obtener_cobertura() {
	/* exmmkk */
	org_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", "/landing/mensajes/formulario-lightwindow.jsp?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);
                    unblockGetCobertura();
                }
            // }
            // else {
            // inlineMsg('publi', 'Para continuar acepta las condiciones',
			// true);
            // unblockGetCobertura();
            // }
        } else {
        	/* exmmkk */
        	unblockGetCobertura();
        }
    }
}

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].id + "' class='elm_" + i + "'><p class='provincia'>" + obj[i].province + "</p><p class='poblacion'>" + obj[i].city + "</p><p class='calle'>" + obj[i].viaType + " " + obj[i].street + "</p><p class='numero'>" + obj[i].number + "</p></li>")
        else
            $("#displayDirecciones").append("<li style=\"background-color:#CDF5F7\" idCalle='" + obj[i].id + "' class='elm_" + i + "'><p class='provincia'>" + obj[i].province + "</p><p class='poblacion'>" + obj[i].city + "</p><p class='calle'>" + obj[i].viaType + " " + obj[i].street + "</p><p class='numero'>" + obj[i].number + "</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() {
	
	org_tb_remove();
	
	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
    if (IdCalle == ""||IdCalle == "undefined"||IdCalle==null||IdCalle=="null"){
    	if(viaCompleta.charAt(0)==" ") viaCompleta = viaCompleta.substring(1,viaCompleta.length);
    	jQuery("#via").val(viaCompleta);
    	
    	get_direccion_by_google(viaCompleta);
    	// get_direccion();
    }else{
    // tb_remove();
    // Llamamos a la función que comprueba la cobertura de la dirección
    
    
    jQuery("#via").val(viaCompleta);
    jQuery("#numero").val(_numero);
    	
    check_cobertura();
    }
}

function check_cobertura() {
	/* exmmkk */
	org_tb_remove(); 
    
    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_serviciabilidad();
    }
    // 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 = "";
    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());

    $("#fprodId").val(_prodId);
    $("#fprovincia").val(_provincia);
    $("#fpoblacion").val(_poblacion);
    $("#fvia").val(_via);
    $("#fcalle").val(encodeURIComponent(_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);

    invoke_ctc(function(xData){
    	// ////////// uncomment the line below ////////////
    	_ctc = xData.split(',')[0].substring(1);
    	_requestId = xData.split(',')[1];
    	_requestId = _requestId.substring(0,_requestId.length-1);
    	$("#confirmaSolicitud").attr("action", get_url_portletResponse +"?enlaceDesde="+_enlaceDesde +"&afiliado=" + _afiliado + "&source=" + _source + "&ctc=" + _ctc + "&prodId=" + _prodId + "&cid=" + _cid + "&sid=" + _sid + "&wid=" + _wid + "&swid=" + _swid + "&zanpid=" + _zanpid + "&requestId=" + _requestId + "&direccionPredefinida=" + direccionPredefinida+"&tipoCliente="+_tipoCliente);
        $("#confirmaSolicitud").attr("method","post");
        $("#confirmaSolicitud").submit();
    });
    // $("#confirmaSolicitud").attr("action", get_url_portletResponse +
	// "?afiliado=" + _afiliado + "&source=" + _source + "&ctc=" + _ctc +
	// "&prodId=" + _prodId + "&cid=" + _cid + "&sid=" + _sid + "&wid=" + _wid +
	// "&swid=" + _swid + "&zanpid=" + _zanpid + "&requestId=" + _requestId);
    // $("#confirmaSolicitud").attr("method","get");
    return false;
}

function invoke_ctc(callback){
	var params = {
		ctc: _ctc,
		tipoCliente: _tipoCliente,
		ipOno: _ipOno,
		enlaceDesde: _enlaceDesde
	}
	$.post(get_url_confirmacion, params, callback);
}

// 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"
    });
}


