//Funkcija kartaOnLoad se poziva kad se dobije odgovor od stranice koja generira i salje kartu		
		function kartaOnLoad(){
			bImageReceived = true;
			window.location="#";
			var kolacici;
			var i;
			var slojMainLayer = getLayer("mapLayer");
			var envelopePom = null;
			var nScale;

			getLayer("loadingLayer").visibility = "hidden";
			//izvlacenje podataka iz cookie-a
			kolacici = unescape(document.cookie);
			kolacici = kolacici.split("; ");
			for (i=0; i<kolacici.length; i++){
				if (kolacici[i].indexOf("mjerilo=") != -1){// && mjerilo == 0 ){
					//mjerilo = parseInt(kolacici[i].substring(8));
					mjerilo = parseFloat(kolacici[i].substring(8));
					nScale = Round(mjerilo,0);				
					strMjerilo = "Mjerilo=1:" + nScale;
					window.status = strMjerilo;
					//document.Form1.txtScale.value = nScale;
				}
				if (kolacici[i].indexOf("minx=") != -1){
					minx = parseFloat(kolacici[i].substring(5));
					//minx = Round(parseInt(kolacici[i].substring(5)),0);
				}
				if (kolacici[i].indexOf("maxx=") != -1){
					maxx = parseFloat(kolacici[i].substring(5));
					//maxx = Round(parseInt(kolacici[i].substring(5)),0)
				}
				if (kolacici[i].indexOf("miny=") != -1){
					miny = parseFloat(kolacici[i].substring(5));
					//miny = Round(parseInt(kolacici[i].substring(5)),0)
				}
				if (kolacici[i].indexOf("maxy=") != -1){
					maxy = parseFloat(kolacici[i].substring(5));
					//maxy = Round(parseInt(kolacici[i].substring(5)),0)
				}
				//if(kolacici[i].indexOf("layers=") != -1){
				//	layers = kolacici[i].substring(7);
				//}
				if (kolacici[i].indexOf("ASPSESSIONID") != -1){
					sessionID = kolacici[i];
				}
			}
			//Ovaj dio se izvodi kada se tek pokrece aplikacije tj. kad dolazi prva slika
			//Ukljucuje default-ni alat
			if(bInitApp){
				if(currTool != ""){
					toolOnMouseDown(document.getElementById(currTool), "")
				}
				if(bPrevNextZoom){
					envelopePom = new Envelope(minx,maxx,miny,maxy);
					SaveFirstExtent(envelopePom);				
				}				
				bInitApp = false;
			}
			else{
				if(bScaleKuglice == true){
					changeTempKuglica(mjerilo);
				}	
				if(bPrevNextZoom && !bPrevZoomAction){
					envelopePom = new Envelope(minx,maxx,miny,maxy);
					SaveTempExtent(envelopePom);
				}	
				bPrevZoomAction = false;				
			}


			SetMapPosition();
			setVisibleLayers (nScale);
			setOverviewMap();
		}
		
		function SetMapPosition(){
			if (document.all){
				getLayer("mapLayer").height = imageHeight;
				getLayer("mapLayer").width = imageWidth;
			
				document.images.imgKarta.width = imageWidth;
				document.images.imgKarta.height = imageHeight;
				getLayer("mapLayer").top = 0;
				getLayer("mapLayer").left = 0;
			}			
		}		
		
		function CroToUnicode(strCro){
			var strUnicode = strCro;
			/*strUnicode = strUnicode.replace("š","\u0161");
			strUnicode = strUnicode.replace("Š","\u0160");
			strUnicode = strUnicode.replace("È","\u010C");
			strUnicode = strUnicode.replace("è","\u010D");
			strUnicode = strUnicode.replace("Æ","\u0106");
			strUnicode = strUnicode.replace("æ","\u0107");
			strUnicode = strUnicode.replace("Ž","\u017D");
			strUnicode = strUnicode.replace("ž","\u017E");
			strUnicode = strUnicode.replace("Ð","\u00D0");
			strUnicode = strUnicode.replace("ð","\u0111");
			*/
			return strUnicode;
		}
		
		
		
		
		
		
		//Funkcija provjerava da li trenutno logirani korisnik ima ovlast za odredjene funkcionalnosti
		// ili podatke i generira odgovarajuci QueryString tako da se u prozorima koje otvara
		//aplikacija prenesu podaci ovlastima trenutno logiranog korisnika
		//(Sto smije pregledavati a sto ne)
	

		
		//Funkcija dobiva evelope feature-a pomocu stranice getObjectEnvelope.aspx koja komunicira s ArcIMS-om
		//Ako je greska vraca null
		function getObjectEnvelope(objectID, layerID){
			var objectEnvelope  = null;
			var query = "&objectID=" + objectID;
			var arrPom = null;
			query += "&action=1";
			query += "&layerID=" + layerID;
			var strRes = getResponse("getObjectEnvelope.aspx",query);
			arrPom = strRes.split("|");
			if(arrPom[0] == "OK"){
				arrPom = arrPom[1].split(";");
				objectEnvelope = new Envelope(parseFloat(arrPom[0]), parseFloat(arrPom[1]), parseFloat(arrPom[2]), parseFloat(arrPom[3]));
			}
			else{
				alert('Gre\u0161ka prilikom provjeravanja ekstenta objekta!')
			}
			return objectEnvelope;
		}
		
		//Funkcija vraca zajednicku envelopu vecem broju objekata istog sloja
		//Objekti su dani u parametru objectIDs kao string formata "objectid_1,objectid_2, ... , objectid_n"
		function getObjectGroupEnvelope(objectIDs, layerID){
			var objectEnvelope  = null;
			var query = "&objectIDs=" + objectIDs;
			var arrPom = null;
			query += "&action=2";
			query += "&layerID=" + layerID;
			var strRes = getResponse("getObjectEnvelope.aspx",query);
			arrPom = strRes.split("|");
			if(arrPom[0] == "OK"){
				arrPom = arrPom[1].split(";");
				objectEnvelope = new Envelope(parseFloat(arrPom[0]), parseFloat(arrPom[1]), parseFloat(arrPom[2]), parseFloat(arrPom[3]));
			}
			else{
				alert('Gre\u0161ka prilikom provjeravanja ekstenta objekta!')
			}
			return objectEnvelope;
		}
		
		function zoomToAnyObject(objectID, layerID){
			var objectEnvelope = getObjectEnvelope(objectID, layerID);
			if(objectEnvelope != null){
				var cmd = "cmd=400";
				cmd += "&minx=" + objectEnvelope.minx;
				cmd += "&maxx=" + objectEnvelope.maxx;
				cmd += "&miny=" + objectEnvelope.miny;
				cmd += "&maxy=" + objectEnvelope.maxy;
				cmd += "&layers=" + layers;
				command(cmd);
			}
		}
		

			


		/*
		function parseFloatEx(strBroj,nDecimals){
			var arrPom;
			var fRez = 0.0;
			if(strBroj.indexOf(".") != -1){
				arrPom = strBroj.split(".");
			}
			else if(strBroj.indexOf("," != -1){
				arrPom = strBroj.split(",");
			}
			
			if(arrPom.length == 2){
				fRez = parseFloat(arrPom[0]) + parseFloat(arrPom[1])/Math.pow(10,nDecimals));
			}
			else if(arrPom.length == 1){
				fRez = parseFloat(arrPom[0]);
			}
			
			return fRez;
		}
		*/
		

