// JavaScript Document

//country selezionato
var currentcountry="";

//regione selezionata
var currentregione="";

//COMMON
var xmlHttp_Countries;
var xmlHttp_Regioni;
var xmlHttp_Citta;
var xmlHttp_Partners;
var xmlHttp_Details;
var xmlDoc;

var indirizzo="";
var partner_id="";
var partner_name = "";
var partner_address = "";
var partner_civico = "";
var partner_cap = "";
var partner_comune = "";
var partner_provincia = "";
var partner_telefono = "";
var partner_email = "";
var partner_website = "";
var partner_certificato = "";

var baloonmessage = "";

//aggiunge option alla select
function AddOptionToSelect(selectname,optionnode){
		
		try
		  {selectname.add(optionnode,null);}
		catch(ex)
		  {selectname.add(optionnode);}
		  
}
//vuota la select
function ClearOptions(selectname){
	
	selectname.length = 0;
	ShowPartnersCount(0);
	map.clearOverlays();
	
}
//visualizza il numero di partners
function ShowPartnersCount(howmany){
	
	document.getElementById("partner_count").innerHTML = howmany;
	
}
//seleziona il partner nella select
function SelectPartner(partnerid){
	
	document.getElementById("partners").value = partnerid;
	
}
//COMMON

function SetCountry(thiscountry){
	
	currentcountry = thiscountry;
	
}

function SetRegione(thisregione){
	
	currentregione = thisregione;
	
}


//GESTIONE COUNTRY
function GetCountriesList(){
	
	xmlHttp_Countries=GetXmlHttpObject();									
	xmlHttp_Countries.onreadystatechange=ManageCountriesList;						
	xmlHttp_Countries.open("GET","ajax/dealerlocator_nazioni.cfm",true);
	xmlHttp_Countries.send(null);
	
}
function ManageCountriesList(){
	
	if(xmlHttp_Countries.readyState==4){
		
		//xml
		xmlDoc = xmlHttp_Countries.responseXML.documentElement;		
		var select_value = "";
		var select_content = "";
		var select_country = document.getElementById("country");		
		//pulisce la select country
		ClearOptions(select_country);
		
		var select_regioni = document.getElementById("regioni");			
		//pulisce la select regioni
		ClearOptions(select_regioni);
		
		var select_citta = document.getElementById("citta");			
		//pulisce la select citta
		ClearOptions(select_citta);
		
		var select_partners = document.getElementById("partners");
		//pulisce la select dei partners
		ClearOptions(select_partners);
		
		//aggiunge un nodo vuoto
		var select_node = document.createElement("option");			
			select_node.text = "";
		AddOptionToSelect(select_country,select_node);
		
		//popola la select delle nazioni
		for (i = 0; i < xmlDoc.childNodes.length; i++) {
			
			select_value = xmlDoc.childNodes[i].attributes[0].nodeValue;
			select_content = xmlDoc.childNodes[i].childNodes[0].nodeValue;			
			select_node = document.createElement("option");		    
				select_node.value=select_value;			  
		    	select_node.text=select_content;			
			AddOptionToSelect(select_country,select_node);
			  
		 }
		
	}
	
}
//GESTIONE COUNTRY

//GESTIONE REGIONI
function FilterRegioni(countryid){
	
	if(countryid.length > 0){
		xmlHttp_Regioni=GetXmlHttpObject();									
		xmlHttp_Regioni.onreadystatechange=ManageRegioniList;						
		xmlHttp_Regioni.open("GET","ajax/dealerlocator_regioni.cfm?countryid=" + countryid,true);
		xmlHttp_Regioni.send(null);	
	}
	
}
function ManageRegioniList() {
	
	if(xmlHttp_Regioni.readyState==4){
		
	    //xml
	    xmlDoc = xmlHttp_Regioni.responseXML.documentElement;		
	    var select_value = "";
	    var select_content = "";
	    var select_regioni = document.getElementById("regioni");			
		//pulisce la select regioni
		ClearOptions(select_regioni);
		
		var select_citta = document.getElementById("citta");			
		//pulisce la select citta
		ClearOptions(select_citta);
		
		//aggiunge un nodo vuoto
		var select_node = document.createElement("option");			
			select_node.text = "";
		AddOptionToSelect(select_regioni,select_node);
		
		//popola la select delle regioni
		for (i = 0; i < xmlDoc.childNodes.length; i++) {
			
			select_value = xmlDoc.childNodes[i].attributes[0].nodeValue;
			select_content = xmlDoc.childNodes[i].childNodes[0].nodeValue;			
			select_node = document.createElement("option");		    
				select_node.value=select_value;			  
		    	select_node.text=select_content;			
			AddOptionToSelect(select_regioni,select_node);
			  
		 }
				
	}
	
}
//GESTIONE REGIONI

