var ajaxPage = "mainajax.jsp"
var t = 0 ;

//----------------------

function plusMinus(pMix, pMiy, pMax, pMay, pIsOverCity, pZin, pZout, pExtraPlus, pExtraMinus)
{
    if (pExtraPlus) {
        document.getElementById("plus").href = "javascript:document.forms[5].mix.value=" + pMix + ";" +
                                               "document.forms[5].miy.value = " + pMiy + ";" +
                                               "document.forms[5].max.value = " + pMax + ";" +
                                               "document.forms[5].may.value = " + pMay + ";" +
                                               "changeContainer('" + pIsOverCity + "');";
    } else {
        document.getElementById("plus").href = "javascript:setScl(" + pZin + ");";
    }

    if (pExtraMinus) {

        document.getElementById("minus").href = "javascript:document.forms[5].mix.value=" + pMix + ";" +
                                                "document.forms[5].miy.value = " + pMiy + ";" +
                                                "document.forms[5].max.value = " + pMax + ";" +
                                                "document.forms[5].may.value = " + pMay + ";" +
                                                "changeContainer('Default');";

    } else {
        document.getElementById("minus").href = "javascript:setScl(" + pZout + ");";
    }
}
function drawMarker(pX, pY) {
    var m = document.getElementById("MarkerLayer");
    if (m == undefined) {
        var layer = document.createElement("div");
        layer.style.position = "absolute";
        layer.id = "MarkerLayer";
        layer.innerHTML = "<img src='" + imageDir + "images/flag.png' width=21px height=26px border=0>";
        layer.style.zIndex = "1";
        document.getElementById("Map").appendChild(layer);
        m = layer;
    }
    if (pX >= 0 && pX <= mapWidth && pY >= 0 && pY <= mapHeight) {
        m.style.left = pX;
        m.style.top = pY - 26;
        m.style.visibility = "visible";
        document.forms[0].mrX.value = minX + markerX * pxXvalue;
        document.forms[0].mrY.value = maxY - markerY * pxYvalue;
    } else {
        m.style.visibility = "hidden";
    }
}
function getContainerNameBg(container) {
    if ("Sofia" == container) return "гр. София";
    if ("Varna" == container) return "гр. Варна";
    if ("Plovdiv" == container) return "гр. Пловдив";
    if ("Bourgas" == container) return "гр. Бургас";
    return "България";
}
var zoomAllScale = new Array(2);
zoomAllScale[0] = new Array(10);
zoomAllScale[1] = new Array(10);
zoomAllScale[0][0] = 84000;
zoomAllScale[0][1] = 252000;
zoomAllScale[0][2] = 420000;
zoomAllScale[0][3] = zoomAllScale[0][2] + 629900;
zoomAllScale[0][4] = zoomAllScale[0][3] + 629900;
zoomAllScale[0][5] = zoomAllScale[0][4] + 629900;
zoomAllScale[0][6] = zoomAllScale[0][5] + 629900;
zoomAllScale[0][7] = zoomAllScale[0][6] + 629900;
zoomAllScale[0][8] = 3780000;//zoomallScale[7] + 629900;
zoomAllScale[0][9] = 4015287;

zoomAllScale[1][0] = 1680;   //40m
zoomAllScale[1][1] = 2520;   //60m
zoomAllScale[1][2] = 3780;   //90m
zoomAllScale[1][3] = 5460;   //130m
zoomAllScale[1][4] = 8400;   //200m
zoomAllScale[1][5] = 16800;  //400m
zoomAllScale[1][6] = 25200;  //600m
zoomAllScale[1][7] = 35700;  //850m
zoomAllScale[1][8] = 50400;  //1200m
zoomAllScale[1][9] = 84000;  //2km

var previousLastResult;
var previousContainer;