//Funkcija koja vraca response sa neke stranice
// Stranica se poziva iz JS-a
		function getResponse(url, query){
			var tmpurl, rnd1, rnd2;
			tmpurl = "";
			rnd1 = Math.random();
			rnd2 = Math.random();
			if (document.all) {
				oxmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
			}
			else {
				oxmlRequest = new XMLHttpRequest();
			}
	
			tmpurl += url + "?" + query +"&rnd1=" + rnd1 + "&rnd2=" + rnd2;
			oxmlRequest.open("GET", tmpurl, false);
			oxmlRequest.send(null);
			return oxmlRequest.responseText;
		}
		
//Funkcija koja vraca response sa neke stranice
//Moze se odabrati kojim nacinom ce se parametri prenositi odgovarajucoj stranici
//strMethod:   "GET" ili "POST"
// Stranica se poziva iz JS-a
		function getResponseEx(url, query, strMethod){
			var tmpurl, rnd1, rnd2;
			var strBody = null;
			tmpurl = "";
			rnd1 = Math.random();
			rnd2 = Math.random();
			if (document.all) {
				oxmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
			}
			else {
				oxmlRequest = new XMLHttpRequest();
			}
			if(strMethod == "GET"){
				tmpurl += url + "?" + query +"&rnd1=" + rnd1 + "&rnd2=" + rnd2;
				strBody = null;
			}
			else if(strMethod == "POST"){
				tmpurl += url + "?" +"&rnd1=" + rnd1 + "&rnd2=" + rnd2;
				strBody = query;	
			}
			oxmlRequest.open(strMethod, tmpurl, false);
			oxmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			oxmlRequest.send(strBody);		
			//alert(oxmlRequest.responseText);
			return oxmlRequest.responseText;
		}		
		
		//Zaokruzuje broj na zadani broj decimala
		function Round(x,numDecimals){
			var baza = 10; //numDecimals: preciznist mjerila
			var u = 1;
			for(i = 0; i < numDecimals; i ++){
				if(i == 0){
					u = 1;
				}
				else{
					u *= baza;
				}
			}
			return parseInt(x * u + (5/10)) / u;
		}
		
