var alfabeto = {
	0: "A", 1: "B", 2: "C", 3: "D", 4: "E", 5: "F", 6: "G", 7: "H", 8: "I", 9: "L", 10: "M", 11: "N", 12: "O", 13: "P", 14: "Q",
	15: "R", 16: "S", 17: "T", 18: "U", 19: "V", 20: "Z"
};

google.load("maps", "2",{
			"language" : "it"
			}
);
$(document).ready(function(){
	initialize_map();
});
var map = null;
var geocoder = null;
var indirizzi = 0;
var trovato = true;
var markers = new Array();
var non_cartina = new Array();
var non_indirizzi = 0;

function initialize_map() {
  if (GBrowserIsCompatible()) {
	map = new GMap2(
		document.getElementById("map"),
		{ 
			size: new GSize(753,274) 
		} 
	);
	geocoder = new GClientGeocoder();
	map_default();
  }
}
function map_default(){
	indirizzi = 0;
	//coordinate 0 12.0990055
	//coordinate 1 45.6779535
	//coordinate 2 0
	map.clearOverlays();
	/*var blueIcon = new GIcon(G_DEFAULT_ICON);
	blueIcon.image = "/img/marker/icona_"+alfabeto[indirizzi]+".png";
	
	// Set up our GMarkerOptions object
	markerOptions = { icon:blueIcon };
	markerOptions = {};
	point = new GLatLng(45.6779535, 12.0990055);
	marker = new GMarker(point, markerOptions);
	map.addOverlay(marker);
	
	var testo = "<strong>Axo sport S.p.A.</strong><br />Via Fabio Filzi, 1";
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(testo);
	});
	
	map.addOverlay(marker);*/
	point = new GLatLng(0, 0);
	map.setCenter(point, 2);
	var customUI = map.getDefaultUI();
	customUI.controls.scalecontrol = true;
	customUI.zoom.doubleclick = false;
	customUI.controls.largemapcontrol3d = true;
	map.setUI(customUI);
}

function showAddress(address, city, name, cap, prov, tel, email, bici, lat, long) {
	/*var indirizzo_mappa = address +', '+ city;
	
	if (geocoder) {
		geocoder.getLatLng(
			indirizzo_mappa,
			function(pointer) {*/
				if (lat != 0 && long != 0) {
					pointer = {
						"x":lat, 
						"y":long
					};
					//l'indirizzo  stato risolto da google
					// Create our "tiny" marker icon
					/*var blueIcon = new GIcon(G_DEFAULT_ICON);
					blueIcon.image = "/img/marker/icona_"+alfabeto[indirizzi]+".png";
					alert(blueIcon.image);
					blueIcon.shadow = "";
					
					markerOptions = { icon:blueIcon };*/
					markerOptions = {};
					markers[indirizzi] = new Array(
						new GMarker(pointer, markerOptions), 
						"Dealer " + indirizzi, 
						"<span style='text-transform:capitalize;'><strong>"+ name + "</strong><br/>"+ address +" - " + cap + " " + city + "<br/>phone " + tel + "</span>"+(email != ""?"<br />email " +email:""),
						name,
						address,
						city,
						cap,
						prov,
						tel, 
						email,
						bici);
					
					indirizzi++;
				} else {
					non_cartina[non_indirizzi] = new Array(
						0, 
						"Dealer " + indirizzi, 
						"<span style='text-transform:capitalize;'><strong>"+ name + "</strong><br/>"+ address +" - " + cap + " " + city + "<br/>phone " + tel + "</span>"+(email != ""?"<br />email " +email:""),
						name,
						address,
						city,
						cap,
						prov,
						tel, 
						email,
						bici);
					
					non_indirizzi++;
					/*markers[indirizzi] = new Array(
						1000,
						1000,
						id)
					indirizzi++;*/
				}
			/*}
		);
	}*/
}
		
function displayPoint(marker, index){
	/*if ($('#map_message').is(':hidden')) {//Allow toggling of markers
		$('#map_message').fadeIn();
	}
	else{//Remove all .active classes and hide markers
		$('#map_message').hide();
		$(".active").removeClass();
	}
	//$("#map_message").hide();//Default behaviour, doesn't allow toggling
	
	var moveEnd = GEvent.addListener(map, "moveend", function(){
		var markerOffset = map.fromLatLngToDivPixel(marker.getLatLng());
		$("#map_message")
			.html(markers[index][2])//Use information from array
			.fadeIn()
			.css({ top:markerOffset.y, left:markerOffset.x });
		GEvent.removeListener(moveEnd);
	});*/
	marker.openInfoWindowHtml(markers[index][2]);
	map.setZoom(12);
	map.panTo(marker.getLatLng());
}	
		
