﻿var _gUniqueTrack = { load: false, fb: false, c3g: false, pp: false, satellite: false, togglemap: false, mylocation: false, wather: false, waze: false, signin: false, addpoitry: false, addpoi: false, terms: false, faq: false  };

$(document).ready(function () {

    if (!_gUniqueTrack.load) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Carga de Pagina']);
        _gUniqueTrack.load = true;
    }
    
    hosturl = dojo.byId($("input[id*=hosturl]")[0].id).value;

    try {
        if ($.browser.msie)
            FB.init({
                appId: '207243125976025',
                status: true, // check login status
                cookie: true, // enable cookies to allow the server to access the session
                xfbml: true  // parse XFBML
            });
        FB.getLoginStatus(ProccessFBLoginStatus);
        FB.Event.subscribe('auth.login', FBConnectUserLogin);
        dojo.byId('facebookWidget').style.display = "block";
    }
    catch (ex) {
        dojo.byId('facebookWidget').style.display = "none";
    }

    dojo.byId("loading").style.display = "none";
    if (dojo.byId('userEmail').value != "") {
        dojo.byId("tab3").style.display = "block";
        //ActivateAddPointOnMap();
        dojo.byId("btnCloseSession").style.display = "block";
    }
    else {
        dojo.byId("tab3").style.display = "none";
        dojo.byId("btnCloseSession").style.display = "none";
        //DeactivateAddPointOnMap();
    }

    if (!document.getElementById("leftPanel").style.width)
        document.getElementById("leftPanel").style.width = "230px";

    ResizeAll();
    ReplaceFonts();

    $('#txtWhat').keypress(function (event) {
        if (event.which == '13') {
            event.preventDefault();
            _criteria = "";
            NewFreeSearch();
        }
    });

    $('#txtWhere').keypress(function (event) {
        if (event.which == '13') {
            event.preventDefault();
            _criteria = "";
            NewFreeSearch();
        }
    });

    setTimeout("ForceResizeMap();", 500);
    //setTimeout("ResizeAll();", 600);    

});

$(window).resize(function (event) {
    ResizeAll();
    setTimeout("ForceResizeMap();", 500);
    //setTimeout("ResizeAll();", 600);
});

function ReplaceFonts() {
    //Cufon.replace('.footerLink', { fontFamily: 'Movistar Text' });
    Cufon.replace('.whatQ', { fontFamily: 'Movistar Text' });
    Cufon.replace('.searchButton a', { fontFamily: 'Movistar Text' });
    Cufon.replace('.advancedSearch', { fontFamily: 'Movistar Text' });
    Cufon.replace('.w1Text', { fontFamily: 'Movistar Text' });
    Cufon.replace('.menuRoot', { fontFamily: 'Movistar Text' });
    Cufon.replace('.advertisePoint', { fontFamily: 'Movistar Text' });
    Cufon.replace('.beginSession', { fontFamily: 'Movistar Text' });
    Cufon.replace('.forgotPassword', { fontFamily: 'Movistar Text' });
    Cufon.replace('.hasNoAccount', { fontFamily: 'Movistar Text' });
    Cufon.replace('.signup', { fontFamily: 'Movistar Text' });
    Cufon.replace('.btnSignup', { fontFamily: 'Movistar Text' });
    Cufon.replace('.btnSignin', { fontFamily: 'Movistar Text' });
    Cufon.replace('.addPOILabel', { fontFamily: 'Movistar Text' });
    Cufon.replace('.btnStep', { fontFamily: 'Movistar Text' });
    Cufon.replace('.qsCurrentMap', { fontFamily: 'Movistar Text' });
    Cufon.replace('.qsArea', { fontFamily: 'Movistar Text' });
    Cufon.replace('.tweetsOptions', { fontFamily: 'Movistar Text' });
    Cufon.replace('.btnNewSearch', { fontFamily: 'Movistar Text' });    
}

// Resize Related

function GetWinHeight() {
    var mapFrameHeight = window.innerHeight;
    if (mapFrameHeight == null) {
        if (document.documentElement && document.documentElement.clientHeight)
            mapFrameHeight = document.documentElement.clientHeight;
        else
            mapFrameHeight = document.body.clientHeight;
    }
    return mapFrameHeight;
}

var _hasPagination = false;