//Funkcija getLayer vraca style atribut objekta parametrom zadanog sloja		
		function getLayer(sloj){
			if (document.getElementById) {
				return document.getElementById(sloj).style;
			}
			if (document.layers) {
				return document.layers["mainLayer"].document.layers[sloj];
			}
		}


//Funkcija  postavlje bgcolor atribut odredjenog diva/layera
// u ovisnosti o trenutnom internet pregledniku
		function setLayerBackgroundColor(sloj, boja){
			if (document.layers){
				getLayer(sloj).bgcolor = boja;
			}
			if (document.getElementsById){
				getLayer(sloj).backgroundcolor = boja;
			}
		}
		


		
//Funkcija createLayer kreira dinamicki HTML za divove koji ce predstavaljati kartu
// u ovisnosti o trenutnom internet pregledniku
		function createLayer(name, width, height, top, left, zindex, visible, content){
			var temp;
			//alert("createLayer: " + name);
			if (document.getElementById){
				temp =  '<div id="' + name + '"';
				temp +=		' style="position:absolute;';
				temp +=				' top:' + top + 'px;';
				temp +=				' left:' + left + 'px;';
				temp +=				' width:' + width + 'px;';
				temp +=				' height:' + height + 'px;';
				temp +=				' z-index:' + zindex + ';';
				temp +=				' overflow:hidden;';
				temp +=				' clip: rect (top width height left);';
				temp +=				' visibility:' + (visible ? 'visible;' : 'hidden;') +';';
				temp +=				'"';
				temp += '>';
				temp += content;
				temp += '</div>';
				document.writeln(temp);
				return false;
			}
			if (document.layers){
				temp =  '<layer id="' + name + '"';
				temp += 	  ' width="' + width + '"';
				temp +=		  ' height="' + height + '"';
				temp +=		  ' top="' + top + '"';
				temp +=		  ' left="' + left + '"';
				temp +=		  ' z-index="' + zindex + '"';
				temp +=		  ' style="{border-width : 0; margin : 0; padding : 0;}"'
				temp += 	  ' visibility="' + (visible ? 'show' : 'hide') + '"';
				temp += 	  ' onmouseover="javascript: window.document.captureEvents(Event.MOUSEMOVE); window.document.onmousemove = layerOnMouseMove; return true;"';
				temp += 	  ' onmouseout="javascript: window.document.releaseEvents(Event.MOUSEMOVE); return false;"';
				temp +=	'>';
				temp += content;
				temp += '</layer>';
				document.writeln(temp);
				return false;
			}
			return false;
		}





