

// Visibility Functions by Macromedia


function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}




// DOJO Fisheye Menu Hide/Show function with Macromdedia functions

function hideFisheye(start){
	if(fishvis == 0) {
     	dojo.lfx.explode(document.getElementById('menustart'), "menucontainer", 250).play();
		fishvis = 1;
		MM_showHideLayers('maximize','','hide');
	}
    else{
		dojo.lfx.implode("menucontainer", start, 250).play();
		fishvis = 0;
		setTimeout('',5000);
		MM_showHideLayers('maximize','','show');
		
	}
	
}



// DOJO Explode / Implode effect for side station control pane affect

function mapControlPane(start){
	if(mapControlVis == 0) {
		dojo.lfx.explode(document.getElementById('controlstart'), "mapcontrols", 10).play();
		mapControlVis = 1;
	}
    else{
		dojo.lfx.implode("mapcontrols", start, 250).play();
		mapControlVis = 0;
	}
	
}

function loadControlPane(start){
	if(mapControlVis == 0) {
		dojo.lfx.explode(document.getElementById('loadstart'), "loading", 10).play();
		mapControlVis = 1;
	}
    else{
		dojo.lfx.implode("loading", start, 250).play();
		mapControlVis = 0;
	}
	
}


// DOJO Drag and Drop functions for side station control pane affect

 function byId(id){
		return document.getElementById(id);
	}

 function init(){
		new dojo.dnd.HtmlDragMoveSource(byId("mapcontrols"));
 }




// Control Functions


// Asynchronous request for HTML doc using DOJO AJAX to request instrument data file
// Executed when a fisheye menu item in es_gmap.html is clicked
// Passes HTML file name as URL and string value as control type

   function loadControls (controlType) {

/*	var bindArgs = {     //See DOJO manual for AJAX ( dojo.io.bind() ) handling
	  method: "get",
      url:        url,
      mimetype:   "text/html",
	  load : function(type, data, evt) { document.getElementById('loading').innerHTML = data }    
    };
 */
 	if (controlType.indexOf('gps') == 0) {
	    if(gpsTypeState.length < 1) {
	      getGPSStations();
		  for(i=0; i<8; i++){gpsTypeState[i]=0;} //initialize array for off setting
		}
	 }
	if (controlType.indexOf('seismic') == 0) {
	    if(seismicTypeState.length < 1) {
	      getSeismicStations();
		  for(i=0; i<3; i++){seismicTypeState[i]=0;}
		}
	 }
	if (controlType.indexOf('safod') == 0) {
	    if(safodTypeState.length < 1) {
	      getSafodStations();
		  for(i=0; i<3; i++){safodTypeState[i]=0;}
		}
	 }
	if (controlType.indexOf('strain') == 0) {
	    if(strainTypeState.length < 1) {
	      getStrainStations();
		  for(i=0; i<3; i++){strainTypeState[i]=0;}
		}
	 }
	 if (controlType.indexOf('mag') == 0) {
	    if(magnetoTypeState.length < 1) {
	      getMAGStations();
		  for(i=0; i<2; i++){magnetoTypeState[i]=0;}
		}
	 }
   // var requestObj = dojo.io.bind(bindArgs);
	//loadControlPane();

}




// Google Map Hybrid Control

function setHybridMap() {
	     if(hybridvis == 0) {
		 	map.setMapType(G_PHYSICAL_MAP);
			hybridvis = 1;
		 }
		 else { 
		   map.setMapType(G_SATELLITE_TYPE); 
		   hybridvis = 0;
		   
		   }
    }
	






// Bounding Box control GZOOMCONTROL

function loadBox() {
	
	map.addControl(new GZoomControl(
		
		/* first set of options is for the visual overlay.*/
		{
			nOpacity:.2,
			sBorder:"2px solid blue"
		},
		/* second set of optionis is for everything else */
		{
			//sButtonHTML:"<img src='images/boundbox.gif' />",
			//sButtonZoomingHTML:"<img src='images/boundboxon.gif' />",
			//oButtonStartingStyle:{width:'44px',height:'34px'}
		},
		/* third set of options specifies callbacks */
		{
                        buttonClick:function(){},
                        dragStart:function(){},
                        dragging:function(x1,y1,x2,y2){},
                        dragEnd:function(nw,ne,se,sw,nwpx,nepx,sepx,swpx){

							
			    		boundBox = true; }
			
		}
		
		));
  }
		
		
		
		
		
