	var scountry, marker, arr_marker, points,pointscnt;
	var map = null;
	var geocoder = null;
	var zoom_level=13;

	arr_marker = new Array();
	points = new Array();
	pointscnt=0;
	
	var headscountry, headmarker, arr_headmarker;
	var headmap = null;
	var headgeocoder = null;	

	arr_headmarker=new Array();
	
	function showAddress(response) {
	  map.clearOverlays();
	  if (!response || response.Status.code != 200) {
		//alert("Status Code:" + response.Status.code);
	  } else {
		var place = response.Placemark[0];
		var point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);
		points[pointscnt] = point;
		pointscnt++;
		map.setCenter(point, zoom_level);
		map.addControl(new GSmallMapControl());
		marker = new GMarker(point,{draggable: false});
		map.addOverlay(marker);
		/* add other location markers */
		var other_loc=$("#all_google_ll").val();
		var all_marker=other_loc.split(AJAX_MSG_SEP);
		var marker_cnt=0;
		for(i=1;i<all_marker.length;i++){
			var placem;
			placem=all_marker[i];
			var placem_arr=placem.split(",");
			var pointm = new GLatLng(placem_arr[0],placem_arr[1]);
			var pointexist=false;
			for(j=0;j<pointscnt;j++)
			{
				if(points[j]==pointm)
					pointexist=true;
			}
			if(pointexist==false && placem!=$("#google_ll").val())
			{
				arr_marker[marker_cnt] = new GMarker(pointm,{draggable: false});
				map.addOverlay(arr_marker[marker_cnt]);
				marker_cnt++;
				points[pointscnt] = pointm;
				pointscnt++;
			}
		}
	  }
	}

	function showHeadAddress(response) {
	  headmap.clearOverlays();
	  if (!response || response.Status.code != 200) {
		//alert("Status Code:" + response.Status.code);
	  } else {
		var headplace = response.Placemark[0];
		var headpoint = new GLatLng(headplace.Point.coordinates[1],headplace.Point.coordinates[0]);
		headmap.setCenter(headpoint, zoom_level);
		headmap.addControl(new GSmallMapControl());
		headmarker = new GMarker(headpoint,{draggable: false});
		headmap.addOverlay(headmarker);

		/* add other location markers */
		var other_loc=$("#all_google_ll").val();
		var all_markerh=other_loc.split(AJAX_MSG_SEP);
		var marker_cnt=0;
		for(i=1;i<all_markerh.length;i++){
			var placeh;
			placeh=all_markerh[i];
			var placeh_arr=placeh.split(",");
			var pointh = new GLatLng(placeh_arr[0],placeh_arr[1]);
			arr_headmarker[marker_cnt] = new GMarker(pointh,{draggable: false});
			headmap.addOverlay(arr_headmarker[marker_cnt]);
			marker_cnt++;
		}
	  }
	}

	function initialize() {
			
		if( typeof(GBrowserIsCompatible) == 'undefined' )
			return false;
		  if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map_canvas"),{size:new GSize(260,300)});
			var ll_string=new String($("#google_ll").val());
			var latlng1=ll_string.split(",");
			var gmp=new GLatLng(latlng1[0],latlng1[1]);
			map.setCenter(gmp, zoom_level);
			geocoder = new GClientGeocoder();
			if($("#head_map_canvas").val()!="undefined" && $("#head_map_canvas").val()!=undefined){
				headmap = new GMap2(document.getElementById("head_map_canvas"));
				var gmp1=new GLatLng(latlng1[0],latlng1[1]);
				headmap.setCenter(gmp1, zoom_level);
				headgeocoder = new GClientGeocoder();
			}
		  }
		  return true;
	}
	$(document).ready( function (){
		zoom_level = parseInt($("#google_map_zoom").val());
		if(zoom_level=="" || isNaN(zoom_level))
		{
			zoom_level = 13;	
		}
		loadMapRVSS();
	});

	function loadMapRVSS(){
		if(!initialize())
			return false;

		if( geocoder != null )
		{
			geocoder.getLocations($("#google_ll").val(), showAddress);
			if($("#head_map_canvas").val()!="undefined"  && $("#head_map_canvas").val()!=undefined){
				headgeocoder.getLocations($("#google_ll").val(), showHeadAddress);
			}
		}
	}
