<!--
//(c) 2009 Zonum Solutions
//Last modified: March 15, 2009
//FlyTo library 


  function dofind(address)
  {
    var geocoder; 
    // Create new geocoding object
      geocoder = new GClientGeocoder();
     // Retrieve location information, pass it to addToMap()
     // geocoder.getLocations(address, LocateMap);
      geocoder.getLatLng(address, LocateMap)
  }
  
 
 function LocateMap(point)
 { if(point) {
		  map.setCenter(point, 15);
		} 
 } 


 function find_myaddress()
  {
   var cad =document.frFly.place.value;
   if(cad.length>0) {
     dofind(cad);
   } else {alert("Type an address");}
  }

 function flytocoo()
 {
  var fr=document.frFly;
  var lat=fr.clat.value;
  var lon=fr.clon.value;
  if(lat=="" || lon=="") {alert("You must input Latitude and Longitude values!");} else
  {
	  lat = parseFloat(lat);
	  lon = parseFloat(lon);
	  if (lon>-180 && lon<=180) {
	   if (lat>-90 && lat<=90) {
	     LocateMap(new GLatLng(lat,lon));
	   } else {alert("Latitud value out of range");}
	  } else {alert("Longitud value out of range!");}
  }
  
 }


function app_zoom_window(latmin,lonmin,latmax,lonmax)
 {
   var Dx = lonmax-lonmin;
   var Dy = latmax - latmin;
   var Cx = (lonmax+lonmin)/2;
   var Cy = (latmax+latmin)/2;
   map.setCenter(new GLatLng(Cy, Cx), 12);
   var bounds = new GLatLngBounds();
   bounds.extend(new GLatLng(latmin,lonmin));
   bounds.extend(new GLatLng(latmax,lonmax));
   map.setZoom(map.getBoundsZoomLevel(bounds));
 }

function app_getmin(val1,val2)
 {
  if(val1<val2) {return val1;} else {return val2;}
 }

function app_getmax(val1,val2)
 {
  if(val1>val2) {return val1;} else {return val2;}
 }