function ResizeAll() {

    var clientWidth = document.body.clientWidth;

    var leftPanelWidth = parseInt(document.getElementById("leftPanel").style.width);

    if (clientWidth >= 1020) {

        $("#wrapper").css("width", "100%");
        //710
        $("#map").css("width", ((940 - leftPanelWidth) + (clientWidth - 940 - 60)) + "px");
        $("#content").css("width", (940 + (clientWidth - 940 - 60)) + "px");
        clientWidth = clientWidth - 60;
    }
    else {

        $("#wrapper").css("width", "980px");
        //710
        $("#map").css("width", (940 - leftPanelWidth) + "px");
        $("#content").css("width", "940px");
        clientWidth = 940;
    }
    
    var clientHeight = GetWinHeight();

    $("#map").css("height", (clientHeight - 165) + "px");    
    $("#leftPanel").css("height", (clientHeight - 165) + "px");

    var bothResultsH = 0;
    if(_freeSearchHasBothResults)
        bothResultsH = 35;

    var paginationH = 0;
    if (_hasPagination)
        paginationH = 80;

    var newSearchButtonH = 45;

    _searchResultsHeight = (clientHeight - (165 + bothResultsH + paginationH + newSearchButtonH));
    $("#actualResult").css("height", _searchResultsHeight + "px");

    // Scroll size affect width, scroll bar use some width
    if (clientHeight < 520) {
        $("#searchPanel").css("width", "215px");
        $("#bannerContainer").css("width", "215px");
        $("#advancedSearchPanel").css("width", "215px");
    }
    else {
        $("#searchPanel").css("width", "230px");
        $("#bannerContainer").css("width", "230px");
        $("#advancedSearchPanel").css("width", "230px");
    }

    $("#intwrapper").css("width", clientWidth + "px");

    $("#window2").position({
        of: $("#map"),
        my: "right top",
        at: "right top",
        collision: "none"
    });

    $("#facebookWidget").position({
        of: $("#headerMenu"),
        my: "left top",
        at: "left top",
        collision: "none",
        offset: "210 15"
    });    

    $("#leftPanelToggle").position({
        of: $("#map"),
        my: "left top",
        at: "left top",
        collision: "none",
        offset: "0 200"
    });

    var t = "45";

    // Some times work fine, I don not fukkin understand ie at all, ie suxxx
    /*if ($.browser.msie)
        t = "43";*/

    //var v = (dojo.byId("picoPlacaContainer").style.display == "block");
    var v1 = $('#picoPlacaContainer').is(':visible');
    if (!v1)
        $("#picoPlacaContainer").show(10, function () {
            $("#picoPlacaContainer").position({
                of: $("#content"),
                my: "right top",
                at: "right top",
                collision: "none",
                offset: "-10 " + t
            });
            dojo.byId('picoPlacaContainer').style.display = "none";
        });
    else
        $("#picoPlacaContainer").position({
            of: $("#content"),
            my: "right top",
            at: "right top",
            collision: "none",
            offset: "-10 " + t
        });


    var v2 = $('#quickSearch').is(':visible');
    if (!v2)
        $("#quickSearch").show(10, function () {
            $("#quickSearch").position({
                of: $("#map"),
                my: "left top",
                at: "left top",
                collision: "none",
                offset: (50+(230-parseInt(document.getElementById("leftPanel").style.width))).toString() + " 0"
            });

            $("#quickSearch").hide();
        });
    else
        $("#quickSearch").position({
            of: $("#map"),
            my: "left top",
            at: "left top",
            collision: "none",
            offset: (50+(230-parseInt(document.getElementById("leftPanel").style.width))).toString() + " 0"
        });

    var v3 = (dojo.byId("quickSearchOptions").style.display == "block");
    if (!v3)
        $("#quickSearchOptions").show(10, function () {
            $("#quickSearchOptions").position({
                of: $("#map"),
                my: "right top",
                at: "right top",
                collision: "none",
                offset: (70+(230-parseInt(document.getElementById("leftPanel").style.width))).toString() + " 0"
            });

            $("#quickSearchOptions").hide();
        });
    /*else
        $("#quickSearchOptions").position({
            of: $("#map"),
            my: "left top",
            at: "left top",
            collision: "none",
            offset: "70 0"
        });*/
    
    var v4 = (dojo.byId("userTweets").style.display == "block");
    if (!v4)
        $("#userTweets").show(10,function () {
            $("#userTweets").position({
                of: $("#map"),
                my: "left top",
                at: "left top",
                collision: "none",
                offset: (80+(230-parseInt(document.getElementById("leftPanel").style.width))).toString() + " 80"
            });

            $("#userTweets").hide();
        });
    else
        $("#userTweets").position({
            of: $("#map"),
            my: "left top",
            at: "left top",
            collision: "none",
            offset: (80+(230-parseInt(document.getElementById("leftPanel").style.width))).toString() + " 80"
        });
    
    var v5 = (dojo.byId("tweetsLocations").style.display == "block");
    if (!v5)
        $("#tweetsLocations").show(10, function () {
            $("#tweetsLocations").position({
                of: $("#map"),
                my: "right top",
                at: "right top",
                collision: "none",
                offset: "-320 -40"
            });

            $("#tweetsLocations").hide();
        });
    else
        $("#tweetsLocations").position({
            of: $("#map"),
            my: "right top",
            at: "right top",
            collision: "none",
            offset: "-320 -40"
        });


    if (clientHeight < 520) {
        $("#tab1").hide();
        $("#tab2").hide();
        $("#leftPanelToggle").hide();
        
    }
    else {
        $("#tab1").show();
        $("#tab2").show();
        $("#leftPanelToggle").show();
    }

    $("#tab1").position({
        of: $("#map"),
        my: "right bottom",
        at: "right bottom",
        collision: "none",
        offset: "0 -200"        
    });

    $("#tab2").position({
        of: $("#map"),
        my: "right bottom",
        at: "right bottom",
        collision: "none",
        offset: "32 -100"
    });

    var v8 = (dojo.byId("tab3").style.display == "block");
    if (!v8)
        $("#tab3").show(10, function () {
            $("#tab3").position({
                of: $("#map"),
                my: "right bottom",
                at: "right bottom",
                collision: "none",
                offset: "0 -300"
            });
            if (dojo.byId('userEmail').value == "")
                $("#tab3").hide();
        });
    else {
        $("#tab3").position({
            of: $("#map"),
            my: "right bottom",
            at: "right bottom",
            collision: "none",
            offset: "0 -300"
        });
    }
    /*
    if (clientHeight < 620)
        $("#tab3").hide();
    else {        
        if (dojo.byId('userEmail').value != "")
            $("#tab3").show();
        else
            $("#tab3").hide();
    }*/

    if (clientHeight < 520)
        $("#feedback").hide();
    else
        $("#feedback").show();

    $("#feedback").position({
        of: $("#map"),
        my: "right bottom",
        at: "right bottom",
        collision: "none",
        offset: "32 -10"
    });

    $("#MapLoading").position({
        of: $("#headerMenu"),
        my: "left top",
        at: "left top",
        collision: "none",
        offset: "262 -55"
    });

    var v6 = (dojo.byId("dvMeasureTool").style.display == "block");

    if (!v6)
        $("#dvMeasureTool").show(10, function () {
            $("#dvMeasureTool").position({
                of: $("#map"),
                my: "right bottom",
                at: "right bottom",
                collision: "none",
                offset: "-60 -10"
            });

            $("#dvMeasureTool").hide();
        });
    else
        $("#dvMeasureTool").position({
            of: $("#map"),
            my: "right bottom",
            at: "right bottom",
            collision: "none",
            offset: "-60 -10"
        });

    $("#dvScaleBar").position({
        of: $("#map"),
        my: "right bottom",
        at: "right bottom",
        collision: "none",
        offset: "-30 -15"
    });

    var v7 = (dojo.byId("bingLogoTrans").style.display == "block");
    if (!v7)
        $("#bingLogoTrans").show(10, function () {
            $("#bingLogoTrans").position({
                of: $("#map"),
                my: "right bottom",
                at: "right bottom",
                collision: "none",
                offset: "-30 -15"
            });
            $("#bingLogoTrans").hide();
        });
        else
            $("#bingLogoTrans").position({
                of: $("#map"),
                my: "right bottom",
                at: "right bottom",
                collision: "none",
                offset: "-30 -15"
            });

    // Centering Windows on Resize

    var popup = dojo.byId("popupBackground");
    if (popup.style.display == "block") {
        
        popup.style.width = document.body.clientWidth + 'px';
        popup.style.height = GetWinHeight() + 'px';

        // Sign(in/up) Windows

        CenterWindow("signin");
        CenterWindow("signup");
        CenterWindow("successSignup");
        CenterWindow("miniSignin");
        CenterWindow("welcomeScreen");               

        // POI Windows

        CenterWindow("userPOIList");
        CenterWindow("addPOI");
        CenterWindow("deletePOI");

        // User Profile Windows
        CenterWindow("userProfile");

        // ContactUs
        CenterWindow("contactUs");

        // POI Movement Confirmation Window
        CenterWindow("movePOI");

        // SendPOIByEmailWindows
        CenterWindow("sendPOIByEmail");

        // FeedBack
        CenterWindow("feedbackWindow");
        
    }
}

var _isLeftPanelMinimized = false;

function ToggleLeftPanel() {

    if (!_gUniqueTrack.togglemap) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Toggle Map']);
        _gUniqueTrack.togglemap = true;
    }

    if (document.getElementById("leftPanel").style.width == "230px") {
        
        dojo.removeClass("leftPanelToggle", "minimizeLPanelButton");
        dojo.addClass("leftPanelToggle", "maximizeLPanelButton");

        $("#leftPanel").animate({ width: "0px" }, { duration: 200 });
        $("#leftPanelToggle").animate({ left: "-=230px" }, { duration: 200 });
        $("#map").animate({ width: "+=230px" }, { duration: 200 });        
    }
    else {

        dojo.removeClass("leftPanelToggle", "maximizeLPanelButton");
        dojo.addClass("leftPanelToggle", "minimizeLPanelButton");

        $("#leftPanel").animate({ width: "230px" }, { duration: 200 });
        $("#leftPanelToggle").animate({ left: "+=230px" }, { duration: 200 });
        $("#map").animate({ width: "-=230px" }, { duration: 200 });        
    }

    setTimeout("ForceResizeMap();", 500);
}

function ForceResizeMap()
{
    _map.resize();
    _map.reposition();
}

function CenterWindow(id) {
    var w = dojo.byId(id);
    if (w.style.display == "block") {
        $("#" + id).position({
            of: $("#popupBackground"),
            my: "center center",
            at: "center center",
            collision: "none"
        });
    }
}

// Custom Checboxes

function checkboxClick(id) {
    if (dojo.hasClass(id, "w1oDisabled")) {
        dojo.removeClass(id, "w1oDisabled");
        dojo.addClass(id, "w1oEnabled");
        return true;
    }
    else {
        dojo.removeClass(id, "w1oEnabled");
        dojo.addClass(id, "w1oDisabled");
        return false;
    }
}

// Old MessageBox