//GESTIONE CITTA
function FilterCitta(regioneid){
	
	if(regioneid.length > 0){
		xmlHttp_Citta=GetXmlHttpObject();									
		xmlHttp_Citta.onreadystatechange=ManageCittaList;						
		xmlHttp_Citta.open("GET","ajax/dealerlocator_citta.cfm?regioneid=" + regioneid,true);
		xmlHttp_Citta.send(null);
	}
	
}
function ManageCittaList() {
	
	if(xmlHttp_Citta.readyState==4){
		
	    //xml
	    xmlDoc = xmlHttp_Citta.responseXML.documentElement;		
	    var select_value = "";
	    var select_content = "";
	    var select_citta = document.getElementById("citta");
		//pulisce la select citta
		ClearOptions(select_citta);
		
		 var select_partners = document.getElementById("partners");			
		//pulisce la select partners
		ClearOptions(select_partners);
		
		//aggiunge un nodo vuoto
		var select_node = document.createElement("option");			
			select_node.text = "";
		AddOptionToSelect(select_citta,select_node);
		
		//popola la select delle regioni
		for (i = 0; i < xmlDoc.childNodes.length; i++) {
			
			select_value = xmlDoc.childNodes[i].attributes[0].nodeValue;
			select_content = xmlDoc.childNodes[i].childNodes[0].nodeValue;			
			select_node = document.createElement("option");		    
				select_node.value=select_value;			  
		    	select_node.text=select_content;			
			AddOptionToSelect(select_citta,select_node);
			  
		 }
				
	}
	
}
//GESTIONE CITTA

//GESTIONE DEI PARTNERS NELLE CITTA
function FilterPartners(cittaid){
	
	if(cittaid.length > 0){		
		xmlHttp_Partners=GetXmlHttpObject();									
		xmlHttp_Partners.onreadystatechange=ManagePartnersList;						
		xmlHttp_Partners.open("GET","ajax/dealerlocator_partners.cfm?cittaid=" + cittaid,true);
		xmlHttp_Partners.send(null);		
	}
	
}
function ManagePartnersList() {
	
	if(xmlHttp_Partners.readyState==4){
		
	    //xml
	    xmlDoc = xmlHttp_Partners.responseXML.documentElement;		
	    var select_value = "";
	    var select_content = "";
	    var select_partners = document.getElementById("partners");	
		//array di indirizzi
		var indirizzi = new Array(); 
		
		//pulisce la select dei partners
		ClearOptions(select_partners);
		
		//aggiunge un nodo vuoto
		var select_node = document.createElement("option");			
			select_node.text = "";
		AddOptionToSelect(select_partners,select_node);
		
		//visualizza il numero di partner
		ShowPartnersCount(xmlDoc.childNodes.length);
		
		//popola la select delle regioni
		for (i = 0; i < xmlDoc.childNodes.length; i++) {
			
			select_value = xmlDoc.childNodes[i].childNodes[1].childNodes[0].nodeValue;			
			select_content = xmlDoc.childNodes[i].childNodes[0].childNodes[0].nodeValue;			
			select_node = document.createElement("option");		    
				select_node.value=select_value;			  
		    	select_node.text=select_content;			
			AddOptionToSelect(select_partners,select_node);
			
			indirizzo="";
			partner_id="";
			partner_name = "";
			partner_address = "";
			partner_civico = "";
			partner_cap = "";
			partner_comune = "";
			partner_provincia = "";
			partner_telefono = "";
			partner_email = "";
			partner_website = "";
			partner_certificato = "";
			
			//nome del partner
			try{partner_name = xmlDoc.childNodes[i].childNodes[0].childNodes[0].nodeValue;}catch(ex){};
			//id
			try{partner_id = xmlDoc.childNodes[i].childNodes[1].childNodes[0].nodeValue;}catch(ex){};
			//indirizzo
			try{partner_address = xmlDoc.childNodes[i].childNodes[2].childNodes[0].nodeValue;}catch(ex){};
			//civico
			try{partner_civico = xmlDoc.childNodes[i].childNodes[3].childNodes[0].nodeValue;}catch(ex){};
			//cap
			try{partner_cap = xmlDoc.childNodes[i].childNodes[4].childNodes[0].nodeValue;}catch(ex){};
			//comune
			try{partner_comune = xmlDoc.childNodes[i].childNodes[5].childNodes[0].nodeValue;}catch(ex){};
			//provincia
			try{partner_provincia = xmlDoc.childNodes[i].childNodes[6].childNodes[0].nodeValue;}catch(ex){};
			//telefono
			try{partner_telefono = xmlDoc.childNodes[i].childNodes[7].childNodes[0].nodeValue;}catch(ex){};
			//email
			try{partner_email = xmlDoc.childNodes[i].childNodes[8].childNodes[0].nodeValue;}catch(ex){};
			//website
			try{partner_website = xmlDoc.childNodes[i].childNodes[9].childNodes[0].nodeValue;}catch(ex){};
			//certificazione
			try{partner_certificato = xmlDoc.childNodes[i].childNodes[10].childNodes[0].nodeValue;}catch(ex){};
			
			indirizzo = partner_address + " " + partner_civico + ", " + partner_comune;
			//message del baloon
			baloonmessage = partner_certificato + "<br><br>" + "<b>" + partner_name + "</b><br>" + partner_address + "," + partner_civico + "<br>" + partner_cap + " " + partner_comune+ "<br>(" + partner_provincia + ")<br>Tel. " + partner_telefono + "<br>Email " + partner_email + "<br>WebSite <a target='_blank' href='" + partner_website + "'>" + partner_website + "</a>";
			
			indirizzi[i] = indirizzo;
			//visualizza il marker sulla mappa			
			ShowMarkerOnMap(indirizzi[i],partner_id,baloonmessage);
			
		 }
		 
	}
	
}
//GESTIONE DEI PARTNERS NELLE CITTA