//  GET STATION DATA FILE using Google Map AJAX method		
		
		
		// GPS DATA FILE
		
	  function getGPSStations() {

		
		GDownloadUrl("/gmap/data/gMAPGPSData.xml", function(data, responseCode) {
  		var xml = GXml.parse(data);
  		var gpsMarkers = xml.documentElement.getElementsByTagName("marker");
  		  for (var i = 0; i < gpsMarkers.length; i++) {
		    var newLat = parseFloat(gpsMarkers[i].getAttribute("lat"));
			var newLng = parseFloat(gpsMarkers[i].getAttribute("lng"));
    		var point = new GLatLng(newLat, newLng);
			var html = GXml.value(gpsMarkers[i].getElementsByTagName("infowindow")[0]);
			var insttype = gpsMarkers[i].getAttribute("insttype");
			var code = gpsMarkers[i].getAttribute("code");
			
			 if (insttype.indexOf("Magmatic") == 0) { var gpsicon = gpsmag }
			 if (insttype.indexOf("Transform") == 0) { var gpsicon = gpstran }
			 if (insttype.indexOf("Subduction") == 0) { var gpsicon = gpssub }
			 if (insttype.indexOf("Extension") == 0) { var gpsicon = gpsext }
			 if (insttype.indexOf("PBO") == 0) { var gpsicon = gpspbo }
			 if (insttype.indexOf("USArray") == 0) { var gpsicon = gpsunas }
			 if (insttype.indexOf("Nucleus") == 0) { var gpsicon = gpsnucleus }
			 if (insttype.indexOf("Continuous") == 0) { var gpsicon = gpsunas }
				

			createGPSMarker(point, html, gpsicon, insttype, i, code);
		  }
  		});
      }
	  
	  
	    // SEISMIC DATA FILE
	  
      function getSeismicStations() {

		
		GDownloadUrl("/gmap/data/gMAPSeismicData.xml", function(data, responseCode) {
  		var xml = GXml.parse(data);
  		var seismicMarkers = xml.documentElement.getElementsByTagName("marker");
  		  for (var i = 0; i < seismicMarkers.length; i++) {
		    var newLat = parseFloat(seismicMarkers[i].getAttribute("lat"));
			var newLng = parseFloat(seismicMarkers[i].getAttribute("lng"));
    		var point = new GLatLng(newLat, newLng);
			var html = GXml.value(seismicMarkers[i].getElementsByTagName("infowindow")[0]);
			var insttype = seismicMarkers[i].getAttribute("insttype");
			var code = seismicMarkers[i].getAttribute("code");
			
			 if (insttype.indexOf("ANSS Backbone") == 0) { var seismicicon = anss }
			 if (insttype.indexOf("Transportable Array") == 0) { var seismicicon = tran }

				

			createSeismicMarker(point, html, seismicicon, insttype, i, code);
		  }
		  
  		});

     }
	  


	    // SAFOD DATA FILE
	  
      function getSafodStations() {

		
		GDownloadUrl("/gmap/data/gMAPSafodData.xml", function(data, responseCode) {
  		var xml = GXml.parse(data);
  		var safodMarkers = xml.documentElement.getElementsByTagName("marker");
  		  for (var i = 0; i < safodMarkers.length; i++) {
		    var newLat = parseFloat(safodMarkers[i].getAttribute("lat"));
			var newLng = parseFloat(safodMarkers[i].getAttribute("lng"));
    		var point = new GLatLng(newLat, newLng);
			var html = GXml.value(safodMarkers[i].getElementsByTagName("infowindow")[0]);
			var insttype = safodMarkers[i].getAttribute("insttype");
			var code = safodMarkers[i].getAttribute("code");
			
			 if (code.indexOf("SAF-Main") == 0) { var safodicon = mainhole }
			 if (code.indexOf("SAF-Pilot") == 0) { var safodicon = pilothole }

				

			createSafodMarker(point, html, safodicon, insttype, i, code);
		  }
  		});
      }
	  



	    // STRAINMETER DATA FILE
	  
      function getStrainStations() {

		
		GDownloadUrl("/gmap/data/gMAPStrainData.xml", function(data, responseCode) {
  		var xml = GXml.parse(data);
  		var strainMarkers = xml.documentElement.getElementsByTagName("marker");
  		  for (var i = 0; i < strainMarkers.length; i++) {
		    var newLat = parseFloat(strainMarkers[i].getAttribute("lat"));
			var newLng = parseFloat(strainMarkers[i].getAttribute("lng"));
    		var point = new GLatLng(newLat, newLng);
			var html = GXml.value(strainMarkers[i].getElementsByTagName("infowindow")[0]);
			var insttype = strainMarkers[i].getAttribute("insttype");
			var code = strainMarkers[i].getAttribute("code");
			
			 if (insttype.indexOf("Borehole") == 0) { var strainicon = bsm }
			 if (insttype.indexOf("Long Baseline Laser") == 0) { var strainicon = lsm }

				

			createStrainMarker(point, html, strainicon, insttype, i, code);
		  }
  		});
      }
	  
	  
	  
	  	    // MAGNETOTULLERIC DATA FILE
	  
      function getMAGStations() {

		
		GDownloadUrl("/gmap/data/gMAPMAGData.xml", function(data, responseCode) {
  		var xml = GXml.parse(data);
  		var magMarkers = xml.documentElement.getElementsByTagName("marker");
  		  for (var i = 0; i < magMarkers.length; i++) {
		    var newLat = parseFloat(magMarkers[i].getAttribute("lat"));
			var newLng = parseFloat(magMarkers[i].getAttribute("lng"));
    		var point = new GLatLng(newLat, newLng);
			var html = GXml.value(magMarkers[i].getElementsByTagName("infowindow")[0]);
			var insttype = magMarkers[i].getAttribute("insttype");
			var code = magMarkers[i].getAttribute("code");
			
			var magicon = mag;
			

				

			createMagMarker(point, html, magicon, insttype, i, code);
		  }
  		});
      }
	  
	  
	  
