
		//<![CDATA[

		function cobain(){
			var cen=map.getCenter();
			//alert(cen.lat() + ' ' +cen.lng() );
			document.getElementById("ygdicari").value = cen.lat() + ' ' +cen.lng();
			document.getElementById("advise_result").innerHTML = '<img alt="Spinner"  src="images/ajax-loader2.gif" />';
			GDownloadUrl('advise.php?longitude=' + cen.lng() +'&latitude=' + cen.lat(), function(data, responseCode) 
			{
				document.getElementById("advise_result").innerHTML = data;
			});
			
		}

		function searchAddress(){
			//alert(cen.lat() + ' ' +cen.lng() );
			document.getElementById("search_results").innerHTML = '<img alt="Spinner"  src="images/ajax-loader2.gif" />';
			GDownloadUrl('search.php?q=' + document.getElementById("searchText").value, function(data, responseCode) 
			{
				document.getElementById("search_results").innerHTML = data;
			});
			
		}

		// check for compatibility
		if (GBrowserIsCompatible()) {
		
			var centerArea = [];
			centerArea['ACEH']				= new Array(5.5333,95.349);
			centerArea['BALI'] 				= new Array(-8.699228,115.211619);
			centerArea['BANDUNG']			= new Array(-6.91102222222222,107.612005555556);
			centerArea['BATAM'] 			= new Array(1.12703,104.058);
			centerArea['JABODETABEK'] = new Array(-6.213556,106.806306);
			centerArea['MEDAN'] 			= new Array(3.584336,98.664086);
			centerArea['MAKASAR']			= new Array(-5.15786, 119.432);
			centerArea['SURABAYA']		= new Array(-7.26233,112.74839);


			// create the map
			var map = new GMap(document.getElementById("map"));
			map.setCenter(new GLatLng(-6.213556,106.806306), 14);
			map.addControl(new GLargeMapControl());
			map.addControl(new GScaleControl());
			map.setMapType(G_HYBRID_MAP);
      var gcon  =	new GOverviewMapControl();
      var bot   = new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(150,80));
      map.addControl (gcon,bot);

			var circles = []; // make array with global access
			var wdw = document.getElementById("map");
			var yyPx = wdw.clientHeight;
			var bounds = map.getBounds();
			var southWest = bounds.getSouthWest();
			var northEast = bounds.getNorthEast();
			var latSpan = northEast.lat() - southWest.lat();

      var icon = new GIcon();
      icon.image = "icons/mm_20_red.png";
      icon.shadow = "icons/mm_20_shadow.png";
      icon.iconSize = new GSize(12, 20);
      icon.shadowSize = new GSize(22, 20);
      icon.iconAnchor = new GPoint(6, 20);
      icon.infoWindowAnchor = new GPoint(5, 1);      

      var iconb = new GIcon(icon,"icons/iconb_12.png"); 
      var icong = new GIcon(icon,"icons/icong_12.png"); 
      var iconr = new GIcon(icon,"icons/iconr_12.png"); 

		  var div = document.createElement("div");
//		  div.style.border =  "0px solid " + this.color_;
		  div.style.position = "absolute";
			div.style.display = "block";
		  div.id = "MCoverage";
		  map.getPane(G_MAP_MAP_PANE).appendChild(div);
		  
		  var div = document.createElement("div");
//		  div.style.border =  "0px solid " + this.color_;
		  div.style.position = "absolute";
			div.style.display = "block";
		  div.id = "MStreet";
		  map.getPane(G_MAP_MAP_PANE).appendChild(div);
		  
		  var div = document.createElement("div");