function setAttributes(point1X, point1Y, point2X, point2Y,
                       currEnvMinX, currEnvMinY, currEnvMaxX, currEnvMaxY,
                       pZin, pZout,
                       pCalcLineVspace, pOverCity, pScaleIndex, pContainerName,
                       pIsMinScale, pIsMaxScale,
                       pRealX, pRealY, pMarkerDeviceX, pMarkerDeviceY,
                       pCharset, pDistArrayCoords,
                       pRealDistArrayCoords, pScaleDistance,
                       pObjectPntgetX, pObjectPntgetY, pFoundText,
                       pMustHideSearchResult, pLastResult,
                       pEventDeviceNoteGetX, pEventDeviceNoteGetY,
                       pSelSubUrl, pFoundTextSubUrl,
                       pEventX, pEventY, pEventId,
                       pShowPOI, pOldScale, pNewScaleDistance, pPOICoordsArray) {
    pointerWidth = point2X - point1X;
    pointerHeight = point1Y - point2Y;
    pointerLeft = point1X;
    pointerTop = point2Y;
    zinstep = pZin;
    zoutstep = pZout;
    isOverCity = pOverCity;
    denyMinRecenter = pIsMinScale;
    denyMaxRecenter = pIsMaxScale;    
    oldScale = pOldScale;
    minX = currEnvMinX;
    minY = currEnvMinY;
    maxX = currEnvMaxX;
    maxY = currEnvMaxY;
    pxXvalue = (maxX - minX) / mapWidth;
    pxYvalue = (maxY - minY) / mapHeight;

    realX = pRealX;
    realY = pRealY;
    markerX = pMarkerDeviceX;
    markerY = pMarkerDeviceY;

    pxXvalue = (maxX - minX) / mapWidth;
    pxYvalue = (maxY - minY) / mapHeight;
    containerName = pContainerName;
    charset = pCharset;
    distperpix = pxXvalue = pxYvalue = pScaleDistance;
    objectPntGetX = pObjectPntgetX;
    objectPntGetY = pObjectPntgetY;
    mustHideSearchResult = pMustHideSearchResult == 'true';
    lastResult = pLastResult;
    eventDeviceNoteGetX = pEventDeviceNoteGetX;
    eventDeviceNoteGetY = pEventDeviceNoteGetY;
    selSubUrl = pSelSubUrl;
    foundTextSubUrl = pFoundTextSubUrl;

    slideX = 0;
    slideY = 0;
    slidePositionX = 0;
    slidePositionY = 0;

    if (pointerHeight < 10) {
        pointerTop = pointerTop - (5 - pointerHeight / 2);
        pointerHeight = 10;
        if (pointerTop < 0) pointerTop = 0;
        else if (pointerTop + pointerHeight >= ovMapHeight) pointerTop = ovMapHeight - pointerHeight - borderWidth * 2;
    }
    if (pointerWidth < 10) {
        pointerLeft = pointerLeft - (5 - pointerWidth / 2);
        pointerWidth = 10;
        if (pointerLeft < 0) pointerLeft = 0;
        else if (pointerLeft + pointerWidth >= ovMapWidth) pointerLeft = ovMapWidth - pointerWidth - borderWidth * 2;
    }

    setFieldToAllForms("mix", currEnvMinX);
    setFieldToAllForms("miy", currEnvMinY);
    setFieldToAllForms("max", currEnvMaxX);
    setFieldToAllForms("may", currEnvMaxY);
    setFieldToAllForms("cname", pContainerName);
    setFieldToAllForms("markerContainer", pContainerName);
    setFieldToAllForms("distLayerCoords", pDistArrayCoords);
    setFieldToAllForms("mrX", pRealX);
    setFieldToAllForms("mrY", pRealY);
    setFieldToAllForms("oldScale", pOldScale);
    setFieldToAllForms("scale", '');
    if (document.getElementById(containerName + "_LI")) {
        if (document.getElementById(containerName + "_LI").className == "") {
            try {
                document.getElementById("Default_LI").className = "";
                document.getElementById("Sofia_LI").className = "";
                document.getElementById("Plovdiv_LI").className = "";
                document.getElementById("Varna_LI").className = "";
                document.getElementById("Bourgas_LI").className = "";
            } catch (e) {
            }
            document.getElementById(containerName + "_LI").className = "active";
        }
    }

    if (pMustHideSearchResult) {
        setFieldToAllForms("mustHideSearchResult", pMustHideSearchResult);
    }
    setFieldToAllForms("doRepeatResult", "");
    setFieldToAllForms("lastResult", pLastResult);
    //zanolqvame go ... tova se izpolzva samo kogato se zoom-va s double-click
    document.forms["mapform"].elements["zoomScl"].value = "";


    //document.getElementById("overviewBorder").style.visibility = "hidden";
    document.getElementById("overviewBorder").width = pointerWidth;
    document.getElementById("overviewBorder").height = pointerHeight;
    document.getElementById('OverviewLocation').style.margin = (pointerTop ) + 'px 0 0 ' + (pointerLeft   ) + 'px';
    document.getElementById('OverviewLocation').style.width = pointerWidth;
    document.getElementById('OverviewLocation').style.height = pointerHeight;
   // document.getElementById("overviewBorder").style.visibility = "visible";
    if (document.getElementById("cyrilicContainerName")) {
        document.getElementById("cyrilicContainerName").innerHTML = getContainerNameBg(pContainerName);
    }

    document.getElementById('ZoomLevelLocation').style.margin = pCalcLineVspace + 'px 0 0 0px';
    document.getElementById('Scale1').innerHTML = '<img src="' + imageDir + 'images/scale.gif" border=0 width="90" height="10">&nbsp;' +
                                                  '<strong>' + pNewScaleDistance + '</strong>';
    var containerId ;
    if ("Default" == (pContainerName)) {
        containerId = 0;
    } else {
        containerId = 1;
        if ("Sofia" == (pContainerName)) {
            zoomAllScale[9] = 435028;
        } else if ("Plovdiv" == (pContainerName)) {
            zoomAllScale[9] = 108608;
        } else if ("Varna" == (pContainerName)) {
            zoomAllScale[9] = 155118;
        } else {
            zoomAllScale[9] = 151116;
        }
    }

    extraPlus = pOverCity != "";
    extraMinus = "Default" != pOverCity && pScaleIndex == zoomAllScale[containerId][9];
    plusMinus(currEnvMinX, currEnvMinY, currEnvMaxX, currEnvMaxY, pOverCity, pZin, pZout, extraPlus, extraMinus);
    if ("Default" != pContainerName && pScaleIndex == zoomAllScale[containerId][9]) {
        canLoadDef = true;
    }
    else {
        canLoadDef = false;
    }
    for (var i = 0; i < 10; i++) {
        document.getElementById("containerBtn" + i).href = "javascript:setScl(" + zoomAllScale[containerId][i] + ")";
    }
    //zaradi mesteneto na zoomSlider
    scaleArray = zoomAllScale[containerId];

    //opravqne na kooordinatite na kartata

    document.getElementById("Map").style.left = 0;
    document.getElementById("Map").style.top = 0;
    document.getElementById("DistanceMap").style.left = 0;
    document.getElementById("DistanceMap").style.top = 0;
    document.getElementById("Cov").style.left = 0;
    document.getElementById("Cov").style.top = 0;
    if (document.getElementById("adminBig")) {
        document.getElementById("adminBig").style.left = 0;
        document.getElementById("adminBig").style.top = 0;
    }

    if (pFoundText != undefined) {
        if (!document.getElementById("objectPoint")) {            
            var layer = document.createElement("div");
            layer.style.left = 0;
            layer.style.top = 0;
            layer.style.visibility = mustHideSearchResult ? "visible" : "hidden";
            layer.style.position = "absolute";
            layer.id = "objectPoint";
            document.getElementById("SlideCover").appendChild(layer);

            layer = document.createElement("div");
            layer.id = "searchbalon";
            layer.style.width = "164px";
            layer.style.position = "absolute";
            document.getElementById("objectPoint").appendChild(layer);

            layer = document.createElement("div");
            layer.id = "searchCov";
            layer.style.margin = "2px 0 0 147px";
            layer.style.position = "absolute";
            layer.style.zIndex = "2";
            document.getElementById("objectPoint").appendChild(layer);

            layer.innerHTML = '<a href="#" onmousedown="changeVisibilitySearchResult();holdClick = 1;">' +
                              '<img src="' + imageDir + 'images/tooltip_close.gif" title="Скрий" border="0"/></a></div>' +
                              '<img id="objTooltipBalon" style="position:absolute;" width="164px" src="' + imageDir + 'images/obj_tooltip.png" >';
            layer = document.createElement("div");
            layer.id = "searchBalonText";
            layer.style.padding = "15px 0px 0px 5px";
            layer.style.position = "absolute";
            layer.style.fontSize = "11px";
            layer.style.lineHeight = "1.2";
            document.getElementById("searchCov").appendChild(layer);
        }

        document.getElementById("objectPoint").style.left = 0;
        document.getElementById("objectPoint").style.top = 0;
        document.getElementById("searchBalonText").innerHTML = pFoundText;

        if (!pObjectPntgetX) {

            objectPntGetX = -500;
            objectPntGetY = -500;
        }
        changeSearchBalonHeight();
        if (!document.getElementById("rSearch")) {
            var layer = document.createElement("div");
            layer.id = "rSearch";
            layer.style.padding = "28px 0 0 15px";
            layer.style.position = "relative";
            layer.className = "left";
            document.getElementById("lenta2").appendChild(layer);
        }
        if (!document.getElementById("rSearchNewText")) {
            document.getElementById("rSearch").innerHTML = '<span id="rSearchNewText"></span>&nbsp;' +
                                                           document.getElementById("rSearch").innerHTML;
        }
        document.getElementById("rSearch").title = pFoundText;
        if (pFoundText.length > 55) {
            pFoundText = pFoundText.substr(0, 45) + "...";
        }
        document.getElementById("rSearchNewText").innerHTML = pFoundText;

        document.getElementById("rSearch").style.visibility = "visible";
        if (pMustHideSearchResult) {
            if (!document.getElementById("minMaxSearchResult") || !document.getElementById("searResultMinMaxLabel")) {
                var layer = document.getElementById("rSearch");
                layer.innerHTML = layer.innerHTML + '<span class="blulink">' +
                                  '<a  title="Отиди" href="#"' +
                                  ' onClick="isPageFrozen = true;submitForm(document.forms[6]);">отиди &raquo;</a>&nbsp;&nbsp;' +
                                  '</span> ' +
                                  '<span class="blulink">' +
                                  '<a id="searResultMinMaxLabel" href="#" title="" onclick="changeVisibilitySearchResult();">[<span' +
                                  ' id="minMaxSearchResult" STYLE="font-family:Courier, monospace;">-</span>]</a>' +
                                  ' <a title="Премахни"  href="#"' +
                                  ' onclick="javascript:document.getElementById(' + "'rSearch'" + ').style.visibility=' + "'hidden'" + ';setObjectPointVisibility(' + "'hidden'" +');noRepeatResult();setFieldToAllForms(' + "'lres'" +',' + "''" + ');document.forms[1].clearSelections.value='+"'Y'"+'; submitForm(document.forms['+"'toolbar'"+']);">' +
                                  '[<span STYLE="font-family:Courier, monospace">x</span>]</a>' +
                                  '</span>';
            }

            document.getElementById("minMaxSearchResult").innerHTML = (mustHideSearchResult ? '+' : '-');
            document.getElementById("searResultMinMaxLabel").title = (mustHideSearchResult ? 'Покажи' : 'Скрий');
            if (pMustHideSearchResult.toLowerCase() == 'true') {
                document.getElementById("objectPoint").style.visibility = "hidden";
            } else {
                document.getElementById("objectPoint").style.visibility = "visible";
            }
        } else {
            document.getElementById("objectPoint").style.visibility = "hidden";
        }
    } else {
        if (noResultFound) {
            document.getElementById("rSearchNewText").innerHTML = "Няма намерени резултати";
            noResultFound = false;
        }
        else if (document.getElementById("rSearch")) {
            document.getElementById("rSearch").style.visibility = "hidden";
        }
    }

    if (!pObjectPntgetX) {
        if (document.getElementById("objectPoint")) {
            document.getElementById("objectPoint").style.visibility = "hidden";
        }
    }

    //novina - balon
    changeBalonHeight();
    var cell = document.getElementById("Cov");
    if (cell.hasChildNodes()) {
        while (cell.childNodes.length >= 1) {
            cell.removeChild(cell.firstChild);
        }
    }
    event1 = new Array();
    event1Coords = new Array();
    event2 = new Array();
    event2Coords = new Array();
    event3 = new Array();
    event3Coords = new Array();
    event4 = new Array();
    event4Coords = new Array();
    event5 = new Array();
    event5Coords = new Array();
    event6 = new Array();
    event6Coords = new Array();
    event7 = new Array();
    event7Coords = new Array();

    for (i = 0; i < pEventId.length; i++) {
        setEvent(pEventId[i], pEventX[i], pEventY[i], false);
    }

    POICoordsArray = null;
    if (pPOICoordsArray != null  &&  pPOICoordsArray.length > 0) {
        POICoordsArray = pPOICoordsArray;
    }
    if (document.getElementById("POIInfo")) {
        document.getElementById("POIInfo").style.visibility = "hidden";
    }
    painChosen(previousLastResult, '#0066CC');
    painChosen(lastResult, 'red');

    mouseX = 0;
    mouseY = 0;
//    var j1 = new jsGraphics("Cov");
    //    j1.setStroke(2);
    //    j1.setColor("#ffffff");
    //    j1.drawLine(198, 128, 483, 132);
    //    j1.paint();
    if (pDistArrayCoords != null) {
        if (j == null) {
            j = new jsGraphics("DistanceMap");
            j.setStroke(2);
            j.setColor("#CC0000");
        }
        else {
            j.clear();
        }
        //todo komentirano e za6toto po-gore triem celiq Cov
        //for (i = 0; i < distLayerCounter; i++) {
        // document.getElementById("Cov").removeChild(document.getElementById(distLayersArray[i]));
        //}
        distBackSum = 0;
        distHolder = 0;
        distUniqueLayerId = 0;
        distLayersArray = new Array();
        distLayerCoords = new Array();
        distLayerCounter = 0;
        flag_distance = 0;
        distBackSum = 0;
        holdClick = 0;
        tag = " m";
        j_x = 0;
        j_y = 0;
        drawDistanceLine(j, pDistArrayCoords, imageWidth, imageHeight, pRealDistArrayCoords);
    }

    if (pShowPOI == "true") {
        document.getElementById("POI").style.visibility = "visible";
    } else {
        document.getElementById("POI").style.visibility = "hidden";
    }
    document.forms['MapSize'].action.value = '';
    resize = false;
    recenter = false;

    //imashe problem s butona za markera
    isMarker = markerX != -1 && markerY != -1;

    if (document.forms[2].action[7].checked) {
        if (isMarker) {
            hideLayer("MarkerButOn");
            showLayer("EraseMarker");
            showLayer("CenterMarker");
            hideLayer("CenterMarkerOff");
        } else {
            showLayer("MarkerButOn");
            hideLayer("EraseMarker");
            hideLayer("CenterMarker");
            showLayer("CenterMarkerOff");
        }
    }
    else {
        if (isMarker) {
            showLayer("CenterMarker");
            hideLayer("CenterMarkerOff");
        } else {
            hideLayer("CenterMarker");
            showLayer("CenterMarkerOff");
        }
    }
}