function ShowMsgBox(text) {
    dojo.byId("divTransparency").style["display"] = "block"
    $("#divTransparency").animate({ opacity: "0.5" }, { duration: 300, complete: function () {
        dojo.byId("divTextAlert").innerHTML = text;        
        dojo.byId("divAlert").style["display"] = "block";
        //$("#divAlert").animate({ width: "+=30", height: "+=30" }, { duration: 200, easing: 'easeOutBounce' });
    } 
    });
    return false;
}

function HideMsgBox() {
    dojo.byId("divAlert").style["display"] = "none";
    $("#divTransparency").animate({ opacity: "0" }, { duration: 300, complete: function () { dojo.byId("divTransparency").style["display"] = "none"; } });
    
    return false;
}

// Loading Widget

function ShowLoading() {
    dojo.removeClass("MapLoading", "loader_hidden");
    dojo.addClass("MapLoading", "loader_visible");
}

function HideLoading() {
    dojo.removeClass("MapLoading", "loader_visible");
    dojo.addClass("MapLoading", "loader_hidden");
}

// Search Panel Interaction

function ShowMainPanel() {
    $("#searchResult").hide();
    $("#freeResultsOption").hide();
    $("#searchPanel").show();
    $("#bannerContainer").show();
}

function HideResultPanel() {
    dojo.byId("searchResult").style.display = "none";
    dojo.byId("searchPanel").style.display = "block";
    dojo.byId("advancedSearchPanel").style.display = "none";
    dojo.byId("bannerContainer").style.display = "block";
}

function ShowResultPanel() {
    dojo.byId("searchResult").style.display = "block";
    dojo.byId("searchPanel").style.display = "none";
    dojo.byId("advancedSearchPanel").style.display = "none";    
    dojo.byId("bannerContainer").style.display = "none";
}

function CreateBtnNewSeach() {
    html = "<div style=\"height:10px;\"></div><div class=\"btnNewSearch\"><a href=\"javascript:void(0);\" onclick=\"return DoNewSearch();\">Nueva Búsqueda</a></div><div style=\"height:10px;\"></div>";
    return html;
}

// CheckBoxes

function chkPico_click(id) {
    if (!_gUniqueTrack.pp) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Visualizacion de Pico y Placa']);
        _gUniqueTrack.pp = true;
    }

    var checked = checkboxClick(id);
    if(checked)
        if (_currentMapType != "ESRI")
            ShowMsgBox('Funcionalidad visible solo sobre el mapa de Location World');
    GoPico(checked);   

}

function chkCoverage_click(id) {
    if (!_gUniqueTrack.c3g) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Visualización de Cobertura 3g']);
        _gUniqueTrack.c3g = true;
    }
    var checked = checkboxClick(id);
    if (checked)
        if (_currentMapType != "ESRI")
            ShowMsgBox('Funcionalidad visible solo sobre el mapa de Location World');
    GoCoverage(checked);
    
}

function chkWazeTraffic_click(id) {
    var checked = checkboxClick(id);
    GoWazeTraffic(checked);
    
}

function chkSatelite_click(id) {
    if (!_gUniqueTrack.satellite) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Visualizacion de Satelite']);
        _gUniqueTrack.satellite = true;
    }
    var checked = checkboxClick(id);
    GoSatelite(checked);
    
}

function btnHome_click() {
    $("#searchPanel").show();
    $("#advancedSearchPanel").hide();
    
}

function btnCloseSession_click() {
    
}

function btnHelp_click() {
    alert('Help clicked');
}

function btnCategories_click() {    
    if (dojo.byId("quickSearch").style.display=="none") {
        dojo.removeClass("btnCategories", "btnCategories");
        dojo.addClass("btnCategories", "btnCategories_over");        
    }
    else {
        dojo.removeClass("btnCategories", "btnCategories_over");
        dojo.addClass("btnCategories", "btnCategories");
    }

    if ($.browser.msie) {
        if(dojo.byId("quickSearch").style.display != "block")
            dojo.byId("quickSearch").style.display = "block";
        else
            dojo.byId("quickSearch").style.display = "none";
    }
    else
        $("#quickSearch").toggle(200);

    $("#quickSearchOptions").hide();

    
}

function btnTweets_click() {
    GoTweets();
    
}

function btnFacebook_click() {
    alert('Facebook clicked');
    
}

function btnWeather_click() {
    if (!_gUniqueTrack.wather) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Clima']);
        _gUniqueTrack.wather = true;
    }
    GoWeather();
    
}

function btnWazeTrafficEvents_click() {
    if (!_gUniqueTrack.waze) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Trafico Waze']);
        _gUniqueTrack.waze = true;
    }
    GoTrafficEvents();
    
}

function btnMobile_click() {
    alert('Mobile clicked');
    
}

// Add POIs

function btnAddPoints_click() {

    var sessionData = dojo.byId('userEmail').value;
    if (sessionData == "") {
        CleanSigninForm();
        CleanSignupForm();

        ShowSigninWindow();
    }
    else {
        GetPOIsByUser();
    }   

    return false;

}

// Sign (in/up) Windows

function ShowSigninWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("signin");    
}

function HideSigninWindow() {
    dojo.byId("signin").style.display = "none";
    HidePopupBackground();
}

function btnGoToSignin_click() {
    HideSuccessSignupWindow();
    CleanMiniSigninForm();
    ShowMiniSigninWindow();    
}

function chkSigninRememberMe_click(id) {
    _rememberMe = (checkboxClick(id) == true);
}

function btnReturnToSignin_click() {
    HideSignupWindow();
    ShowSigninWindow();
}

function btnSignin_click() {

    _gaq.push(['_trackEvent', 'Eventos Recurrentes', 'Registro', 'Pública tu comercio']);

    var email = dojo.byId("txtSigninEmail").value;
    var pass = dojo.byId("txtSigninPassword").value;

    RemoveToolTip('txtSigninEmailTip');
    RemoveToolTip('txtSigninPasswordTip');
    RemoveToolTip('signinTip');

    if (IsValidEmail(email)) {

        if (pass != "") {

            TryToSignin(email, pass);

        }
        else
            CreateToolTip('txtSigninPasswordTip', 'Debes ingresar una contraseña.');
    }
    else
        CreateToolTip('txtSigninEmailTip', 'Debes ingresar una direción de correo válida.');

    return false;
}

function btnCloseSignin_click() {
    HideSigninWindow();
}

function btnForgotPassword_click() {
    HideMiniSigninWindow();
    HideSigninWindow();
    ShowPasswordRecoveryWindow();
}

function ShowSignupWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("signup");
}

function HideSignupWindow() {
    dojo.byId("signup").style.display = "none";
    HidePopupBackground();
}

function ShowSuccessSignupWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("successSignup");
}

function HideSuccessSignupWindow() {
    dojo.byId("successSignup").style.display = "none";
    HidePopupBackground();
}

function btnSignup_click() {
    

    HideSigninWindow();
    ShowSignupWindow();
}

function chkSignupAcceptTerms_click(id) {
    _acceptTermsAndConditions = checkboxClick(id);
}

