﻿var inicio = 0;
var idioma = "";
var region = 13;
var tiposPropiedad;
var tiposPropiedadSpanish = "1@Casa*2@Departamento*3@Oficina*4@Local comercial*5@Casa apta oficina*6@Casa apta local comercial*7@Cabaña / Refugio*8@Vivienda amoblada*9@Terreno habitacional*10@Terreno industrial*11@Terreno constructora*12@Parcela de agrado*13@Propiedad industrial*14@Propiedad agrícola*15@Bodega*16@Estacionamiento*17@Complejo turístico*18@Negocio*19@Isla*20@Otros";
var tiposPropiedadIngles = "1@House*2@Apartament*3@Office*4@Retail space*5@House suited for office*6@House suited for business*7@Cabin*8@Furnished Housing*9@Residential land*10@Industrial land*11@Development land*12@Leisure lot*13@Industrial property*14@Farm*15@Warehouse*16@Parking*17@Resort complex*18@Business*19@Island*20@Other";
var comunasXregion = new Array(16);
comunasXregion[0] = '';
comunasXregion[1] = '343@Alto Hospicio***6@Cami&#241;a***7@Colchane***5@Huara***8@Iquique***10@Pica***9@Pozo Almonte';
comunasXregion[2] = '18@Antofagasta***13@Calama***12@Mar&#237;a Elena***16@Mejillones***14@Ollagüe***15@San Pedro de Atacama***17@Sierra Gorda***19@Taltal***11@Tocopilla';
comunasXregion[3] = '28@Alto del Carmen***22@Caldera***20@Cha&#241;aral***23@Copiap&#243;***21@Diego de Almagro***27@Freirina***25@Huasco***24@Tierra Amarilla***26@Vallenar';
comunasXregion[4] = '33@Andacollo***40@Canela***39@Combarbal&#225;***32@Coquimbo***41@Illapel***29@La Higuera***31@La Serena***42@Los Vilos***38@Monte Patria***35@Ovalle***34@Paiguano***37@Punitaqui***36@R&#237;o Hurtado***43@Salamanca***30@Vicu&#241;a';
comunasXregion[5] = '44@Algarrobo***53@Cabildo***63@Calera***71@Calle Larga***47@Cartagena***80@Casablanca***57@Catemu***81@Conc&#243;n***45@El Quisco***46@El Tabo***66@Hijuelas***50@Isla de Pascua***74@Juan Fern&#225;ndez***64@La Cruz***52@La Ligua***67@Limache***61@Llaillay***72@Los Andes***62@Nogales***68@Olmu&#233;***60@Panquehue***54@Papudo***51@Petorca***73@Puchuncav&#237;***56@Putaendo***65@Quillota***79@Quilpu&#233;***75@Quintero***70@Rinconada***48@San Antonio***69@San Esteban***58@San Felipe***59@Santa Mar&#237;a***49@Santo Domingo***78@Valpara&#237;so***77@Villa Alemana***76@Vi&#241;a del Mar***55@Zapallar';
comunasXregion[6] = '113@Ch&#233;pica***114@Chimbarongo***84@Codegua***91@Coinco***88@Coltauco***89@Do&#241;ihue***83@Graneros***101@La Estrella***87@Las Cabras***100@Litueche***112@Lolol***86@Machal&#237;***97@Malloa***103@Marchihue***82@Mostazal***110@Nancagua***99@Navidad***90@Olivar***106@Palmilla***104@Paredones***105@Peralillo***93@Peumo***95@Pichidegua***102@Pichilemu***111@Placilla***108@Pumanque***94@Quinta de Tilcoco***85@Rancagua***98@Rengo***92@Requ&#237;noa***107@San Fernando***96@San Vicente***109@Santa Cruz';
comunasXregion[7] = '133@Cauquenes***132@Chanco***118@Colb&#250;n***137@Constituci&#243;n***135@Curepto***127@Curic&#243;***143@Empedrado***125@Huala&#241;e***129@Licant&#233;n***119@Linares***121@Longav&#237;***142@Maule***131@Molina***122@Parral***140@Pelarco***134@Pelluhue***138@Pencahue***126@Rauco***120@Retiro***136@R&#237;o Claro***128@Romeral***130@Sagrada Familia***141@San Clemente***115@San Javier***144@San Rafael***139@Talca***123@Teno***124@Vichuqu&#233;n***116@Villa Alegre***117@Yerbas Buenas';
comunasXregion[8] = '179@Antuco***145@Arauco***167@Bulnes***175@Cabrero***149@Ca&#241;ete***196@Chiguayante***161@Chill&#225;n***172@Chill&#225;n Viejo***152@Cobquecura***163@Coelemu***162@Coihueco***190@Concepci&#243;n***150@Contulmo***191@Coronel***146@Curanilahue***169@El Carmen***189@Florida***192@Hualqui***176@Laja***147@Lebu***148@Los &#225;lamos***177@Los &#225;ngeles***193@Lota***183@Mulch&#233;n***181@Nacimiento***182@Negrete***154@Ninhue***156@&#241;iqu&#233;n***170@Pemuco***188@Penco***165@Pinto***160@Portezuelo***185@Quilaco***180@Quilleco***166@Quill&#243;n***153@Quirihue***164@Ranquil***155@San Carlos***157@San Fabi&#225;n***168@San Ignacio***158@San Nicol&#225;s***195@San Pedro de la Paz***173@San Rosendo***184@Santa B&#225;rbara***194@Santa Juana***187@Talcahuano***151@Tir&#250;a***186@Tom&#233;***159@Treguaco***178@Tucapel***174@Yumbel***171@Yungay';
comunasXregion[9] = '197@Angol***210@Carahue***199@Collipulli***219@Cunco***207@Curacaut&#237;n***226@Curarrehue***202@Ercilla***218@Freire***208@Galvarino***222@Gorbea***213@Lautaro***223@Loncoche***203@Lonquimay***201@Los Sauces***204@Lumaco***215@Melipeuco***211@Nueva Imperial***227@Padre las Casas***209@Perquenco***221@Pitrufqu&#233;n***225@Puc&#243;n***200@Pur&#233;n***198@Renaico***216@Saavedra***212@Temuco***217@Teodoro Schmidt***220@Tolt&#233;n***205@Traigu&#233;n***206@Victoria***214@Vilc&#250;n***224@Villarrica';
comunasXregion[10] = '256@Ancud***255@Calbuco***259@Castro***267@Chait&#233;n***262@Chonchi***253@Cocham&#243;***260@Curaco de V&#233;lez***258@Dalcahue***247@Fresia***248@Frutillar***268@Futaleuf&#250;***266@Hualaihu&#233;***250@Llanquihue***251@Los Muermos***254@Maull&#237;n***242@Osorno***269@Palena***252@Puerto Montt***245@Puerto Octay***249@Puerto Varas***263@Puqueld&#243;n***246@Purranque***243@Puyehue***264@Queil&#233;n***265@Quell&#243;n***257@Quemchi***261@Quinchao***244@R&#237;o Negro***240@San Juan de la Costa***241@San Pablo';
comunasXregion[11] = '272@Ais&#233;n***276@Chile Chico***271@Cisnes***277@Cochrane***274@Coihaique***270@Guaitecas***273@Lago Verde***279@O`Higgins***275@R&#237;o Iba&#241;ez***278@Tortel';
comunasXregion[12] = '290@Ant&#225;rtica***289@Cabo de Hornos***282@Laguna Blanca***280@Natales***287@Porvenir***286@Primavera***285@Punta Arenas***284@R&#237;o Verde***283@San Gregorio***288@Timaukel***281@Torres del Paine';
comunasXregion[13] = '301@Alhue***309@Bu&#237;n***307@Calera de Tango***321@Cerrillos***318@Cerro Navia***292@Colina***326@Conchal&#237;***297@Curacav&#237;***333@El Bosque***303@El Monte***338@Estaci&#243;n Central***327@Huechuraba***324@Independencia***305@Isla de Maipo***330@La Cisterna***316@La Florida***332@La Granja***334@La Pintana***314@La Reina***293@Lampa***313@Las Condes***311@Lo Barnechea***328@Lo Espejo***319@Lo Prado***342@Macul***320@Maip&#250;***298@Mar&#237;a Pinto***299@Melipilla***340@&#241;u&#241;oa***329@P. Aguirre Cerda***306@Padre Hurtado***310@Paine***302@Pe&#241;aflor***315@Pe&#241;alol&#233;n***296@Pirque***337@Providencia***317@Pudahuel***295@Puente Alto***323@Quilicura***336@Quinta Normal***325@Recoleta***322@Renca***308@San Bernardo***341@San Joaqu&#237;n ***294@San Jos&#233; de Maipo***335@San Miguel***300@San Pedro***331@San Ram&#243;n***339@Santiago***304@Talagante***291@Tiltil***312@Vitacura';
comunasXregion[14] = '234@Corral***236@Futrono***237@La Uni&#243;n***238@Lago Ranco***229@Lanco***233@Los Lagos***231@M&#225;fil***228@Mariquina***235@Paillaco***230@Panguipulli***239@R&#237;o Bueno***232@Valdivia';
comunasXregion[15] = '3@Arica***4@Camarones***1@General Lagos***2@Putre';
var textoSpanish = "¡Cámbiate Ya! Encuentra Tu Propiedad@@@Operación@@@Comprar@@@Arrendar@@@Arrendar por temporada@@@Tipo propiedad@@@Región@@@Comuna@@@Buscar por código de la propiedad@@@Buscar@@@Cámbiate al Equipo Ganador@@@Noticias@@@más@@@Propiedades RE/MAX en el mundo@@@Propiedades Excepcionales";
var textoIngles = "Move Now! Find Your Property@@@Operation@@@Buy@@@Rent@@@Seasonal Rent@@@Property@@@Region@@@Borough@@@Enter code@@@Search@@@Join RE/MAX@@@News@@@more@@@RE/MAX Properties around the World@@@Exceptional Properties";
var textos;

