//-----------
//GOOGLE MAPS
//-----------
var map;    
var gdir;    
var geocoder = null;    
var addressMarker;    
function initialize(  ) {      	  
	if (GBrowserIsCompatible()) {		
		map = new GMap2(document.getElementById("MAPgoo"));		
		map.addControl(new GSmallMapControl());		
		map.addControl(new GMapTypeControl());
		
		map.setCenter(new GLatLng(45.0705,11.7888), 15 );				
		var marker = new GMarker(new GLatLng(45.0705,11.7888))
		map.addOverlay(marker);		
		marker.openInfoWindowHtml("<b>Studio Ing. Vincenzo Baccan</b><br>Corso del Popolo, 161<br>45100 Rovigo<br>tel 0425.200040 - fax 0425.464385 <br>info@studiobaccan.it");
		 
		gdir = new GDirections(map, document.getElementById("directions"));	
		GEvent.addListener(gdir, "load", onDirectionsLoad);	
		GEvent.addListener(gdir, "error", handleErrors);	  
	}    
}

function setDirections( fromAddress , toAddress) {	  
	locale="it";
	
	//INDIRIZZO DA
	var OGGind = "from: " + fromAddress ;
	
	//VERIFICA SE LA CITTĀ DI PARTENZA č IN ITALIA
	if ( document.getElementById( 'CHKcpa' ).checked == false ) { var OGGind = OGGind + " Italy " ;}
	
	
	//RICERCA EVENTUALI PERCORSI
	
	//CICLO
  for( var DESnum = 6 ; DESnum < 10 ; DESnum++ ) {
		if ( ( document.getElementById( 'to' + DESnum ) ) && ( document.getElementById( 'to' + DESnum ).value != "" ) ) { var OGGind = OGGind + " to: " + document.getElementById('to'+DESnum).value + " Italy "; }
	}
	
	//INDIRIZZO A
	var OGGind = OGGind + " to: " + toAddress  ;
	
	//VERIFICA SE LA CITTĀ DI ARRIVO č IN ITALIA
	if ( document.getElementById( 'CHKcar' ).checked == false ) { var OGGind = OGGind + " Italy " ;}
	
	//var OGGind = "from: " + fromAddress + " to: " + toAddress ;
	gdir.load( OGGind );
}    

function onDirectionsLoad() {
	
	var status = gdir.getStatus();
	var bounds = gdir.getBounds();
	
	//CALCOLO DELLA DISTANZA
	var VIAkmt = String( ARRogg( parseFloat( gdir.getDistance().meters / 1000 ) , 2 ) ) ;
	
	//CALCOLO DELLA DURATA
	var VIAmts = String( ARRogg( parseFloat( gdir.getDuration().seconds / 60  ) , 0 ) ) ;
	
	//SOSTITUIZIONE , con .
	VIAkmt = VIAkmt.replace( "." , "," ) ;
	VIAmts = VIAmts.replace( "." , "," ) ;
	
	//ASSEGNAZIONE VARIABILI
	if ( document.getElementById('VIAkmt') ) {
		if ( document.getElementById('VIAkmt').value == "" ) { }
		document.getElementById('VIAkmt').value = VIAkmt ; 
	}
	
	if ( document.getElementById('VIAmts') ) {
		if ( document.getElementById('VIAmts').value ==  0 ) { }
		document.getElementById('VIAmts').value = VIAmts ; 
	}
	
	if ( document.getElementById('VICkmt') ) {
		if ( document.getElementById('VICkmt').value == "" ) { }
		document.getElementById('VICkmt').value = VIAkmt ; 
	}
	
	if ( document.getElementById('VICmts') ) {
		if ( document.getElementById('VICmts').value ==  0 ) { } 
		document.getElementById('VICmts').value = VIAmts ;
	}
	
	if ( document.getElementById('PREkmt') ) {
		if ( document.getElementById('PREkmt').value == "" ) { } 
		document.getElementById('PREkmt').value = VIAkmt ;
	}
	
	if ( document.getElementById('PREmts') ) {
		if ( document.getElementById('PREmts').value ==  0 ) { }
		document.getElementById('PREmts').value = VIAmts ; 
	}
	
	if ( document.getElementById('PRCkmt') ) {
		if ( document.getElementById('PRCkmt').value == "" ) { }
		document.getElementById('PRCkmt').value = VIAkmt ; 
	}
	
	if ( document.getElementById('ODVkmt') ) {
		if ( document.getElementById('ODVkmt').value == "" ) { }
		document.getElementById('ODVkmt').value = VIAkmt ; 
	}
	
	if ( document.getElementById('ODVmts') ) {
		if ( document.getElementById('ODVmts').value ==  0 ) { }
		document.getElementById('ODVmts').value = VIAmts ; 
	}
	
	if ( document.getElementById('ODCkmt') ) {
		if ( document.getElementById('ODCkmt').value == "" ) { }
		document.getElementById('ODCkmt').value = VIAkmt ; 
	}
	
	if ( document.getElementById('ODCmts') ) {
		if ( document.getElementById('ODCmts').value ==  0 ) { }
		document.getElementById('ODCmts').value = VIAmts ; 
	}
}

function handleErrors(){	   
	if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)	     
	alert("Indirizzo non trovato");	   
	else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)	     
	alert("Si č verificato un errore nella geocodifica degli indirizzi");	   	   
	else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)	     
	alert("Manca un parametro");	     	   
	else if (gdir.getStatus().code == G_GEO_BAD_KEY)	     
	alert("Errore nella Key Api.");	   
	else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)	     
	alert("La richiesta non puo' essere correttamente risolta.");	    	   
	else alert("Si č verificato un errore");	   	
}



