﻿var docHeight = "";
var docWidth = "";
var reloadOnMapChange = 1;
var mmap = "";
var selectedRecord = "";

function xmlhttpPost(strURL,query,callback,destDiv) {
    var xmlHttpReq = false;
            
    strURL = live_url + strURL;        
    
    var self = new Object();
        
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
		if (query)
		{
    	self.xmlHttpReq.open('POST', strURL, true);
    	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
  	}
  	else
  	{
  		self.xmlHttpReq.open('GET', strURL, true);
  	}
    self.callback = callback;
    //alert(self.callback+" "+destDiv);
    self.destDiv = destDiv;    
    self.xmlHttpReq.onreadystatechange = function() {
    	//alert(self.destDiv+" "+self.xmlHttpReq.readyState);
        if (self.xmlHttpReq.readyState == 4) {        	
        	
        		if (self.destDiv && document.getElementById(self.destDiv))
        			document.getElementById(self.destDiv).innerHTML = self.xmlHttpReq.responseText;
        		else
        		if (self.callback)
            	self.callback(self.xmlHttpReq.responseText);                        
        }
    }
    self.xmlHttpReq.send(query);
}

function loadToDiv(strURL,query,destDiv) {
	xmlhttpPost(strURL,query,'',destDiv);	
}

function jsEval(s)
{		
	//q = "mmap.minimap_slaveSetSize(583,859);";	
	//alert(s+" "+q);
	//alert(s.length+" "+q.length);
	//alert(s[0]);
	eval(s[0]);
}

function traziText()
{	
	var word = document.getElementById("searchText").value;	
  qstr = 'appid=3295c76acbf4caaed33c36b1b5fc2cb1&type=text&sub='+selectedSub+'&munic='+selectedMunic+'&mainp='+selectedMainp+'&prov='+selectedProv+'&dist='+selectedDist+'&naziv=' + word;  // NOTE: no '?' before querystring      
  if (selectedBound.xMin)
  	qstr += "&xMin="+selectedBound.xMin+"&xMax="+selectedBound.xMax+"&yMin="+selectedBound.yMin+"&yMax="+selectedBound.yMax;  
	xmlhttpPost("text.php",qstr,updateSearchBox);	
}

function traziLokFunc()
{	
	var word = document.getElementById("searchLocText").value;
  var q = 'naziv=' + word;
  var l = document.getElementById("srch_num_items");	
	q += "&num="+l.options[l.selectedIndex].value;
	q += "&start="+(catSelectStart-1);
	q += "&check="+rezMd5;
	
	document.getElementById("searchTitle").innerHTML = "<center>Searching Services Data</center>";
	document.getElementById("moreinfo_box").style.display = "none";
	document.getElementById("srch_rez").innerHTML = "";
	document.getElementById("srch_info").style.display = "none";
	document.getElementById("selected_record_box").style.display = "none";
	document.getElementById("srch_rez_box").style.display = "block";
	
	mapMaximize();
	
	xmlhttpPost("/forms/search/cat.php",q,updateSearchLocBox);
	//xmlhttpPost("text.php",qstr,updateSearchLocBox);	
}

function trazi(num)
{		
	var obj = document.getElementById("searchRez");
	obj.style.height = "10px";
	obj.style.display = "block";
	obj.style.visibility = "visible";
	obj.innerHTML = "searching...";
	
	var traziLokacije = document.getElementById("tipPretrageLokacije");
	
	if (traziLokacije && traziLokacije.checked)
		traziLok(num);
	else
		traziText(num);
}

var locSelectStart = 1;

function traziLoc(num)
{	
	showMap();
	var obj = document.getElementById("searchLocRez");
	obj.style.height = "10px";
	obj.style.display = "block";
	obj.style.visibility = "visible";
	obj.innerHTML = "searching...";
	if (num)
		catSelectStart = num;
	else
		catSelectStart = 1;
	/*
	if (map)
		map.clear();
	*/
	clearCat();	
	document.getElementById("loader1").style.display = "inline";
	
	rezMd5 = "";
	
	traziLokFunc();	
}

function hideSearchRezDontReset()
{	
	hideSearchRez(true);
}