/*var delayTime = 40000;
					setTimeout(function(){
							//alert(1);
							var lung_marker = markers.length;
							markers.splice((indirizzi),(lung_marker-indirizzi));
							$.each(markers,function(j, marker){
													$.post(
														   '/ajax/update_coordinate.php',
														   'lat='+marker[0]+'&long='+marker[1]+'&id='+marker[2],
														   function(m){
															   //alert('OK');
															   var a = 1;
														   }
														   )
													}
										)
							alert('OK');
						},
						delayTime   
					)
					}*/
					//return false;
function cerca_regione(prmValue){
	indirizzi = 0;
	non_indirizzi = 0;
	markers=new Array();
	
	$('#loader').show();
	if(prmValue != ''){
		$('#stato').attr({'disabled':'disabled'});
		var lingua = $('#lingua').val();
		$.post(
			'/ajax/cerca_regione.php',
			'stato='+prmValue+'&lingua='+lingua,
			function(m){
				$('#map_list').empty();
				//alert(m[0]);
				if(m[0].id){
					$('#region').show().empty().attr({'disabled':''});
					$('#city').attr({'disabled':''});
					$('#cerca').attr({'disabled':''}).css({'color': '#FFF','cursor':'pointer'});
					$('#reset').attr({'disabled':''}).css({'color': '#FFF','cursor':'pointer'});
					$('#region').append('<option value="">- Select an Area -</option>');
					for(i=0; i<m.length; i++){
						$('#region').append('<option value="'+ m[i].valore +'">'+ m[i].etichetta +'</option>');
					}
					//$('#risultati_dealers').show();
					$('#loader').hide();
				} else {
					indirizzi = 0;
					$('#region').empty().attr({'disabled':'disabled'});
					//$('#city').attr({'disabled':'disabled'});
					//$('#cerca').attr({'disabled':'disabled'}).css({'color': '#999','cursor':'default'});
					//$('#reset').attr({'disabled':'disabled'}).css({'color': '#CCC','cursor':'default'});
					if(m){
						
					for(i=0;i<m.length; i++){
						showAddress(m[i].indirizzo, m[i].citta, m[i].nome, m[i].cap, m[i].provincia, m[i].telefono, m[i].email, m[i].bici, m[i].latitudine, m[i].longitudine);
					}
					var delayTime = 4000;
					
					setTimeout(function(){ 
					$('#risultati_dealers').show();
					$('#loader').hide();
					$('#stato').attr({'disabled':''});
					map.clearOverlays();
					var lung_marker = markers.length;
					var lung_non_ind = non_cartina.length;
					markers.splice((indirizzi),(lung_marker-indirizzi));
					non_cartina.splice((non_indirizzi),(lung_non_ind-non_indirizzi));
					if(markers.length > 0){
					$.each(markers,function(j,marker){
							map.addOverlay(marker[0]);
							map.setZoom(12);
							//map.setCenter(marker[0], 4);
							var testo_li = '<table cellpadding="0" cellspacing="0" class="ris_dealers">\
					<tr class="tr_'+ (j%2==1?'2':'1') +'">\
						<td style="width: 37px;">\
							<span class="icona_dealers fix">\
								<img src="/img/marker.png" alt="marker" title="marker" />\
							</span>\
						</td>\
						<td style="width: 213px;text-align:left;">\
							<span class="giallo">'+ marker[3].substring(0,50) +'&nbsp;'+(marker[10]?'<img src="/img/icona_dealers2.png" alt="bici" title="bici" />':'') +'</span>\
						</td>\
						<td style="width:5px;">&nbsp;</td>\
						<td style="width: 140px;text-transform:capitalize;">'+ marker[4] +'</td>\
						<td style="width:5px;">&nbsp;</td>\
						<td style="width: 130px;text-transform:capitalize;">'+ marker[5] +'</td>\
						<!-- <td style="width:5px;">&nbsp;</td>\
						<td style="width: 60px;text-transform:uppercase;">'+ marker[6] +'</td>\
						<td style="width:5px;">&nbsp;</td>\
						<td style="width: 55px;text-transform:capitalize;">'+ marker[7] +'</td> -->\
						<td style="width:5px;">&nbsp;</td>\
						<td class="contatti">'+ marker[8] +'<br /><span style="font-size:9px;">'+ marker[9] +'</span></td>\
					</tr>\
				</table>';
							$("<li />")
								.html(testo_li)//Use list item label from array
								.click(function(){
									displayPoint(marker[0], j);
									//setActive(this);//Show active state
									$('.tr_1').removeClass('selezionato');
									$('.tr_2').removeClass('selezionato');
									$(this).find('tr').addClass('selezionato');
								})
								.appendTo("#map_list");
							GEvent.addListener(marker[0], "click", function(){
								displayPoint(marker[0], j);
								//setActive(j);//Show active location
							});
							
							//map.setUIToDefault();
							
							var customUI = map.getDefaultUI();
							customUI.controls.scalecontrol = true;
							customUI.zoom.doubleclick = false;
							customUI.controls.largemapcontrol3d = true;
							map.setUI(customUI);
								
						});
					}
						//markers[0][0].openInfoWindowHtml(markers[0][2]);
						if(lung_marker > 0){
							map.setZoom(8);
							map.panTo(markers[0][0].getLatLng());
						} else {
							map_default();
						}
						display_nonmarker();
						$('#scroll_4').jScrollPane({
							showArrows:true, 
							scrollbarWidth: 16
						});
					}, delayTime); 
				}else{
						//$('#risultati_dealers').show()
						$('#loader').hide();
						$('#map_list').empty();
						var testo_li = '<li><table cellpadding="0" cellspacing="0" class="ris_dealers">\
						<tr class="tr_1">\
							<td style="width: 250px;">\
								No store Found\
							</td>\
						</tr>\
					</table></li>';
								$("<li />")
									.html(testo_li)//Use list item label from array
									.click(function(){
										$('.tr_1').removeClass('selezionato');
										$('.tr_2').removeClass('selezionato');
									})
									.appendTo("#map_list");
					
					
					}
				}
			},
			'json'
		)
	}
}
function cerca_rivenditori(){
	indirizzi = 0;
	non_indirizzi = 0;
	if($('#stato').val() == ''){
		//alert();
		overlay_on();
		vis_on('alert_box');
		$('#alert_testo').html('The country is required');
		return false;
	} else {
		$('#loader').show();
		var prov = $('#region').val();
		var lingua = $('#lingua').val();
		$('#region').attr({'disabled':'disabled'});
		$.post(
			   '/ajax/cerca_provincia.php',
			   //'stato='+$('#stato').val()+'&prov='+prov+'&city='+$('#city').val(),
			   'stato='+$('#stato').val()+'&prov='+prov+'&lingua='+lingua,
			   function(m){
					if(m){
						var indirizzi_out = '';
						$('#map_list').empty();
						//alert(m.length);
						for(i=0;i<m.length; i++){
							
							
							showAddress(m[i].indirizzo, m[i].citta, m[i].nome, m[i].cap, m[i].provincia, m[i].telefono, m[i].email, m[i].bici, m[i].latitudine, m[i].longitudine);
							indirizzi_out += 	m[i].indirizzo +' '+ 
												m[i].citta +' '+ 
												m[i].nome +' '+ 
												m[i].cap +' '+ 
												m[i].provincia +' '+ 
												m[i].telefono +' '+ 
												m[i].bici +' '+ 
												m[i].email+'<br />';
						}
						//alert(1);
						//$('#indirizzi_out').html(indirizzi_out);
						var delayTime = 4000;
						setTimeout(function(){ 
						$('#risultati_dealers').show();
						$('#loader').hide();
						$('#region').attr({'disabled':''});
						$('#stato').attr({'disabled':''});
						map.clearOverlays();
						var lung_marker = markers.length;
						var lung_non_ind = non_cartina.length;
						//alert(lung_non_ind);
						markers.splice((indirizzi),(lung_marker-indirizzi));
						non_cartina.splice((non_indirizzi),(lung_non_ind-non_indirizzi));
						$.each(markers,function(j,marker){
							
								map.addOverlay(marker[0]);
								map.setZoom(4);
								//map.setCenter(marker[0], 4);
								var testo_li = '<li><table cellpadding="0" cellspacing="0" class="ris_dealers">\
						<tr class="tr_'+ (j%2==1?'2':'1') +'">\
							<td style="width: 37px;">\
								<span class="icona_dealers fix">\
									<img src="/img/marker.png" alt="marker" title="marker" />\
								</span>\
							</td>\
							<td style="width: 213px;text-align:left;">\
								<span class="giallo">'+ marker[3].substring(0,50) +'&nbsp;'+(marker[10]?'<img src="/img/icona_dealers2.png" alt="bici" title="bici" />':'')+'</span>\
							</td>\
							<td style="width:5px;">&nbsp;</td>\
							<td style="width: 140px;text-transform:capitalize;">'+ marker[4] +'</td>\
							<td style="width:5px;">&nbsp;</td>\
							<td style="width: 130px;text-transform:capitalize;">'+ marker[5] +'</td>\
							<!-- <td style="width:5px;">&nbsp;</td>\
							<td style="width: 60px;text-transform:capitalize;">'+ marker[6] +'</td>\
							<td style="width:5px;">&nbsp;</td>\
							<td style="width: 55px;text-transform:uppercase;">'+ marker[7] +'</td> -->\
							<td style="width:5px;">&nbsp;</td>\
							<td class="contatti"">'+ marker[8] +'<br /><span style="font-size:9px;">'+ marker[9] +'</span></td>\
						</tr>\
					</table></li>';
								$("<li />")
									.html(testo_li)//Use list item label from array
									.click(function(){
										displayPoint(marker[0], j);
										//setActive(this);//Show active state
										$('.tr_1').removeClass('selezionato');
										$('.tr_2').removeClass('selezionato');
										$(this).find('tr').addClass('selezionato');
									})
									.appendTo("#map_list");
								GEvent.addListener(marker[0], "click", function(){
									displayPoint(marker[0], j);
									//setActive(j);//Show active location
								});
								
								//map.setUIToDefault();
								
								var customUI = map.getDefaultUI();
								customUI.controls.scalecontrol = true;
								customUI.zoom.doubleclick = false;
								customUI.controls.largemapcontrol3d = true;
								map.setUI(customUI);
									
							});
							display_nonmarker();
							$('#risultati_dealers').show()
							$('#loader').hide();
							if(lung_marker > 0){
								map.setZoom(8);
								map.panTo(markers[0][0].getLatLng());
							} else {
								map_default();
							}
							$('#scroll_4').jScrollPane({
								showArrows:true, 
								scrollbarWidth: 16
							});
						}, delayTime); 
					} else {
						//$('#risultati_dealers').show()
						$('#loader').hide();
						$('#map_list').empty();
						var testo_li = '<li><table cellpadding="0" cellspacing="0" class="ris_dealers">\
						<tr class="tr_1">\
							<td style="width: 250px;">\
								No store Found\
							</td>\
						</tr>\
					</table></li>';
								$("<li />")
									.html(testo_li)//Use list item label from array
									.click(function(){
										$('.tr_1').removeClass('selezionato');
										$('.tr_2').removeClass('selezionato');
									})
									.appendTo("#map_list");
					}
			   }, //fine function
			   'json'
			   );
	}
}
function display_nonmarker(){
	$.each(non_cartina,function(j,marker){
	var testo_li = '<table cellpadding="0" cellspacing="0" class="ris_dealers">\
		<tr class="tr_'+ ((j+indirizzi)%2==1?'2':'1') +'">\
			<td style="width: 37px;">\
				&nbsp;\
			</td>\
			<td style="width: 213px;text-align:left;">\
				<span class="giallo">'+ marker[3].substring(0,50) +'&nbsp;'+(marker[10]?'<img src="/img/icona_dealers2.png" alt="bici" title="bici" />':'')+'</span>\
			</td>\
			<td style="width:5px;">&nbsp;</td>\
			<td style="width: 140px;text-transform:capitalize;">'+ marker[4] +'</td>\
			<td style="width:5px;">&nbsp;</td>\
			<td style="width: 130px;text-transform:capitalize;">'+ marker[5] +'</td>\
			<td style="width:5px;">&nbsp;</td>\
			<td class="contatti">'+ marker[8] +'<br /><span style="font-size:9px;">'+ marker[9] +'</span</td>\
		</tr>\
	</table>';
	$("<li />").html(testo_li).appendTo("#map_list");	
								})
}
function reset(){
	$('#stato').val('');
	$('#region').val('');
	$('#city').val('');
}