function app_zoom2coo(lat1,lon1,lat2,lon2)
 {
   var latmin=app_getmin(lat1,lat2);
   var latmax=app_getmax(lat1,lat2);
   var lonmin=app_getmin(lon1,lon2);
   var lonmax=app_getmax(lon1,lon2);
   
  app_zoom_window(latmin,lonmin,latmax,lonmax);
 }

 function flyto_id(id)
   {
    switch (id) {
		 case 0: app_zoom_window(-19.6,-115,50,24); break; //World
		 case 1: app_zoom_window(-31.0529,-13.7109,31.5036,50.0976); break; //Africa
		 case 2: app_zoom_window(-4.3902,61.6992,40.8470,142.9101); break; //Asia
		 case 3: app_zoom_window(-36.3859,115.3125,-14.6048,153.1054); break; //Australia
		 case 4: app_zoom_window(-3.5134,-91.6699,20.0559,-62.4902); break; //C America
		 case 5: app_zoom_window(37.50972,-9.4921,57.5629,27.246); break; //Europe
		 case 6: app_zoom_window(22.5937,-123.9257,56.7527,-66.0058); break; //N America
		 case 7: app_zoom_window(-38.341656,-77.2558,2.8991,-34.2773); break; //S America
		 
		 case 11: app_zoom_window(-41.5085,-72.2900,-25.5622,-54.0087); break; //Argentina
		 case 12: app_zoom_window(-22.8369,-68.3349,-10.7037,-59.6337); break; //Bolivia
		 case 13: app_zoom_window(-17.664,-64.9511,1.5818,-44.9121); break; //Brazil
		 case 14: app_zoom_window(48.2831,-125.0683,58.1243,-79.7167); break; //Canada
		 case 15: app_zoom_window(26.1948,88.8574,43.5166,118.0371); break; //China
		 case 16: app_zoom_window(-2.1967,-76.5527,9.2756,-69.1259); break; //Colombia
		 case 17: app_zoom_window(21.9838,24.9169,31.2409,34.2773); break; //Egypt
		 case 18: app_zoom_window(60.3486,21.3574,67.6426,31.4648); break; //Findland
		 case 19: app_zoom_window(42.261,-1.3183,50.3454,6.9873); break; //France
		 case 20: app_zoom_window(47.6061,7.4707,54.0464,13.8427); break; //Germany
		 case 21: app_zoom_window(9.5357,70.9716,30.3728,87.3193); break; //India
		 case 22: app_zoom_window(-5.3972,119.2236,1.6477,125.5078); break; //Indonesia
		 case 23: app_zoom_window(51.5565,-10.3161,55.1286,-5.9326); break; //Ireland
		 case 24: app_zoom_window(38.3761,10.1074,45.058,17.9736); break; //Italy
		 case 25: app_zoom_window(31.3536,129.2431,41.7385,142.3828); break; //Japan
		 case 26: app_zoom_window(15.2417,-115.3125,31.0905,-87.4951); break; //Mexico
		 case 27: app_zoom_window(58.9386,5.4052,63.3718,12.1289); break; //Norway
		 case 28: app_zoom_window(-15.072124,-78.1347,-4.1711,-70.1806); break; //Peru
		 case 29: app_zoom_window(-34.1981,17.8417,-24.2469,32.6074); break; //South Africa
		 case 30: app_zoom_window(36.6684,-6.7016,42.9403,-0.2856); break; //Spain
		 case 31: app_zoom_window(31.8775,-116.2792,46.9202,-79.5410); break; //US		 
    }
  }


 function addplace(xlabel,index)
  {
    return '<td><a href="javascript:flyto_id('+index+')">'+xlabel+'</a></td>';
  }

 function mapfly_get()
  {
     var cad ='<center>';
   
	 cad+='<form name="frFly">Find &nbsp;<input type="text" name="place" style="width: 350px;">&nbsp;';
   cad+='<input type="button" name="Go" value="Go" onclick="find_myaddress()" style="width:30px"/>';
	 cad+='<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>Type an address, a city name or country</i><br><hr><br>';
	  
	 cad+='Latitude <input type="text" name="clat" style="width:130px">';
	 cad+='&nbsp;&nbsp;&nbsp;&nbsp;Longitude <input type="text" name="clon" style="width:130px">';
   cad+='&nbsp;<input type="button" name="Go" value="Go" onclick="flytocoo()" style="width:30px"/><br>';
   cad+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>Input Lat/Lon coordinates using decimal degrees</i></form><hr>';
	 cad+='<table border="0" ></center>';
	 cad+='<tr><td width="190px"><b>Region</b></td><td width="90px"><b>Country:</b></td><td width="110px">&nbsp;</td><td width="130px">&nbsp;</td></tr>';
	 cad+='<tr>'+addplace("Africa",1)+addplace("Argentina",11)+addplace("Finland",18)+addplace("Japan",25)+'</tr>';
	 cad+='<tr>'+addplace("Asia",2)+addplace("Bolivia",12)+addplace("France",19)+addplace("Mexico",26)+'</tr>';
	 cad+='<tr>'+addplace("Australia",3)+addplace("Brazil",13)+addplace("Germany",20)+addplace("Norway",27)+'</tr>';
	 cad+='<tr>'+addplace("Central America",4)+addplace("Canada",14)+addplace("India",21)+addplace("Peru",28)+'</tr>';
	 cad+='<tr>'+addplace("Europe",5)+addplace("China",15)+addplace("Indonesia",22)+addplace("South America",29)+'</tr>';
	 cad+='<tr>'+addplace("North America",6)+addplace("Colombia",16)+addplace("Ireland",23)+addplace("Spain",30)+'</tr>';
	 cad+='<tr>'+addplace("South America",7)+addplace("Egypt",17)+addplace("Italy",24)+addplace("United States",31)+'</tr>';
	 cad+='<tr>'+addplace("WORLD EXTENT",0)+'<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>';
	 cad+='<center></table></center>';
  
    return cad
  }


function mapflywin(x,y,c1,c2)
 {
 
   var xwidth = 450;
   var yheight = 335;
   if(es_MSI()) {yheight=345;}
   var wc = new zget_centerwin(xwidth,yheight);
  
   zset_win1("<b>&nbsp;Fly To</b>",x,y,xwidth,yheight,c1,c2);
   var obj = zdoc_get("zfrwin");
   obj.innerHTML = mapfly_get();
 }


 function flyto()
  { mapflywin(200,60,"#eff3f7","#0956A6");}


-->