// JavaScript Document
var map;
var mArray=new Array();
var gMarkerArray=new Array();
function modLoadMap(){
	if(document.getElementById("modMap")){
		if(GBrowserIsCompatible()){
			map = new GMap2(document.getElementById("modMap"));
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			map.setCenter(new GLatLng(51.049761, 13.7413), 7, G_NORMAL_MAP);
			document.body.onunload=function(){GUnload()};
			
			var img1=document.createElement("img");
			img1.alt="";
			img1.style.position="absolute";
			img1.style.bottom="-2px";
			img1.style.left="-2px";
			img1.src="shared/images/roundedCorner_leftBottom.gif";
			document.getElementById("modMap").appendChild(img1);
			var img2=document.createElement("img");
			img2.alt="";
			img2.style.position="absolute";
			img2.style.top="-2px";
			img2.style.right="-2px";
			img2.src="shared/images/roundedCorner_rightTop.gif";
			document.getElementById("modMap").appendChild(img2);
		}
	}
}

function makeRequest(src_file,method,vars,entry_id)
	{
	
	if(xmlHTTP=SHARED_init())
		{
		var postvars=vars;
		xmlHTTP.open(method,src_file,true);
		xmlHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlHTTP.send(postvars);
		xmlHTTP.onreadystatechange=function()
			{
			if(xmlHTTP.readyState==4)
				{
				//
				//alert(xmlHTTP.responseText.toString());
				addMarkers(xmlHTTP.responseText.toString(),true,entry_id);
				//return xmlHTTP.responseText.toString();
				//document.getElementById(target_id).innerHTML=xmlHTTP.responseText;
				}
			}
		}	
	}

var activeElements="";
function showEntries(element,entry_id){
	
	var name=element.name;
	var val=element.value;
	if(element.checked==true){
		activeElements+="|"+val+"|";
	}
	else{
		activeElements=activeElements.replace("|"+val+"|","");
	}
	makeRequest("modules/katalog/findEntries.ajax.php","post","heilanzeigen="+activeElements,entry_id);	
}

function addMarkers(markerString,makeLinks,entry_id){
	if(map){
		removeMarker();
		
		if(makeLinks==true){
			document.getElementById("modListResults").innerHTML="";	
		}
		
		if(markerString.indexOf("|")==-1){
			var markerArray=new Array();	
		}
		else{
			var markerArray=markerString.split("|");	
		}
		
		var query_string=window.location.search;
		if(query_string.indexOf("?")==-1){
			query_string="?"+query_string;	
		}
		var icon = new GIcon(G_DEFAULT_ICON);
		icon.image = "shared/images/marker.gif";
		icon.iconSize = new GSize(30, 43);
		icon.iconAnchor = new GPoint(15,43);
		
		if(markerArray.length>0){
			for(var i=0;i<markerArray.length;i++){
				if(markerArray[i]!=""){
					var tmp=markerArray[i].split("#");
					
					var koordinaten = tmp[0].replace("(","");
					koordinaten = koordinaten.replace(")","");
					koordinaten=koordinaten.split(",");
					var entryName=tmp[1];
					var itemId=tmp[2];
					var point = new GLatLng(koordinaten[0],koordinaten[1]);
					mArray[i]=new Object();
					mArray[i].loc=new Array();
					mArray[i].loc.push(tmp);
					
					icon.id = "test"+i;
					
					mArray[i].latlng = new GMarker(point,{icon:icon});
					mArray[i].latlng.id = "marker"+i;
					
					var url="index.php?entry_id="+entry_id+"&item_id="+itemId;
					
					mArray[i].latlng.html = "<h4 style=\"width: 300px\">"+entryName+"</h4><a href=\"index.php?entry_id="+entry_id+"&amp;item_id="+itemId+"\">"+related_information+"</a>";
					GEvent.addListener(mArray[i].latlng, "mouseover", function(){this.openInfoWindowHtml(this.html)});
					//GEvent.addListener(mArray[i].latlng, "mousedown", function(){window.location.href=url});
					map.addOverlay(mArray[i]['latlng']);
					
					gMarkerArray[i]=mArray[i].latlng;
					
					if(makeLinks==true){
						//add to result list
						var result=document.createElement("a");
						result.href=url;
						result.id = "link"+i;
						result.onmouseover = function(){
							showMarker(this.id,"show");	
						}
						result.onmouseout = function(){
							showMarker(this.id,"hide");	
						}
						var linkText=entryName;
						result.appendChild(document.createTextNode(linkText));
						//result.innerHTML = entryName;
						document.getElementById("modListResults").appendChild(result);
					}
					
					
				}
			}
		}
		else{
			document.getElementById("modListResults").appendChild(document.createTextNode("Für die von Ihnen gewählten Kriterien wurden leider keine Ergebnisse gefunden."));	
		}
	}
	else{
		window.setTimeout(function(){addMarkers(markerString,makeLinks,entry_id);},50);	
	}
	
}

function showMarker(m_id,mode){
	if(m_id != ""){
		m_id = m_id.replace(/link/,"");
		//alert(gMarkerArray[m_id].id);
		if(mode == "show" && gMarkerArray[m_id]){
			gMarkerArray[m_id].openInfoWindow(gMarkerArray[m_id].html)	
		}
	}	
}

function removeMarker(){
	if(mArray.length>0){
		for(var i=0;i<mArray.length;i++){
			map.removeOverlay(mArray[i]['latlng']);
			
		}
	}
}

function modHideSelection(){
	var parentElement=document.getElementById("modLeftArea").getElementsByTagName("ul")[0];
	for(var i=0;i<parentElement.getElementsByTagName("ul").length;i++){
		var tmp=parentElement.getElementsByTagName("ul")[i];
		tmp.style.display="none";
		
	}
	for(var i=0;i<parentElement.getElementsByTagName("li").length;i++){
		var tmp=parentElement.getElementsByTagName("li")[i];
		if(tmp.getElementsByTagName("ul").length>0){
			var button=tmp.getElementsByTagName("span")[0];
			if(tmp.parentNode!=parentElement){
				button.innerHTML+="<span class=\"modMoreFilter\"> "+moreFilter+"</span>"
			}
			else{
				tmp.className="modMainCat";
			}
			button.style.cursor="pointer";
			button.onclick=function(){
				modShowHideElement(this.parentNode,"ul");	
			}		
		}
	}
}

function modShowHideElement(parent_element,child_tagname){
	if(parent_element){
		var tmp=parent_element.getElementsByTagName(child_tagname)[0];
		if(tmp.style.display==""){
			tmp.style.display="none";	
		}
		else{
			tmp.style.display="";		
		}
		
	}	
}