$(document).ready(function() {
    $(".actualizando").ajaxStart(function() {
        if(inicio!=0){$(this).show();}
    });
    $(".actualizando").ajaxStop(function() {
        $(this).hide();
    });
    $('.slideshow').cycle({
		fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
	});
});

$(function() {
    $(".actualizando").hide();
    idioma = getQuerystring('la');
    //valores seleccionados por defecto en el buscador
    buscValoresXDefecto();
    //Clic en cb de regiones para cambio de comunas
    $("#buscReg input").each(function() {
        jQuery(this).click(function() {
            region = jQuery(this).attr("rel");
            buscadorComunasRegion();
        });
    });
    //Textos
    textosIdioma();
});

$(window).keypress(function(e) {
    if(e.keyCode == 13) {
        e.preventDefault();
        if($("#tbCodigo").val() != ""){
            validarBuscadorCodigo();
        }else{
            validarBuscador();
        }
    }
});


//Validación del envío del formulario del buscador principal
function validarBuscador() {
    inicio = 1;
    var msgError = "";
    msgError = fnErrorOperacion() + fnErrorTipoPropiedad() + fnErrorComuna();
    if (msgError == "") {
        //Almacenamiento de la cookie con la última búsqueda
        try{
            var cookieUltimaBusqueda = fnCookieOperacion() + fnBuscTipoPropiedad().replace("&","@@") + fnCookieRegion() + fnBuscComuna().replace("&","@@");
            $.cookie("remaxUB", cookieUltimaBusqueda, { path: '/', expires: 300 });
        }catch(Error){}
        //Redirección
        var urlDestino = "pub/listados/listado.aspx?" + fnDestino() + fnBuscTipoPropiedad() + fnBuscComuna() + fnBuscIdioma() + fnBuscRegion();
        window.location = urlDestino;
    } else {
        alert(msgError);
        return false;
    }
}

