var side_bar_html = "";
var side_reg_html = ""; 
var gmarkers = []; 
var map = null;

function createMarker(latlng, name, regione, html, category, icona) {
 var contentString = html;
 
 var sel = document.getElementById("side_bar");
 var sel1 = document.getElementById("side_reg");
 var opt = "";
 var opt1 = "";
 var opt_txt = "";
 var opt_txt1 = "";
 
 var miaicona = new google.maps.MarkerImage(icona,
 new google.maps.Size(32, 40),
 new google.maps.Point(0, 0),
 new google.maps.Point(16, 37));
 var marker = new google.maps.Marker({
  position: latlng,
  icon: miaicona,
  map: map,
  zIndex: Math.round(latlng.lat()*-100000)<<5
 });
 marker.mycategory = category; 
  google.maps.event.addListener(marker, 'click', function() {
  infowindow.setContent(contentString);
  infowindow.open(map,marker);
 });
 opt = document.createElement("option");
 opt_txt = document.createTextNode(name + " - (" + regione + ")");
 opt.appendChild(opt_txt);
 opt.setAttribute("value", gmarkers.length);
 sel.appendChild(opt);
 //side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br />';
 
 if (category == "capoluogo") {
  opt1 = document.createElement("option");
  opt_txt1 = document.createTextNode(regione);
  opt1.appendChild(opt_txt1);
  opt1.setAttribute("value", gmarkers.length);
  sel1.appendChild(opt1);
  //side_reg_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + regione + '<\/a><br />';
 }
 gmarkers.push(marker);
}
function show(category) {
 for (var i=0; i<gmarkers.length; i++) {
  if (gmarkers[i].mycategory == category) {
    gmarkers[i].setVisible(true);
  }
 }
 document.getElementById(category+"box").checked = true;
}
function hide(category) {
 for (var i=0; i<gmarkers.length; i++) {
  if (gmarkers[i].mycategory == category) {
   gmarkers[i].setVisible(false);
  }
 }
 document.getElementById(category+"box").checked = false;
 infowindow.close();
}
function boxclick(box,category) {
 if (box.checked) {
  show(category);
 } else {
  hide(category);
 }
 makeSidebar();
}

function myclick(i) {
 if(i != -1){
  map.setCenter();
  map.setZoom(7);
  google.maps.event.trigger(gmarkers[i], "click");
 } else {
  map.setCenter(new google.maps.LatLng(42.35000,11.80000)); 
  map.setZoom(5);
 }
}
function initialize() {
 var zoomLevel;
 var myOptions = {
  zoom: 5,
  center: new google.maps.LatLng(42.35000,11.80000),
  mapTypeControl: true,
  mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
  navigationControl: true,
  mapTypeId: google.maps.MapTypeId.TERRAIN
 }
 map = new google.maps.Map(document.getElementById("map_canvas1"),
  myOptions);
 google.maps.event.addListener(map, 'click', function() {
  infowindow.close();
 });
 downloadUrl("http://www.hotelsweb.it/hotelsweb/lettura/xml/METEO.xml", function(doc) {
  var xmlDoc = xmlParse(doc);
  var markers = xmlDoc.documentElement.getElementsByTagName("marker");
  for (var i = 0; i < markers.length; i++) {
   var category = markers[i].getAttribute("categoria");
   var lat = parseFloat(markers[i].getAttribute("latitude"));
   var lng = parseFloat(markers[i].getAttribute("longitude"));
   var point = new google.maps.LatLng(lat,lng);
   var regione = markers[i].getAttribute("regione");
   var reg_link=regione.replace(/ /gi,"_");
   reg_link=reg_link.replace("'","");
   var provincia = markers[i].getAttribute("provincia");
   var prov_link=provincia.replace(/ /gi,"_");
   prov_link=prov_link.replace("'","");
   var citta = markers[i].getAttribute("citta");
   if(category == "aeroporto"){
     var icona = "http://www.hotelsweb.it/hotelsweb/lettura/meteo/aeroporto.png";
   } else {
    var icona = "http://www.hotelsweb.it/hotelsweb/lettura/meteo/" + markers[i].getAttribute("icona");
   }
   if(category == "provincia"){
    var html = "<div class='testa'><b><font face='verdana' size='2'>&nbsp;" + citta + "</b>, " + regione + "</font></div><br /><div><img src='http://www.hotelsweb.it/hotelsweb/lettura/meteo/" + icona + "'><font face='verdana' size='4'>&nbsp;&nbsp;<b><a target='_top' href='http://www.hotelsweb.it/hotelsweb/lettura/italia.asp?provincia=" + prov_link + "'>HOTELS</a></b></font></div>";
   }
   if(category == "capoluogo"){
    var html = "<div class='testa'><b><font face='verdana' size='2'>&nbsp;" + regione + "</b>&nbsp;(" + citta + ")</font></div><br /><div><img src='http://www.hotelsweb.it/hotelsweb/lettura/meteo/" + icona + "'><font face='verdana' size='4'>&nbsp;&nbsp;<b><a target='_top' href='http://www.hotelsweb.it/hotelsweb/lettura/italia.asp?regione=" + reg_link + "'>HOTELS</a></b></font></div>";
   }
   //var html = markers[i].getAttribute("regione");
   var label = citta;
   var marker = createMarker(point,label,regione,html,category,icona);
  }
  show("capoluogo");
  hide("provincia");
  hide("aeroporto");
  //document.getElementById("side_bar").innerHTML = side_bar_html;
  //document.getElementById("side_reg").innerHTML = side_reg_html;
 });
 google.maps.event.addListener(map, 'zoom_changed', function() {
   zoomLevel = map.getZoom();
   if (zoomLevel <= 6) {
    show("capoluogo");
    hide("provincia");
    hide("aeroporto");
   }
   if (zoomLevel > 6) {
    show("capoluogo");
    show("provincia");
    hide("aeroporto");
   }
  });
}
var infowindow = new google.maps.InfoWindow(
{ 
 size: new google.maps.Size(20,20)
});
function lgdiv(){
larg1=screen.width;
larg1=(larg1-24);
larg2=(larg1-88);
document.getElementById("mappa_container").style.position = "absolute";
document.getElementById("mappa_container").style.top = "0px";
document.getElementById("mappa_container").style.left = "0px";
document.getElementById("mappa_container").style.width = larg1 + "px";
document.getElementById("div_ckbox").style.width = larg2 + "px";
}
function allarga(){
larg=screen.width;
larg=(larg-24);
lung=screen.height;
lung=(lung-256);
document.getElementById("map_canvas1").style.width = larg + "px";
document.getElementById("map_canvas1").style.height = lung + "px";
var Ncenter = map.getCenter();
google.maps.event.trigger(map, "resize");
map.setZoom(6);
map.setCenter(Ncenter);
}
function stdiv(){
	document.getElementById("mappa_container").style.position = "relative";
document.getElementById("mappa_container").style.width = "450px";
document.getElementById("div_ckbox").style.width = "362px";
}
function stringi(){
document.getElementById("map_canvas1").style.width = "450px";
document.getElementById("map_canvas1").style.height = "370px";
var Ncenter = map.getCenter();
google.maps.event.trigger(map, "resize");
map.setZoom(5);
map.setCenter(Ncenter);
}
