        var flagfoto=true;
        var miolayer;
	var map;
	var marker=new Array();
	
	/*CEIOA ok*/
        var CEIOAD=new Array();
	var CEIOAN=new Array();
        var CEIOANI=new Array();
	var coad=0;
	var coan=0;
        var coani=0;
	var isOAD=false;
	var isOAN=false;
	var isOANI=false;
        //in corso
        iconaOA = new GIcon("ico","images/yellow.gif",null,null);
        iconaOA.iconSize=new GSize(24,24);
        iconaOA.iconAnchor=new GPoint(9,9);
        iconaOA.infoWindowAnchor=new GPoint(10,10);

        //conclusi
        iconaOAG = new GIcon("ico","images/green.gif",null,null);
        iconaOAG.iconSize=new GSize(24,24);
        iconaOAG.iconAnchor=new GPoint(9,9);
        iconaOAG.infoWindowAnchor=new GPoint(10,10);

        //non iniziati
        iconaOANI = new GIcon("ico","images/red.gif",null,null);
        iconaOANI.iconSize=new GSize(24,24);
        iconaOANI.iconAnchor=new GPoint(9,9);
        iconaOANI.infoWindowAnchor=new GPoint(10,10);
	/*FINE CEIOA*/

        function LabeledMarker(latlng, options){
           
            this.latlng = latlng;
            this.labelText = options.etichetta;
            this.labelClass = options.labelClass || "markerLabel";
            this.labelOffset = options.labelOffset || new GSize(0, 13);
           
            GMarker.apply(this, arguments);
}

LabeledMarker.prototype = new GMarker(new GLatLng(0, 0));

LabeledMarker.prototype.initialize = function(map) {
	GMarker.prototype.initialize.call(this, map);

	var div = document.createElement("div");
	div.innerHTML = "<table cellspacing=\"0\" cellpadding=\"0\"><tr><td class=\"mlabelsx\">&nbsp;</td><td nowrap class=\""+this.labelClass+"\">"+this.labelText+"</td><td class=\"mlabeldx\">&nbsp;</td></tr></table>";
	div.style.position = "absolute";
	map.getPane(G_MAP_MARKER_PANE).appendChild(div);
        
	this.map = map;
	this.div = div;
}

LabeledMarker.prototype.redraw = function(force) {
	GMarker.prototype.redraw.call(this, map);

	// We only need to do anything if the coordinate system has changed
	if (!force) return;

	var p = this.map.fromLatLngToDivPixel(this.latlng);
	var z = GOverlay.getZIndex(this.latlng.lat());

	this.div.style.left = (p.x + this.labelOffset.width) + "px";
	this.div.style.top = (p.y + this.labelOffset.height) + "px";
	this.div.style.zIndex = z + 1; // Directly in front of the marker image
}