//Validación del envío del formulario por código
function validarBuscadorCodigo() {
    inicio = 1;
    var codigo = "";
    codigo = $("#tbCodigo").val();
    if (codigo != "") {
        $.get("recursos/buscador/buscCodigo.ashx", {
            ac: "buscCodigo",
            co: codigo,
            _: Math.random() * 10
        },
        function(data) {
            if (data == "False") {
                alert("El código ingresado no existe o no está activo.");
            } else {                  
                var urlDestino = "pub/listados/fichaPropiedad.aspx?i=" + codigo + fnBuscIdioma() + data;
                window.location = urlDestino;
            }
        });
    } else {
        alert("Por favor, ingrese un código de propiedad");
        return false;
    }
}

//Click en unete a remax
function unete() {
    var urlDestino = "pub/contenido/unete.aspx";
    window.location = urlDestino;
}

//Click en Why Chile
function whyChile() {
    var urlDestino = "pub/contenido/whyChile.aspx?la=i";
    window.location = urlDestino;
}

//Textos según el idioma seleccionado
function textosIdioma(){
    if(idioma=="i"){textos = textoIngles}else{textos = textoSpanish}
    var arrTextos = textos.split('@@@');
    for (var i = 0; i < arrTextos.length; i++) {
        if (i==9){
            $("#butCodigo").attr("value",(arrTextos[i]));
            $("#butBuscar").attr("value",(arrTextos[i]));
        }else{
            $("#txt" + (i + 1)).html(arrTextos[i]);
        }
    }
     if(idioma=="i"){
        $("#rcoll").attr("rel", "remaxMundo/remaxCollectioni.htm");
        $("#rcoll").attr("href", "remaxMundo/remaxCollectioni.htm");
        $("#mapasa").attr("rel", "remaxMundo/mapasai.htm");
        $("#mapasa").attr("href", "remaxMundo/mapasai.htm");
        $("#mapana").attr("rel", "remaxMundo/mapanai.htm");
        $("#mapana").attr("href", "remaxMundo/mapanai.htm");
        $("#mapaa").attr("rel", "remaxMundo/mapaai.htm");
        $("#mapaa").attr("href", "remaxMundo/mapaai.htm");
        $("#mapae").attr("rel", "remaxMundo/mapaei.htm");
        $("#mapae").attr("href", "remaxMundo/mapaei.htm");
        $("#mapaas").attr("rel", "remaxMundo/mapaasi.htm");
        $("#mapaas").attr("href", "remaxMundo/mapaasi.htm");
        $("#mapao").attr("rel", "remaxMundo/mapaoi.htm");
        $("#mapao").attr("href", "remaxMundo/mapaoi.htm");
        $("#mapasa").attr("title", "Central & South America");
        $("#mapana").attr("title", "North America");
        $("#mapaa").attr("title", "Africa");
        $("#mapae").attr("title", "Europe");
        $("#mapaas").attr("title", "Asia");
        $("#mapao").attr("title", "Oceania");
        $("#cajaUnete").hide();
        $("#cajaWhyChile").show();
        $("#masNoticias").attr("href", "pub/noticias/noticias.aspx?la=i");
    }else{
        $("#rcoll").attr("rel", "remaxMundo/remaxCollection.htm");
        $("#rcoll").attr("href", "remaxMundo/remaxCollection.htm");
        $("#cajaUnete").show();
        $("#cajaWhyChile").hide();
    }
    $('#rcoll').cluetip({sticky: false, closePosition: 'title', arrows: true, positionBy: 'mouse', topOffset:25, leftOffset:-275, closeText: 'Cerrar', titleAttribute:'title'});
    $('#mapasa').cluetip({sticky: true, closePosition: 'title', arrows: true, positionBy: 'mouse', topOffset:150, leftOffset:-300, closeText: 'Cerrar', titleAttribute:'title'});
    $('#mapana').cluetip({sticky: true, closePosition: 'title', arrows: true, positionBy: 'mouse', topOffset:75, leftOffset:-300, closeText: 'Cerrar', titleAttribute:'title'});
    $('#mapaa').cluetip({sticky: true, closePosition: 'title', arrows: true, positionBy: 'mouse', topOffset:75, leftOffset:-300, closeText: 'Cerrar', titleAttribute:'title'});
    $('#mapae').cluetip({sticky: true, closePosition: 'title', arrows: true, positionBy: 'mouse', topOffset:75, leftOffset:-300, closeText: 'Cerrar', titleAttribute:'title'});
    $('#mapaas').cluetip({sticky: true, closePosition: 'title', arrows: true, positionBy: 'mouse', topOffset:75, leftOffset:-300, closeText: 'Cerrar', titleAttribute:'title'});
    $('#mapao').cluetip({sticky: true, closePosition: 'title', arrows: true, positionBy: 'mouse', topOffset:75, leftOffset:-300, closeText: 'Cerrar', titleAttribute:'title'});
}

