﻿var LMapiaWindow = new Array();
var MapiaElement;
var oLMapiaWindow = function(i, data, url, listingUrl) {
    this.Elm = $("#Mapia" + i);
    this.noErr = true;
    var d;
    eval("d=" + data);
    var address = d.street + ' ' + d.buildNum;
    if (address.search(/[^\s]/) < 0)
        return;
    var title = address + ', ' + d.price + ', ID:' + d.listingId;
    var categoryName = d.tranText + ', ' + d.realtyText;
    this.MapiaData = [{ city: d.region, marker: 'marker' + d.listingId, address: (d.coords ? d.coords : address), data: {
        title: title,
        icon_url: d.root + '/img/key.gif',
        category_name: categoryName,
        logo: d.root + d.photo,
        url: listingUrl
}}];
        this.Create = function() {
            oLMapiaWindow.prototype.width = $("#Mapia" + i).width() + "px";
            var hght = oLMapiaWindow.prototype.height ? oLMapiaWindow.prototype.height : 400;
            MapiaElement = "LMapiaWindow";
            this.Elm.html(
                '<div id="idMapiaPopUp' + i + '" style="margin:0;padding:0;display:inline-block; width:100%;height:auto;">' +
                    '<iframe src="' + url + '?id=' + i + '" frameborder="0" width="100%" height="' + hght + '" scrolling="no"></iframe>' +
                '</div>' +
                '<div class="removeMap ' + i + '"><a href="javascript:void(0)" rel="nofollow" onclick="oLMapiaWindow.prototype.Triger(this,' + i + ');">убрать карту </a></div>');
        };
        this.Create();
        this.Show = function() { };
        this.Hide = function() { this.Elm.children().hide(); this.Elm.children().remove(); this.Elm.html('<label class="errorMsg">Запрошенный адрес не найден на карте</label>'); this.Elm.css("text-align", "left"); };
        this.Close = function() { $("#idMapiaPopUp" + i).hide(); $("#idMapiaPopUp" + i).remove(); };
        LMapiaWindow[i] = this;
    };
    oLMapiaWindow.prototype.height = "400px";
    oLMapiaWindow.prototype.Triger = function(e, id) {
        if (e.innerHTML == "Показать карту") {
            LMapiaWindow[id].Create();
            e.innerHTML = "Спрятать карту";
        }
        else {
            LMapiaWindow[id].Close();
            e.innerHTML = "Показать карту";
        }
    };
    oLMapiaWindow.prototype.Get = function(id) { return LMapiaWindow.length ? LMapiaWindow[id] : LMapiaWindow; };

    oMapiaWindow = function(url) {
        this.Url = url;
        this.Create = function() {
            this.Elm = $("#idMapiaPopUp");
            //this.noErr = true;
            var mapData = new Array();
            var data;
            $("tr[id^='tr']").each(function(i, e) {
                var d = $(e).attr("data");
                if (!d || d < " ")
                    return;
                eval('data = {' + d + '}');
                var address = data.street + ' ' + data.buildNum;
                if (address.search(/[^\s]/) < 0)
                    return;
                var title = address + ', ' + data.price + ', ID:' + data.listingId;
                var categoryName = data.tranText + ', ' + data.realtyText;
                // if address was found
                mapData.push({ city: data.region, marker: 'marker' + data.listingId, address: (data.coords ? data.coords : address), data: {
                    title: title,
                    icon_url: data.root + '/img/key.gif',
                    category_name: categoryName,
                    logo: data.root + data.photo,
                    url: $("#" + e.id.replace("tr", "aListing")).attr("href")
                }
                });
            });
            this.MapiaData = mapData;

            if ($("#idMapiaPopUpGr").length < 0)
                this.Hide();

            $("body").append(
		'<div id="idMapiaPopUpGr" class="popupBoxModel mapPopUp Mapia" style="left:50%;position:fixed;top:20%;">' +
			'<div class="transparentBorder">' +
			  '<div class="popupContent" style="padding:0;">' +
				'<div class="closeSiteEnter closeSearchPopup"><a href="javascript:void(0);" rel="nofollow"  onclick="MapiaWindow.Hide();"><img height="11" width="12" alt="закрыть" src="http://img.address.ua/img/close_icon.gif"></a></div>' +
				'<iframe id="ifMapia" scrolling="no" height="420" frameborder="0" width="710" src="' + this.Url + '" marginwidth="0" marginheight="0"></iframe>' +
			  '</div>' +
			'</div>' +
		'</div>');
            oMapiaWindow.prototype.width = $("#ifMapia").width() + "px";
            oMapiaWindow.prototype.height = $("#ifMapia").height() + "px";
        };
        this.Show = function() { };
        this.Hide = function() {
            $("#idMapiaPopUpGr").hide().remove();
        };
    };    
