﻿//var locationId; // has to be initialized outside
//var previousText; // has to be initialized outside
//var nextText; // has to be initialized outside
//var typeInLocation; // has to be initialized outside
//var elemRadiusId; // has to be initialized outside

var baseUrl = location.protocol + "//" + location.host + "/";

var mapSettings = {
    id: "slider2",
    contentsource: ["inline", ""],
    toc: "markup",
    nextprev: ["", ""],
    enablefade: [true, 0.2],
    autorotate: [false, 3000]
};

jQuery(function() {
    jQuery(locationId).autocomplete({
        serviceUrl: '/Services.ashx',
        minChars: 1,
        deferRequestBy: 300,
        zIndex: 1,
        params: { action: "GetLocationsByStartPrefix" },
        fnFormatResult: function(value, data, currentValue) {
            if (value) {
                var s = value.s;
                return '<strong>' + s.substring(0, currentValue.length) + '<\/strong>' + s.substr(currentValue.length) + ", " +
                    value.m + ", " + value.p;
            }
            return '';
        },
        fnOnSetValue: function(sender, value) {
            return value.s
        },
        fnOnGetValue: function(sender, value) {
            return value.toLowerCase();
        }
    });

    var onMapAreaCreated = function(area, map) {
        area.click(function() {
            selectLocation($(this).attr("href"), map[0], null, 0, null)
        })
    }

    var mapManager = new MapManager('spainMapViewer', ProvincesCostasMaps, onMapAreaCreated)
    mapManager.onGetMap = function(sender, map) {
        return getPropUrl(getRes("Url_Sale"), map[0])
    }
    mapManager.loadMap('all_spain')

    mapManager = new MapManager('costasMapViewer', ProvincesCostasMaps, onMapAreaCreated)
    mapManager.onGetMap = function(sender, map) {
        return getPropUrl(getRes("Url_Sale") + '/costas', map[0])
    }
    mapManager.loadMap('all_costas');

    featuredcontentslider.init(mapSettings);

    featuredcontentslider.init({
        id: "slider1",
        contentsource: ["inline", ""],
        toc: "markup",
        nextprev: [previousText, nextText],
        enablefade: [true, 0.2],
        autorotate: [true, 3000]
    });

});

function getPropUrl(offer, province) {
    return baseUrl + offer + "/" + jQuery.convertToEnglishLetters(province, true, true) + 
        "/" + getRes("Url_Properties") + ".aspx";
}

function onSearchPressed() {
    var val = $(locationId).val();
    if (val == typeInLocation) val = '';
    selectLocation(baseUrl + getRes("Url_Sale") + "/" + getRes("Url_Properties") + ".aspx", null, null, jQuery(elemRadiusId).val(), val);
}

function selectLocation(href, provinceName, location, radius, search) {
    jQuery.cookie('search.reset', true, { path: '/' });
    jQuery.cookie('search.search', search, { path: '/' });
    jQuery.cookie('search.radius', radius, { path: '/' });

    window.location.href = jQuery.convertToEnglishLetters(href, true);
}
