//var  customIconsmod = [];
//var markerarray=[];
//var numerotappe=0;
//var arrayrighe=[];
if (typeof(arraymappe)=='undefined') {var arraymappe=[];}

function caricaarraypolymod(idviaggio,markerarray,numerotappe,divdes)  {
	var arraypoly=[];
GDownloadUrl("includes/pxmlpoly.php?idviaggio="+idviaggio, function(data) {
  var xml = GXml.parse(data);
  var polys = xml.documentElement.getElementsByTagName("poly");
  for (var i = 0; i < polys.length; i++) {
	 //var fpoint = new GLatLng(parseFloat(polys[i].getAttribute("flat")),
       //                   		  parseFloat(polys[i].getAttribute("flng")));
	 
	 var polyvar=[]; 
     polyvar.flat=polys[i].getAttribute("flat");
	 polyvar.flng=polys[i].getAttribute("flng");
	 polyvar.slat=polys[i].getAttribute("slat");
	 polyvar.slng=polys[i].getAttribute("slng");
	 polyvar.striscia=polys[i].getAttribute("vertex");
	 polyvar.type=10;
	 arraypoly.push(polyvar);
  }
  disegnapercorsomod(arraypoly,markerarray,numerotappe,divdes);
  //nerizza(markerarray);
});
}


/*
function mmiconmod() {
	this.gmicon=null;
	this.Nome=null;
	this.id=null;
	this.Tipo=null;
	this.Prezzo=null;
	this.NotaBreve=null;
	this.Contatti=null;
	this.DefaultText=null;
}*/


function creaiconemod(idviaggio,divdes)  {
/*if (! customIconsmod.length) {
GDownloadUrl("includes/creaicone.php", function(data) {
  var xml = GXml.parse(data);
  var icone = xml.documentElement.getElementsByTagName("icona");
  for (var i = 0; i < icone.length; i++) {
	var Deficon = new mmiconmod();
		Deficon.gmicon=new GIcon();
		Deficon.gmicon.image = icone[i].getAttribute("file");
   		Deficon.gmicon.iconSize = new GSize(12, 20);
   		Deficon.gmicon.shadowSize = new GSize(22, 20);
   		Deficon.gmicon.iconAnchor = new GPoint(6, 20);
   		Deficon.gmicon.infoWindowAnchor = new GPoint(5, 1);
   		 customIconsmod[icone[i].getAttribute("id")]=Deficon;
  }*/
  //alert("1");
  //initializemod(idviaggio,divdes);
//}); }
//else { 
//alert("2");
//initializemod(idviaggio,divdes); }
initializemod(idviaggio,divdes);
}

function initializemod(idviaggio,divdes) {
      if (GBrowserIsCompatible()) {
        arraymappe[divdes] = new GMap2(document.getElementById(divdes));
        arraymappe[divdes].setCenter(new GLatLng(0,0), 2);
		//map.addControl(new GLargeMapControl());
		arraymappe[divdes].disableDragging();
		gdlumod(idviaggio,divdes);
      }
}

function gdlumod(idviaggio,divdes)  {
  var numerotappe=0;	
  var markerarray=[];
  var gb=new GLatLngBounds();
GDownloadUrl("includes/pxmlmod.php?idviaggio="+idviaggio, function(data) {		
  var xml = GXml.parse(data);
  var markers = xml.documentElement.getElementsByTagName("marker");
  for (var i = 0; i < markers.length; i++) {
	 var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                          		  parseFloat(markers[i].getAttribute("lng")));
	    gb.extend(point);
	 	markervar= createMarkermod(point,markers[i].getAttribute("type"));
		 markervar.id=markers[i].getAttribute("id");
		 markervar.pos=markers[i].getAttribute("pos");
		 if (parseInt(markervar.pos)) {
			 numerotappe++; 
		 	 markervar.plt=markers[i].getAttribute("plt");
			 }
		 markervar.type=markers[i].getAttribute("type");
		 //markervar.bindInfoWindowHtml(markers[i].getAttribute("text"))
		 markerarray[markervar.id]=markervar;
    //arraymappe[divdes].addOverlay(markervar);
  }
  //disegnapercorsomod(markerarray,numerotappe,divdes);
  
  arraymappe[divdes].setCenter(gb.getCenter(), arraymappe[divdes].getBoundsZoomLevel(gb));
  caricaarraypolymod(idviaggio,markerarray,numerotappe,divdes);
});
}

function createMarkermod(point, type) {
  //var marker = new GMarker(point,{icon: customIconsmod[type].gmicon,clickable:false,});
   var marker = new GMarker(point,{clickable:false});
  return marker;
}



