﻿
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function addUnLoadEvent(func) {
    var oldUnload = window.onunload;
    if (typeof window.onunload != 'function') {
        window.onunload = func
    } else {
        window.onunload = function() {
            oldunload();
            func();
        }
    }
}


function PrijavaProblemAdrese(id) {

    $.ajax({
        type: "POST",
        url: "/Services/Tvrtke.asmx/Prijavi",
        data: "{'MbrFirma':\'" + id + "\'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    });

}

function GetGeoLocation(id) {
    SetGeoLocation(id);
}

function SetGeoLocation(id) {

    var result;

    $.ajax({
        type: "POST",
        url: "/Services/Tvrtke.asmx/Geo",
        data: "{'MbrFirma':\'" + id + "\'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            result = msg.d;

            var lat = result[0];
            var lon = result[1];

            firma = result[3];
            ulica = result[4];
            GUlica = result[6];

            if (lat != '' && lon != '') {
                trazi2(lat, lon);
            }
            else {
                trazi(result[7], result[9]);                
            }
        }
    });

}

function trazi(grad, ulica) {
    var adresa = ulica + ", " + grad + ", Croatia";
    showAddress(adresa);
}

function showAddress(address) {
    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(
    address,
    function(point) {
        if (!point) {
            PrijavaProblemAdrese(MbrFirma);
            HideMap()
        } else {
            map.setCenter(point, DefaultZoom);
        }
    }
  );
}

function trazi2(lat, lon) {
    var point = new GLatLng(lat, lon);

    map.setCenter(point, DefaultZoom);
}

function setCoordinates(e, c) {
    //map.clearOverlays();
    var marker = new GMarker(c);
    map.addOverlay(marker);
    GEvent.addListener(marker, "click", function() {
        //var html=pretty(firma,"<br/> "+ulica+" ");
        //ew.openOnMarker(marker,html);
        marker.openInfoWindowHtml('<div class="tbl1"><b>' + firma + '</b><br />' + ulica + '</div>');
    });
    // marker.openInfoWindowHtml('<div class="tbl1"><b>' + firma + '</b><br />' + ulica + '</div>');
}

function EndDraw() {

    var myPoint = map.getCenter();
    setCoordinates(null, myPoint);
}

var DefaultZoom = 15;
var firma;
var MbrFirma;
var ulica;
var ulicaime;
var GUlica;
var mjesto;
var map = null;
var ew = null;

function ShowMapY(Mbr) {
    ShowMap(Mbr);
}

function ShowMap(id) {

    $(document).ready(function() {

        try {
            ShowMapPrivate(id);
        }
        catch (ex) {
            ShowError();
        }
    });

}

function ShowMapPrivate(Mbr) {
    MbrFirma = Mbr;
    if (document.getElementById('mapContainerY') != null) {
        map = new GMap2(document.getElementById("mapContainerY"));
        //map.addControl(new GLargeMapControl());
        map.addControl(new GSmallZoomControl());
        //map.setMapType(G_MAP_TYPE);

        GEvent.addListener(map, "load", EndDraw);

        //korištenje EWindowa
        /*  ew = new EWindow(map, E_STYLE_7);      
        map.addOverlay(ew);*/
        //korištenje EWindowa

        GetGeoLocation(Mbr)
    }
    
}


function ShowError() {
    var oMap = document.getElementById("mapContainerY");
    oMap.innerHTML = "<br/><br/><br/><br/><br/><br/><%= ltMapErrorText.Text %>";
    oMap.style.textAlign = "center";
    oMap.style.color = "#999999";
}


/* function ShowMapDirect(){
}*/

function pretty(a, b) {
    return '<table border="0" cellpadding="0" cellspacing="0"><tr><td width="100%" class="EWTitle" nowrap>' + a +
               '<a href="javascript:ew.hide()"><img width="14" height="13" title="Close the EWindow" src="ewindow/eclose.gif" border=0 style="position:absolute;right:4px;top:4px; color: red"></a>' +
               '</td></tr>' +
               '<tr><td nowrap>' + b + '</td></tr></table>';
}

function ErrorPrint(a) {
    var oMap = document.getElementById("mapContainerY");
    oMap.innerHTML = "";
    oMap.style.textAlign = "center";
    oMap.style.color = "#999999";
}

function HideMap() {
    var oMap = document.getElementById("mapContainerY");
    var parent = oMap.parentNode;
    parent.style.display = 'none';

    oMap.parentNode.removeChild(oMap);

}