var map;
var address = "Viale Virgilio 30, 41123 Modena";
var address1 = "Via Isidoro e Lepido Facii - Zona Industraile S.Atto 64020 Teramo";
var address2 = "Viale Virgilio 30, 41123 Modena";

document.observe('dom:loaded',function(){
  initValidator();

  if($("map")) {
   loadMap();
  }

  if($("map-hatria")) {
   loadMapHatria();
  }

  if ($('tabs_languages') != null){
	  new Control.Tabs('tabs_languages');
  }

});

function loadRelatedContent(thingDataId){
  new Ajax.Updater('related_products','/common-assets/sql-report/prodotti-correlati',{
	        method: 'get',
	        parameters: {thingDataId:thingDataId}
  });
  new Ajax.Updater('related_projects','/common-assets/sql-report/progetti-correlati',{
	        method: 'get',
	        parameters: {thingDataId:thingDataId}
  });
}

function loadRelatedContentEdit(thingDataId){
  new Ajax.Updater('related_products','/common-assets/sql-report/prodotti-correlati-edit',{
	        method: 'get',
	        parameters: {thingDataId:thingDataId}
  });
  new Ajax.Updater('related_projects','/common-assets/sql-report/progetti-correlati-edit',{
	        method: 'get',
	        parameters: {thingDataId:thingDataId}
  });
}

