﻿var objectsNew=[];var selectedObject;var polygonsUnder=[];var paintedMatrix=[];var popupMenuObjects=[];function showObjectLayer(){GetObjects(false);}function GetObjects(ceoekran){var xc=parseInt(getLeftInMeter()+getWidthInMeter()/2);var yc=parseInt(getTopInMeter()+getHeightInMeter()/2);var w=getStyleWidth(mapContainer);var h=getStyleHeight(mapContainer);var src="Services/Objects/GetObjects.aspx?src="+searchstring+"&xc="+xc+"&yc="+yc+"&w="+w+"&h="+h+"&z="+z.mPerPX;executeAjaxRequest(src,"loadObjects(response)","ogo");PaintSelectedObject();}function MarkAsMapObject(object){if(isIe)object.setAttribute("mapobj","y");else object.firstChild.setAttribute("mapobj","y");}function loadObjects(xml){var divs=mainContainer.getElementsByTagName("div");var lastdiv=divs[divs.length-1];var xmlDoc=XMLParser(xml);var indeksi=xmlDoc.documentElement.getElementsByTagName("indeks");var cells=mainContainer.childNodes;var multiobjekti=[];for(var i=0;i<cells.length;i++){var divObj=cells[i];if(divObj.getAttribute("f")!='1'){var currentX=parseInt(divObj.getAttribute("mx"));var currentY=parseInt(divObj.getAttribute("my"));for(var g=0;g<indeksi.length;g++){var ind=indeksi[g];var matx=parseInt(ind.getAttribute("matx"));var maty=parseInt(ind.getAttribute("maty"));if((!isNaN(currentX)&&!isNaN(currentY))&&(matx==currentX&&maty==currentY)){for(var t=0;t<ind.childNodes.length;t++){var obj=ind.childNodes[t];var singleobj=new objekat(obj.getAttribute('s'),parseInt(obj.getAttribute('xo')),parseInt(obj.getAttribute('yo')),obj.getAttribute('n'),parseInt(obj.getAttribute('dx')),parseInt(obj.getAttribute('dy')),obj.getAttribute('i'),obj.getAttribute('r'),obj.getAttribute('k'),obj.getAttribute('p'));singleobj.ml=parseInt(obj.getAttribute('ml'));var crtaj=true;for(n=0;n<arrObjekti.length;n++){if(singleobj.sifra==arrObjekti[n].ID){crtaj=false;break;}}if(singleobj.ml=='1'||multiobjekti.length>0){if(multiobjekti.length==0){multiobjekti[multiobjekti.length]=singleobj;}else{var poslednji=multiobjekti[multiobjekti.length-1];if(poslednji.xpix==singleobj.xpix&&poslednji.ypix==singleobj.ypix){multiobjekti[multiobjekti.length]=singleobj;}else{var dot=NapraviVObjekat(multiobjekti,"blue");if(multiobjekti.length==1)MarkAsMapObject(dot);divObj.setAttribute('f',1);if(lastdiv!=null)insertAfter(lastdiv,dot);multiobjekti=[];multiobjekti[multiobjekti.length]=singleobj;}}}else if(crtaj){multiobjekti[multiobjekti.length]=singleobj;dot=NapraviVObjekat(multiobjekti,"blue");if(multiobjekti.length==1)MarkAsMapObject(dot);divObj.setAttribute('f',1);if(lastdiv!=null)insertAfter(lastdiv,dot);multiobjekti=[];}}brojindeksa=g;}}}}var pobjs=xmlDoc.documentElement.getElementsByTagName("po");var multiobjekti=[];for(var i=0;i<cells.length;i++){var multiobjekti=[];var divObj=cells[i];if(divObj.getAttribute("fp")!='1'){var currentX=parseInt(divObj.getAttribute("mx"));var currentY=parseInt(divObj.getAttribute("my"));for(var g=0;g<pobjs.length;g++){var pobj=pobjs[g];var matx=parseInt(pobj.getAttribute("matx"));var maty=parseInt(pobj.getAttribute("maty"));if((!isNaN(currentX)&&!isNaN(currentY))&&(matx==currentX&&maty==currentY)){var x=parseInt(pobj.getAttribute('x'));var y=parseInt(pobj.getAttribute('y'));var dx=parseInt(x/z.mPerPX)%256;var dy=parseInt(y/z.mPerPX)%256;var singleobj=new objekat(pobj.getAttribute('s'),x,y,pobj.getAttribute('n'),null,null,pobj.getAttribute('i'),pobj.getAttribute('r'),pobj.getAttribute('k'),pobj.getAttribute('p'));var naziv=singleobj.naziv;if(g==0){multiobjekti[multiobjekti.length]=singleobj;}else if(multiobjekti.length>0&&DaLiJeXBlizu(multiobjekti[multiobjekti.length-1].dx,singleobj.dx)&&DaLiJeYBlizu(multiobjekti[multiobjekti.length-1].dy,singleobj.dy)){multiobjekti[multiobjekti.length]=singleobj;}else{if(multiobjekti.length>0){dot=NapraviVObjekat(multiobjekti,"");if(multiobjekti.length==1)MarkAsMapObject(dot);divObj.setAttribute('fp',1);if(lastdiv!=null)insertAfter(lastdiv,dot);multiobjekti=[];multiobjekti[multiobjekti.length]=singleobj;}else{multiobjekti[multiobjekti.length]=singleobj;}}}}if(multiobjekti.length>0){dot=NapraviVObjekat(multiobjekti,"");if(multiobjekti.length==1)MarkAsMapObject(dot);divObj.setAttribute('fp',1);if(lastdiv!=null)insertAfter(lastdiv,dot);multiobjekti=[];}}}var pobjs=xmlDoc.documentElement.getElementsByTagName("post");for(var i=0;i<cells.length;i++){var divObj=cells[i];if(divObj.getAttribute("fs")!='1'){var currentX=parseInt(divObj.getAttribute("mx"));var currentY=parseInt(divObj.getAttribute("my"));for(var g=0;g<pobjs.length;g++){var pobj=pobjs[g];var matx=parseInt(pobj.getAttribute("matx"));var maty=parseInt(pobj.getAttribute("maty"));var linije=pobj.getAttribute("l");if((!isNaN(currentX)&&!isNaN(currentY))&&(matx==currentX&&maty==currentY)){var x=parseInt(pobj.getAttribute('x'));var y=parseInt(pobj.getAttribute('y'));var dx=parseInt(x/z.mPerPX)%256;var dy=parseInt(y/z.mPerPX)%256;var singleobj=new objekat(pobj.getAttribute('s'),x,y,pobj.getAttribute('n'));var lines=[];var linespom=linije.split(";");for(var n=0;n<linespom.length;n++){var line=linespom[n].split(",");if(line.length==3)lines[lines.length]=line;}var mo=[];mo[0]=singleobj;dot=NapraviVObjekat(mo,"","gs",lines);divObj.setAttribute('fs',1);if(lastdiv!=null)insertAfter(lastdiv,dot);}}}}polygonsUnder=[];var polys=xmlDoc.documentElement.getElementsByTagName("poly");for(var g=0;g<polys.length;g++){polygonsUnder[polygonsUnder.length]=polys[g];}SetPolyLocTxt();}function SetPolyLocTxt(){var sloc="";var maxwploc=getStyleWidth(header3)-wft.clientWidth-90;var sg=0;var plocsw=5000;while(plocsw>maxwploc){sloc="";for(var g=sg;g<polygonsUnder.length;g++){sloc+=polygonsUnder[g].getAttribute("n");if(g<polygonsUnder.length-1)sloc+="&nbsp;&#8226;&nbsp;";}plocsw=IzmeriString(sloc);sg+=1;}polyloc.innerHTML=sloc;}function DaLiJeXBlizu(x1,x2){if(Math.abs(x1-x2)<5)return true;else return false;}function DaLiJeYBlizu(y1,y2){if(Math.abs(y1-y2)<5)return true;else return false;}function NapraviVObjekat(objekti,color,tip,linije){var dx=objekti[0].dx;var dy=objekti[0].dy;var pomX=parseInt((z.deltaX-centerPomX)*z.cellWidth);var pomY=parseInt((z.deltaY-centerPomY)*z.cellHeight);var xs=parseInt(dx/z.mPerPX)-pomX;var ys=parseInt(dy/z.mPerPX)-pomY;var xsm=parseInt(dx/z.mPerPX);var ysm=parseInt(dy/z.mPerPX);var margin=5;var dot;var pomnaziv;if(isIe)dot=ObjectsDrawVML(pomnaziv,xs,ys,color);else dot=ObjectsDrawSVG(pomnaziv,xs,ys,color);if(tip!="gs"){objekti.sort(sortObjects);dot.objekti=objekti;}else{dot.setAttribute("tip","gs");dot.objekti=[objekti[0].naziv,linije];}if(objekti.length>1)dot.setAttribute("id","multi");else{dot.setAttribute("id",objekti[0].sifra);if(!isIe)dot.firstChild.setAttribute("id",objekti[0].sifra);if(tip!="gs"){dot.onclick=function(e){open("prezentacija.aspx?oid="+this.getAttribute("id")+"&lang="+lang,"_blank");};}}dot.onmouseover=function(e){mouseYc=getMouseY(e);mouseXc=getMouseX(e);popupMenuObjects=this.objekti;if(this.getAttribute("tip")=="gs")poptimer=setTimeout("showGSPopup()",500);else poptimer=setTimeout("showPopup()",500);};dot.onmouseout=function(e){clearTimeout(poptimer);clearTimeout(popuptimer);popuptimer=setTimeout("hideMenu()",500);};dot.setAttribute("mapicon","y");dot.style.cursor="help";return dot;}function sortObjects(a,b){if(a.prioritet<b.prioritet)return 1;else if(a.prioritet>b.prioritet)return-1;else{if(a.naziv>b.naziv)return 1;if(a.naziv<b.naziv)return-1;return 0;}}function ShowGSLineFromPopup(id){prikaziLinije=[id];if(id<100000)gsgrad=0;else if(id<200000)gsgrad=1;else if(id>=200000)gsgrad=2;SetCurrentViewAndLayers(4,1,0,0);if(gsEnabled)paintGS();}function ShowGSLinesFromOpen(){if(prikaziLinije.length>0){var id=prikaziLinije[0];if(id<100000)gsgrad=0;else if(id<200000)gsgrad=1;else if(id>=200000)gsgrad=2;SetCurrentViewAndLayers(4,1,0,0);if(gsEnabled)paintGS();}}function ObjectsDrawVML(naziv,x,y,color){var dot=document.createElement("v:rect");dot.className="dot";dot.strokecolor="#FFFFFF";dot.strokewidth="2px";dot.filled="t";dot.fillcolor=color;dot.style.left=(x-3)+"px";dot.style.top=(y-3)+"px";dot.style.width="6px";dot.style.height="6px";dot.setAttribute("naziv",naziv);dot.setAttribute("ref","y");dot.setAttribute("name","v");dot.style.zIndex="22";if(color==""){dot.style.filter="alpha(opacity=0)";dot.style.left=(x-5)+"px";dot.style.top=(y-5)+"px";dot.style.width="10px";dot.style.height="10px";}return dot;}function ObjectsDrawSVG(naziv,x,y,color){var svgdiv=document.createElement("div");setStyleWidth(svgdiv,12);setStyleHeight(svgdiv,12);svgdiv.setAttribute("ref","y");svgdiv.style.zIndex="21";svgdiv.style.position="absolute";setStyleLeft(svgdiv,x-5);setStyleTop(svgdiv,y-5);svgdiv.setAttribute("naziv",naziv);var svg;svg=document.createElementNS('http://www.w3.org/2000/svg','svg');svg.setAttribute('width',"10px");svg.setAttribute('height',"10px");svg.setAttribute("ref","y");svg.style.zIndex="21";svg.setAttribute("naziv",naziv);svg.style.left="2px";svg.style.top="2px";svg.style.position="absolute";dot=document.createElementNS('http://www.w3.org/2000/svg','rect');dot.setAttributeNS(null,"width","6px");dot.setAttributeNS(null,"height","6px");dot.setAttributeNS(null,"width","6px");dot.setAttributeNS(null,"height","6px");dot.setAttributeNS(null,"fill",color);dot.setAttributeNS(null,"stroke","white");dot.setAttributeNS(null,"stroke-width","1px");dot.setAttribute("naziv",naziv);dot.setAttribute("ref","y");if(color==""){dot.style.opacity="0";}svg.appendChild(dot);svgdiv.appendChild(svg);return svgdiv;}function AddObjectToMapContainer(obj){}function HideObjects(){var cells=mainContainer.getElementsByTagName("div");for(var i=0;i<cells.length;i++){cells[i].innerHTML="";}}function objekat(sifra,dx,dy,naziv,xpix,ypix,ikona,rejting,komentara,prioritet){this.sifra=sifra;this.dx=dx;this.dy=dy;this.naziv=naziv;this.xpix=xpix;this.ypix=ypix;this.ikona=ikona;this.rejting=rejting;this.komentara=komentara;this.prioritet=prioritet;}function PaintSelectedObject(){if(selectedObject!=null){var osobj=document.getElementById("s"+selectedObject.id);if(osobj==null){var newObject=document.createElement("img");newObject.className="object";var x=parseInt(selectedObject.x/z.mPerPX)-(z.deltaX-centerPomX)*z.cellWidth;var y=parseInt(selectedObject.y/z.mPerPX)-(z.deltaY-centerPomY)*z.cellHeight;if(selectedObject.icon!=2){newObject.setAttribute("mapobj","y");newObject.setAttribute("src","Services/Visual/GetMapIcon.aspx?t=1&c=b&n=-1");newObject.style.width="30px";newObject.style.height="36px";newObject.style.zIndex="21";setStyleLeft(newObject,x-13);setStyleTop(newObject,y-36);}else{newObject.setAttribute("src","Images/Rt/dot.png");newObject.style.width="12px";newObject.style.height="12px";newObject.style.zIndex="21";setStyleLeft(newObject,x-6);setStyleTop(newObject,y-6);}newObject.setAttribute("id","s"+selectedObject.id);if(selectedObject.id>0)newObject.setAttribute("naziv","<a href='prezentacija.aspx?oid="+selectedObject.id+"&lang="+lang+"' target='_blank'>"+selectedObject.naziv+'</a>');else newObject.setAttribute("naziv","<a>"+selectedObject.naziv+'</a>');newObject.setAttribute("ref","y");newObject.style.cursor="pointer";newObject.setAttribute("RB",selectedObject.naziv);newObject.setAttribute("x",selectedObject.x);newObject.setAttribute("y",selectedObject.y);newObject.onmouseover=function(e){mouseYc=getMouseY(e);mouseXc=getMouseX(e);popobject=this;setTimeout("showPopup()",1000);};newObject.oncontextmenu=showMenu;mainContainer.appendChild(newObject);}}}
