function load_gmap(map_id) {
  if (GBrowserIsCompatible() && findObj(map_id)!=null) {
	// Clicking the marker will hide it
    function createMarker(latlng, shop_name, shop_address, markerOptions) {
      var marker = new GMarker(latlng, markerOptions);
      marker.value = shop_name;
      GEvent.addListener(marker,"click", function() {
        var myHtml = "<b>" + shop_name + "</b><br/>" + shop_address;
        map.openInfoWindowHtml(latlng, myHtml);
      });
      return marker;
    }
    var map = new GMap2(document.getElementById(map_id));
	switch (map_id){
	case (map_id = "bali_collection"):
	  map.setCenter(new GLatLng(-8.80176670751141, 115.23090720176697), 15);
	  break;
	case (map_id = "legian_shop_ii"):
	  map.setCenter(new GLatLng(-8.718739929133626, 115.17452716827393), 15);
	  break;
	case (map_id = "legian_shop_i"):
      map.setCenter(new GLatLng(-8.718739929133626, 115.17452716827393), 15);
	  break;
	case (map_id = "discovery_mall"):
      map.setCenter(new GLatLng(-8.72883561701522, 115.16787528991699), 15);
	  break;
	case (map_id = "beach_shop"):
      map.setCenter(new GLatLng(-8.718464202736926, 115.17188787460327), 15);
	  break;
	case (map_id = "singosari_shop"):
      map.setCenter(new GLatLng(-8.718464202736926, 115.17188787460327), 15);
	  break;
	case (map_id = "grand_hyatt"):
      map.setCenter(new GLatLng(-8.803696355601021, 115.23314952850342), 15);
	  break;
	case (map_id = "sanur_shop"):
      map.setCenter(new GLatLng(-8.690068598008587, 115.2634745836258), 15);
	  break;
	case (map_id = "ubud_shop"):
      map.setCenter(new GLatLng(-8.515156485376687, 115.26477813720703), 14);
	  break;
	case (map_id = "the_curve"):
      map.setCenter(new GLatLng(3.113091173334638, 101.64825439453125), 14);
	  break;
	case (map_id = "oberoi_shop"):
      map.setCenter(new GLatLng(-8.683758171259543, 115.16208171844482), 17);
	  break;
	default:
      map.setCenter(new GLatLng(-8.513968099782469, 115.2627182006836), 15);
      break;
    }

    GEvent.addListener(map,"click", function(overlay,latlng) {
      if (overlay) {
        // ignore if we click on the info window
        return;
      }
      var tileCoordinate = new GPoint();
      var tilePoint = new GPoint();
      var currentProjection = G_NORMAL_MAP.getProjection();
      tilePoint = currentProjection.fromLatLngToPixel(latlng, map.getZoom());
      tileCoordinate.x = Math.floor(tilePoint.x / 256);
      tileCoordinate.y = Math.floor(tilePoint.y / 256);
      var myHtml = "Latitude: " + latlng.lat() + "<br/>Longitude: " + latlng.lng() + 
        "<br/>The Tile Coordinate is:<br/> x: " + tileCoordinate.x + 
        "<br/> y: " + tileCoordinate.y + "<br/> at zoom level " + map.getZoom();	
      map.openInfoWindow(latlng, myHtml);
    });
		
    map.addControl(new GSmallMapControl());
    //map.addControl(new GMapTypeControl());
    var t=map.getMapTypes(); //t[0] map type, t[1], sattelite type
    map.setMapType(t[3]);


    // Create our "tiny" marker icon
	var redIcon = new GIcon(G_DEFAULT_ICON);
    redIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/red/blank.png";
	markerTinyIcon = { icon:redIcon };

    // make a blue icon
	var blueIcon = new GIcon(G_DEFAULT_ICON);
    blueIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/blue/blank.png";
	markerBlueIcon = { icon:blueIcon };

    // Mark Legian Shop II, Kuta (Aleang)
	var shop_name = "<a href='index.php?act=viewDoc&docId=16'>Kuta Shop II</a>";
	var shop_LatLng = new GLatLng(-8.718739929133626, 115.17452716827393);
	var shop_address = "<img src='/images/uploads/shops/kuta_shop_II_outdoor_small.jpg' style='padding:5px 0px 5px 0px'><br/>" +
	                   "Jl. Legian, Kuta, Bali, Indonesia<br/>" + 
	                   "Tel: +62 361 763499<br/>" + 
					   "7 kilometres from International Airport";
	if (map_id == "legian_shop_ii"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}
	
	// Mark Legian Shop I, Kuta (Ulu Kecil)
	var shop_name = "<a href='index.php?act=viewDoc&docId=15'>Legian Shop I, Kuta</a>";
	var shop_LatLng = new GLatLng(-8.717965773734223, 115.17458081245422);
	var shop_address = "Jl. Legian, Kuta, Bali, Indonesia<br/>" + 
	                   "Tel: +62 361 763499<br/>" + 
					   "7 kilometres from International Airport";
	if (map_id == "legian_shop_i"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Beach Shop, Kuta
	var shop_name = "<a href='index.php?act=viewDoc&docId=17'>Beach Shop, Kuta</a>";
	var shop_LatLng = new GLatLng(-8.722303144259058, 115.17306804656982);
    var shop_address = "Jalan Pantai Kuta, Bali, Indonesia<br/>" + 
	                   "Tel: +62 361 755342<br/>";
	if (map_id == "beach_shop"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Singosari Shop, Kuta
	var shop_name = "<a href='index.php?act=viewDoc&docId=26'>Singosari Shop, Kuta</a>";
	var shop_LatLng = new GLatLng(-8.72439227541365, 115.17421066761017);
    var shop_address = "Jalan Bakungsari Kuta, Bali, Indonesia<br/>" + 
	                   "Tel: +62 361 755342<br/>";
	if (map_id == "singosari_shop"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Discovery Shopping Mall, Kuta
	var shop_name = "<a href='index.php?act=viewDoc&docId=14'>Discovery Shopping Mall, Kuta</a>";
	var shop_LatLng = new GLatLng(-8.72883561701522, 115.16787528991699);
    var shop_address = "<img src='images/uploads/shops/centro_outdoor_small.jpg' style='padding:5px 0px 5px 0px'><br/>" +
	                   "<span class='smallText'>"+
	                   "Jalan Dewi Sartika<br/>" + 
                       "Kuta 80361 Bali Indonesia" +
					   "</span>";
	if (map_id == "discovery_mall"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Bali Collection, Nusa Dua
	var shop_name = "<a href='index.php?act=viewDoc&docId=12'>Bali Collection, Nusa Dua</a>";
	var shop_LatLng = new GLatLng(-8.80176670751141, 115.23090720176697);
    var shop_address = "<img src='images/uploads/shops/bali_collection_osm.jpg' style='padding:5px 0px 5px 0px'><br/>" +
	                   "<span class='smallText'>"+
	                   "Block B3 Nusa Dua<br/>" + 
                       "Bali Indonesia" +
					   "</span>";
	if (map_id == "bali_collection"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Grand Hyatt, Nusa Dua
	var shop_name = "<a href='index.php?act=viewDoc&docId=13'>Grand Hyatt, Nusa Dua</a>";
	var shop_LatLng = new GLatLng(-8.803696355601021, 115.23314952850342);
    var shop_address = "<img src='images/uploads/shops/ghyatt_osm.jpg' style='padding:5px 0px 5px 0px'><br/>" +
	                   "<span class='smallText'>"+
	                   "Block B3 Nusa Dua<br/>" + 
                       "Bali Indonesia" +
					   "</span>";
	if (map_id == "grand_hyatt"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Sanur
	var shop_name = "<a href='index.php?act=viewDoc&docId=24'>Sanur Shop, Sanur</a>";
	var shop_LatLng = new GLatLng(-8.690068598008587, 115.2634745836258);
    var shop_address = "<img src='images/uploads/shops/sanur_osm.jpg' style='padding:5px 0px 5px 0px'><br/>" +
	                   "<span class='smallText'>"+
	                   "Jalan Danau Tamblingan<br/>" + 
                       "Sanur, Bali, Indonesia<br/>" +
                       "Tel: +62 (361) 288037" +
					   "</span>";

	if (map_id == "sanur_shop"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Oberoi
	var shop_name = "<a href='index.php?act=viewDoc&docId=28'>Oberoi Shop, Seminyak</a>";
	var shop_LatLng = new GLatLng(-8.683758171259543, 115.16208171844482);
    var shop_address = "<img src='images/uploads/shops/oberoi_osm.jpg' style='padding:5px 0px 5px 0px'><br/>" +
	                   "<span class='smallText'>"+
	                   "Jalan Laksmana No.77x <br/>" + 
                       "Seminyak, Bali, Indonesia<br/>" +
                       "Tel: +62 (361) 735973" +
					   "</span>";
	if (map_id == "oberoi_shop"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Ubud Shop
	var shop_name = "<a href='index.php?act=viewDoc&docId=25'>Ubud Shop, Ubud</a>";
	var shop_LatLng = new GLatLng(-8.513968099782469, 115.2627182006836);
    var shop_address = "<img src='images/uploads/shops/sanur_osm.jpg' style='padding:5px 0px 5px 0px'><br/>" +
	                   "<span class='smallText'>"+
	                   "Jalan Monkey Forest<br/>" + 
                       "Ubud, Bali, Indonesia<br/>" +
                       "Tel: +62 (361) 977557" +
					   "</span>";
	if (map_id == "ubud_shop"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark The Curve, Malaysia
	var shop_name = "<a href='index.php?act=viewDoc&docId=27'>The Curve Mall, Kuala Lumpur</a>";
	var shop_LatLng = new GLatLng(3.113091173334638, 101.64825439453125);
    var shop_address = "<img src='/images/uploads/shops/thecurve_osm.jpg' style='padding:5px 0px 5px 0px'><br/>" +
	                   "<span class='smallText'>"+
	                   "Jalan Monkey Forest<br/>" + 
                       "Ubud, Bali, Indonesia<br/>" +
                       "Tel: +62 (361) 977557" +
					   "</span>";
	if (map_id == "the_curve"){
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerTinyIcon));
	}else{
	  map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));	
	}

	// Mark Kori Restaurant
	var shop_name = "<a href='http://www.koriresturant.co.id' target='_blank' style='text-decoration:underline;'>Kori Restaurant & Bar</a>";
	var shop_LatLng = new GLatLng(-8.717138592219877, 115.17192006111145);
    var shop_address = "<a href='http://www.korirestaurant.co.id' target='_blank'><img src='/images/uploads/shops/kori_outdoor_small.jpg' style='padding:5px 0px 5px 0px'></a><br/>" +
	                   "<span class='smallText'>"+
					   "Poppies Lane II, Legian, Kuta, Bali, Indonesia<br/>" + 
					   "Phone/Fax: +62(361)758-605/752-510<br/>" + 
					   "E-Mail: info@korirestaurant.co.id<br/>" + 
					   "http://www.korirestaurant.co.id" +
					   "</span>";
    map.addOverlay(createMarker(shop_LatLng,shop_name,shop_address,markerBlueIcon));
  }
}	

// to show hide div
function showHideContent(e,inputId){
	if(dhtmlgoodies_slideInProgress)return;
	dhtmlgoodies_slideInProgress = true;
	if(!inputId)inputId = this.id;
	inputId = inputId + '';
	var numericId = inputId.replace(/[^0-9]/g,'');
	var answerDiv = document.getElementById('dhtmlgoodies_a' + numericId);
	objectIdToSlideDown = false;
	if(!answerDiv.style.display || answerDiv.style.display=='none'){		
		if(dhtmlgoodies_activeId &&  dhtmlgoodies_activeId!=numericId){			
			objectIdToSlideDown = numericId;
			slideContent(dhtmlgoodies_activeId,(dhtmlgoodies_slideSpeed*-1));
		}else{
			answerDiv.style.display='block';
			answerDiv.style.visibility = 'visible';
			slideContent(numericId,dhtmlgoodies_slideSpeed);
		}
	}else{
		slideContent(numericId,(dhtmlgoodies_slideSpeed*-1));
		dhtmlgoodies_activeId = false;
	}	
}

function slideContent(inputId,direction){
	var obj =document.getElementById('dhtmlgoodies_a' + inputId);
	var contentObj = document.getElementById('dhtmlgoodies_ac' + inputId);
	height = obj.clientHeight;
	if(height==0)height = obj.offsetHeight;
	height = height + direction;
	rerunFunction = true;
	if(height>contentObj.offsetHeight){
		height = contentObj.offsetHeight;
		rerunFunction = false;
	}
	if(height<=1){
		height = 1;
		rerunFunction = false;
	}

	obj.style.height = height + 'px';
	var topPos = height - contentObj.offsetHeight;
	if(topPos>0)topPos=0;
	contentObj.style.top = topPos + 'px';
	if(rerunFunction){
		setTimeout('slideContent(' + inputId + ',' + direction + ')',dhtmlgoodies_timer);
	}else{
		if(height<=1){
			obj.style.display='none'; 
			if(objectIdToSlideDown && objectIdToSlideDown!=inputId){
				document.getElementById('dhtmlgoodies_a' + objectIdToSlideDown).style.display='block';
				document.getElementById('dhtmlgoodies_a' + objectIdToSlideDown).style.visibility='visible';
				slideContent(objectIdToSlideDown,dhtmlgoodies_slideSpeed);				
			}else{
				dhtmlgoodies_slideInProgress = false;
			}
		}else{
			dhtmlgoodies_activeId = inputId;
			dhtmlgoodies_slideInProgress = false;
		}
	}
}

function initShowHideDivs(){
	var divs = document.getElementsByTagName('DIV');
	var divCounter = 1;
	for(var no=0;no<divs.length;no++){
		if(divs[no].className=='dhtmlgoodies_question'){
			divs[no].onclick = showHideContent;
			divs[no].id = 'dhtmlgoodies_q'+divCounter;
			var answer = divs[no].nextSibling;
			while(answer && answer.tagName!='DIV'){
				answer = answer.nextSibling;
			}
			answer.id = 'dhtmlgoodies_a'+divCounter;	
			contentDiv = answer.getElementsByTagName('DIV')[0];
			contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px'; 	
			contentDiv.className='dhtmlgoodies_answer_content';
			contentDiv.id = 'dhtmlgoodies_ac' + divCounter;
			answer.style.display='none';
			answer.style.height='1px';
			divCounter++;
		}		
	}	
}
// end to show hide div

// display decision alert box
function decision(message, url){
  if(confirm(message)) location.href = url;
}

// open browser window
function openPopUp(url, windowName, w, h, scrollbar){
  var winl = (screen.width - w) / 2;
  var wint = (screen.height - h) / 2;
  winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scrollbar ;
  win = window.open(url, windowName, winprops);
  if (parseInt(navigator.appVersion) >= 4) { 
    win.window.focus(); 
  } 
}

function jumpMenu(target,object,restore){ 
  eval(target+".location='"+object.options[object.selectedIndex].value+"'");
  if (restore) object.selectedIndex=0;
}

function findObj(n, d) {
  var p,i,x;  
  if(!d) d=document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; 
	n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all) x=d.all[n]; 
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function getImage(imageName,OptionValue){
  findObj('img').src = imageName;
  getOptionIndex(OptionValue);
}

function hidedoc(divname) {
  if (document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById(divname).style.visibility = 'hidden';
  }else{
    if (document.layers) { // Netscape 4
      document.hideshow.visibility = 'hidden';
    }else{ // IE 4
      document.all.hideshow.style.visibility = 'hidden';
    }
  }
}

function showdoc(divname) {
  if (document.getElementById) { // DOM3 = IE5, NS6
    document.getElementById(divname).style.visibility = 'visible';
  }else{
    if (document.layers) { // Netscape 4
      document.hideshow.visibility = 'visible';
    }else{ // IE 4
      document.all.hideshow.style.visibility = 'visible';
    }
  }
} 

function showhide(id) {
  var item = document.getElementById(id);
  if (item) {
    item.className=(item.className=='hidden')?'unhidden':'hidden';
  }
}

/* -- iman 26/11/2007 */
function getOptionIndex(OptionValue){
  var x=document.getElementById("matcolor");
  for(i=0; i<=50; i++){
	if(x.options[i].value == OptionValue){
        x.selectedIndex = i;
        findObj('photolabel').value = x.options[i].text;
		break;
     }
  }
}
/* ------------------ */

function submitDoc(formName) { 
  var obj;
  if (obj=findObj(formName)!=null){
	findObj(formName).submit(); 
  }else{
	alert('The form you are attempting to submit called \'' + formName + '\' couldn\'t be found. Please make sure the submitDoc function has the correct id and name.');
  }
}