//GESTIONE ZOOM
function GetPartnerDetails(partnerid){
	
	if(partnerid.length > 0){
		xmlHttp_Details=GetXmlHttpObject();									
		xmlHttp_Details.onreadystatechange=ManagePartnerDetails;						
		xmlHttp_Details.open("GET","ajax/dealerlocator_partnersdetails.cfm?partnerid=" + partnerid,true);
		xmlHttp_Details.send(null);
	}
	
}
function ManagePartnerDetails(){
	
	if(xmlHttp_Details.readyState==4){
		
		//xml
	    xmlDoc = xmlHttp_Details.responseXML.documentElement;		
		
	 	indirizzo="";
		partner_id="";
		partner_name = "";
		partner_address = "";
		partner_civico = "";
		partner_cap = "";
		partner_comune = "";
		partner_provincia = "";
		partner_telefono = "";
		partner_email = "";
		partner_website = "";
		partner_certificato = "";
		
		//nome del partner
		try{partner_name = xmlDoc.childNodes[0].childNodes[0].childNodes[0].nodeValue;}catch(ex){};
		//id
		try{partner_id = xmlDoc.childNodes[0].childNodes[1].childNodes[0].nodeValue;}catch(ex){};
		//indirizzo
		try{partner_address = xmlDoc.childNodes[0].childNodes[2].childNodes[0].nodeValue;}catch(ex){};
		//civico
		try{partner_civico = xmlDoc.childNodes[0].childNodes[3].childNodes[0].nodeValue;}catch(ex){};
		//cap
		try{partner_cap = xmlDoc.childNodes[0].childNodes[4].childNodes[0].nodeValue;}catch(ex){};
		//comune
		try{partner_comune = xmlDoc.childNodes[0].childNodes[5].childNodes[0].nodeValue;}catch(ex){};
		//provincia
		try{partner_provincia = xmlDoc.childNodes[0].childNodes[6].childNodes[0].nodeValue;}catch(ex){};
		//telefono
		try{partner_telefono = xmlDoc.childNodes[0].childNodes[7].childNodes[0].nodeValue;}catch(ex){};
		//email
		try{partner_email = xmlDoc.childNodes[0].childNodes[8].childNodes[0].nodeValue;}catch(ex){};
		//website
		try{partner_website = xmlDoc.childNodes[0].childNodes[9].childNodes[0].nodeValue;}catch(ex){};
		//certificazione
		try{partner_certificato = xmlDoc.childNodes[0].childNodes[10].childNodes[0].nodeValue;}catch(ex){};
		
		indirizzo = partner_address + " " + partner_civico + ", " + partner_comune;		
		
		//message del baloon
		baloonmessage = partner_certificato + "<br><br>" + "<b>" + partner_name + "</b><br>" + partner_address + " " + partner_civico + "<br>" + partner_cap + " " + partner_comune+ "<br>(" + partner_provincia + ")<br>Tel. " + partner_telefono + "<br>Email " + partner_email + "<br>WebSite <a target='_blank' href='" + partner_website + "'>" + partner_website + "</a>";
		
		//visualizza l'indirizzo sulla mappa
		findAddress(indirizzo, partner_id,baloonmessage);
		
	}
	
}
//GESTIONE ZOOM