function btnSignupUser_click() {
    
    var fname = dojo.byId("txtSignupFirstName").value;
    var lname = dojo.byId("txtSignupLastName").value;
    var company = dojo.byId("txtSignupCompany").value;
    var phone = dojo.byId("txtSignupPhone").value;
    var email = dojo.byId("txtSignupEmail").value;
    var pass1 = dojo.byId("txtSignupPassword").value;
    var pass2 = dojo.byId("txtSignupConfirmPassword").value;

    RemoveToolTip('txtSignupFirstNameTip');
    RemoveToolTip('txtSignupLastNameTip');
    RemoveToolTip('txtSignupCompanyTip');
    RemoveToolTip('txtSignupPhoneTip');
    RemoveToolTip('txtSignupEmailTip');
    RemoveToolTip('txtSignupPasswordTip');
    RemoveToolTip('txtSignupConfirmPasswordTip');
    RemoveToolTip('chkSignupAcceptTermsTip');

    if (fname == "") {
        CreateToolTip('txtSignupFirstNameTip', 'Debes ingresar tu nombre.');
        return false;
    }

    if (lname == "") {
        CreateToolTip('txtSignupLastNameTip', 'Debes ingresar tu apellido.');
        return false;
    }

    if (email == "") {
        CreateToolTip('txtSignupEmailTip', 'Debes ingresar una dirección de correo electrónico.');
        return false;
    }
    else {
        if (!IsValidEmail(email)) {
            CreateToolTip('txtSignupEmailTip', 'Debes ingresar una direción de correo válida.');
            return false;
        }
    }

    if (pass1 == "" || pass2 == "") {
        CreateToolTip('txtSignupConfirmPasswordTip', 'Debes ingresar una contraseña y confirmarla.');
        return false;
    }
    else {
        if (pass1 != pass2) {
            CreateToolTip('txtSignupConfirmPasswordTip', 'La contraseña ingresada no coincide con la confirmación de la misma.');
            return false;
        }
        else {
            if (pass1.length < 6) {
                CreateToolTip('txtSignupConfirmPasswordTip', 'La contraseña debe tener al menos 6 carácteres.');
                return false;
            }
        }
    }

    if (!_acceptTermsAndConditions) {
        CreateToolTip('chkSignupAcceptTermsTip', 'Debes aceptar nuestros términos y condiciones.');
        return false;
    }

    TryToSignup(fname, lname, company, phone, email, pass1);

}

function btnCloseSignup_click() {
    HideSignupWindow();
}

function CleanSigninForm() {
    dojo.byId('txtSigninEmail').value = "";
    dojo.byId('txtSigninPassword').value = "";
    RemoveToolTip('txtSigninEmailTip');
    RemoveToolTip('txtSigninPasswordTip');
    RemoveToolTip('signinTip');
}

function CleanSignupForm() {
    dojo.byId("txtSignupFirstName").value = "";
    dojo.byId("txtSignupLastName").value = "";
    dojo.byId("txtSignupCompany").value = "";
    dojo.byId("txtSignupPhone").value = "";
    dojo.byId("txtSignupEmail").value = "";
    dojo.byId("txtSignupPassword").value = "";
    dojo.byId("txtSignupConfirmPassword").value = "";

    RemoveToolTip('txtSignupFirstNameTip');
    RemoveToolTip('txtSignupLastNameTip');
    RemoveToolTip('txtSignupCompanyTip');
    RemoveToolTip('txtSignupPhoneTip');
    RemoveToolTip('txtSignupEmailTip');
    RemoveToolTip('txtSignupPasswordTip');
    RemoveToolTip('txtSignupConfirmPasswordTip');
    RemoveToolTip('chkSignupAcceptTermsTip');
}

// Mini Signin Window

function ShowMiniSigninWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("miniSignin");
}

function HideMiniSigninWindow() {
    dojo.byId("miniSignin").style.display = "none";
    HidePopupBackground();
}

function btnMyAccount_click() {
    if (!_gUniqueTrack.signin) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Ingreso a la cuenta']);
        _gUniqueTrack.signin = true;
    }
    var sessionData = dojo.byId('userEmail').value;
    if (sessionData == "") {
        CleanMiniSigninForm();
        ShowMiniSigninWindow();
    }
    else {
        LoadUserProfile();        
    }

    // Ensuring no postback
    return false;
}

var _user = null;

function LoadUserProfile() {
    ShowLoading();
    PageMethods.GetUserProfile(dojo.byId('userEmail').value, ProccessLoadUserProfile);
}

function ProccessLoadUserProfile(result) {

    _user = result;

    dojo.byId('txtUserProfileNewPassword').value = "";
    dojo.byId('txtUserProfileNewPasswordConfirmation').value = "";
    dojo.byId("txtUserProfileCurrentPassword").value = "";

    dojo.byId('txtUserProfileFirstName').value = _user.FirstName;
    dojo.byId('txtUserProfileLastName').value = _user.LastName;
    dojo.byId('txtUserProfileCompany').value = _user.Company;
    dojo.byId('txtUserProfileEmail').value = _user.Email;
    dojo.byId('txtUserProfilePhone').value = _user.Phone;

    CreateToolTip("txtUserProfileCurrentPasswordTip", "Este dato es necesario solo si deseas cambiar tu contraseña actual");

    ShowUserProfileWindow();

    HideLoading();
}

function btnUpdateUserProfile_click() {
    var fname = dojo.byId("txtUserProfileFirstName").value;
    var lname = dojo.byId("txtUserProfileLastName").value;
    var company = dojo.byId("txtUserProfileCompany").value;
    var phone = dojo.byId("txtUserProfilePhone").value;
    var email = dojo.byId("txtUserProfileEmail").value;
    var pass1 = dojo.byId("txtUserProfileNewPassword").value;
    var pass2 = dojo.byId("txtUserProfileNewPasswordConfirmation").value;
    var currentpass = dojo.byId("txtUserProfileCurrentPassword").value;
    var newpassword = "";

    RemoveToolTip('txtUserProfileFirstNameTip');
    RemoveToolTip('txtUserProfileLastNameTip');
    RemoveToolTip('txtUserProfileCompanyTip');
    RemoveToolTip('txtUserProfilePhoneTip');
    RemoveToolTip('txtUserProfileEmailTip');
    RemoveToolTip('txtUserProfileNewPasswordTip');
    RemoveToolTip('txtUserProfileNewPasswordConfirmationTip');    

    if (fname == "") {
        CreateToolTip('txtUserProfileFirstNameTip', 'Debes ingresar tu nombre.');
        return false;
    }

    if (lname == "") {
        CreateToolTip('txtUserProfileLastNameTip', 'Debes ingresar tu apellido.');
        return false;
    }

    if (email == "") {
        CreateToolTip('txtUserProfileEmailTip', 'Debes ingresar una dirección de correo electrónico.');
        return false;
    }
    else {
        if (!IsValidEmail(email)) {
            CreateToolTip('txtUserProfileEmailTip', 'Debes ingresar una direción de correo válida.');
            return false;
        }
    }

    if (pass1 != "" || pass2 != "") {
        if (pass1 == "" || pass2 == "") {
            CreateToolTip('txtUserProfileNewPasswordTip', 'Si deseas cambiar tu contraseña actual, debes ingresar una contraseña y confirmarla.');
            return false;
        }
        else {
            if (pass1 != pass2) {
                CreateToolTip('txtUserProfileNewPasswordConfirmationTip', 'La nueva contraseña ingresada no coincide con la confirmación de la misma.');
                return false;
            }
            else {
                if (pass1.length < 6) {
                    CreateToolTip('txtUserProfileNewPasswordConfirmationTip', 'La contraseña debe tener al menos 6 carácteres.');
                    return false;
                }
                else {                    
                    if (currentpass == "") {
                        CreateToolTip('txtUserProfileCurrentPasswordTip', 'Si deseas cambiar tu contraseña actual debes proporcionar la contraseña actual.');
                        return false;
                    }
                    else {
                        if (currentpass != _user.Password) {
                            CreateToolTip('txtUserProfileCurrentPasswordTip', 'Contraseña Actual Erronea.');
                            return false;
                        }
                        else
                            newpassword = pass1;
                    }
                }
            }
        }
    }
    else {
        CreateToolTip("txtUserProfileCurrentPasswordTip", "Este dato es necesario solo si deseas cambiar tu contraseña actual");
    }

    _user.FirstName = fname;
    _user.LastName = lname;
    _user.Company = company;

    var oldEmail = _user.Email;

    if (_user.Email != email)
        dojo.byId('userEmail').value = email;

    _user.Email = email;
    _user.Phone = phone;    

    ShowLoading();

    PageMethods.UpdateUserProfile(_user, newpassword, function (result) {
        if (!result) {
            alert('Se produjo un erro grave al intentar ejecutar la acción requerida, por favor comuniquese con soporte@location-world.com');
            dojo.byId('userEmail').value = oldEmail;
        }
        else {
            HideUserProfileWindow();
            HideLoading();
            ShowMsgBox("Los datos de tu perfil han sido actualizados.")
        }

    }
    );

}

