﻿    // coordinate dell'azienda
    var NEONTRENTO_POINT = '46.037, 11.12655586285983';
    // file kml da mostrare sulla mappa in home page
    var KML_REALIZZAZIONI = ROOT_DIR+'neontrento.kml.aspx';
    // mappa 
    var map;
    // indicazioni stradali	
    var directions;
    
    function onLoad(){
    
        // avvia il cambio di foto in alto
        cambiaFotoAttivita();

        // mostra una mappa se c'è il <div> con id map
        var id = document.getElementById('mapHome');
        if (id!=null){
            initMappa(id);
            map.addControl(new GSmallMapControl());            
            caricaRealizzazioni(map);            
        }
        
        var id = document.getElementById('mapComeArrivare');
        if (id!=null){
            initMappa(id);
            map.addControl(new GLargeMapControl());
            map.addControl(new GMapTypeControl());            
       		var directionsPanel = document.getElementById("directions");
    		directions = new GDirections(map, directionsPanel);
            var point = neontrentoPoint();
            map.addOverlay(createNeontrentoMarker(map, point));
            map.setCenter(point,  13);
        }
    }
	
	function mostraDirezioni(){
	    var partenzaTextBox = document.getElementById("partenzaTextBox");
		var da = partenzaTextBox.value;
        mostraDirezioniDa(da);
    }
        
	function mostraDirezioniDa(da){
		if (da!=''){
		    var q = da+" to "+NEONTRENTO_POINT;
			directions.load(q);
		}
		return false;
	}    

    function initMappa(divMap) {
        if (GBrowserIsCompatible()) {
            map = new GMap2(divMap); 
            map.setCenter(new GLatLng(0,0),0); 
        }
    }

    function caricaRealizzazioni(map){
        GDownloadUrl(KML_REALIZZAZIONI, function(data, responseCode) {
        var xml = GXml.parse(data);
        var bounds = new GLatLngBounds();
        var placemarks = xml.documentElement.getElementsByTagName("Placemark");
        for (var i = 0; i < placemarks.length; i++) {
            var name = placemarks[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
            var prodotto = placemarks[i].getElementsByTagName("prodotto")[0].childNodes[0].nodeValue;
            var point = placemarks[i].getElementsByTagName("Point")[0];
            var coordinates = point.getElementsByTagName("coordinates")[0].childNodes[0].nodeValue;
            var lat = parseFloat(coordinates.split(',')[1]);
            var lng = parseFloat(coordinates.split(',')[0]);
            var point = new GLatLng(lat, lng);
            var url = PRODOTTO_URL_FORMAT_STRING.replace("{0}", prodotto);
            map.addOverlay(createMarker(name, point, url));
            bounds.extend(point);
          }
          
        // aggiunta del segnaposto NEONTRENTO
        var point = neontrentoPoint();
        map.addOverlay(createNeontrentoMarker(map, point));
        bounds.extend(point);          
        zoom = map.getBoundsZoomLevel(bounds);
        if (zoom>11)
            zoom = 11;
        map.setCenter(bounds.getCenter(), zoom);
        });
    }

    function neontrentoPoint(){
        var lat = parseFloat(NEONTRENTO_POINT.split(',')[0]);
        var lng = parseFloat(NEONTRENTO_POINT.split(',')[1]);
        return new GLatLng(lat, lng);        
    }    
    function createMarker(name, point, url){
        var icon = new GIcon();
        icon.image = ROOT_DIR+"images/red.png";
        icon.iconAnchor = new GPoint(6, 20);
        icon.iconSize = new GSize(12,20);
        var marker = new GMarker(point, {clickable:true, icon:icon, title:name}); 
        GEvent.addListener(marker, "click", function() {
            document.location = url;
        });
        return marker;
    }
    
    function createNeontrentoMarker(map, point){
        var name = 'NEONTRENTO';
        var icon = new GIcon();
        icon.image = ROOT_DIR+"images/logo_neontrento_map.png";
        icon.iconAnchor = new GPoint(25, 40);
        icon.iconSize = new GSize(50,40);
        var marker = new GMarker(point, {clickable:true, icon:icon, title:name}); 
        GEvent.addListener(marker, "click", function() {
            map.setCenter(point, 14);
        });
        return marker;    
    }
    // add trim function to String object
    String.prototype.trim = function() {
	    return this.replace(/^\s+|\s+$/g,"");
    }

    function cambiaFotoAttivita(){
	    var immagine_fotoalbum; var link_fotoalbum;
	    var url = ROOT_DIR+"realizzazioneRandom.aspx";
        if (window.ActiveXObject){
		    objXml = new ActiveXObject("Microsoft.XMLHTTP");
		    objXml.open("GET", url, true);
		    objXml.onreadystatechange=function() {
			    if (objXml.readyState==4) {
				    setImage(objXml.responseText);
			    }
		    }
		    objXml.send(null);
        } else {
            objXml = new XMLHttpRequest();
		    objXml.open("GET", url,false);
		    objXml.send(null);
		    setImage(objXml.responseText)
	    }
    }

    function setImage(infos){
        if (window.ActiveXObject) {
          var doc=new ActiveXObject("Microsoft.XMLDOM");
          doc.async="false";
          doc.loadXML(infos);
          }       else          {
          var parser=new DOMParser();
          var doc=parser.parseFromString(infos,"text/xml");
          }
        var mostraVuota = false;
        var LinkTag = document.getElementById("realizzazione_link");
        var ImgTag = document.getElementById("realizzazione_foto");
        var ArrayOfString = doc.getElementsByTagName("realizzazione");
        if (ArrayOfString.length ==1){
            var s = ArrayOfString[0];
            var ss = s.getElementsByTagName("valore");
            if (ss.length>0){
                var linkImmagine = ss[0].childNodes[0].nodeValue;
                var linkUrl = ss[1].childNodes[0].nodeValue;
                var linkNome = ss[2].childNodes[0].nodeValue;
                if ((linkImmagine!="") && (linkUrl!="")){
                    ImgTag.src=linkImmagine;
                    ImgTag.alt=linkNome;
		            LinkTag.href=linkUrl;
	            } else {
    	            mostraVuota = true;
        	    }
	        } else {
    	        mostraVuota = true;
    	    }
	    } else {
	        mostraVuota = true;	    
	    }
        if (mostraVuota){
            ImgTag.src=ROOT_DIR+'images/pix.png';
            ImgTag.alt = '';
		    LinkTag.href='';
        }
	    setTimeout("cambiaFotoAttivita()", 10000);
    }