//Seteo de selecciones iniciales
function buscValoresXDefecto(){
    var operacion = readCookieUltimaBusqueda("op");
    var tipoPropiedad = readCookieUltimaBusqueda("tp");
    if (readCookieUltimaBusqueda("re") != ""){region = readCookieUltimaBusqueda("re")}
    var comuna = readCookieUltimaBusqueda("co");
    
    if((operacion == 1) || (operacion == "")){
        $("#rbComprar").attr("checked","checked");
    }
    if(operacion == 2){
        $("#rbArrendar").attr("checked","checked");
    }
    if(operacion == 3){
        $("#rbArrendarT").attr("checked","checked");
    }
    if(idioma=="i"){tiposPropiedad = tiposPropiedadIngles}else{tiposPropiedad = tiposPropiedadSpanish}
    $("#buscTP").html("");
    var texto = "";
    var arrTP = tiposPropiedad.split('*');
    for (var i = 0; i < arrTP.length; i++) {
        var sDatos = arrTP[i].split('@');
        var stylo="";
        if(i == 0){stylo = "  class='primero'";}
        texto = texto + "<li" + stylo + "><input type='checkbox' id='tp" + sDatos[0] + "' name='" + sDatos[1] + "' rel='" + sDatos[0] + "' /><label for='tp" + sDatos[0] + "'>" + sDatos[1] + "</label></li>";
    }
    $("#buscTP").html(texto);
    if (tipoPropiedad != ""){
        var arrTp = tipoPropiedad.split(',');
        for (var i = 0; i < arrTp.length; i++) {
            $("#tp" + arrTp[i]).attr("checked","checked");
        }
    }else{
        $("#tp1").attr("checked","checked");
        $("#tp2").attr("checked","checked");
    }
    if ((region != "") && (region != 0)){
        $("#rbReg" + region).attr("checked","checked");    
    }else{
        $("#rbReg13").attr("checked","checked");
        region = 13  
    }
    buscadorComunasRegion();
    if (comuna != ""){
        var arrCo = comuna.split(',');
        for (var i = 0; i < arrCo.length; i++) {
            $("#c" + arrCo[i]).attr("checked","checked");
        }
    }
}