function hideSearchRez(donResetDropdown)
{
	if (document.getElementById("searchRez"))
	document.getElementById("searchRez").style.display = "none";	
	var traziLokacije = document.getElementById("tipPretrageLokacije");
	
	if (!donResetDropdown)
	{		
		document.getElementById("srch_box").selectedIndex = 0;
	}
	rezMd5 = "";
	selectedRecord = "";
	if (map) map.clear();
	document.getElementById("srch_rez_box").style.display = "none";
	document.getElementById("selected_record_box").style.display = "none";
	document.getElementById("moreinfo_box").style.display = "none";
	
	//if (traziLokacije && traziLokacije.checked)
	//map.clear();
}

function hideSearchLocRez()
{	
	document.getElementById("srch_box").selectedIndex = 0;
	rezMd5 = "";
	selectedRecord = "";
	if (map) map.clear();
	document.getElementById("srch_rez_box").style.display = "none";
	document.getElementById("selected_record_box").style.display = "none";
	document.getElementById("moreinfo_box").style.display = "none";
	//map.clear();
}

function updateSearchBox(str){				

	  var obj = document.getElementById("searchRez");	  	  
	  if (!obj) return;
	  var h = 200;
	  if (!str || str == "&error=invalid_name" || str == "&error=&error=")
	  {
	  	rez = "no result";
	  	window.setTimeout(hideSearchRezDontReset,2000);
	  }
	  else
	  {	  		  	
			rez = '<div class="searchList" id="searchList" style="width:145px;background-color:#ffffff; border:1px solid #999999">'+str+'</div>';			
			rez += '<input type="button" onclick="hideSearchRez()" value="^" style="width:145px;height:15px;"/>';

			obj.style.height = h+"px";											
		}
		
    obj.innerHTML = rez;  
    obj.style.display = "block";
    
    
  /*
		if (srch.childNodes.length > 0)
		{
			var fobj = srch.childNodes[0].id.substring(7);
			listSelect(srch.childNodes[0],fobj);
		}*/
				
    obj = document.getElementById("searchList");	  
    if (obj)
    {	   
    obj.style.height = (h-15)+"px";
    obj.style.display = "block";
  	}
}	

var output_form_type = "cat";

function numItemsSelect()
{	
	if (output_form_type == "search")
		traziLoc();
	else
		catSelect();
}

function updateSearchLocBox(str){	
						  	  	  
	  output_form_type = "search";
	  loadSearchResults(str,"traziLoc");   
	  
	  obj = document.getElementById("searchLocRez");
		obj.style.display = "none";
}	

function dummy() {};
	
function	maxMinMap()
	{
		var doc = document.getElementById("rightCont");		
		
		if (doc.style.display == "none")
		{			
			doc.style.display = "block";			
			var doc = document.getElementById("leftCont");					
			doc.style.marginRight = "212px";
			
		}
		else
		{
			doc.style.display = "none";			
			var doc = document.getElementById("leftCont");		
			doc.style.marginRight = "0px";
		}
		
		
	}
	
    
function srediga(obj)
{
	map.getContainer().focus();	
	obj.focus();		
}

function mapSelect(obj)
{	
	if (reloadOnMapChange)
	{
		var loc = obj.value;
		if (loc == "hrv")
			loc = "hrvatska";
		window.location.href = "http://www.kartegradova.com/"+loc;
	}
	else
		map.getMap(obj.value);
	
}

function setMapInfoFromId(id)
{	
	var karteList = document.getElementById("karteList");	
	for (i=0; i < karteList.length;i++)
	if (karteList.options[i].value == id)
	{
		karteList.selectedIndex = i;
		document.getElementById("imeKarte").innerHTML = karteList.options[i].innerHTML;
		break;
	}	
	if (trazi_tekst)
	{
		trazi_tekst = 0;
		trazi();
	}
}

function selectListItem(i)
{
	var obj = document.getElementById("itmlok_"+i);
	listItemOver(obj);	
	//alert(obj.style);
	//document.getElementById("srch_searchList").scrollTo(0,50);
}

function deselectListItem(i)
{
	listItemOut(document.getElementById("itmlok_"+i),-1);
}

function clickListItem(i,dontload)
{
	//alert(i);
	//listSelectCatItem(document.getElementById("itmlok_"+i),i,dontload);
	var obj = document.getElementById("itmlok_"+i);
	if (obj)			
		listSelectCatItem(obj,i+"",true);
	
}

function listItemOver(obj)
{
	if (!obj || !obj.parentNode) return;
	if (obj.parentNode.selectedItem == obj) return;	
	obj.className = "searchItemHover";
}

function listItemOut(obj,id)
{
	if (!obj || !obj.parentNode) return;
	if (obj.parentNode.selectedItem == obj) return;
	obj.className = "searchItem";
	//alert(id);
	if (id >= 0)
	map.showSubject(id,"closed,onlyshow,leaveactive");
	
	if (selectedRecord)
		map.showSubject(selectedRecord,"noclean,onlyshow,active");
	
}