function btnMiniSignin_click() {

    _gaq.push(['_trackEvent', 'Eventos Recurrentes', 'Registro', 'Mi Cuenta']);

    var email = dojo.byId("txtMiniSigninEmail").value;
    var pass = dojo.byId("txtMiniSigninPassword").value;

    RemoveToolTip('txtMiniSigninEmailTip');
    RemoveToolTip('txtMiniSigninPasswordTip');
    RemoveToolTip('miniSigninTip');

    if (IsValidEmail(email)) {

        if (pass != "") {
            TryToSigninAtMiniWindow(email, pass);
        }
        else
            CreateToolTip('txtMiniSigninPasswordTip', 'Debes ingresar una contraseña.');
    }
    else
        CreateToolTip('txtMiniSigninEmailTip', 'Debes ingresar una direción de correo válida.');

    return false;

}

function btnCloseMiniSignin_click() {
    HideMiniSigninWindow();
}

function CleanMiniSigninForm() {
    dojo.byId('txtMiniSigninEmail').value = "";
    dojo.byId('txtMiniSigninPassword').value = "";
    RemoveToolTip('txtMiniSigninEmailTip');
    RemoveToolTip('txtMiniSigninPasswordTip');
    RemoveToolTip('miniSigninTip');
}

// Search Buttons

function btnFreeSearch_click() {
    _criteria = "";
    NewFreeSearch();
}

function btnAdvancedSearch_click() {
    $("#searchPanel").hide();
    $("#advancedSearchPanel").show();
}

// Advanced Search Tabs

function btnSearchAddress_click() {
    dojo.removeClass("btnSearchAddress", "addresses_btn_b");
    dojo.addClass("btnSearchAddress", "addresses_btn");
    dojo.removeClass("btnSearchPOI", "pois_btn");
    dojo.addClass("btnSearchPOI", "pois_btn_b");

    dojo.byId("searchAddressPanel").style.display = "block";
    dojo.byId("searchPOIPanel").style.display = "none";
}

function btnSearchPOI_click() {

    dojo.removeClass("btnSearchPOI", "pois_btn_b");
    dojo.addClass("btnSearchPOI", "pois_btn");
    dojo.removeClass("btnSearchAddress", "addresses_btn");
    dojo.addClass("btnSearchAddress", "addresses_btn_b");

    dojo.byId("searchAddressPanel").style.display = "none";
    dojo.byId("searchPOIPanel").style.display = "block";

}

// Result Buttons (Tabs)

function btnAddresses_click() {
    GoFreeSearchAddresses();
}

function btnPOIs_click() {
    GoFreeSearchPOIs();
}

// Contact Us Window

function ShowContactUsWindow() {
    _gaq.push(['_trackEvent', 'Eventos Recurrentes', 'Envio de Contactos']);
    ShowPopupBackground();
    ShowCenteredWindow("contactUs");
}

function HideContactUsWindow() {
    dojo.byId("contactUs").style.display = "none";
    HidePopupBackground();
}

function btnCloseContactUs_click() {
    HideContactUsWindow();
}

// Profile Window

function ShowUserProfileWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("userProfile");
}

function HideUserProfileWindow() {
    dojo.byId("userProfile").style.display = "none";
    HidePopupBackground();
}

function btnCloseUserProfile_click() {
    HideUserProfileWindow();
}

// Welcome Window

function ShowWelcomeScreenWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("welcomeScreen");
}

function HideWelcomeScreenWindow() {
    dojo.byId("welcomeScreen").style.display = "none";
    HidePopupBackground();
}

function btnCloseWelcomeScreen_click() {
    HideWelcomeScreenWindow();
}

// Popup Background

function ShowTransparentPopupBackground() {
    var popup = dojo.byId("transparentPopupBackground");
    popup.style.width = document.body.clientWidth + 'px';
    popup.style.height = GetWinHeight() + 'px';
    popup.style.display = "block";
}

function HideTransparentPopupBackground() {
    dojo.byId("transparentPopupBackground").style.display = "none";
}


function ShowPopupBackground() {
    var popup = dojo.byId("popupBackground");
    popup.style.width = document.body.clientWidth + 'px';
    popup.style.height = GetWinHeight() + 'px';
    popup.style.display = "block";
}

function HidePopupBackground() {
    dojo.byId("popupBackground").style.display = "none";
}

function ShowCenteredWindow(id) {

    var w = dojo.byId(id);
    w.style.display = "block";

    $("#" + id).position({
        of: $("#popupBackground"),
        my: "center center",
        at: "center center",
        collision: "none"
    });

}

// Add POI Windows

function ShowAddPOIWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("addPOI");
}

function HideAddPOIWindow() {
    dojo.byId("addPOI").style.display = "none";
    HidePopupBackground();
}

function ShowAddPOIStep(i) {
    dojo.byId('addPOIStep' + i).style.display = "block";
    dojo.removeClass('addPOIStepLabel' + i, 'disabled');
    Cufon.replace('.addPOILabel', { fontFamily: 'Movistar Text' });
}

function HideAddPOIStep(i) {
    dojo.byId('addPOIStep' + i).style.display = "none";
    dojo.addClass('addPOIStepLabel' + i, 'disabled');
    Cufon.replace('.addPOILabel', { fontFamily: 'Movistar Text' });
}

function btnCloseAddPOI_click() {
    HideAddPOIWindow();
}

function ShowUserPOIListWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("userPOIList");
}

function HideUserPOIListWindow() {
    dojo.byId("userPOIList").style.display = "none";
    HidePopupBackground();
}

function btnNewFromPOIList_click() {
    ActivateAddPointOnMap();
    HideUserPOIListWindow();
}

function btnCloseUserPOIList_click() {
    HideUserPOIListWindow();
}

function chkAddPOIAcceptTerms_click(id) {
    _addPOIAcceptTerms = checkboxClick(id);
}