//Llenado de comunas
function buscadorComunasRegion() {
    $("#buscCom").html("");
    var texto = "";
    var arrComunas = comunasXregion[region].split('***');
    for (var i = 0; i < arrComunas.length; i++) {
        var sDatos = arrComunas[i].split('@');
        var accion = "";
        var stylo="";
        if(i==0){stylo = " class='primero'";}
        texto = texto + "<li" + stylo + "><input type='checkbox' id='c" + sDatos[0] + "' name='" + sDatos[1] + "' rel='" + sDatos[0] + "' /><label for='c" + sDatos[0] + "'>" + sDatos[1] + "</label></li>";
    }
    $("#buscCom").html(texto);
}

//Recepción de los parámetros del querystring
function getQuerystring(key, default_)
{
  if (default_==null) default_=""; 
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return default_;
  else
    return qs[1];
}

//Funciones de error en la búsqueda
function fnErrorOperacion(){
    var errorOperacion = "";
    if($("#rbComprar").attr("checked") == false && $("#rbArrendar").attr("checked") == false && $("#rbArrendarT").attr("checked") == false){
        errorOperacion = "Indique si busca propiedades en Venta o Arriendo.\n";
    }
    return errorOperacion;
}
function fnErrorTipoPropiedad() {
    var errorTipoPropiedad = "";
    var numero = 0;
    $("#buscTP li input:checked").each(function() {
        if (jQuery(this).attr("rel")) {
            numero++;
        }
    });
    if (numero == 0) {
        errorTipoPropiedad = "Por favor, seleccione al menos un tipo de propiedad.\n";
    }
    return errorTipoPropiedad;
}
function fnErrorComuna() {
    var errorComuna = "";
    var numero = 0;
    $("#buscCom li input:checked").each(function() {
        if (jQuery(this).attr("rel")) {
            numero++;
        }
    });
    if (numero == 0) {
        errorComuna = "Por favor, seleccione al menos una comuna.\n";
    }
    return errorComuna;
}