function degToRad(val)
{
	return val * (Math.PI/180);
}

function convertToMerc(latitude,longitude)
{
	var obj = new Object();
	var con = 0.0818191908426214943*Math.sin(latitude*0.017453292519943295);
	obj.x = 6378137.0*(longitude*0.017453292519943295-0*0.017453292519943295);
	obj.y = 6378137.0*Math.log(Math.tan(0.5*(1.570796326794896619-latitude*0.017453292519943295))/Math.pow((1.0-con)/(1.0+con), 0.040909595421310747));
	return obj;
}

function listSelect(obj,params)
{	
	var val = params.split(';');				
	var selstreet = document.getElementById('fn_selstreet');
	if (selstreet && val[2])
  selstreet.value = val[2];
  selectedStreetName = obj.innerHTML;
	clearCat();
	if (obj.parentNode.selectedItem != obj)
	{
	
	if (obj.parentNode.selectedItem)
			obj.parentNode.selectedItem.className = "searchItem";
	
	obj.parentNode.selectedItem  = obj;		
	obj.className = "searchItemSelected";		
	obj.params = params;
	}				
	if (val[3]) setDropDown2("searchSel6",val[3],searchSelect6);				
	if (val[4]) setDropDownLookInArray2("searchSel5",val[4],searchSelect5);			
	//if (val[5]) setDropDown2("searchSel4",val[5],searchSelect4);		
	if (val[6]) setDropDown2("searchSel3",val[6],searchSelect3);	
	if (val[7]) setDropDown2("searchSel2",val[7],searchSelect2);
	//alert("bla");
	if (obj.loc)
	{				
		//alert(params);
		if (params)
			map.showSubject(params,"open");		
	}
	else
	{						
		var c = convertToMerc(val[0],val[1]);
		map.getMap("test5",c.x,c.y,2500,true)
		//map.modifyObjectsColor("rd"+val[0]);
	}	
	locationUpdate();
}

function searchKeyPress(e)
{		
	keynum = 0;
	if(window.event) // IE
	{
		keynum = window.event.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}		
	if (keynum == 13) trazi();
}

function searchLocKeyPress(e)
{		
	keynum = 0;
	if(window.event) // IE
	{
		keynum = window.event.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}		
	if (keynum == 13) traziLoc();
}


function pageLoad()
{		
	getSize();			
	//alert("pero");
	//if (mmap)
	//window.setTimeout(new Function(";	"),1000);
	//map.minimap_SetMaster();
}
function getSize(dontSetMap)
		{
			var docwidth,docheight;
			
			hideSearchRez();
	
			if (window.innerWidth || window.innerHeight){ 
				docwidth = window.innerWidth; 
				docheight = window.innerHeight; 				
			} 
			else
			if (document.body.clientWidth || document.body.clientHeight)
			{ 
				docwidth = document.body.clientWidth; 
				docheight = document.body.clientHeight; 				
			} 
				
				
				
				docWidth  = docwidth;
				docHeight = docheight;
												
				docheight -= 148;
				
				if (docheight > 1000) 
					docheight = 550;				
				
				
				//if (!dontSetMap)
				{
				var obj1 = document.getElementById("flashNavigator");				
				var obj2 = document.getElementById("leftCont");
				var obj3 = document.getElementById("rightCont");
								
				if (obj1)
				obj1.style.height = docheight+"px";	
				}
				
				return docheight;
				//obj3.style.height = docheight+"px";					
				
			}
			
//obj = document.getElementById("kodZaUgradnju");

//obj.value = '<script type="text/javascript" src="http://www.kartegradova.com/mywebmap/flashnavigator.js"></script>\n<div id="karteGradova_karta" style="border:1px solid #C5C5C5;"></div>\n<script type="text/javascript">\n  var map = new flashNavigator("00a03ec6533ca7f5c644d198d815329c", "465", "301");\n  map.getMap("hrv");\n  map.show("karteGradova_karta");\n</script>';
	
function setDisplay(elem,disp)
{
	if (document.getElementById(elem))
	document.getElementById(elem).style.display = disp;
}

function toggleDisplay(elem)
{
	var obj = document.getElementById(elem);
	if (obj.style.display == 'block')
		obj.style.display = 'none';			
	else
		obj.style.display = 'block';
}



