	    Request.HTML.implement({
 
        processHTML: function(text){
            var match = text.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
            text = (match) ? match[1] : text;
           
            var container = new Element('div');
           
            return $try(function(){
                var root = '<root>' + text + '</root>', doc;
                if (Browser.Engine.trident){
                    doc = new ActiveXObject('Microsoft.XMLDOM');
                    doc.async = false;
                    doc.loadXML(root);
                } else {
                    doc = new DOMParser().parseFromString(root, 'text/html');
                }
                root = doc.getElementsByTagName('root')[0];
                for (var i = 0, k = root.childNodes.length; i < k; i++){
                    var child = Element.clone(root.childNodes[i], true, true);
                    if (child) container.grab(child);
                }
                return container;
            }) || container.set('html', text);
        }
   
    });
	
	var map;
	var gdir;
	
	function loadGMapScript()
	{
		var key = "ABQIAAAAI73xxfnNwN74pAe64poOdBTjJhSlMOPvAc8j-7qEPkXaCY5RfBRDTM2A7KqjN8YlCEAHK0L6X91n8g";
		var key_local = "ABQIAAAAI73xxfnNwN74pAe64poOdBTFroa6mmULT3KcY1FN4Y-pLnS-ABT5brUjcjtPhBKguoFYaf2IuuRvfA";
		
  		var script = document.createElement("script");
  		script.type = "text/javascript";
  		script.src = "http://maps.google.com/maps?file=api&v=2.x&key=" + key + "&async=2&callback=loadMap";
  		//script.src = "http://www.google.com/jsapi?key=" + key_local;
  		
  		document.body.appendChild(script);
  		
  		//google.load("maps", "2.x", {"callback" : loadMap});
	}

	function onGDirectionsLoad(){}

	function handleErrors(){
		if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
			alert("Indirizzo non trovato.");
		else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
			alert("Errore nel contattare il server!");
		else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
			alert("The HTTP q parameter was either missing or had no value.");
		else if (gdir.getStatus().code == G_GEO_BAD_KEY)
			alert("Key error.");
		else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
			alert("Errore, codice: " + gdir.getStatus().code);
		else alert("Errore sconosciuto!");
	}

	
	function loadMap()
	{
		// Posizione Novart S.r.l.
  		var pos_x = 43.425372;
  		var pos_y = 11.829013;
  		waypoints = new Array(2);
	
		map = new GMap2(document.getElementById("gmap"));
		var center = new GLatLng(43.433600357099834, 11.840944290161133);
		var zoom = 14;
		var controls = new GSmallMapControl();
		
		gdir = new GDirections(map, document.getElementById("direzioni"));
		GEvent.addListener(gdir, "load", onGDirectionsLoad);
		GEvent.addListener(gdir, "error", handleErrors);

		map.setCenter(center, zoom);
		map.removeMapType(G_HYBRID_MAP);
		map.addControl(controls);
		
		var mapControl = new GMapTypeControl();
        map.addControl(mapControl);

		var icon = new GIcon();
		icon.image = "http://www.google.com/mapfiles/marker.png";
		icon.shadow = "http://www.google.com/mapfiles/shadow50.png";		
		icon.iconSize = new GSize(20, 34);
		icon.shadowSize = new GSize(37, 34);
		icon.iconAnchor = new GPoint(9, 34);
		icon.infoWindowAnchor = new GPoint(9, 2);
		icon.infoShadowAnchor = new GPoint(18, 25);	
	
		var point = new GPoint(pos_y, pos_x)
		var htmlinfo = 	'<div id="gmapinfo">' +
						'	<div class="gmapinfo_line"><h5>Novart S.r.l.</h5></div>' +
						'	<div class="gmapinfo_line"><span>Strada C, 2/C</span></div>' +
						'	<div class="gmapinfo_line"><span>San Zeno 52040 Arezzo</span></div>' +
						"</div>";
		var marker = new GMarker(point, icon);
		
		GEvent.addListener(marker, "click", function(){ marker.openInfoWindowHtml(htmlinfo); });
		map.addOverlay(marker);
	}
	
	
	function getDirections(fromAddressStr)
	{
		gdir.load("from: " + fromAddressStr + " Italia" + " to: Novart Srl@43.425372,11.829013", {"locale" : "it_IT"});									
		return false;
	}
	
	var oldpage = 'home';
	
	function loadpage(page)
	{
		var content = document.getElementById('content');
		//content.innerHTML = '<img alt="loading" src="style/img/loading.gif" />';
				
		var ajax = new Request.HTML({url: 'sito.php',
										onSuccess: function(html) {
											$('content').empty();
											$('content').adopt(html);
											milkbox = new Milkbox();
											
											if ($chk(oldpage))
											{
												$(oldpage).set('href', "javascript:loadpage('" + oldpage + "')");
												$(oldpage).removeClass('menuactive');
											}
											
											oldpage	= page;
											
											$(page).removeProperty('href');
											$(page).addClass('menuactive');
											
											loadFadeEffect();
										},
										onFailure: function() {
											$('content').set('text', 'Errore nel caricamento della pagina.');
										}
									}).get({'p': page});
		
		
		if (page == 'dovesiamo')
			loadGMapScript();
			
		//milkbox.reloadGalleries();
	}
	

	function status()
	{
		window.status = '';
		return true;
	}
	
	
	window.addEvent('domready', loadFadeEffect);  
	
	function loadFadeEffect()
	{

   		$each($$('.fade'), function(el) {  
   			var original = el.getStyle('color');  
   			var morph = new Fx.Morph(el,{ 'duration':'300', link:'cancel' });  
			el.addEvents({  
				'mouseenter' : function() { morph.start({ 'color':'#6699cc' }) },  
				'mouseleave' : function() { morph.start({ 'color': original }) }
			});  
		});  
		
	}
	