// ** Google API Calls **

      //GPS MARKERS
	  
	  function createGPSMarker(point, html, gpsicon, insttype, i, stationcode) {
	
	  	var gpsMarker = new GMarker(point, {title:stationcode, icon:gpsicon});
			
            GEvent.addListener(gpsMarker, "click", function() {
                gpsMarker.openInfoWindowHtml(html); });

		    gpsMarker.id = insttype;
     	    gpsmarkerArray[i] = gpsMarker;
			gpshtmls[i] = html;
			gpscodes[i] = stationcode; 

	  }
	  
	  
	  
	  // SEISMIC MARKERS
	  
	  function createSeismicMarker(point, html, seismicicon, insttype, i, stationcode) {

	  	var seismicMarker = new GMarker(point, {title:stationcode, icon:seismicicon});
			
            GEvent.addListener(seismicMarker, "click", function() {
                seismicMarker.openInfoWindowHtml(html); });

		    seismicMarker.id = insttype;
     	    seismicmarkerArray[i] = seismicMarker;
			seismichtmls[i] = html;
			seismiccodes[i] = stationcode; 

	  }	  
	  
	  
	  
	  // SAFOD MARKERS
	  
	  function createSafodMarker(point, html, safodicon, insttype, i, stationcode) {

	  	var safodMarker = new GMarker(point, {title:stationcode, icon:safodicon});
			
            GEvent.addListener(safodMarker, "click", function() {
                safodMarker.openInfoWindowHtml(html); });

		    safodMarker.id = stationcode;
     	    safodmarkerArray[i] = safodMarker;
			safodhtmls[i] = html;
			safodcodes[i] = stationcode; 

	  }	  
	  
	  
	  
	  // STRAIN MARKERS
	  
	  function createStrainMarker(point, html, strainicon, insttype, i, stationcode) {

	  	var strainMarker = new GMarker(point, {title:stationcode, icon:strainicon});
			
            GEvent.addListener(strainMarker, "click", function() {
                strainMarker.openInfoWindowHtml(html); });

		    strainMarker.id = insttype;
     	    strainmarkerArray[i] = strainMarker;
			strainhtmls[i] = html;
			straincodes[i] = stationcode; 

	  }	  	  
	  
	  
	  	  
	  
	  // MAG MARKERS
	  
	  function createMagMarker(point, html, strainicon, insttype, i, stationcode) {

	  	var magMarker = new GMarker(point, {title:stationcode, icon:strainicon});
			
            GEvent.addListener(magMarker, "click", function() {
               magMarker.openInfoWindowHtml(html); });

		    magMarker.id = insttype;
     	    magmarkerArray[i] = magMarker;
			maghtmls[i] = html;
			magcodes[i] = stationcode; 

	  }	 
	 
	 // ADD or REMOVE Marker Layers for GPS Stations
	 // Executed from Station HTML obtained by DOJO AJAX Call in loadControls() function above
	 
	   function mapGPSStations(type, arVal) {
	      if(parseInt(gpsTypeState[arVal]) == 1) {
		    gpsTypeState[arVal] = 0;      // Turn off GPS Type State
 			var markerNum = [];
			var c = 0;
	        for(i=0; i < gpsmarkerArray.length; i++)  {  
		       if (type.indexOf("all") == 0) {map.removeOverlay(gpsmarkerArray[i]); }	
		       else if(gpsmarkerArray[i].id.indexOf(type) == 0) { 
			     map.removeOverlay(gpsmarkerArray[i]);
				 markerNum[c] = gpscodes[i];
				 c++;
			   }  
		    }

		  }
		  else{
			maxRow = stationList.length;
		    gpsTypeState[arVal] = 1;   // Turn on GPS Type State
		  	 for(i=0; i < gpsmarkerArray.length; i++) {
			   if (type.indexOf("all") == 0) { map.addOverlay(gpsmarkerArray[i]); }		
		       else if(gpsmarkerArray[i].id.indexOf(type) == 0) { 
			     map.addOverlay(gpsmarkerArray[i]); 	
				 bounds.extend(gpsmarkerArray[i].getPoint()); 		
				 stationList[maxRow] = '<a href="javascript:myclick(' + i + ')">' + gpscodes[i] + '</a><br>';
				 maxRow++;
			     //side_bar_html += '<a href="javascript:myclick(' + i + ')">' + gpscodes[i] + '</a><br>'; 
				 }  
			 }

		  }
		  
		           // Station List Code
				   
		  //alert(rmstat.length);
		  //var sb = document.getElementById('sidebar');
		  //var sbStr = "<p>Station List</p>";
	      
		 // for(t=0; t < stationList.length; t++) {
		
   		 //     sbStr += stationList[t];
		 //    }
		  // sb.innerHTML = sbStr;
		  
		  
	  }
	  
	  
	  
	  	 
	 // ADD or REMOVE Marker Layers for Seismic Stations
	 // Executed from Station HTML obtained by DOJO AJAX Call in loadControls() function above
	 
	  
	   function mapSeismicStations(type, arVal) {
	      if(parseInt(seismicTypeState[arVal]) == 1) {
		    seismicTypeState[arVal] = 0;      // Turn off Siesmic Type State
 			var markerNum = [];
			var c = 0;
	        for(i=0; i < seismicmarkerArray.length; i++)  {  
		       if (type.indexOf("all") == 0) {map.removeOverlay(seismicmarkerArray[i]); }	
		       else if(seismicmarkerArray[i].id.indexOf(type) == 0) { 
			     map.removeOverlay(seismicmarkerArray[i]);
				 markerNum[c] = seismiccodes[i];
				 c++;
			   }  
		    }

		  }
		  else{
			maxRow = stationList.length;
		    seismicTypeState[arVal] = 1;   // Turn on Seismic Type State
		  	 for(i=0; i < seismicmarkerArray.length; i++) {
			   if (type.indexOf("all") == 0) { map.addOverlay(seismicmarkerArray[i]); }		
		       else if(seismicmarkerArray[i].id.indexOf(type) == 0) { 
			     map.addOverlay(seismicmarkerArray[i]); 	
				 bounds.extend(seismicmarkerArray[i].getPoint()); 		
				 stationList[maxRow] = '<a href="javascript:myclick(' + i + ')">' + seismiccodes[i] + '</a><br>';
				 maxRow++;
			     //side_bar_html += '<a href="javascript:myclick(' + i + ')">' + gpscodes[i] + '</a><br>'; 
				 }  
			 }

		  }
		  
		  
		           // Station List Code
				   
		  //alert(rmstat.length);
		  //var sb = document.getElementById('sidebar');
		  //var sbStr = "<p>Station List</p>";
	      
		 // for(t=0; t < stationList.length; t++) {
		
   		 //     sbStr += stationList[t];
		 //    }
		  // sb.innerHTML = sbStr;
		  
		  
		  
	  }	  
	  
	  


	  	 
	 // ADD or REMOVE Marker Layers for SAFOD Stations
	 // Executed from Station HTML obtained by DOJO AJAX Call in loadControls() function above
	 
	  
	   function mapSafodStations(type, arVal) {
	      if(parseInt(safodTypeState[arVal]) == 1) {
		    safodTypeState[arVal] = 0;      // Turn off SAFOD Type State
 			var markerNum = [];
			var c = 0;
	        for(i=0; i < safodmarkerArray.length; i++)  {  
		       if (type.indexOf("all") == 0) {map.removeOverlay(safodmarkerArray[i]); }	
		       else if(safodmarkerArray[i].id.indexOf(type) == 0) { 
			     map.removeOverlay(safodmarkerArray[i]);
				 markerNum[c] = safodcodes[i];
				 c++;
			   }  
		    }

		  } 
		  else{
			maxRow = stationList.length;
		    safodTypeState[arVal] = 1;   // Turn on SAFOD Type State
		  	 for(i=0; i < safodmarkerArray.length; i++) {
			   if (type.indexOf("all") == 0) { map.addOverlay(safodmarkerArray[i]); }		
		       else if(safodmarkerArray[i].id.indexOf(type) == 0) { 
			     map.addOverlay(safodmarkerArray[i]); 	
				 bounds.extend(safodmarkerArray[i].getPoint()); 		
				 stationList[maxRow] = '<a href="javascript:myclick(' + i + ')">' + safodcodes[i] + '</a><br>';
				 maxRow++;
			     //side_bar_html += '<a href="javascript:myclick(' + i + ')">' + gpscodes[i] + '</a><br>'; 
				 }  
			 }
			 
		  if(arVal == 1)  safodTypeState[0] = 0;   // Turn off other station conrol icon
		  else safodTypeState[1] = 0;
			 
			 

		  }
		  
		  
		           // Station List Code
				   
		  //alert(rmstat.length);
		  //var sb = document.getElementById('sidebar');
		  //var sbStr = "<p>Station List</p>";
	      
		 // for(t=0; t < stationList.length; t++) {
		
   		 //     sbStr += stationList[t];
		 //    }
		  // sb.innerHTML = sbStr;
		
	  }	  
	  


	  


	  	 
	 // ADD or REMOVE Marker Layers for Strain Stations
	 // Executed from Station HTML obtained by DOJO AJAX Call in loadControls() function above
	 
	  
	   function mapStrainStations(type, arVal) {
	      if(parseInt(strainTypeState[arVal]) == 1) {
		    strainTypeState[arVal] = 0;      // Turn off Strain Type State
 			var markerNum = [];
			var c = 0;
	        for(i=0; i < strainmarkerArray.length; i++)  {  
		       if (type.indexOf("all") == 0) {map.removeOverlay(strainmarkerArray[i]); }	
		       else if(strainmarkerArray[i].id.indexOf(type) == 0) { 
			     map.removeOverlay(strainmarkerArray[i]);
				 markerNum[c] = straincodes[i];
				 c++;
			   }  
		    }

		  }
		  else{
			maxRow = stationList.length;
		    strainTypeState[arVal] = 1;   // Turn on Strain Type State
		  	 for(i=0; i < strainmarkerArray.length; i++) {
			   if (type.indexOf("all") == 0) { map.addOverlay(strainmarkerArray[i]); }		
		       else if(strainmarkerArray[i].id.indexOf(type) == 0) { 
			     map.addOverlay(strainmarkerArray[i]); 	
				 bounds.extend(strainmarkerArray[i].getPoint()); 		
				 stationList[maxRow] = '<a href="javascript:myclick(' + i + ')">' + straincodes[i] + '</a><br>';
				 maxRow++;
			     //side_bar_html += '<a href="javascript:myclick(' + i + ')">' + gpscodes[i] + '</a><br>'; 
				 }  
			 }

		  }
		  
		  
		           // Station List Code
				   
		  //alert(rmstat.length);
		  //var sb = document.getElementById('sidebar');
		  //var sbStr = "<p>Station List</p>";
	      
		 // for(t=0; t < stationList.length; t++) {
		
   		 //     sbStr += stationList[t];
		 //    }
		  // sb.innerHTML = sbStr;
		  
		  	 
		  
	  }	  
	  


	  	 
	 // ADD or REMOVE Marker Layers for Strain Stations
	 // Executed from Station HTML obtained by DOJO AJAX Call in loadControls() function above
	 
	  
	   function mapMagStations(type, arVal) {
	      if(parseInt(magnetoTypeState[arVal]) == 1) {
		    magnetoTypeState[arVal] = 0;      // Turn off Strain Type State
 			var markerNum = [];
			var c = 0;
	        for(i=0; i < magmarkerArray.length; i++)  {  
		       if (type.indexOf("all") == 0) {map.removeOverlay(magmarkerArray[i]); }	
		       else if(magmarkerArray[i].id.indexOf(type) == 0) { 
			     map.removeOverlay(magmarkerArray[i]);
				 markerNum[c] = magcodes[i];
				 c++;
			   }  
		    }

		  }
		  else{
			maxRow = stationList.length;
		    magnetoTypeState[arVal] = 1;   // Turn on Strain Type State
		  	 for(i=0; i < magmarkerArray.length; i++) {
			   if (type.indexOf("all") == 0) { map.addOverlay(magmarkerArray[i]); }		
		       else if(magmarkerArray[i].id.indexOf(type) == 0) { 
			     map.addOverlay(magmarkerArray[i]); 	
				 bounds.extend(magmarkerArray[i].getPoint()); 		
				 stationList[maxRow] = '<a href="javascript:myclick(' + i + ')">' + magcodes[i] + '</a><br>';
				 maxRow++;
			     //side_bar_html += '<a href="javascript:myclick(' + i + ')">' + gpscodes[i] + '</a><br>'; 
				 }  
			 }

		  }
		  
		  
		           // Station List Code
				   
		  //alert(rmstat.length);
		  //var sb = document.getElementById('sidebar');
		  //var sbStr = "<p>Station List</p>";
	      
		 // for(t=0; t < stationList.length; t++) {
		
   		 //     sbStr += stationList[t];
		 //    }
		  // sb.innerHTML = sbStr;
		  
		  	 
		  
	  }	  
	  