function pageLoaded()
{	
	map.loaded();
}


function resetDropDowns()
{	
	document.getElementById("searchSel4").disabled = "disabled";
	document.getElementById("searchSel5").disabled = "disabled";
	
	document.getElementById("srch_box").selectedIndex = 0;
	document.getElementById("searchSel1").selectedIndex = 0;
	document.getElementById("searchSel4").selectedIndex = 0;	
	document.getElementById("searchSel5").selectedIndex = 0;		
	document.getElementById("resetLink").style.display = "none";
			
	hideSearchRez();
	
	document.getElementById("srch_rez").innerHTML = "";
	document.getElementById("srch_info").style.display = "none";
	rezMd5 = "";
	map.zoomToFull();
}

function showMoreInfo(id)
{
	document.getElementById("loader2").style.display = "inline";
	document.getElementById("srch_rez_box").style.display = "none";
	document.getElementById("more_info_data").innerHTML = "";
	document.getElementById("moreinfo_box").style.display = "block";
		
  var q = 'id=' + id;  
  
  //mapMinimize();
	
	xmlhttpPost("/forms/moreinfo.php",q,moreInfoCB);
			
}

function moreInfoCB(str)
{
	document.getElementById("more_info_data").innerHTML = str;	
	document.getElementById("loader2").style.display = "none";
}

function hideMoreInfo()
{	
	document.getElementById("moreinfo_box").style.display = "none";
	document.getElementById("srch_rez_box").style.display = "block";
	
	//mapMaximize();
}

var map_visibility = 'visible';
function showMap()
{	
	
	document.getElementById('siteContent').style.display = 'none';	
	document.getElementById('siteHeading').style.display = 'none';		
	document.getElementById('mapHeading').style.display = 'block';		
	document.getElementById('rightCont').style.display = 'block';
	document.getElementById('showMapButton').style.display = 'none';
	document.getElementById('hideMapButton').style.display = 'block';
	document.getElementById('mapcontainer').style.display = 'block';
	if (!document.all)
	{
		document.getElementById('mapcontainer').style.visibility = 'visible';	
		document.getElementById('mapcontainer').style.height = 'auto'; 
	}	
	map_visibility = 'visible';
}

function hideMap()
{	
	map_visibility = 'hidden';	
	document.getElementById('rightCont').style.display = 'none';
	document.getElementById('hideMapButton').style.display = 'none';
	document.getElementById('showMapButton').style.display = 'block';
	if (document.all)
		document.getElementById('mapcontainer').style.display = 'none';
	else
	{
		document.getElementById('mapcontainer').style.visibility = 'hidden';		
		document.getElementById('mapcontainer').style.height = '1px';		
	}
		
	document.getElementById('mapHeading').style.display = 'none';		
	document.getElementById('siteHeading').style.display = 'block';		
	document.getElementById('siteContent').style.display = 'block';	
	
}

var locHref = window.location.href;
var i = locHref.indexOf("#");
var startPage = "home";
if (i != -1) 
{
	startPage = locHref.substr(i+1);
	locHref = locHref.substr(0,i);
	//alert(startPage);
}

function showPage(page)
{	
	if (!page)
		return;
	//alert(window.location.href);
	//window.location.href = "http://www.karabo.org.za/"+"#"+page;
	dhtmlHistory.add(page);
	xmlhttpPost("pages/"+page+"_title.html","",loadSiteTitle);		
	xmlhttpPost("pages/"+page+"_heading.html","",loadSiteHeading);		
	xmlhttpPost("pages/"+page+".html","",loadSiteContent);
	
}

function loadSiteContent(str)
{	
	document.getElementById('siteContent').innerHTML = str;	
	hideMap();
}

function loadSiteHeading(str)
{	
	document.getElementById('siteHeading').innerHTML = str;		
}

function loadSiteTitle(str)
{	
	document.title = str;
}

var activeTool = "";

function toolOver(obj)
{
	if (activeTool == obj) return;
	obj.style.backgroundPosition = "0px -21px";	
}

function toolOut(obj)
{
	if (activeTool == obj) return;
	obj.style.backgroundPosition = "0px 0px";
}

function toolClick(obj)
{
	if (activeTool)
		activeTool.style.backgroundPosition = "0 0";
	activeTool = obj;	
	activeTool.style.backgroundPosition = "0 -21";
}

function newWindow(h)
{	
	window.open(h,'moreinfo_window','width=600,height=400,resizable=yes,scrollbars=yes,toolbar=yes,location=yes');
}