/*
<script language="javascript">
</script>
*/
function createMarker(point,id){
	if(zoom>maxZoom){
		if(id==892){
			balloon=new GIcon(iconB);
		}else{
			balloon=new GIcon(icon);
		}
	}else{
		balloon=new GIcon(iconC);
	}
	marker=new GMarker(point,balloon);
	gmarkers[id]=marker;
	marker.id=id;
	return marker;
}

function removeMarkers(list){
	if(list!=null&&list!=","){
		data=list.split(",");
		for(i=1;i<data.length-1;i++){
			map.removeOverlay(gmarkers[data[i]]);
			gmarkers[data[i]]=null;
		}
	}
}

function markerClick(id){
	data="";
	request=GXmlHttp.create();
	if(zoom>maxZoom){
		url="/emap/includes/map/clickOrg.asp?id="+id;
	}else{
		url="/emap/includes/map/clickCity.asp?id="+id;
	}
	request.open("GET",url,true);
	request.onreadystatechange=function(){
		if(request.readyState==4){
			xml=request.responseText;
			data=xml.split("##");
			gmarkers[id].openInfoWindowHtml(data[2]);
			if(zoom>maxZoom){
				drawCircle(data[0],data[1]);
			}
		}
	}
	request.send(null);
}
function clickLink(id){
	if(gmarkers[id]==undefined){
		request=GXmlHttp.create();
		url="/emap/includes/map/dataOrg.asp?id="+id;
		request.open("GET",url,true);
		request.onreadystatechange=function(){
			if (request.readyState==4){
				xml=request.responseText;
				data=xml.split("#");
				list=list+data[2]+",";
				tmplat=data[0];
				tmplng=data[1];
				point=new GLatLng(data[0],data[1]);
				map.addOverlay(createMarker(point,data[2]));
				window.setTimeout("clickLink("+id+")",250);
			}
		}
		request.send(null);
	}else{
		if(zoom<maxZoom+1){
			if(tmplat!=""&&tmplng!=""){
				map.setCenter(new GLatLng(tmplat,tmplng),maxZoom+2);
				tmplat="";
				tmplng="";
			}else{
				map.setZoom(maxZoom+2);
			}
			window.setTimeout("clickLink("+id+")",350);
		}else{
			markerClick(id);
		}
	}
}
function findBounds(bounds){
	a=bounds.getSouthWest();
	b=bounds.getNorthEast();
	this.minX=a.lng();
	this.minY=a.lat();
	this.maxX=b.lng();
	this.maxY=b.lat();
}
function startRequest(minx,miny,maxx,maxy,ids){
	loading(true);
	request=GXmlHttp.create();
	url="/emap/includes/map/dataOrgs.asp?minx="+minx+"&miny="+miny+"&maxx="+maxx+"&maxy="+maxy+"&list="+ids;
	request.open("GET",url,true);
	request.onreadystatechange=function(){
		if(request.readyState==4){
			xml=request.responseText;
			rows=xml.split("*");
			list=rows[0];
			remove=rows[1];
			for(i=2;i<rows.length-1;i++){
				data=rows[i].split("#");
				point=new GLatLng(data[0],data[1]);
				map.addOverlay(createMarker(point,data[2]));
			}
			removeMarkers(remove);
			loading(false);
		}
	}
	request.send(null);
}
function startRequestCities(minx,miny,maxx,maxy,ids){
	loading(true);
	request=GXmlHttp.create();
	url="/emap/includes/map/dataCities.asp?minx="+minx+"&miny="+miny+"&maxx="+maxx+"&maxy="+maxy+"&list="+ids;
	request.open("GET",url,true);
	request.onreadystatechange=function(){
		if(request.readyState==4){
			xml=request.responseText;
			rows=xml.split("*");
			list=rows[0];
			remove=rows[1];
			for(i=2;i<rows.length-1;i++){
				data=rows[i].split("#");
				point=new GLatLng(data[0],data[1]);
				map.addOverlay(createMarker(point,data[2]));
			}
			removeMarkers(remove);
			loading(false);
		}
	}
	request.send(null);	
}
function startDirectory(keyword){
	searching(true);
	request=GXmlHttp.create();
	url="/emap/includes/map/members.asp?keyword="+keyword;
	request.open("GET",url,true);
	request.onreadystatechange=function(){
		if(request.readyState==4){
			parent.document.getElementById("results").innerHTML=request.responseText;
			searching(false);
		}
	}
	request.send(null);
}
function startDirectoryNew(keyword,searchType){
	searching(true);
	request=GXmlHttp.create();
	url="/emap/includes/map/members.asp?searchType="+searchType+"&keyword="+keyword;
	request.open("GET",url,true);
	request.onreadystatechange=function(){
		if(request.readyState==4){
			parent.document.getElementById("results").innerHTML=request.responseText;
			searching(false);
		}
	}
	request.send(null);
}

function startCities(city){
	searching(true);
	request=GXmlHttp.create();
	url="/emap/includes/map/cities.asp?city="+city;
	request.open("GET",url,true);
	request.onreadystatechange=function(){
		if(request.readyState==4){
			parent.document.getElementById("results").innerHTML = request.responseText;
			searching(false);
		}
	}
	request.send(null);
}
function clearMap(){
	list=",";
	for(i=0;i<gmarkers.length-1;i++){
		gmarkers[i]=null;
	}
	map.clearOverlays();
}
function zoomTo(lat,lng){
	map.setCenter(new GLatLng(lat,lng),maxZoom+1);
	map.closeInfoWindow();
}
function setCenter(){
	center=map.getCenter();
	document.mapForm.lat.value=center.lat();
	document.mapForm.lng.value=center.lng();
	document.mapForm.zoom.value=zoom;
}
function drawCircle(lat,lng){
	if(circle){
		map.removeOverlay(circle);
	}
	lat=parseFloat(lat);
	lng=parseFloat(lng);
	var cColor="#000000";
	var cWidth=5;
	var Cradius=2.5;   
	var d2r=Math.PI/180; 
	var r2d=180/Math.PI; 
	var Clat=(Cradius/3963)*r2d;  
	var Clng=Clat/Math.cos(lat*d2r); 
	var Cpoints=[]; 
	for(var i=0;i<33;i++){ 
		var theta=Math.PI*(i/16); 
		var CPlng=lng+(Clng*Math.cos(theta)); 
		var CPlat=lat+(Clat*Math.sin(theta)); 
		var P=new GLatLng(CPlat,CPlng);
		Cpoints.push(P);
	}
	circle=new GPolyline(Cpoints,cColor,cWidth);
	map.addOverlay(circle); 
}
function submitForm(page){
	document.mapForm.action=page;
	document.mapForm.submit();
}
function loading(bool){
	if(bool){
		document.getElementById("loading").innerHTML="<img src='images/map/loading.gif' border='0'>";
	}else{
		document.getElementById("loading").innerHTML="";
	}
}
function searching(bool){
	if(bool){
		document.getElementById("loading").innerHTML="<img src='images/map/loading.gif' border='0'>";
		parent.document.data.button.disabled=true;
	}else{
		document.getElementById("loading").innerHTML="";
		parent.document.data.button.disabled=false;
	}
}