function initValidator(){
     if ($('frmPagina') != null){
	     new Validation('frmPagina', {immediate : true, useTitles : true});

		 Validation.addAllThese([
	        ['validate-inner-url',  'Insert a valid relative url', function (v) {
            blnInnerUrl= Validation.get('IsEmpty').test(v) || /^(([A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(v)
    		return  blnInnerUrl;
            }]
         ]);
    }
}
function ValidatePage(assetId,containerId){

	if ($('parentChanged').value == "0"){
    	if (!window.confirm("Non è stato selezionata la pagina padre, gli url potrebbero risultare non corretti. Proseguire ugualmente?"))
	    {
	        return false;
	    }
    }

    // campi obbligatori
    var retValue = true;
    $$('.required').each(function(e) {
	        if (e.value == ""){	
	            retValue = false;
            }
        }
    );
    if (!retValue) {
	    alert('Campi obbligatori non compilati, inserirli e salvare nuovamente');
    	return retValue;
    }

    // campi univoci
    $$('.checkDuplicate').each(function(e) {
	        var urlDuplicate = $(e.name + '_validurl').value;
	        if (urlDuplicate != "1"){	
	            retValue = false;
            }
        }
    );
    if (!retValue) {
	    alert('Url duplicati, modificarli e salvare nuovamente');
    	return retValue;
    }

   AdjustUrl();

    return retValue;
}

function SetStartingUrl(thingDataId)
{
    $('parentChanged').value = 1;

	new Ajax.Request('/themes/default/templates/thingy/get-url-parent-page',{
	        method: 'get',
	        parameters: {thingDataId:thingDataId},
	        onSuccess: function(transport) {
	            var arrUrl = transport.responseText.split(',');
		        for (i=0; i<arrUrl.length; i++) {
	            	 var itemsUrl = arrUrl[i].split('=');
	            	 var itemLang = itemsUrl[0];
    			     var itemValue = itemsUrl[1];
	                 $('url' + itemLang + '_suggestedurl').value = encodeURI(itemValue);
	       	 }
	        }	
    });
 }

function AdjustUrl(){

    $$('.validate-inner-url').each(function(e) {
	        e.value = trim(e.value);
	        e.value = e.value.toLowerCase();
            e.value = e.value.replace(/\s+/g,"-");
            e.value = e.value.replace("[^a-z0-9]", "");
	        if (e.value.charAt(e.value.length-1) == '/'){
	            e.value = e.value.substring(0, e.value.length-1);
            }
    	}
    );

    $$('.main-url').each(function(e) {

	        e.value = trim(e.value);
	        if (e.value == undefined || e.value == ""){
	             var suggestedValue = "";
                 $$('input[name="' + e.name + '_suggestedurl"]').each(function(i) {
	                     var parentUrl = i.value;
                         if (parentUrl != ""){
                             parentUrl = parentUrl + "/";
                         }
                         suggestedValue = parentUrl + $(arrMenuTitle[e.name]).value;
				         suggestedValue = suggestedValue.toLowerCase();
                         suggestedValue = suggestedValue.replace(/\s+/g, '-');
                         suggestedValue = suggestedValue.replace("[^a-z0-9]", "");
	                }
                );
		        e.value = suggestedValue;
	        }

    	}
    );

}

function ResetUrlUnique(assetName){
    $(assetName + '_validurl').value = "-1";
}
function IsUrlUnique(assetUrl,assetName,assetId,containerId){
    var pageurlarray = window.location.href.split("?");
    var pageurl = pageurlarray[0];
    var url = pageurl + '?thingySection=checkDuplicatedUrl;url=' + assetUrl + ';thingId=' + containerId + ';currentThingDataId=' + assetId;

    new Ajax.Request(url, {
	  method: 'get',
	  onSuccess: function(transport) {
	    if (transport.responseText == "0"){
	        $(assetName + '_validurl').value = "1";
         } else {
            $(assetName + '_validurl').value = "-1";
    		alert('Url duplicato: ' + assetUrl);
        }
	  }
    });
}

function ToggleAdminPanel(vLinkElementId, vElementId){
    var objElement = $(vElementId);
	var objLinkElement = $(vLinkElementId);

	var duration = 1.0;

	if(!objElement.hasClassName("closedPanel")){
	    Effect.Fade(objElement, { duration: duration,
						afterFinish: function(e){
							objElement.addClassName("closedPanel");
						}
					}
				);
	}else{
	    Effect.BlindDown(objElement, { duration: duration,
						beforeStart: function(e){
						    objElement.setStyle({display: 'none'});
							objElement.removeClassName("closedPanel");
						}
					}
				);
	}

	return false;
}

function trim(arg)
{
    arg = arg.replace(/^\s*/,"");
    arg = arg.replace(/\s*/,"");
    return arg;
}

function addAddressToMap(response) {
	map.clearOverlays();

    var place = response.Placemark[0];
	var point = new GLatLng(place.Point.coordinates[1],
	place.Point.coordinates[0]);	
		
	var marker = new GMarker(point);
	map.addOverlay(marker);
	map.setCenter(point,6);
    var strHtmlText = "<div class='articleDesc'><!-- <img src='/uploads/16/07/160746011b7648206d93158816adf6d1/favicon.ico' />--><h3 style='margin:5px 0 0 0;color:black;font-size:14px;font-family:Arial;'> Marazzi Group S.p.A. </h3><div style='padding-top:10px;font-size:11px;font-weight:normal;font-family:Arial'>Viale Virgilio 30  -  41123 Modena<br />Tel. +39 059 384111  <br />Fax  +39 059 384 303 <br /><a href=mailto:info@marazzigroup.com>info@marazzigroup.com</a><br /><a href=mailto:press@marazzigroup.com>press@marazzigroup.com</a></div></div>";
    marker.openInfoWindowHtml(strHtmlText);
 }


function addAddressToMap1(response) {

	map.clearOverlays();
    var place = response.Placemark[0];
	var point = new GLatLng(place.Point.coordinates[1],
	place.Point.coordinates[0]);		
    var marker = new GMarker(point);
	map.addOverlay(marker);
	map.setCenter(point,6);
    var strHtmlText = "<div class='articleDesc'><!-- <img src='/uploads/16/07/160746011b7648206d93158816adf6d1/favicon.ico' />--><h3 style='margin:5px 0 0 0;color:black;font-size:14px;font-family:Arial;'> Hatria S.p.A - Sede legale e produttiva  </h3><div style='padding-top:10px;font-size:11px;font-weight:normal;font-family:Arial'>Via Isidoro e Lepido Facii - Zona Industriale S.Atto - 64020 Teramo<br />Tel + 39 0861 2011  <br />Fax +39 0861 201 235</div></div>";
    GEvent.addListener(marker, "mouseover", function(){marker.openInfoWindowHtml(strHtmlText);});
}

function addAddressToMap2(response) {

    //map.clearOverlays();
    var place = response.Placemark[0];
	var point = new GLatLng(place.Point.coordinates[1],
	place.Point.coordinates[0]);		
    var marker = new GMarker(point);
	map.addOverlay(marker);
	map.setCenter(point,6);
    var strHtmlText = "<div class='articleDesc'><!-- <img src='/uploads/16/07/160746011b7648206d93158816adf6d1/favicon.ico' />--><h3 style='margin:5px 0 0 0;color:black;font-size:14px;font-family:Arial;'> Hatria S.p.A - Uffici commerciali           </h3><div style='padding-top:10px;font-size:11px;font-weight:normal;font-family:Arial'>Viale Virgilio 30  -  41123 Modena<br />Tel + 39 059 384 350  <br />Fax +39 059 384 212</div></div>";
    GEvent.addListener(marker, "mouseover", function(){marker.openInfoWindowHtml(strHtmlText);});
}


function loadMap() {

    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));

	    map.setCenter(new GLatLng(34, 0), 1);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
	
		var geocoder = new GClientGeocoder();
		geocoder.getLocations(address, addAddressToMap);

	}
}

function loadMapHatria() {

    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map-hatria"));
	    map.setCenter(new GLatLng(34, 0), 1);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		var geocoder = new GClientGeocoder();
	    geocoder.getLocations(address1, addAddressToMap1);
	    geocoder.getLocations(address2, addAddressToMap2);
	}
}

function myOpen() {
   //al momento non fa nulla me la tengo se vi vogliono
    //particolari controlli per la shadowbox
}