function ValidateStep(n) {

    // For debug purposes, Passess validation
    //return true;

    if (n == 1) {

        if (dojo.byId('txtAddPOIName').value == "") {
            CreateToolTip('txtAddPOINameTip', 'El campo nombre es obligatorio.');
            return false;
        }

        if (dojo.byId('txtAddPOIRUC').value == "") {
            CreateToolTip('txtAddPOIRUCTip', 'El campo RUC es obligatorio.');
            return false;
        }
        else {
            if (!IsValidNumber(dojo.byId('txtAddPOIRUC').value)) {
                CreateToolTip('txtAddPOIRUCTip', 'RUC no tiene el formato correcto.');
                return false;
            }
            else {
                if (dojo.byId('txtAddPOIRUC').value.length != 13) {
                    CreateToolTip('txtAddPOIRUCTip', 'El campo RUC debe tener 13 dígitos.');
                    return false;
                }
            }
        }

        if (dojo.byId('txtAddPOIContact').value == "") {
            CreateToolTip('txtAddPOIContactTip', 'El campo Contácto es obligatorio.');
            return false;
        }

        /*
        if (dojo.byId('txtAddPOIPhone1').value == "") {
            CreateToolTip('txtAddPOIPhone1Tip', 'El campo Teléfono Móvil es obligatorio.');
            return false;
        }
        else {
            if (!IsValidNumber(dojo.byId('txtAddPOIPhone1').value)) {
                CreateToolTip('txtAddPOIPhone1Tip', 'Formato incorrecto, ingrese solo números.');
                return false;
            }
            else {
                if (dojo.byId('txtAddPOIPhone1').value.length != 9) {
                    CreateToolTip('txtAddPOIPhone1Tip', 'Formato incorrecto, ingrese 9 dígitos. Ejemplo: 084648487');
                    return false;
                }
            }
        }
        */

        if (dojo.byId('txtAddPOIPhone1').value != "") {
            if (!IsValidNumber(dojo.byId('txtAddPOIPhone1').value)) {
                CreateToolTip('txtAddPOIPhone1Tip', 'Formato incorrecto, ingrese solo números.');
                return false;
            }
            else {
                if (dojo.byId('txtAddPOIPhone1').value.length != 9) {
                    CreateToolTip('txtAddPOIPhone1Tip', 'Formato incorrecto, ingrese 9 dígitos. Ejemplo: 084648487');
                    return false;
                }
            }
        }

        if (dojo.byId('txtAddPOIPhone2').value == "") {
            CreateToolTip('txtAddPOIPhone2Tip', 'El campo Teléfono Fijo es obligatorio.');
            return false;
        }
        else {
            if (!IsValidNumber(dojo.byId('txtAddPOIPhone2').value)) {
                CreateToolTip('txtAddPOIPhone2Tip', 'Formato incorrecto, ingrese solo números.');
                return false;
            }
            else {
                if (dojo.byId('txtAddPOIPhone2').value.length != 9) {
                    CreateToolTip('txtAddPOIPhone2Tip', 'Formato incorrecto, ingrese 9 dígitos. Ejemplo: 022444471');
                    return false;
                }
            }
        }

        if (dojo.byId('txtAddPOIWeb').value != "")
            if (!IsValidUrl(dojo.byId('txtAddPOIWeb').value)) {
                CreateToolTip('txtAddPOIWebTip', 'URL inválida, ejemplo: http://wwww.google.com');
                return false;
            }

        if (dojo.byId('txtAddPOIEmail').value == "") {
            CreateToolTip('txtAddPOIEmailTip', 'El campo Email es obligatorio.');
            return false;
        }
        else
            if (!IsValidEmail(dojo.byId('txtAddPOIEmail').value)) {
                CreateToolTip('txtAddPOIEmailTip', 'Debes ingresar una direción de correo válida.');
                return false;
            }

        if (!_addPOIAcceptTerms) {
            CreateToolTip('chkAddPOIAcceptTermsTip', 'Debes aceptar nuestros términos y condiciones.');
            return false;
        }

    }

    if (n == 2)
        return true;

    if (n == 3) {

        var subcategory = dojo.byId('addPOISubcategory').value;
        //New Categorization Parch#23.09.2011#
        //if (subcategory == "" && dojo.byId('addPOIGroup').value!=771) {
        if (subcategory == "") {
            CreateToolTip('addPOISubcategoryTip', 'Debes elegir una subcategoria.');
            return false;
        }

        return true;

    }

    if (n == 4) {
        if (dojo.byId('txtAddPOIPublisherFirstName').value == "") {
            CreateToolTip('txtAddPOIPublisherFirstNameTip', 'El campo nombres es obligatorio.');
            return false;
        }

        if (dojo.byId('txtAddPOIPublisherLastName').value == "") {
            CreateToolTip('txtAddPOIPublisherLastNameTip', 'El campo apellidos es obligatorio.');
            return false;
        }
        if (dojo.byId('txtAddPOIPublisherEmail').value == "") {
            CreateToolTip('txtAddPOIPublisherEmailTip', 'El campo Email es obligatorio.');
            return false;
        }
        else {
            if (!IsValidEmail(dojo.byId('txtAddPOIPublisherEmail').value)) {
                CreateToolTip('txtAddPOIPublisherEmailTip', 'Debes ingresar una direción de correo válida.');
                return false;
            }
        }

        if (dojo.byId('txtAddPOIPublisherPhone1').value != "") 
        {
            if (!IsValidNumber(dojo.byId('txtAddPOIPublisherPhone1').value)) {
                CreateToolTip('txtAddPOIPublisherPhone1Tip', 'Formato incorrecto, ingrese solo números.');
                return false;
            }
            else {
                if (dojo.byId('txtAddPOIPublisherPhone1').value.length != 9) {
                    CreateToolTip('txtAddPOIPublisherPhone1Tip', 'Formato incorrecto, ingrese 9 dígitos. Ejemplo: 024648487');
                    return false;
                }
            }
        }

        if (dojo.byId('txtAddPOIPublisherPhone2').value != "") {
            if (!IsValidNumber(dojo.byId('txtAddPOIPublisherPhone2').value)) {
                CreateToolTip('txtAddPOIPublisherPhone2Tip', 'Formato incorrecto, ingrese solo números.');
                return false;
            }
            else {
                if (dojo.byId('txtAddPOIPublisherPhone2').value.length != 9) {
                    CreateToolTip('txtAddPOIPublisherPhone2Tip', 'Formato incorrecto, ingrese 9 dígitos. Ejemplo: 094648487');
                    return false;
                }
            }
        }
    }

    return true;
}

function CleanAddPOIForm() {

    // Step 1

    dojo.byId('txtAddPOIName').value = "";
    dojo.byId('txtAddPOIRUC').value = "";
    dojo.byId('txtAddPOIContact').value = "";
    dojo.byId('txtAddPOIPhone1').value = "";
    dojo.byId('txtAddPOIPhone2').value = "";
    dojo.byId('txtAddPOIWeb').value = "";
    dojo.byId('txtAddPOIEmail').value = "";
    dojo.byId('txtAddPOISchedule').value = "";
    if (_addPOIAcceptTerms == true)
        _addPOIAcceptTerms = checkboxClick('chkAddPOIAcceptTerms');

    // Step 2

    dojo.byId('txtAddPOINumber').value = "";
    dojo.byId('txtAddPOIReference').value = "";
    dojo.byId('fileAddPOIPhoto1').value = "";
    dojo.byId('fileAddPOIPhoto2').value = "";
    dojo.byId('fileAddPOILogo').value = "";

    // Step 3

    // Here I must load groups and clear everithing else
    dojo.byId('txtAddPOIOtherService').value = "";

    // Step 4
    dojo.byId('txtAddPOIPublisherFirstName').value = "";
    dojo.byId('txtAddPOIPublisherLastName').value = "";
    dojo.byId('txtAddPOIPublisherEmail').value = "";
    dojo.byId('txtAddPOIPublisherPhone1').value = "";
    dojo.byId('txtAddPOIPublisherPhone2').value = "";

    RemoveAddPOITips();
}