function disegnapercorsomod(arraypoly,markerarray,numerotappe,divdes) {
	var arrayverticidopo=[];
	var passo=(10-arraymappe[divdes].getZoom())*5;
	if (numerotappe>1) {
		var coordinate=[];
		for (attuale in markerarray) {if (parseInt(markerarray[attuale].pos)){
			coordinate[markerarray[attuale].pos]=[];
			coordinate[markerarray[attuale].pos]['lat']=markerarray[attuale].getLatLng().lat();
			coordinate[markerarray[attuale].pos]['lng']=markerarray[attuale].getLatLng().lng();
			coordinate[markerarray[attuale].pos]['plt']=markerarray[attuale].plt;
			}
			}
		preclat=coordinate[1]['lat'];
		preclng=coordinate[1]['lng'];
		for (i=2;i<coordinate.length;i++) {
			if (parseInt(coordinate[i]['plt'])==0) {
				var polyline = new GPolyline([
          			new GLatLng(preclat, preclng),
          			new GLatLng(coordinate[i]['lat'],coordinate[i]['lng'])
        			], "#ff0000", 1, 1);
				arraymappe[divdes].addOverlay(polyline);
				preclat=coordinate[i]['lat'];
				preclng=coordinate[i]['lng'];
				//var v=arrayrighe.push(polyline);
				}
			else if (parseInt(coordinate[i]['plt'])==1) {
				//var trovata=false;
				for (j=0;j<arraypoly.length;j++) {
					if ((arraypoly[j].flat==preclat && arraypoly[j].flng==preclng && arraypoly[j].slat==coordinate[i]['lat'] && arraypoly[j].slng==coordinate[i]['lng']) || (arraypoly[j].slat==preclat && arraypoly[j].slng==preclng && arraypoly[j].flat==coordinate[i]['lat'] && arraypoly[j].flng==coordinate[i]['lng'])) {
						//trovata=true;
							var elencovertex=arraypoly[j].striscia.substring(0,arraypoly[j].striscia.length-1);
							var arrayverticiprima=elencovertex.split(";");
							//var salto=Math.floor(arrayverticiprima.length/10);
							//var arrayverticidopo=[];
							for (k=0;k<arrayverticiprima.length;k+=passo) {
								var singolovertexprima=arrayverticiprima[k].split(",");
								var singolovertexdopo=new GLatLng(singolovertexprima[0],singolovertexprima[1]);
								arrayverticidopo.push(singolovertexdopo);
							}
							if (i<coordinate.length-1) {
							if (parseInt(coordinate[i+1]['plt'])!=1) {
							polystrada = new GPolyline(arrayverticidopo, "#0000ff", 2, 0.45);
							arraymappe[divdes].addOverlay(polystrada);
							//overlaypoly.push(polystrada);
							arrayverticidopo=[];
							//var v=arrayrighe.push(polystrada);
							//arraypoly[j].type=2;
							//arraypoly[j].pl=polystrada;
							 }
							 }
							 else {
							polystrada = new GPolyline(arrayverticidopo, "#0000ff", 2, 0.45);
							arraymappe[divdes].addOverlay(polystrada);
							//overlaypoly.push(polystrada);
							//arrayverticidopo=[];
							//var v=arrayrighe.push(polystrada);
							//arraypoly[j].type=2;
							//arraypoly[j].pl=polystrada;
							 }
					break;
				    }
				}
				preclat=coordinate[i]['lat'];
				preclng=coordinate[i]['lng'];
			}
			else if (parseInt(coordinate[i]['plt'])==2) {
				//var trovata=false;
				for (j=0;j<arraypoly.length;j++) {
					if ((arraypoly[j].flat==preclat && arraypoly[j].flng==preclng && arraypoly[j].slat==coordinate[i]['lat'] && arraypoly[j].slng==coordinate[i]['lng']) || (arraypoly[j].slat==preclat && arraypoly[j].slng==preclng && arraypoly[j].flat==coordinate[i]['lat'] && arraypoly[j].flng==coordinate[i]['lng'])) {
						//trovata=true;
							var elencovertex=arraypoly[j].striscia.substring(0,arraypoly[j].striscia.length-1);
							var arrayverticiprima=elencovertex.split(";");
							//var salto=Math.floor(arrayverticiprima.length/10);
							//var arrayverticidopo=[];
							for (k=0;k<arrayverticiprima.length;k+=passo) {
								var singolovertexprima=arrayverticiprima[k].split(",");
								var singolovertexdopo=new GLatLng(singolovertexprima[0],singolovertexprima[1]);
								arrayverticidopo.push(singolovertexdopo);
							}
							if (i<coordinate.length-1) {
							if (parseInt(coordinate[i+1]['plt'])!=2) {
							polystrada = new GPolyline(arrayverticidopo, "#ff0000", 2, 0.45);
							arraymappe[divdes].addOverlay(polystrada);
							//overlaypoly.push(polystrada);
							arrayverticidopo=[];
							//var v=arrayrighe.push(polystrada);
							//arraypoly[j].type=2;
							//arraypoly[j].pl=polystrada;
							 }
							 }
							 else {
							polystrada = new GPolyline(arrayverticidopo, "#ff0000", 2, 0.45);
							arraymappe[divdes].addOverlay(polystrada);
							//overlaypoly.push(polystrada);
							//arrayverticidopo=[];
							//var v=arrayrighe.push(polystrada);
							//arraypoly[j].type=2;
							//arraypoly[j].pl=polystrada;
							 }
					break;
				    }
				}
				preclat=coordinate[i]['lat'];
				preclng=coordinate[i]['lng'];
			}
			else  {
				preclat=coordinate[i]['lat'];
				preclng=coordinate[i]['lng'];
			}
	}
	}
}


if(document.getElementsByTagName) {

 var lista_td = document.getElementsByTagName("div");

 for(i=0; i < lista_td.length; i++) {
 //alert(lista_td.item(i).getAttribute("id"));
 if (lista_td.item(i).getAttribute("id")) {
  //alert(lista_td.item(i).getAttribute("id").substring(0,13));
  if(lista_td.item(i).getAttribute("id").substring(0,13) == "map_canvasmod") {
	idviaggio=  lista_td.item(i).getAttribute("id");
	idviaggio=idviaggio.substring(13,18);
	//alert(idviaggio);
	creaiconemod(idviaggio,lista_td.item(i).getAttribute("id"));
 }
 }
}
}