//Funkcija prikazuje dinamicki koordinate u 5.5 kada je mis iznad karte
function showPositon(e){
	return;
	var statusX = 0.0,statusY = 0.0; // koordinate koje ce se ispisivati u status baru
	var pixelWidth = 0.0,pixelHeight = 0.0;
	if(maxx != 0){
		pixelWidth =(maxx-minx) / imageWidth;
		pixelHeight = (maxy-miny) / imageHeight;
		statusX = minx + e.x * pixelWidth;
		statusY = miny + (imageHeight - e.y) * pixelHeight;
		//window.status =  "Mjerilo=1:" + Round(mjerilo,0) + "     X=" + Round(statusX,2) + "     Y=" + Round(statusY,2);		
		document.Form1.txtCoordX.value = Round(statusX,0);
		document.Form1.txtCoordY.value = Round(statusY,0);
	}
}
function setOverviewMap(){
	return;
	var ovMapImg = document.getElementById("karta1");
	var cmd = "OverviewImage.aspx?width=178&height=120";
	cmd += "&minx="+minx;
	cmd += "&miny="+miny;
	cmd += "&maxx="+maxx;
	cmd += "&maxy="+maxy;
	ovMapImg.src = cmd;
}

function gotoTIS(layer,id){
	var queryStr = "layer=" + layer + "&id=" + id;	
	window.location = "../TIS/GISLink.aspx?" + queryStr;
}

function getObjectsEnvelope(strQuery, layerID){
	var objectEnvelope  = null;
	var queryString = "&query=" + strQuery;
	var arrPom = null;
	var envelopeQueryPageURL = "GetFeaturesEnvelope.aspx";
	queryString += "&cmd=1";	
	queryString += "&layerID=" + layerID;
	var strRes = getHTTPResponseEx(envelopeQueryPageURL,queryString,"POST");
	var strError = CheckErrorInResponse(strRes);
	if(strError == ""){
		arrPom = strRes.split("|");
		if(arrPom[0] == "OK"){
			arrPom = arrPom[1].split(";");
			objectEnvelope = new Envelope(parseFloat(arrPom[0]), parseFloat(arrPom[1]), parseFloat(arrPom[2]), parseFloat(arrPom[3]));
		}
	}
	else{
		alert(strEnvelopeQueryError + "\n" + strError);
	}
	return objectEnvelope;
}

function getHTTPResponseEx(page, query, strMethod){
	var tmpurl, rnd1, rnd2;
	var strBody = null;
	tmpurl = "";
	rnd1 = Math.random();
	rnd2 = Math.random();
	if (document.all) {
		oxmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
	}
	else {
		oxmlRequest = new XMLHttpRequest();
	}
	if(strMethod == "GET"){
		tmpurl += page + "?" + query +"&rnd1=" + rnd1 + "&rnd2=" + rnd2;
		strBody = null;
	}
	else if(strMethod == "POST"){
		tmpurl += page + "?" +"&rnd1=" + rnd1 + "&rnd2=" + rnd2;
		strBody = query;	
	}
	oxmlRequest.open(strMethod, tmpurl, false);
	oxmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	oxmlRequest.send(strBody);		
	//alert(oxmlRequest.responseText);
	return oxmlRequest.responseText;
}	
//*********************************************************************************************************	
function ZoomToSelectedObjects(ilayer,ctrl_id){
	var ctrl = document.getElementById(ctrl_id);
	var selVal = ctrl.value;
	
	if (selVal == "")
	{
		alert ("Niste izabrali Namjenu prostora s padajuæe liste!");
	}
	else	
		zoomToAnyObjectswithQuery("OBJECTID IN("+selVal+")", ilayer);
}
function zoomToAnyObjectswithQuery(strQuery, layerID){
	var objectEnvelope = getObjectsEnvelope(strQuery, layerID);
	if(objectEnvelope != null){
		SetNewMapExtent(objectEnvelope);
		refreshMap();
	}		
}
//*********************************************************************************************************	
function CheckErrorInResponse(strResponse){
	if(strResponse.indexOf("OK") == 0){
		return "";
	}
	else{
		var nIndex = strResponse.indexOf("ERROR:");
		if(nIndex != -1){
			return strResponse.substr(nIndex + 6);
			
		}
		else{
			return "Unknown error!";
		}
	}
}

function SetNewMapExtent(newEnvelope){
	minx = newEnvelope.minx;
	maxx = newEnvelope.maxx;
	miny = newEnvelope.miny;
	maxy = newEnvelope.maxy;
}