LabeledMarker.prototype.remove = function() {
  this.div.parentNode.removeChild(this.div);
  this.div = null;
  GMarker.prototype.remove.call(this);
}
	
	
    function createMarker2(point, label,tipo,diocesi,regione){
      if(regione=="nessuna") disab=true;
      else disab=false;
      var mp;
      if(tipo==2){ //CEIOA N
           if(!disab){
	     CEIOAN[coan]=new LabeledMarker(point,{icon: iconaOA,etichetta: diocesi});
           }else{
             CEIOAN[coan]=new GMarker(point,{icon: iconaOA});
           }
           mp=CEIOAN[coan];
	   GEvent.addListener(mp, "click", function()    { mp.openInfoWindowHtml(label);    });
	   coan++;
	  }
	  
      if(tipo==9){ //CEIOA NG
	   if(!disab){
             CEIOAN[coan]=new LabeledMarker(point,{icon: iconaOAG,etichetta: diocesi});
           }else{
             CEIOAN[coan]=new GMarker(point,{icon: iconaOAG});  
           }
           mp=CEIOAN[coan];
	   GEvent.addListener(mp, "click", function()    { mp.openInfoWindowHtml(label);    });
	   coan++;
	  }

	  if(tipo==6){ //CEIOA D
	   if(!disab){
             CEIOAD[coad]=new LabeledMarker(point,{icon: iconaOA,etichetta: diocesi});
           }else{
             CEIOAD[coad]=new GMarker(point,{icon: iconaOA});
           }
           mp=CEIOAD[coad];
	   GEvent.addListener(mp, "click", function()    { mp.openInfoWindowHtml(label);    });
	   coad++;
	  }

      if(tipo==10){ //CEIOA DG
	   if(!disab){
             CEIOAD[coad]=new LabeledMarker(point,{icon: iconaOAG,etichetta: diocesi});
           }else{
             CEIOAD[coad]=new GMarker(point,{icon: iconaOAG});  
           }
           mp=CEIOAD[coad];
	   GEvent.addListener(mp, "click", function()    { mp.openInfoWindowHtml(label);    });
	   coad++;
	  }
      if(tipo==11){ //CEIOA Non iniziati
	   if(!disab){
             CEIOANI[coani]=new LabeledMarker(point,{icon: iconaOANI,etichetta: diocesi});
           }else{
             CEIOANI[coani]=new GMarker(point,{icon: iconaOANI});
           }
           mp=CEIOANI[coani];
	   GEvent.addListener(mp, "click", function()    { mp.openInfoWindowHtml(label);    });
           
           coani++;
	  }

      }
	function carica(valore){
	  var arraym=new Array();
	  var arraym2=new Array();
          var arraym3=new Array();
	  var f="15";
	
	  
  	  
	  if(valore==2){ //CEIOA tutti
	  	arraym=CEIOAD;
		arraym2=CEIOAN;
                arraym3=CEIOANI;
  	  }
	  
	  
	  if(document.getElementById(valore).checked==true){ //inserisce il layer
	     if(valore==2){
		    isOAD=true;
  	            isOAN=true;
                    isOANI=true;
	     }
		 
      
		  for(var i=0;i<arraym.length;i++){
		    
			 map.addOverlay(arraym[i]);
			 arraym[i].show();
		   }
		   
		   for(var k=0;k<arraym2.length;k++){
		    
			 map.addOverlay(arraym2[k]);
			 arraym2[k].show();
		   }
                   for(var z=0;z<arraym3.length;z++){

			 map.addOverlay(arraym3[z]);
			 arraym3[z].show();
		   }
		
	 }else{ //lo rimuove
		 for(var m=0;m<arraym.length;m++){
		    try{
			 arraym[m].hide();
			}catch(exception){}
		   }
		for(var w=0;w<arraym2.length;w++){
		    try{
			 arraym2[w].hide();
			}catch(exception){}
		   }
                for(var q=0;q<arraym3.length;q++){
		    try{
			 arraym3[q].hide();
			}catch(exception){}
		   }
      }
	}
	
	
	function caricasing(valore){
	  var arraym=new Array();
	  var f="15";
	  var ism=false;
	  

  	  /*CEIOA*/
      if(valore=="OAD"){ 
	    ism=isOAD;
		arraym=CEIOAD;
	  }
	  if(valore=="OAND"){ 
	    ism=isOAN;
		arraym=CEIOAN;
	  }
         
          if(valore=="OANI"){
	    ism=isOANI;
		arraym=CEIOANI;
	  }
          
  	  /*FINE CEIOA*/
  	
	  if(document.getElementById(valore).checked==true){ //inserisce il layer
	    
		
		
		 
  		  if(valore=="OAN"){ isOAN=true; }
     	          if(valore=="OAD"){ isOAD=true; }
   		  if(valore=="OANI"){ isOANI=true; }
		   for(var i=0;i<arraym.length;i++){
		    
			 map.addOverlay(arraym[i]);
			 arraym[i].show();
		   }
        
	 }else{ //lo rimuove
		 for(var i=0;i<arraym.length;i++){
		    try{
			 arraym[i].hide();
			}catch(exception){}
		  }
	 }
}
	
function caricalayer(valore,path){
	  try{
	    map.removeOverlay(miolayer);
	  }catch(exception){}
	  if(valore!="nessuno"){
	     miolayer = new GGeoXml(path+"kml/port/"+valore+".kml?casuale=fsl",function(){
                                                                                          map.setCenter(miolayer.getDefaultCenter());
																						  miolayer.gotoDefaultViewport(map);
                                                                                        });
		 
		 map.addOverlay(miolayer);
		 
	  }else{
	     map.setCenter(new GLatLng(42.326062444,12.700195312), 6);
		
	  }
	  
	  document.getElementById('mn').checked=true;
	}
    
	function caricascarica(){
	   if(document.getElementById('mn').checked==true){
	     try{
		   miolayer.show();
		 }catch(exception){}

	   }else{
	     try{
		   miolayer.hide();
		 }catch(exception){}
	   }
	
	}