function getAttributes(responseXML) {

    var pnt1X = Number(responseXML.getElementsByTagName("pnt1X")[0].childNodes[0].nodeValue);
    var pnt1Y = Number(responseXML.getElementsByTagName("pnt1Y")[0].childNodes[0].nodeValue);
    var pnt2X = Number(responseXML.getElementsByTagName("pnt2X")[0].childNodes[0].nodeValue);
    var pnt2Y = Number(responseXML.getElementsByTagName("pnt2Y")[0].childNodes[0].nodeValue);
    var currEnvMinX = parseFloat(responseXML.getElementsByTagName("currEnvMinX")[0].childNodes[0].nodeValue);
    var currEnvMinY = parseFloat(responseXML.getElementsByTagName("currEnvMinY")[0].childNodes[0].nodeValue);
    var currEnvMaxX = parseFloat(responseXML.getElementsByTagName("currEnvMaxX")[0].childNodes[0].nodeValue);
    var currEnvMaxY = parseFloat(responseXML.getElementsByTagName("currEnvMaxY")[0].childNodes[0].nodeValue);

    var zin = Number(responseXML.getElementsByTagName("zin")[0].childNodes[0].nodeValue);
    var zout = Number(responseXML.getElementsByTagName("zout")[0].childNodes[0].nodeValue);
    var calcLineVspace = Number(responseXML.getElementsByTagName("calcLineVspace")[0].childNodes[0].nodeValue);

    var overCity = "";
    if (responseXML.getElementsByTagName("overCity")[0].childNodes[0] != null) {
        overCity = responseXML.getElementsByTagName("overCity")[0].childNodes[0].nodeValue;

    }
    var pScaleIndex = Number(responseXML.getElementsByTagName("scaleIndex")[0].childNodes[0].nodeValue);

    var pContainerName = responseXML.getElementsByTagName("containerName")[0].childNodes[0].nodeValue;

    var pIsMinScale = responseXML.getElementsByTagName("isMinScale")[0].childNodes[0].nodeValue;
    var pIsMaxScale = responseXML.getElementsByTagName("isMaxScale")[0].childNodes[0].nodeValue;

    var pRealX = parseFloat(responseXML.getElementsByTagName("realX")[0].childNodes[0].nodeValue);
    var pRealY = parseFloat(responseXML.getElementsByTagName("realY")[0].childNodes[0].nodeValue);
    var pMarkerDeviceX = Number(responseXML.getElementsByTagName("markerDeviceX")[0].childNodes[0].nodeValue);
    var pMarkerDeviceY = Number(responseXML.getElementsByTagName("markerDeviceY")[0].childNodes[0].nodeValue);
    var pCharset = responseXML.getElementsByTagName("charset")[0].childNodes[0].nodeValue;
    var pScaleDistance = parseFloat(responseXML.getElementsByTagName("scaleDistance")[0].childNodes[0].nodeValue);
    var pLastResult = responseXML.getElementsByTagName("lastResult")[0];
    if (pLastResult && pLastResult.childNodes[0]) {
        pLastResult = pLastResult.childNodes[0].nodeValue;
    } else {
        pLastResult = "";
    }

    var pObjectPntgetX;
    var pObjectPntgetY;
    var pFoundText;
    var pMustHideSearchResult;
    if (responseXML.getElementsByTagName("objectPntgetX")[0] != undefined) {
        pObjectPntgetX = parseFloat(responseXML.getElementsByTagName("objectPntgetX")[0].childNodes[0].nodeValue)
        pObjectPntgetY = parseFloat(responseXML.getElementsByTagName("objectPntgetY")[0].childNodes[0].nodeValue)
    }
    if (responseXML.getElementsByTagName("foundText")[0] != undefined) {
        if (responseXML.getElementsByTagName("foundText")[0].childNodes[0] != undefined) {
            pFoundText = responseXML.getElementsByTagName("foundText")[0].childNodes[0].nodeValue;
            var repSForm = document.forms["repeatSearch"];
            try {
                repSForm.cname.value = responseXML.getElementsByTagName("rsContainer")[0].childNodes[0].nodeValue;
                repSForm.txt.value = responseXML.getElementsByTagName("rsTxt")[0].childNodes[0].nodeValue;
                repSForm.lid.value = responseXML.getElementsByTagName("rsLid")[0].childNodes[0].nodeValue;
                repSForm.mxz.value = responseXML.getElementsByTagName("rsMxz")[0].childNodes[0].nodeValue;
                repSForm.mnz.value = responseXML.getElementsByTagName("rsMnz")[0].childNodes[0].nodeValue;
                repSForm.action.value = responseXML.getElementsByTagName("rsAction")[0].childNodes[0].nodeValue;
                repSForm.mlid.value = responseXML.getElementsByTagName("rsMlid")[0].childNodes[0].nodeValue;
                repSForm.selparams[0].value = responseXML.getElementsByTagName("rsSelparam1")[0].childNodes[0].nodeValue;
                repSForm.selparams[1].value = responseXML.getElementsByTagName("rsSelparam2")[0].childNodes[0].nodeValue;
            } catch (e) {
            }
        }
        pMustHideSearchResult = responseXML.getElementsByTagName("mustHideSearchResult")[0].childNodes[0].nodeValue;
    }

    var pEventDeviceNoteGetX;
    var pEventDeviceNoteGetY;
    if (responseXML.getElementsByTagName("eventBalonX")[0] != undefined) {
        pEventDeviceNoteGetX = parseFloat(responseXML.getElementsByTagName("eventBalonX")[0].childNodes[0].nodeValue)
        pEventDeviceNoteGetY = parseFloat(responseXML.getElementsByTagName("eventBalonY")[0].childNodes[0].nodeValue)
    }
    var pSelSubUrl = "";
    if (responseXML.getElementsByTagName("selSubUrl")[0].childNodes[0] != undefined) {
        pSelSubUrl = responseXML.getElementsByTagName("selSubUrl")[0].childNodes[0].nodeValue;
    }    
    var pFoundTextSubUrl = "";
    if (responseXML.getElementsByTagName("foundTextSubUrl")[0].childNodes[0] != undefined) {
        pFoundTextSubUrl = responseXML.getElementsByTagName("foundTextSubUrl")[0].childNodes[0].nodeValue;
    }

    var collection = responseXML.getElementsByTagName("distArrayCoordsValue");
    var pDistArrayCoords = [];
    for (var i = 0; i < collection.length; i++) {
        pDistArrayCoords[i] = Number(collection[i].childNodes[0].nodeValue);
    }

    var pRealDistArrayCoords = [];
    var collection1 = responseXML.getElementsByTagName("realDistArrayCoordsValue");
    for (var j = 0; j < collection1.length; j++) {
        pRealDistArrayCoords[j] = Number(collection1[j].childNodes[0].nodeValue);
    }

    var pEventX = [];
    var pEventY = [];
    var pEventId = [];
    var collEventX = responseXML.getElementsByTagName("eventX");
    var collEventY = responseXML.getElementsByTagName("eventY");
    var collEventId = responseXML.getElementsByTagName("eventId");
    for (var i = 0; i < collEventId.length; i++) {
        pEventX[i] = parseFloat(collEventX[i].childNodes[0].nodeValue);
        pEventY[i] = parseFloat(collEventY[i].childNodes[0].nodeValue);
        pEventId[i] = parseFloat(collEventId[i].childNodes[0].nodeValue);
    }

    var POICoordsX = responseXML.getElementsByTagName("POIX");
    var POICoordsY = responseXML.getElementsByTagName("POIY");
    var POIName = responseXML.getElementsByTagName("POIName");
    var POIType = responseXML.getElementsByTagName("POIType");    
    var pPOICoordsArray = new Array(POICoordsX.length);
    try {
        for (var i = 0; i < POICoordsX.length; i++) {
            pPOICoordsArray[i] = new Array(4);
            pPOICoordsArray[i][0] = Math.round(parseFloat(POICoordsX[i].childNodes[0].nodeValue));
            pPOICoordsArray[i][1] = Math.round(parseFloat(POICoordsY[i].childNodes[0].nodeValue));
            if (POIType[i].childNodes[0]) {
                pPOICoordsArray[i][2] = POIType[i].childNodes[0].nodeValue;
            }
            else {
                pPOICoordsArray[i][2] = "";
            }
            if (POIName[i].childNodes[0]) {
                pPOICoordsArray[i][3] = POIName[i].childNodes[0].nodeValue;
            }
            else {
                pPOICoordsArray[i][3] = "";
            }
        }
    } catch (e) {
        pPOICoordsArray = null;
    }

    var pShowPOI = "";
    if (responseXML.getElementsByTagName("showPOI")[0].childNodes[0] != undefined) {
        pShowPOI = responseXML.getElementsByTagName("showPOI")[0].childNodes[0].nodeValue;
    }
    var pOldScale = responseXML.getElementsByTagName("oldScale")[0].childNodes[0].nodeValue;
    var pNewScaleDistance = "";
    if (responseXML.getElementsByTagName("newScaleDistance")[0].childNodes[0] != undefined) {
        pNewScaleDistance = responseXML.getElementsByTagName("newScaleDistance")[0].childNodes[0].nodeValue;
    }
    setAttributes(pnt1X, pnt1Y, pnt2X, pnt2Y,
            currEnvMinX, currEnvMinY, currEnvMaxX, currEnvMaxY,
            zin, zout,
            calcLineVspace, overCity, pScaleIndex, pContainerName,
            pIsMinScale, pIsMaxScale,
            pRealX, pRealY, pMarkerDeviceX, pMarkerDeviceY,
            pCharset, pDistArrayCoords,
            pRealDistArrayCoords, pScaleDistance,
            pObjectPntgetX, pObjectPntgetY, pFoundText,
            pMustHideSearchResult, pLastResult,
            pEventDeviceNoteGetX, pEventDeviceNoteGetY,
            pSelSubUrl, pFoundTextSubUrl,
            pEventX, pEventY, pEventId,
            pShowPOI, pOldScale, pNewScaleDistance, pPOICoordsArray);

//    t++;
    //karta
    if (responseXML.getElementsByTagName("hadSDOSess")[0] != undefined) {
        var hadS = responseXML.getElementsByTagName("hadSDOSess")[0].childNodes[0].nodeValue;
        if (hadS == 'false' && (document.getElementById('backNews') || document.getElementById('hideNews') || document.getElementById('adminInfo'))) {
            removeNews();
        }
    }
    if (responseXML.getElementsByTagName("ssId")[0] != undefined) {
        ssId = responseXML.getElementsByTagName("ssId")[0].childNodes[0].nodeValue;
    }
    document.getElementById("Map").innerHTML = "<img  src='img?time=" + (new Date()).getTime() + "&SSId=" + ssId + "'>";
    document.getElementById("debug").innerHTML = ssId;
    //overview
    if (previousContainer != pContainerName) {
        //document.getElementById("debug").innerHTML += "drawing overview &nbsp;";
        document.getElementById("imgOverview").src = imageDir + "images/" + "ov" + pContainerName + ".gif";
    }
    if (responseXML.getElementsByTagName("FrozenSearchLayer")[0] != undefined) {
        var setImgBorder = responseXML.getElementsByTagName("FrozenSearchLayer")[0].childNodes[0].nodeValue;
        changeOnDemandLayers(setImgBorder, true);
    }
    if (responseXML.getElementsByTagName("slide")[0] != null && responseXML.getElementsByTagName("slide")[0].childNodes[0] != null) {
        var slide = responseXML.getElementsByTagName("slide")[0].childNodes[0].nodeValue;
        if (slide == "yes") {
            document.forms[2].action[8].checked = true;
        } else {
            alert("nqma otmestvane");
        }
    }
    drawMarker(markerX, markerY);

}