//		  div.style.border =  "0px solid " + this.color_;
		  div.style.position = "absolute";
			div.style.display = "block";
		  div.id = "MStreetName";
		  map.getPane(G_MAP_MAP_PANE).appendChild(div);
		  
			crListener();
		}

		String.prototype.replaceAll = function(strTarget, strSubString){
			var strText = this;
			var intIndexOfMatch = strText.indexOf(strTarget);
			
			while(intIndexOfMatch != -1){
				strText = strText.replace(strTarget, strSubString);
				intIndexOfMatch = strText.indexOf(strTarget);
			}
			return(strText);
		}
		// function to create radius circle ///////////////////////////////////////////////////////
		function Polygon(PGcenter, PGradius, PGsides, PGcolor, PGtrans) {
			var PGpoints = [];
			var PGlat = (PGradius/3963)*180/Math.PI;  
			// using 3963 miles as earth's radius in miles
		
			var PxWidth = Math.round(PGlat * yyPx / latSpan + 0.5);  // width of polyline
			var deltaLat = 250 * latSpan / yyPx;
		
			if (PxWidth > 500) {
				PxWidth = 500;
				PGlat -= deltaLat;
			}else{
				PGlat /= 2;
			}; //
		
			// upto 10 concentric circles
			for (var j=1; j < 10; j++) {
				var PGlng = PGlat/Math.cos(PGcenter.lat()*Math.PI/180);
				for (var i=-1; i < PGsides; i++) {
					var theta = ((2*i+1)/PGsides-0.5) * Math.PI;
					var PGx = PGcenter.lng() + (PGlng * Math.cos(theta));
					var PGy = PGcenter.lat() + (PGlat * Math.sin(theta)); 
					PGpoints.push(new GLatLng(PGy,PGx));
				};
				if (PGlat <= deltaLat) {
					break;
				}else{
					PGlat -= 2 * deltaLat;
					if (PGlat <= deltaLat) {PGlat = deltaLat};
				}; //
			}; // for j
		
			 circles.push(new GPolyline(PGpoints,PGcolor,PxWidth,PGtrans));
			 map.addOverlay(circles[circles.length-1]);
		}
		//////////////////////////////////////////////////////////////////////////////////////////
		
		function areaChg(obj){
			var x = obj.options[obj.selectedIndex].value;
			map.panTo(new GLatLng(centerArea[x][0], centerArea[x][1]));
		}

		function showAdd(GXpos, GYpos){
			var zm = map.getZoom();
			if (zm<16)
				map.setZoom(16);
			map.panTo(new GLatLng(GYpos, GXpos));
		}

		function createMarker(point, text, icon) {
			var marker = new GMarker(point, {icon:icon});
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml(text,{maxWidth:80});
			});
			return marker;
		}		

		
		function crListener() {

   		var b = map.getBounds();
			var s = b.getSouthWest();
			var n = b.getNorthEast();
			
			// start drag clear all overlay
			GEvent.addListener(map, "movestart", function() {
				map.clearOverlays();
			});
		
			// clear all overlay when zoom out
			GEvent.addListener(map, "zoomend", function() {
				map.clearOverlays();
			});
		
			// drag end
			GEvent.addListener(map, "moveend", function() {
				andai();
			}); // end listener
			
			
			addCenter();
			addim2();
			andai();
			
			function addCenter(){
					var divdiv = document.createElement("div");
					divdiv.style.left=(wdw.clientWidth-17)/2 + "px";
					divdiv.style.top=(wdw.clientHeight-17)/2 + "px";
	 				divdiv.style.border =  "0px" ;
					divdiv.style.width = "17px";
					divdiv.style.height = "17px";
					divdiv.style.position = "absolute";

					document.getElementById("map").appendChild(divdiv);

					var html = ''; 
 					html += '<IMG src="images/crosshair.gif" align="center" style="filter:alpha(opacity=100);-moz-opacity:1;opacity:1;" >'; 
 					divdiv.innerHTML=html;
			}

			function addim2(){
					var divim2 = document.createElement("div");
					divim2.style.left=(wdw.clientWidth-233) + "px";
					divim2.style.top="0px";
	 				divim2.style.border =  "0px" ;
					divim2.style.width = "230px";
					divim2.style.height = "74px";
					divim2.style.position = "absolute";

					document.getElementById("map").appendChild(divim2);

					var html = ''; 
 					html += '<IMG src="images/im2.gif" align="center" style="filter:alpha(opacity=70);-moz-opacity:0.7;opacity:0.7;" >'; 
 					divim2.innerHTML=html;
			}
			
			function andai() {
				var zoom = map.getZoom();
    		var bounds = map.getBounds();
				var SW = bounds.getSouthWest();
				var NE = bounds.getNorthEast();
				var x1 = NE.lng();
				var x2 = SW.lng();
				var y1 = SW.lat();
				var y2 = NE.lat();
				
				if(zoom>=15)
					map.addOverlay(new Jalan(map,1,150,255,0,0));
				
				if(zoom>=17)
					map.addOverlay(new Jalan(map,1,150,255,0,1));
					

				var paramXML = "?x1=" + x1 + "&x2=" + x2 + "&y1=" + y1 + "&y2=" + y2 + "&z=" + zoom;
				GDownloadUrl("XMLrequest.php" + paramXML, function(data, responseCode) {
				  var xml = GXml.parse(data);
					var markers = xml.documentElement.getElementsByTagName("marker");
					var bmark1 = []; // 3G HSDPA
					var bmark2 = []; // 3G NON HSDPA
					var bmark3 = []; // INDOSATM2

				  for (var i = 0; i < markers.length; i++) {
				  	var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
				  															parseFloat(markers[i].getAttribute("lng")));
						var type = 	markers[i].getAttribute("type")	;										
						switch(type){
						case 'bts':			// bts antena
							//var BTStype = markers[i].getAttribute("hsdpa");
							var BTSinfo = "<b>" + markers[i].getAttribute("name") + "</b><br />" + markers[i].getAttribute("alm");
							var mkr = createMarker(point, BTSinfo, icong);
							bmark1.push(mkr);
							map.addOverlay(new Antena(point,1000,0,360,3,2));
							/*
							switch(BTStype){
							detaul:
								var mkr = createMarker(point, BTSinfo, icong);
								bmark1.push(mkr);
								map.addOverlay(new Antena(point,1000,0,360,3,2));
								break;
							case 'IM2':
								var mkr = createMarker(point, BTSinfo, iconb);
								bmark3.push(mkr);
								break;
							case 'NOT READY HSDPA':
								var mkr = createMarker(point, BTSinfo, iconr);
								bmark2.push(mkr);
								map.addOverlay(new Antena(point,1000,0,360,1,2));
								break;
							}
							*/
							break;
						} // case
				  } // for i
        	var mm = new GMarkerManager(map, {borderPadding:1});

	        mm.addMarkers(bmark3,0,17);
	        mm.addMarkers(bmark2,13,17);
	        mm.addMarkers(bmark1,12,17);
	        mm.refresh();
				  
				}); // get XML value for BTS
			}
		}

		function HideShow(id, obj){
			var el = GetObject(id);
			var rd = GetObject(obj);
			if(el.style.display=='none' && rd.value==0) {
				el.style.display='block';
				rd.value=1;
				rd.checked=true;
			}else{
				el.style.display='none';
				rd.value=0;
				rd.checked=false;
			}
		}

		function GetObject(id){
			var el = document.getElementById(id);
			return(el);
		}
		
		//]]>