function RemoveAddPOITips() {

    //Step 1    
    RemoveToolTip('txtAddPOINameTip');
    RemoveToolTip('txtAddPOIRUCTip');
    RemoveToolTip('txtAddPOIContactTip');
    RemoveToolTip('txtAddPOIPhone1Tip');
    RemoveToolTip('txtAddPOIPhone2Tip');
    RemoveToolTip('txtAddPOIWebTip');
    RemoveToolTip('txtAddPOIEmailTip');
    RemoveToolTip('chkAddPOIAcceptTermsTip');

    //Step 2
    RemoveToolTip('txtAddPOINumberTip');
    RemoveToolTip('txtAddPOIReferenceTip');
    RemoveToolTip('fileAddPOIPhoto1Tip');
    RemoveToolTip('fileAddPOIPhoto2Tip');
    RemoveToolTip('fileAddPOILogoTip');

    //Step 3
    RemoveToolTip('addPOIGroupTip');
    RemoveToolTip('addPOICategoryTip');
    RemoveToolTip('addPOISubcategoryTip');
    RemoveToolTip('addPOIServicesTip');
    RemoveToolTip('txtAddPOIOtherServiceTip');

    //Step 4
    RemoveToolTip('txtAddPOIPublisherFirstNameTip');
    RemoveToolTip('txtAddPOIPublisherLastNameTip');
    RemoveToolTip('txtAddPOIPublisherEmailTip');
    RemoveToolTip('txtAddPOIPublisherPhone1Tip');
    RemoveToolTip('txtAddPOIPublisherPhone2Tip');

}

function btnAddPOISave_click() {

    RemoveAddPOITips();

    if (ValidateStep(_addPOICurrentStep)) {

        if (_poi == null)
            AddPOI();
        else {
            UpdatePOI();
        }

        return false;
    }
}

function btnAddPOINext_click() {

    RemoveAddPOITips();

    if (ValidateStep(_addPOICurrentStep)) {        

        HideAddPOIStep(_addPOICurrentStep);
        _addPOICurrentStep = _addPOICurrentStep + 1;

        if (_addPOICurrentStep > 1)
            dojo.byId('btnAddPOIPrevious').style.display = "block";

        if (_addPOICurrentStep > 3) {
            dojo.byId('btnAddPOINext').style.display = "none";
            dojo.byId('btnAddPOISave').style.display = "block";
        }

        if (_addPOICurrentStep == 2) {
            if (!_poi) {
                dojo.byId('txtAddPOIPublisherEmail').value = dojo.byId('txtAddPOIEmail').value;
                dojo.byId('txtAddPOIPublisherPhone2').value = dojo.byId('txtAddPOIPhone2').value;
                dojo.byId('txtAddPOIPublisherPhone1').value = dojo.byId('txtAddPOIPhone1').value;
            }
        }

        ShowAddPOIStep(_addPOICurrentStep);

    }

}

function btnAddPOIPrevious_click() {
    HideAddPOIStep(_addPOICurrentStep);
    _addPOICurrentStep = _addPOICurrentStep - 1;
    ShowAddPOIStep(_addPOICurrentStep);

    if (_addPOICurrentStep == 1)
        dojo.byId('btnAddPOIPrevious').style.display = "none";

    if (_addPOICurrentStep < 4) {
        dojo.byId('btnAddPOINext').style.display = "block";
        dojo.byId('btnAddPOISave').style.display = "none";
    }
}

// This function set the file name after upload
function UploadNotify(message, fileName, hiddenId, isError) {

    currentFileHd = document.getElementById(hiddenId);
    currentFileHd.value = fileName;

    if (message.length > 0) {

        //if (!isError) {
            alert(message);
        //}
    }

}

function addPOIGroup_change(o) {
    //New Categorization Parch#23.09.2011#
    
    /*if (o.value == 771) {
        GetServicesByCategoryId(o.value);
        dojo.byId('addPOISubcategory').innerHTML = "";
        dojo.byId('addPOICategory').innerHTML = "";
        dojo.byId('btnAddPOINext').style.display = "block";
    }
    else*/
        GetCategoriesByGroupId(o.value);
}

function addPOICategory_change(o) {
    GetSubCategoriesByCategoryId(o.value);
}

function btnPOIListEdit_click(id, lat, long) {
    dojo.byId('editablePOI').value = id;
    HideUserPOIListWindow();
    DrawPointToEdit(id, lat, long);
}

function btnPOIListDelete_click(id) {
    dojo.byId('editablePOI').value = id;    
    HideUserPOIListWindow();
    ShowDeletePOIWindow();
}

// Delete POI Window

function btnCancelPOIDelete_click() {
    HideDeletePOIWindow();
}

function btnConfirmPOIDelete_click() {
    
    _map.infoWindow.hide();    
    
    DeletePOI(dojo.byId('editablePOI').value == "" ? _poi.Id : dojo.byId('editablePOI').value);
    /*if (dojo.byId('editablePOI').value)
        DeletePOI(dojo.byId('editablePOI').value);
    else
        if (_poi)
            DeletePOI(_poi.Id);
        else
            alert('Error');*/
}

function btnDeletePOI_click() {
    ShowDeletePOIWindow();
}

function ShowDeletePOIWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("deletePOI");
}

function HideDeletePOIWindow() {
    dojo.byId("deletePOI").style.display = "none";
    HidePopupBackground();
}

function ShowSuccessDeletePOIWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("successDeletePOI");
}

function HideSuccessDeletePOIWindow() {
    dojo.byId("successDeletePOI").style.display = "none";
    HidePopupBackground();
}

function btnContinue_click() {
    HideSuccessDeletePOIWindow();
}

// Edit POI Windows

function btnEditPOI_click() {
    _beingLoadedToModify = true;
    _map.infoWindow.hide();
    LoadPOIInfo();
}

// Move POI Action

function btnMovePOI_click() {
    ActivatePOIMovement();
}

// Tooltip Related

function CreateToolTip(id, message) {
    dojo.byId(id).innerHTML = dojo.byId("tooltip").innerHTML.replace("[ERROR]", message);
}

function RemoveToolTip(id) {
    dojo.byId(id).innerHTML = "";
}

// Send SMS Window

function ShowSendSMSWindow() {
    dojo.xhrGet({
        url: "SMSPage.htm",
        handleAs: "text",
        handle: function (data, args) {
            if (typeof data == "error")
                alert("error");
            else {
                dojo.byId("divWindow").innerHTML = data;
                dojo.byId("divWindow").style["display"] = "block";
                dojo.byId("divTransparency2").style["display"] = "block";
            }
        }
    });
    return false;
}


// POI Movement Confirmation Window

function ShowMovementConfirmationWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("movePOI");
}

function HideMovementConfirmationWindow() {
    dojo.byId("movePOI").style.display = "none";
    HidePopupBackground();
}

function btnSavePOIMovement_click() {
    UpdateNewPOILocation(_poi.Id, _newPOILocation);
}

function btnCancelPOIMovement_click() {
    HideMovementConfirmationWindow();
    DeactivatePOIMovement();
    ActivateAddPointOnMap();
    
    RestoreOriginalLocation(_poi.Id, _poi.Latitude, _poi.Longitude);
}


// Send POI by Email Window

function ShowSendPOIByEmailWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("sendPOIByEmail");
}

function HideSendPOIByEmailWindow() {
    dojo.byId("sendPOIByEmail").style.display = "none";
    HidePopupBackground();
}

function ValidateDataToSendPOIByEmail()
{
    RemoveToolTip("txtSendPOIByEmailFromTip");
    RemoveToolTip("txtSendPOIByEmailToTip");

    if (dojo.byId("txtSendPOIByEmailFrom").value.length == 0)
    {
        CreateToolTip('txtSendPOIByEmailFromTip', 'Debes ingresar tu nombre.');
        return false;
    }

    if (dojo.byId("txtSendPOIByEmailTo").value.length == 0)
    {
        CreateToolTip('txtSendPOIByEmailToTip', 'Debes ingresar el email de tu amigo.');
        return false;
    }
    else
        if (!IsValidEmail(dojo.byId('txtSendPOIByEmailTo').value)) {
            CreateToolTip('txtSendPOIByEmailToTip', 'Debes ingresar una direción de correo válida.');
            return false;
        }
    
    return true;
}

function btnSendPOIByEmail_click() {
    if (ValidateDataToSendPOIByEmail())       
        SendPOIByEmail();
}