function parseAjaxMessage() {
    var message = reqAjax.responseXML;
    var problemTag = message.getElementsByTagName('problem');
    if (problemTag) {
        if (message.getElementsByTagName('problem')[0].childNodes[0].nodeValue == "no") {
            getAttributes(message);
        }
    }
}

function callbackFunction() {
    if (isRecieved) {
        return;
    }
   // alert(reqAjax.readyState);
    if (reqAjax.readyState == 4) {
        if (reqAjax.status == 200) {
            isRecieved = true;
            var thinkingDiv = document.getElementById("thinking");
            if (thinkingDiv) {
                thinkingDiv.style.visibility = "hidden";
            }
            parseAjaxMessage();
            isPageFrozen = false;
            postCallback();
        }
    }
}

function getReq() {
    //moje da se napravi ako ne e inicializiran , togava da se pravi nov obekt
    var result ;
    if (typeof XMLHttpRequest != "undefined") {
        result = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        result = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return result;
}

function preCallback() {
    isRecieved = false;
    if (!isOpera8up) {
        if (isIE) {
            document.getElementById("SlideCover").style.cursor = "wait";
        }
        if (is5up) {
            var lar = getLayer("SlideCover");
            lar.cursor = "wait";
        }
    }
    document.body.style.cursor = "wait";

    if (document.forms[2].action[4].checked) {
        for (var i = 0; i < document.forms[2].action.length; i++) {
            if (document.forms[2].action[i].value == document.forms[0].lastaction.value) {
                document.forms[2].action[i].checked = true;
                break;
            }
        }
    }
}

function postCallback() {

    document.body.style.cursor = "default";

    var actionIcon = "";
    if (!isOpera8up) {
        if (document.forms[2].action[2].checked) {
            actionIcon = "url('images/zincrsr.CUR'), auto";
        }
        else if (document.forms[2].action[8].checked) {
            actionIcon = "url('images/grab.CUR'), auto";
        } else {
            actionIcon = "default";
        }
    } else {
        actionIcon = "default";
    }
    if (isIE) {
        document.all.SlideCover.style.cursor = actionIcon;
    }
    if (is5up) {
        var lar = getLayer("SlideCover");
        lar.cursor = actionIcon;
    }


    previousLastResult = lastResult;
    previousContainer = containerName;
    clearT();
    resizeApp(false);

    document.getElementById("boxTop").style.left = 0;
    document.getElementById("boxTop").style.top = 0;
    document.getElementById("boxTop").style.width = imageWidth;
    document.getElementById("boxTop").style.height = imageHeight;

    document.getElementById("boxLeft").style.left = 0;
    document.getElementById("boxLeft").style.top = 0;
    document.getElementById("boxLeft").style.width = imageWidth;
    document.getElementById("boxLeft").style.height = imageHeight;

    document.getElementById("boxRight").style.left = 0;
    document.getElementById("boxRight").style.top = 0;
    document.getElementById("boxRight").style.width = imageWidth;
    document.getElementById("boxRight").style.height = imageHeight;

    document.getElementById("boxBottom").style.left = 0;
    document.getElementById("boxBottom").style.top = 0;
    document.getElementById("boxBottom").style.width = imageWidth;
    document.getElementById("boxBottom").style.height = imageHeight;
}

function setCallback(method, servlet, paramsAjax) {
    chechForCookieSupport('false');//chech for cookie support and redirect if cookies are not supported
    preCallback();

    reqAjax = getReq();
    reqAjax.open(method, servlet, true);
    reqAjax.onreadystatechange = callbackFunction;//callbackFunction;
    reqAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    reqAjax.setRequestHeader("Pragma", "no-cache");
    reqAjax.setRequestHeader("Cache-Control", "no-cache");
    reqAjax.send(paramsAjax);
}

   
//------------------------------

//tova e kopie na submit.js, no prosto ne iskam da butam po submit.js->mapstatic.jsp


function isAjax(currPage) {
    return currPage == 'map.jsp' || currPage == 'dirMapTest.jsp';
}
function onSubmitForm(form) {
    if (form != undefined) {
        isPageFrozen = true;
        if (true || !isAjax(currentPage)) {
            // alert("onSubmit - not ajax; currentPage:" + currentPage);
            form.submit();
            return true;
        } else {
            //alert("onSubmit - ajax; currentPage:" + currentPage);
            var paramsAjax = getParamsFromForm(form);
            setCallback("POST", ajaxPage, paramsAjax);
        }
    } else {
        alert("nqma forma");
    }
    return false;
}
function submitForm(form) {
    if (form != undefined) {
        isPageFrozen = true;
        if (!isAjax(currentPage)) {
            //alert("2");
            form.submit();
        } else {
            //alert("1");
            var paramsAjax = getParamsFromForm(form);
            setCallback("POST", ajaxPage, paramsAjax);
        }
    } else {
        alert("nqma forma ");
    }

}