//Funciones que ejecutan la búsqueda
function fnDestino() {
    var urlDestino = "";
    if($("#rbComprar").attr("checked") == true){
        urlDestino = "op=1";
    }
    if($("#rbArrendar").attr("checked") == true){
        urlDestino = "op=2";
    }
    if($("#rbArrendarT").attr("checked") == true){
        urlDestino = "op=3";
    }
    return urlDestino;
}
function fnBuscTipoPropiedad() {
    var tipoPropiedad = "";
    var arrTipoPropiedad = new Array(15);
    $("#buscTP li input:checked").each(function() {
        if (jQuery(this).attr("rel")) {
            arrTipoPropiedad[jQuery(this).attr("rel")] = jQuery(this).attr("rel");
        }
    });
    for (h = 0; h <= 20; h++) {
        if (arrTipoPropiedad[h] > 0) {
            if (tipoPropiedad != "") { tipoPropiedad = tipoPropiedad + "," + arrTipoPropiedad[h] } else { tipoPropiedad = arrTipoPropiedad[h] }
        }
    }
    tipoPropiedad = "&tp=" + tipoPropiedad;
    return tipoPropiedad;
}
function fnBuscComuna() {
    var comuna = "";
    $("#buscCom li input:checked").each(function() {
        if (jQuery(this).attr("rel")) {
            var idComuna = jQuery(this).attr("rel");
            if (idComuna >= 1000){idComuna = idComuna - 1000}
            if (comuna != "") { comuna = comuna + "," + idComuna } else { comuna = idComuna }
        }
    });
    comuna = "&co=" + comuna;
    return comuna;
}
function fnBuscRegion() {
    region = "&re=" + region;
    return region;
}
function fnBuscIdioma() {
    var parametroIdioma = "";
    if(idioma == "i"){
        parametroIdioma = "&la=i";
    }else{
        parametroIdioma = ""
    }
    return parametroIdioma;
}

//Funciones de almacenamiento de la cookie de última búsqueda
function fnCookieOperacion() {
    var cookieOperacion = "";
    if($("#rbComprar").attr("checked") == true){
        cookieOperacion = "op=1";
    }
    if($("#rbArrendar").attr("checked") == true){
        cookieOperacion = "op=2";
    }
    if($("#rbArrendarT").attr("checked") == true){
        cookieOperacion = "op=3";
    }
    return cookieOperacion;
}
function fnCookieRegion() {
    var region = "";
    $("#buscReg li input:checked").each(function() {
        if (jQuery(this).attr("rel")) {
            var idRegion = jQuery(this).attr("rel");
            if (region != "") { region = region + "," + idRegion } else { region = idRegion }
        }
    });
    region = "@@re=" + region;
    return region;
}

//Lectura de cookie de útlima búsqueda
function readCookieUltimaBusqueda(name) {
    var valor = "";
    var cok = $.cookie("remaxUB");
    if (cok != null){   
        var nameEQ = name + "=";
        var ca = cok.split('@@');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) valor = c.substring(nameEQ.length, c.length);
        }
    }
    return valor;
}