// Side Bar Click event for opening Info Bubble	  
	  
  function myclick(i) {
        gpsmarkerArray[i].openInfoWindowHtml(gpshtmls[i]);
      }
	  
	  


function loadGeoProvince(prov, arrNum) {
	
		   if(geoProvState.length < 1) {
			   for(i=0; i < 2; i++) { geoProvState[i] = 0 }
		   }
		   if(geoProvState[arrNum] == 0) {  map.addOverlay(calrange); geoProvState[arrNum] = 1; }
		   else { calrange.hide(); geoProvState[arrNum] = 0;}
		   
	}
	   
	   


	
	
	
		
function startSeismic() {
  setTimeout("loadingMsg('Loading Seismic Stations')", 1000);
  setTimeout("mapSeismicStations('ANSS Backbone', 0)", 2000);
  setTimeout("mapSeismicStations('Transportable Array', 1)", 2400);
  setTimeout("document.mapForm.seismic.checked = 'checked'", 2600);
  setTimeout("GZoomControl.prototype.resetDragZoom_()", 6000); 
  setTimeout("hideLoading()", 6000);
		  
 }


function startGPS(){
setTimeout("loadingMsg('Loading GPS Stations')", 1000);
setTimeout("mapGPSStations('Magmatic', 0)", 2000);
setTimeout("mapGPSStations('Transform', 1)", 2200);
setTimeout("mapGPSStations('Subduction', 2)", 2400);
setTimeout("mapGPSStations('Extension', 3)", 2600);
setTimeout("mapGPSStations('PBO', 4)", 2800);
setTimeout("mapGPSStations('Nucleus', 5)", 3000);
setTimeout("mapGPSStations('USArray', 6)", 3200);
setTimeout("document.mapForm.gps.checked = 'checked'", 4000);
}