function btnCloseSendPOIByEmail_click() {
    HideSendPOIByEmailWindow();
}

// Password Recovery Window

function ShowPasswordRecoveryWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("passwordRecovery");
}

function HidePasswordRecoveryWindow() {
    dojo.byId("passwordRecovery").style.display = "none";
    HidePopupBackground();
}

function btnRecoverPassword_click() {
    var email = dojo.byId("txtPasswordRecoveryEmail").value;    
    RemoveToolTip("txtPasswordRecoveryEmailTip");
    if (email.length == 0) {
        CreateToolTip('txtPasswordRecoveryEmailTip', 'Debes ingresar la cuenta de correo con la que te registraste en nuestro portal.');
        return false;
    }
    else {
        if (!IsValidEmail(email)) {
            CreateToolTip('txtPasswordRecoveryEmailTip', 'Debes ingresar una direción de correo válida.');
            return false;
        }
    }
    TryPasswordRecovery(email);
}

function btnClosePasswordRecovery_click() {
    HidePasswordRecoveryWindow();    
}

// Contact Us Window

function btnContactUsSend_click() {

    var txtContactUsNames = dojo.byId('txtContactUsNames');
    var txtContactUsEmail = dojo.byId('txtContactUsEmail');
    var txtContactUsSubject = dojo.byId('txtContactUsSubject');
    var txtContactUsMessage = dojo.byId('txtContactUsMessage');

    RemoveToolTip('txtContactUsNamesTip');
    RemoveToolTip('txtContactUsEmailTip');
    RemoveToolTip('txtContactUsSubjectTip');
    RemoveToolTip('txtContactUsMessageTip');

    if (txtContactUsNames.value == "") {
        CreateToolTip('txtContactUsNamesTip', 'Debes ingresar tus nombres.');
        return false;
    }

    if (txtContactUsEmail.value == "") {
        CreateToolTip('txtContactUsEmailTip', 'Debes ingresar tu email.');
        return false;
    }
    else {
        if (!IsValidEmail(txtContactUsEmail.value)) {
            CreateToolTip('txtContactUsEmailTip', 'El email ingresado no es válido.');
            return false;
        }
    }

    if (txtContactUsSubject.value == "") {
        CreateToolTip('txtContactUsSubjectTip', 'Debes ingresar un tema en tu mensaje.');
        return false;
    }

    if (txtContactUsMessage.value == "") {
        CreateToolTip('txtContactUsMessageTip', 'Ingresa tu mensaje.');
        return false;
    }

    PageMethods.ContactUs(txtContactUsNames.value, txtContactUsEmail.value, txtContactUsSubject.value, txtContactUsMessage.value, _sendEmailCopyToUser, ProcessContactUsResponse);
    ShowLoading();
}

function ProcessContactUsResponse(result) {
    HideLoading();
    HideContactUsWindow();
    ShowMsgBox(result);
}

var _sendEmailCopyToUser = false;

function chkSendEmailCopyToMe_click(id) {
    _sendEmailCopyToUser = checkboxClick(id);
}

function HideScaleBar()
{
    dojo.byId("dvScaleBar").style.display = "none";
}

function ShowScaleBar()
{
    dojo.byId("dvScaleBar").style.display = "block";
}


/***** Feddback Section ******/
function btnFeedback_click() {
    _gaq.push(['_trackEvent', 'Eventos Recurrentes', 'Enviar Feedback']);
    //ShowFeedbackWindow();

    /* Testing feedback */
    var lat = _map.extent.getCenter().y;
    var lon = _map.extent.getCenter().x;
    
    var email = dojo.byId("userEmail").value;
    var name = $("#facebookProfileName").val().trim();
    if (email == "")
        email = $("#facebookProfileEmail").val().trim()

    window.open(_furl + "?url=http://www.guiame.com.ec&lat=" + lat + "&lon=" + lon + "&iscenter=true&level=" + _map.getLevel().toString() + (email == "" ? "" : "&email=" + email) + (name == "" ? "" : "&name=" + name), "LWFeedback", "", false);
    //window.open("http://localhost:57526/Default.aspx?url=http://www.guiame.com.ec&lat=" + lat + "&lon=" + lon + "&iscenter=true&level=" + _map.getLevel().toString() + (email == "" ? "" : "&email=" + email), "LWFeedback", "", false);
}

function ShowFeedbackWindow() {
    ShowPopupBackground();
    ShowCenteredWindow("feedbackWindow");

    var autosuggestFeedback = new lw.AutoSuggest();
    autosuggestFeedback.InitAutoSuggest({ cityField: "txtFeedbackCity" });
}

function HideFeedbackWindow() {
    dojo.byId("feedbackWindow").style.display = "none";
    HidePopupBackground();
}

function btnCloseFeedbackWindow_click() {
    HideFeedbackWindow();
}

function btnFeedbackSend_click() {

    RemoveToolTip('txtFeedbackCityTip');
    RemoveToolTip('txtFeedbackEmailTip');
    RemoveToolTip('txtFeedbackDescriptionTip');    

    var txtCity = dojo.byId('txtFeedbackCity').value;
    var txtEmail = dojo.byId('txtFeedbackEmail').value;
    var txtDescription = dojo.byId('txtFeedbackDescription').value;

    if (txtCity == "") {
        CreateToolTip('txtFeedbackCityTip', 'Debes ingresar una ciudad.');
        return false;
    }

    if (txtEmail == "") {
        CreateToolTip('txtFeedbackEmailTip', 'Debes ingresar un email.');
        return false;
    }
    else {
        if (!IsValidEmail(txtEmail)) {
            CreateToolTip('txtFeedbackEmailTip', 'Email ingresado no es válido.');
            return false;
        }
    }

    if (txtDescription == "") {
        CreateToolTip('txtFeedbackDescriptionTip', 'Debes ingresar una descripción.');
        return false;
    }


    PageMethods.SendFeedback(txtCity, txtEmail, dojo.byId('txtFeedbackSubject')[dojo.byId('txtFeedbackSubject').value].text, txtDescription, ProcessSendFeedbackResponse);
    ShowLoading();

}

function ProcessSendFeedbackResponse(result) {
    HideFeedbackWindow();
    HideLoading();
    ShowMsgBox(result);
}

// What and Where WaterMark

function TextBoxFocus(objname, waterMarkText) {
    obj = document.getElementById(objname);
    if (obj.value == waterMarkText) {
        obj.value = "";
        obj.className = "whatTextBox";
        /*if (obj.value == "User ID" || obj.value == "" || obj.value == null) {
            obj.style.color = "black";
        }*/
    }
}
function TextBoxBlur(objname, waterMarkText) {
    obj = document.getElementById(objname);
    if (obj.value == "") {
        obj.value = waterMarkText;
        if (objname != "txtPwd") {
            obj.className = "whatTextBoxWaterMarked";
        }
        else {
            obj.className = "whatTextBoxWaterMarked";
        }
    }
    else {
        obj.className = "whatTextBox";
    }

    /*if (obj.value == waterMarkText || obj.value == "" || obj.value == null) {
        obj.style.color = "gray";
    }*/
}


function btnUseTerms_click() { 
    if (!_gUniqueTrack.terms) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Terminos de Uso']);
        _gUniqueTrack.terms = true;
    }
    window.open('http://www.guiame.com.ec/guiame/TerminosYCondiciones.htm', '', 'scrollbars=1,height=600, width=1024');
}

function btnFaq_click()
{
    if (!_gUniqueTrack.faq) {
        _gaq.push(['_trackEvent', 'Eventos Unicos', 'Preguntas Frecuentes']);
        _gUniqueTrack.faq = true;
    }
    window.open('http://www.guiame.com.ec/guiame/faq.htm', '', 'scrollbars=1,height=600, width=1024');
}