function startStrain() {
setTimeout("loadingMsg('Loading Strainmeter Stations')", 500);
setTimeout("mapStrainStations('Borehole', 0)", 2000);
setTimeout("mapStrainStations('Long Baseline Laser', 1)", 2400);
setTimeout("document.mapForm.strain.checked = 'checked'", 2600);
}

function startSafod() {
loadingMsg('Loading SAFOD Stations');
setTimeout("mapSafodStations('SAF-Pilot', 1)", 2000);
setTimeout("mapSafodStations('SAF-Main', 0)", 2200);
setTimeout("document.mapForm.safod.checked = 'checked'", 2600);

}
function startMag() {
loadingMsg('Loading Magnetotelluric Stations');
setTimeout("mapMagStations('all', 0)", 2000);
setTimeout("document.mapForm.mag.checked = 'checked'", 2600);

}

function loadingMsg(msg) {
	
document.getElementById('loadingmsg').innerHTML = "<img src='/gmap/images/loading.gif' />   " + msg;	
}

function hideLoading() {
	 document.getElementById('loading').style.visibility = 'hidden';
}

function updateMsg(msg) {

document.getElementById('loading').style.visibility = 'visible';
document.getElementById('loadingmsg').innerHTML = "<img src='/gmap/images/loading.gif' />   " + msg;	
setTimeout("hideLoading()", 1000);
}

