/* ******************************************************** */
/* ************* Inizializzazione funzioni **************** */
/* ******************************************************** */
function initFunctions() { preloadImages(); }


/* **************************************************** */
/* FUNZIONE per aprire una finestra di PopUp centrata   */
/* **************************************************** */
function openPopUp(url,w,h,scrl) {
  l = (screen.width-w)/2;
  t = (screen.height-h)/2;
  newWin = window.open(url,"nuovafinestra", "width="+w+", height="+h+", left="+l+", top="+t+", scrollbars="+scrl+", resizable=no") 
  }

  
/* **************************************************** */
/* FUNZIONE per il lettore di filmati in formato flash  */
/* **************************************************** */
function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  } 
}


/* ********************************************* */
/* ************* STAMPA DOCUMENTO ************** */
/* ********************************************* */
function stp() {
   bb=document.layers?document.layers['stampascheda']:document.getElementById?document.getElementById('stampascheda').style:document.all['stampascheda'].style;
   bb.visibility="hidden"
   self.print();
}
   
/* ************************************************* */
/* CONTROLLI SUI CAMPI DEI FORMS DEL SITO ********** */
/* ************************************************* */
// GESTIONE UTENTI (users_edit.asp)
function control_usersEdit(formCMS_edit) {
  if (formCMS_edit.userid.value.length == 0 || formCMS_edit.userid.value.length > 20) {
    alert("ATTTENZIONE!!!\n\nControllare il campo \"User Id\"\n(lunghezza 0 oppure lunghezza max (20) superata)");
    formCMS_edit.userid.focus();
    return false;
  }
  if (formCMS_edit.userid.value.length <= 3) {
    alert("LATTENZIONE!!!\n\nLa \"User Id\" deve essere superiore a 3 caratteri");
    formCMS_edit.userid.focus();
    return false;
  }
  if (formCMS_edit.password.value.length == 0 || formCMS_edit.password.value.length > 20) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Password\"\n(lunghezza 0 oppure lunghezza max (20) superata)");
    formCMS_edit.password.focus();
    return false;
  }
  if (formCMS_edit.password.value.length <= 3) {
    alert("ATTENZIONE!!!\n\nLa \"Password\" deve essere superiore a 3 caratteri");
    formCMS_edit.password.focus();
    return false;
  }
  if (!document.formCMS_edit.amministratori.checked && !document.formCMS_edit.utenti.checked) {
    alert("ATTENZIONE!!!\n\nIndica se si tratta di un AMMINISTRATORE o di un UTENTE");
    formCMS_edit.amministratori.focus();
    return false;
  }
  if (!document.formCMS_edit.attivo.checked) {
	var agree = confirm("ATTTENZIONE!!!\n\nIl campo \'\'Attivo\'\' non è stato flaggato\nQuesto record non verrà visualizzato on-line\n\nVuoi continuare?? (OK: si -- Annulla: no)");
	if (agree) {
	  document.formCMS_edit.attivo.checked = false;
	  return true;
	}else{
	  document.formCMS_edit.attivo.checked = false;
      document.formCMS_edit.attivo.focus();
	  return false;
	}
  }
  return (true);
}


// GESTIONE DOCUMENTI: (@@ docs_edit.asp @@)
function control_docsEdit(formCMS_edit) {
  if (formCMS_edit.titolo.value.length == 0 || formCMS_edit.titolo.value.length > 255) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Titolo\"\n(lunghezza 0 oppure lunghezza max (255) superata)");
    formCMS_edit.titolo.focus();
    return false;
  }
  
  if (!document.formCMS_edit.attivo.checked) {
	var agree = confirm("ATTTENZIONE!!!\n\nIl campo \'\'Visualizza\'\' non è stato flaggato\nQuesto record non verrà visualizzato on-line\n\nVuoi continuare?? (OK: si -- Annulla: no)");
	if (agree) {
	  document.formCMS_edit.attivo.checked = false;
	  return true;
	}else{
	  document.formCMS_edit.attivo.checked = false;
      document.formCMS_edit.attivo.focus();
	  return false;
	}
  }
  return true;
}

// GESTIONE ANAGRAFICHE (@@ anagrafiche@_edit.asp @@)
function control_anagraficheValidate(formCMS_edit) {
  if (formCMS_edit.nome.value.length == 0 || formCMS_edit.nome.value.length > 255) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Nome\"\n(lunghezza 0 oppure lunghezza max (255) superata)");
    formCMS_edit.nome.focus();
    return false;
  }
  
  if (!document.formCMS_edit.attivo.checked) {
	var agree = confirm("ATTTENZIONE!!!\n\nIl campo \'\'Visualizza\'\' non è stato flaggato\nQuesto record non verrà visualizzato on-line\n\nVuoi continuare?? (OK: si -- Annulla: no)");
	if (agree) {
	  document.formCMS_edit.attivo.checked = false;
	  return true;
	}else{
	  document.formCMS_edit.attivo.checked = false;
      document.formCMS_edit.attivo.focus();
	  return false;
	}
  }
  return true;
}

// GESTIONE DEI FEEDBACKS DEI CLIENTI: (feedbacks_edit.asp)
function control_feedbacksEdit(formCMS_edit) {
  if (formCMS_edit.nome.value.length == 0 || formCMS_edit.nome.value.length > 255) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Nome cliente\"\n(lunghezza 0 oppure lunghezza max (255) superata)");
    formCMS_edit.nome.focus();
    return false;
  }
  if (formCMS_edit.idNazionalita.value == "0") {
    alert("ATTENZIONE!!!\n\nScegliere la \"Nazionalità\"  del cliente");
    formCMS_edit.idNazionalita.focus();
    return false;
  }
  if (formCMS_edit.idTipoDiViaggiatore.value == "0") {
    alert("ATTENZIONE!!!\n\nScegliere il \"Tipo di Viaggiatore\"");
    formCMS_edit.idTipoDiViaggiatore.focus();
    return false;
  }
  if (formCMS_edit.valutazioneStruttura.value == "0") {
    alert("ATTENZIONE!!!\n\nDare un voto per: \"Valutazione struttura\"");
    formCMS_edit.valutazioneStruttura.focus();
    return false;
  }
  if (formCMS_edit.valutazionePersonale.value == "0") {
    alert("ATTENZIONE!!!\n\nDare un voto per: \"Valutazione del personale\"");
    formCMS_edit.valutazionePersonale.focus();
    return false;
  }
  if (formCMS_edit.valutazionePulizia.value == "0") {
    alert("ATTENZIONE!!!\n\nDare un voto per: \"Valutazione della pulizia\"");
    formCMS_edit.valutazionePulizia.focus();
    return false;
  }
  if (formCMS_edit.valutazioneComfort.value == "0") {
    alert("ATTENZIONE!!!\n\nDare un voto per: \"Valutazione del Comfort\"");
    formCMS_edit.valutazioneComfort.focus();
    return false;
  }
  if (formCMS_edit.valutazionePosizione.value == "0") {
    alert("ATTENZIONE!!!\n\nDare un voto per: \"Valutazione della Posizione\"");
    formCMS_edit.valutazionePosizione.focus();
    return false;
  }
  if (formCMS_edit.valutazioneQualitaPrezzo.value == "0") {
    alert("ATTENZIONE!!!\n\nDare un voto per: \"Valutazione della Qualita/Prezzo\"");
    formCMS_edit.valutazioneQualitaPrezzo.focus();
    return false;
  }
  if (!document.formCMS_edit.attivo.checked) {
	var agree = confirm("ATTTENZIONE!!!\n\nIl campo \'\'Visualizza\'\' non è stato flaggato\nQuesto record non verrà visualizzato on-line\n\nVuoi continuare?? (OK: si -- Annulla: no)");
	if (agree) {
	  document.formCMS_edit.attivo.checked = false;
	  return true;
	}else{
	  document.formCMS_edit.attivo.checked = false;
      document.formCMS_edit.attivo.focus();
	  return false;
	}
  }
  return true;
}

// GESTIONE ALBUMS FOTOGRAFICI: (galleryAlbums_edit.asp)
function control_galleryAlbumEdit(formCMS_edit) {
  if (formCMS_edit.nome.value.length == 0 || formCMS_edit.nome.value.length > 255) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Nome album\"\n(lunghezza 0 oppure lunghezza max (255) superata)");
    formCMS_edit.nome.focus();
    return false;
  }
  if (!formCMS_edit.attivo.checked) {
	var agree = confirm("ATTTENZIONE!!!\n\nIl campo \'\'Visualizza\'\' non è stato flaggato\nQuesto record non verrà visualizzato on-line\n\nVuoi continuare?? (OK: si -- Annulla: no)");
	if (agree) {
	  formCMS_edit.attivo.checked = false;
	  return true;
	}else{
	  formCMS_edit.attivo.checked = false;
      formCMS_edit.attivo.focus();
	  return false;
	}
  }
  return true;
}

// GESTIONE GALLERIE DI IMMAGINI: (galleryImgs_edit.asp)
function control_galleryImgsEdit(formCMS_edit) {
  if (formCMS_edit.idUpload.value == "0") {
    alert("ATTENZIONE!!!\n\nScegliere almeno un\'immagine dall\'elenco");
    formCMS_edit.idUpload.focus();
    return false;
  }
  if (formCMS_edit.didascaliaIt.value.length > 90) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Didascalia\" in Italiano \n(lunghezza max (90) superata)");
    formCMS_edit.didascaliaIt.focus();
    return false;
  }
  if (formCMS_edit.didascaliaEn.value.length > 90) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Didascalia\" in Inglese \n(lunghezza max (90) superata)");
    formCMS_edit.didascaliaEn.focus();
    return false;
  }
  if (formCMS_edit.didascaliaFr.value.length > 90) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Didascalia\" in Francese \n(lunghezza max (90) superata)");
    formCMS_edit.didascaliaFr.focus();
    return false;
  }
  if (formCMS_edit.didascaliaDe.value.length > 90) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Didascalia\" in Tedesco \n(lunghezza max (90) superata)");
    formCMS_edit.didascaliaDe.focus();
    return false;
  }
  if (formCMS_edit.didascaliaEs.value.length > 90) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Didascalia\" in Spagnolo \n(lunghezza max (90) superata)");
    formCMS_edit.didascaliaEs.focus();
    return false;
  }
  return true;
}

// GESTIONE LINKS (partners_edit.asp)
function control_partnersEdit(formCMS_edit) {
  if (formCMS_edit.nome.value.length == 0 || formCMS_edit.nome.value.length > 255) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Nome\"\n(lunghezza 0 oppure lunghezza max (255) superata)");
    formCMS_edit.nome.focus();
    return false;
  }
  
  if (document.formCMS_edit.link.value.length == 0 || document.formCMS_edit.link.value.length > 255) {
    alert("ATTENZIONE!!!\n\nControllare il campo \"Inserisci link\"\n(lunghezza 0 oppure lunghezza max (255) superata)");
    document.formCMS_edit.link.focus();
    return false;
  }
  
  if (!document.formCMS_edit.attivo.checked) {
	var agree = confirm("ATTENZIONE!!!\n\nIl campo \'\'Attiva link\'\' non è stato flaggato\nQuesto record non verrà visualizzato on-line\n\nVuoi continuare?? (OK: si -- Annulla: no)");
	if (agree) {
	  document.formCMS_edit.attivo.checked = false;
	  return true;
	}else{
	  document.formCMS_edit.attivo.checked = false;
      document.formCMS_edit.attivo.focus();
	  return false;
	}
  }
  return true;
}

// GESTIONE CONTATTI (contatti_edit.asp)
function contactsValidate(form) {
    var nome   = form.nome.value;
    var mailto = form.mailto.value;

    if (nome == "") {
        alert("ATTENZIONE!!!\n\nIl campo NOME CONTATTO è obbligatorio");
		form.nome.focus();
        return false;
    }
	
    if (mailto == "") {
        alert("ATTENZIONE!!!\n\nIl campo INDIRIZZO E-MAIL è obbligatorio");
		form.mailto.focus();
        return false;
    } else {
	    if (mailto != "") {
	      if (!ControllaMail(mailto)) {
	        alert("ATTENZIONE!!!\n\nL'indirizzo EMAIL non è valido");
			form.mailto.focus();
	        return false;
	      }
		}
	}
	
	if (!form.attivo.checked) {
		var agree = confirm("ATTENZIONE!!!\n\nIl campo \'\'ATTIVO\'\' non è stato flaggato\nQuesto record non verrà visualizzato on-line\n\nVuoi continuare?? (OK: si -- Annulla: no)");
		if (agree) {
			form.attivo.checked = false;
			return true;
		}else{
			form.attivo.checked = false;
			form.attivo.focus();
		    return false;
		}
	}
    return true;
}

function ControllaMail(addr) {
   Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
   if (Filtro.test(addr))
      return true;
   else
      return false;
}


/* ************************************************* */
/* POPUP CHE SI AUTODIMENSIONA SU UNA IMMAGINE       */
/* ************************************************* */
function PrevFoto(img){
  foto1= new Image()
  foto1.src=(img)
  Controlla(img)
}
function Controlla(img){
  if((foto1.width!=0)&&(foto1.height!=0)){
    viewFoto(img);
  }
  else{
    funzione="Controlla('"+img+"')";
    intervallo=setTimeout(funzione,20);
  }
}
function viewFoto(img){
  largh=foto1.width;
  altez=foto1.height;
  posY=(screen.width-foto1.width)/2;
  posX=(screen.height-foto1.height)/2;
  stringa="width="+largh+",height="+altez+",top="+posX+",left="+posY;
  finestra=window.open(img,"",stringa);
}


/* ******************************************************** */
/* ****************** Rollover immagini ******************* */
/* ******************************************************** */
userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
function newImage(arg) {
  if (document.images) {
    rslt = new Image();
    rslt.src = arg;
    return rslt;
  }
}

function findElement(n,ly) {
  if (browserVers < 4)		return document[n];
  var curDoc = ly ? ly.document : document;
  var elem = curDoc[n];
  if (!elem) {
    for (var i=0;i<curDoc.layers.length;i++) {
      elem = findElement(n,curDoc.layers[i]);
      if (elem) return elem;
    }
  }
  return elem;
}

function changeImages() {
  if (document.images && (preloadFlag == true)) {
    var img;
    for (var i=0; i<changeImages.arguments.length; i+=2) {
      img = null;
      if (document.layers) {
        img = findElement(changeImages.arguments[i],0);
      }
      else {
        img = document.images[changeImages.arguments[i]];
      }
      if (img) {
        img.src = changeImages.arguments[i+1];
      }
    }
  }
}

var preloadFlag = false;
function preloadImages() {
  if (document.images) {
    //MENU PRINCIPALE
    comingSoon_04_over = newImage("images/comingSoon_04-over.gif");
    
    preloadFlag = true;
  }
}


/* ****************************************************** */
/* FUNZIONE per togliere cornice ai filmati flash in IE   */
/* ****************************************************** */
function loadswf(swf,w,h){
	document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"");
	document.write("codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\"");
	document.write("width=\""+w+"\" height=\""+h+"\">");
	document.write("<param name='movie' value='"+swf+"' />\n");
	document.write("<param name='quality' value='high' /><param name='wmode' value='transparent' />\n");
	document.write("<embed src=\""+swf+"\" quality=\"high\" wmode=\"transparent\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\""+w+"\" height=\""+h+"\"></embed>");
	document.write("</object>\n");
}
  

/* ************************************************************* */
/* 2 FUNZIONI per aprire il DIV di aiuto per l'editor di testo   */
/* ************************************************************* */
function overlay(curobj,subobj,w,h){
	if (document.getElementById){
		var subobj=document.getElementById(subobj);
		subobj.style.left=(screen.width-w)/2+"px";
		//distanza fissa e non calcolata
		//subobj.style.top=(screen.height-h)/2+"px"; 
		subobj.style.top=h+"px";
		subobj.style.zIndex=1;
		subobj.style.display="block";
		return false;
	}
	else
	  return true;
}
function overlayclose(subobj){ document.getElementById(subobj).style.display="none" }


/* ************************************************* */
/* COUNTDOWN CARATTERI SULLE TEXTAREA ************** */
/* ************************************************* */
function countChars(d) {
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testo.onkeydown = countChars;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testo.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimasti.value = 255;
		    document.formCMS_edit.testo.value = "";
			return true;
		}else{
			document.formCMS_edit.rimasti.value = 0;
		    document.formCMS_edit.testo.value = document.formCMS_edit.testo.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimasti.value = 255 - document.formCMS_edit.testo.value.length;
	  oldString = document.formCMS_edit.testo.value.substring(0,255);
	}
}

/* COUNTDOWN CARATTERI SULLA TEXTAREA DEL TESTO BREVE NEL FILE PRODOTTI_EDIT.ASP */
/* QUANDO MODIFICO I DATI DELLE CASE */
function countChars(d) {
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testoBreve.onkeydown = countChars;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testoBreve.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimasti.value = 255;
		    document.formCMS_edit.testoBreve.value = "";
			return true;
		}else{
			document.formCMS_edit.rimasti.value = 0;
		    document.formCMS_edit.testoBreve.value = document.formCMS_edit.testoBreve.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimasti.value = 255 - document.formCMS_edit.testoBreve.value.length;
	  oldString = document.formCMS_edit.testoBreve.value.substring(0,255);
	}
}

/* #### INIZIO #### */
/* COUNTDOWN CARATTERI SULLA TEXTAREA DELLA PAGINA galleryAlbums_edit.asp */
/* TESTI NELLE 5 POTENZIALI LINGUE */
function countCharsIt(d) { //ITALIANO
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testoIt.onkeydown = countCharsIt;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testoIt.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo in Italiano\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimastiIt.value = 255;
		    document.formCMS_edit.testoIt.value = "";
			return true;
		}else{
			document.formCMS_edit.rimastiIt.value = 0;
		    document.formCMS_edit.testoIt.value = document.formCMS_edit.testoIt.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimastiIt.value = 255 - document.formCMS_edit.testoIt.value.length;
	  oldString = document.formCMS_edit.testoIt.value.substring(0,255);
	}
}

function countCharsEn(d) { // INGLESE
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testoEn.onkeydown = countCharsEn;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testoEn.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo in Inglese\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimastiEn.value = 255;
		    document.formCMS_edit.testoEn.value = "";
			return true;
		}else{
			document.formCMS_edit.rimastiEn.value = 0;
		    document.formCMS_edit.testoEn.value = document.formCMS_edit.testoEn.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimastiEn.value = 255 - document.formCMS_edit.testoEn.value.length;
	  oldString = document.formCMS_edit.testoEn.value.substring(0,255);
	}
}

function countCharsFr(d) { // FRANCESE
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testoFr.onkeydown = countCharsFr;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testoFr.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo in Francese\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimastiFr.value = 255;
		    document.formCMS_edit.testoFr.value = "";
			return true;
		}else{
			document.formCMS_edit.rimastiFr.value = 0;
		    document.formCMS_edit.testoFr.value = document.formCMS_edit.testoFr.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimastiFr.value = 255 - document.formCMS_edit.testoFr.value.length;
	  oldString = document.formCMS_edit.testoFr.value.substring(0,255);
	}
}

function countCharsDe(d) { // TEDESCO
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testoDe.onkeydown = countCharsDe;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testoDe.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo in Tedesco\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimastiDe.value = 255;
		    document.formCMS_edit.testoDe.value = "";
			return true;
		}else{
			document.formCMS_edit.rimastiDe.value = 0;
		    document.formCMS_edit.testoDe.value = document.formCMS_edit.testoIt.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimastiDe.value = 255 - document.formCMS_edit.testoDe.value.length;
	  oldString = document.formCMS_edit.testoDe.value.substring(0,255);
	}
}

function countCharsEs(d) { // SPAGNOLO
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testoEs.onkeydown = countCharsEs;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testoEs.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo in Spagnolo\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimastiEs.value = 255;
		    document.formCMS_edit.testoEs.value = "";
			return true;
		}else{
			document.formCMS_edit.rimastiEs.value = 0;
		    document.formCMS_edit.testoEs.value = document.formCMS_edit.testoEs.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimastiEs.value = 255 - document.formCMS_edit.testoEs.value.length;
	  oldString = document.formCMS_edit.testoEs.value.substring(0,255);
	}
}
/* #### FINE #### */

/* COUNTDOWN CARATTERI SULLA TEXTAREA DELLA PAGINA FEEDBACKS.ASP */
/* TESTO POSITIVO */
function countChars_testoPositivo(d) {
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testoPositivo.onkeydown = countChars_testoPositivo;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testoPositivo.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimastiPos.value = 255;
		    document.formCMS_edit.testoPositivo.value = "";
			return true;
		}else{
			document.formCMS_edit.rimastiPos.value = 0;
		    document.formCMS_edit.testoPositivo.value = document.formCMS_edit.testoPositivo.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimastiPos.value = 255 - document.formCMS_edit.testoPositivo.value.length;
	  oldString = document.formCMS_edit.testoPositivo.value.substring(0,255);
	}
}
/* TESTO NEGATIVO */
function countChars_testoNegativo(d) {
	if (navigator.appName.indexOf("Netscape")>=0 &&
	    parseInt(navigator.appVersion) >=4) { var nn4 = true }
		document.formCMS_edit.testoNegativo.onkeydown = countChars_testoNegativo;
	if (nn4) document.captureEvents(Event.KEYDOWN);

	var oldString = "";

	if (document.formCMS_edit.testoNegativo.value.length> 255) {
        var agree = confirm("Hai raggiunto il numero massimo di caratteri disponibili (255)\n\n• \'\'OK\'\' per svuotare l\'area di testo\n• \'\'Annulla\'\' per visualizzare solo i primi 255 caratteri");
        if (agree) {
			document.formCMS_edit.rimastiNeg.value = 255;
		    document.formCMS_edit.testoNegativo.value = "";
			return true;
		}else{
			document.formCMS_edit.rimastiNeg.value = 0;
		    document.formCMS_edit.testoNegativo.value = document.formCMS_edit.testoNegativo.value.substring(0,255);
			return false;
		}
	} else {
	  document.formCMS_edit.rimastiNeg.value = 255 - document.formCMS_edit.testoNegativo.value.length;
	  oldString = document.formCMS_edit.testoNegativo.value.substring(0,255);
	}
}


  
/* **************************************************** */
/* ************** FUNZIONE MOLTI-A-MOLTI ************** */
/* **************************************************** */
var fromBoxArray = new Array();
var toBoxArray = new Array();
var selectBoxIndex = 0;
var arrayOfItemsToSelect = new Array();

function moveSingleElement() {
	var selectBoxIndex = this.parentNode.parentNode.id.replace(/[^\d]/g,'');
	var tmpFromBox;
	var tmpToBox;
	if(this.tagName.toLowerCase()=='select'){			
		tmpFromBox = this;
		if(tmpFromBox==fromBoxArray[selectBoxIndex])tmpToBox = toBoxArray[selectBoxIndex]; else tmpToBox = fromBoxArray[selectBoxIndex];
	}else{
		if(this.value.indexOf('>')>=0){
			tmpFromBox = fromBoxArray[selectBoxIndex];
			tmpToBox = toBoxArray[selectBoxIndex];			
		}else{
			tmpFromBox = toBoxArray[selectBoxIndex];
			tmpToBox = fromBoxArray[selectBoxIndex];	
		}
	}
	
	for(var no=0;no<tmpFromBox.options.length;no++){
		if(tmpFromBox.options[no].selected){
			tmpFromBox.options[no].selected = false;
			tmpToBox.options[tmpToBox.options.length] = new Option(tmpFromBox.options[no].text,tmpFromBox.options[no].value);
			
			for(var no2=no;no2<(tmpFromBox.options.length-1);no2++){
				tmpFromBox.options[no2].value = tmpFromBox.options[no2+1].value;
				tmpFromBox.options[no2].text = tmpFromBox.options[no2+1].text;
				tmpFromBox.options[no2].selected = tmpFromBox.options[no2+1].selected;
			}
			no = no -1;
			tmpFromBox.options.length = tmpFromBox.options.length-1;
		}			
	}
	
	var tmpTextArray = new Array();
	for(var no=0;no<tmpFromBox.options.length;no++){
		tmpTextArray.push(tmpFromBox.options[no].text + '___' + tmpFromBox.options[no].value);			
	}
	tmpTextArray.sort();
	var tmpTextArray2 = new Array();
	for(var no=0;no<tmpToBox.options.length;no++){
		tmpTextArray2.push(tmpToBox.options[no].text + '___' + tmpToBox.options[no].value);			
	}		
	tmpTextArray2.sort();
	
	for(var no=0;no<tmpTextArray.length;no++){
		var items = tmpTextArray[no].split('___');
		tmpFromBox.options[no] = new Option(items[0],items[1]);
	}		
	
	for(var no=0;no<tmpTextArray2.length;no++){
		var items = tmpTextArray2[no].split('___');
		tmpToBox.options[no] = new Option(items[0],items[1]);			
	}
}

function sortAllElement(boxRef) {
	var tmpTextArray2 = new Array();
	for(var no=0;no<boxRef.options.length;no++){
		tmpTextArray2.push(boxRef.options[no].text + '___' + boxRef.options[no].value);			
	}		
	tmpTextArray2.sort();		
	for(var no=0;no<tmpTextArray2.length;no++){
		var items = tmpTextArray2[no].split('___');
		boxRef.options[no] = new Option(items[0],items[1]);			
	}		
}

function moveAllElements() {
	var selectBoxIndex = this.parentNode.parentNode.id.replace(/[^\d]/g,'');
	var tmpFromBox;
	var tmpToBox;		
	if(this.value.indexOf('>')>=0){
		tmpFromBox = fromBoxArray[selectBoxIndex];
		tmpToBox = toBoxArray[selectBoxIndex];			
	}else{
		tmpFromBox = toBoxArray[selectBoxIndex];
		tmpToBox = fromBoxArray[selectBoxIndex];	
	}
	
	for(var no=0;no<tmpFromBox.options.length;no++){
		tmpToBox.options[tmpToBox.options.length] = new Option(tmpFromBox.options[no].text,tmpFromBox.options[no].value);			
	}	
	tmpFromBox.options.length=0;
	sortAllElement(tmpToBox);
}

/* This function highlights options in the "to-boxes". 
   It is needed if the values should be remembered after submit. 
   Call this function onsubmit for your form */
function multipleSelectOnSubmit() {
	for(var no=0;no<arrayOfItemsToSelect.length;no++){
		var obj = arrayOfItemsToSelect[no];
		for(var no2=0;no2<obj.options.length;no2++){
			obj.options[no2].selected = true;
		}
	}
}

function createMovableOptions(fromBox,toBox,totalWidth,totalHeight,labelLeft,labelRight) {		
	fromObj = document.getElementById(fromBox);
	toObj = document.getElementById(toBox);
	
	arrayOfItemsToSelect[arrayOfItemsToSelect.length] = toObj;
	
	fromObj.ondblclick = moveSingleElement;
	toObj.ondblclick = moveSingleElement;
	
	fromBoxArray.push(fromObj);
	toBoxArray.push(toObj);
	
	var parentEl = fromObj.parentNode;
	
	var parentDiv = document.createElement('DIV');
	parentDiv.className='multipleSelectBoxControl';
	parentDiv.id = 'selectBoxGroup' + selectBoxIndex;
	parentDiv.style.width = totalWidth + 'px';
	parentDiv.style.height = totalHeight + 'px';
	parentDiv.style.textAlign = 'center';
	parentEl.insertBefore(parentDiv,fromObj);
	
	var subDiv = document.createElement('DIV');
	subDiv.style.width = (Math.floor(totalWidth/2) - 15) + 'px';
	fromObj.style.width = (Math.floor(totalWidth/2) - 15) + 'px';
	
	var label = document.createElement('SPAN');
	label.innerHTML = labelLeft;
	subDiv.appendChild(label);
	
	subDiv.appendChild(fromObj);
	subDiv.className = 'multipleSelectBoxDiv';
	parentDiv.appendChild(subDiv);
	
	var buttonDiv = document.createElement('DIV');
	buttonDiv.style.verticalAlign = 'middle';
	buttonDiv.style.paddingTop = (totalHeight/2) - 50 + 'px';
	buttonDiv.style.width = '30px';
	buttonDiv.style.textAlign = 'center';
	parentDiv.appendChild(buttonDiv);
	
	var buttonRight = document.createElement('INPUT');
	buttonRight.type='button';
	buttonRight.value = '>';
	buttonRight.style.textAlign = 'center';
	buttonDiv.appendChild(buttonRight);	
	buttonRight.onclick = moveSingleElement;	
	
	var buttonAllRight = document.createElement('INPUT');
	buttonAllRight.type='button';
	buttonAllRight.value = '>>';
	buttonAllRight.style.textAlign = 'center';
	buttonAllRight.onclick = moveAllElements;
	buttonDiv.appendChild(buttonAllRight);		
	
	var buttonLeft = document.createElement('INPUT');
	buttonLeft.style.marginTop='10px';
	buttonLeft.type='button';
	buttonLeft.value = '<';
	buttonLeft.style.textAlign = 'center';
	buttonLeft.onclick = moveSingleElement;
	buttonDiv.appendChild(buttonLeft);		
	
	var buttonAllLeft = document.createElement('INPUT');
	buttonAllLeft.type='button';
	buttonAllLeft.value = '<<';
	buttonAllLeft.style.textAlign = 'center';
	buttonAllLeft.onclick = moveAllElements;
	buttonDiv.appendChild(buttonAllLeft);
	
	var subDiv = document.createElement('DIV');
	subDiv.style.width = (Math.floor(totalWidth/2) - 15) + 'px';
	toObj.style.width = (Math.floor(totalWidth/2) - 15) + 'px';
	
	var label = document.createElement('SPAN');
	label.innerHTML = labelRight;
	subDiv.appendChild(label);
			
	subDiv.appendChild(toObj);
	parentDiv.appendChild(subDiv);		
	
	toObj.style.height = (totalHeight - label.offsetHeight) + 'px';
	fromObj.style.height = (totalHeight - label.offsetHeight) + 'px';
	
	selectBoxIndex++;
}

/* **************************************************** */
/* ************ FUNZIONE bubble tooltips ************** */
/* **************************************************** */
function enableTooltips(id){
	var links,i,h;
	if(!document.getElementById || !document.getElementsByTagName) return;
	AddCss();
	h=document.createElement("span");
	h.id="btc";
	h.setAttribute("id","btc");
	h.style.position="absolute";
	document.getElementsByTagName("body")[0].appendChild(h);
	if(id==null) links=document.getElementsByTagName("a");
	else links=document.getElementById(id).getElementsByTagName("a");
	for(i=0;i<links.length;i++){ Prepare(links[i]); }
}

function Prepare(el){
	var tooltip,t,b,s,l;
	t=el.getAttribute("title");
	if(t==null || t.length==0) t="link:";
	el.removeAttribute("title");
	tooltip=CreateEl("span","tooltip");
	s=CreateEl("span","top");
	s.appendChild(document.createTextNode(t));
	tooltip.appendChild(s);
	b=CreateEl("b","bottom");
	l=el.getAttribute("href");
	if(l.length>30) l=l.substr(0,27)+"...";
	//commentato per non far comparire il link in fondo al tooltip
	//b.appendChild(document.createTextNode(l)); 
	tooltip.appendChild(b);
	setOpacity(tooltip);
	el.tooltip=tooltip;
	el.onmouseover=showTooltip;
	el.onmouseout=hideTooltip;
	el.onmousemove=Locate;
}

function showTooltip(e){
	document.getElementById("btc").appendChild(this.tooltip);
	Locate(e);
}

function hideTooltip(e){
	var d=document.getElementById("btc");
	if(d.childNodes.length>0) d.removeChild(d.firstChild);
}

function setOpacity(el){
	el.style.filter="alpha(opacity:95)";
	el.style.KHTMLOpacity="0.95";
	el.style.MozOpacity="0.95";
	el.style.opacity="0.95";
}

function CreateEl(t,c){
	var x=document.createElement(t);
	x.className=c;
	x.style.display="block";
	return(x);
}

function AddCss(){
	var l=CreateEl("link");
	l.setAttribute("type","text/css");
	l.setAttribute("rel","stylesheet");
	l.setAttribute("href","bt.css");
	l.setAttribute("media","screen");
	document.getElementsByTagName("head")[0].appendChild(l);
}

function Locate(e){
var posx=0,posy=0;
if(e==null) e=window.event;
if(e.pageX || e.pageY){ posx=e.pageX; posy=e.pageY; }
else if(e.clientX || e.clientY){
    if(document.documentElement.scrollTop){
        posx=e.clientX+document.documentElement.scrollLeft;
        posy=e.clientY+document.documentElement.scrollTop;
        }
    else{
        posx=e.clientX+document.body.scrollLeft;
        posy=e.clientY+document.body.scrollTop;
        }
    }
document.getElementById("btc").style.top=(posy+10)+"px";
document.getElementById("btc").style.left=(posx-20)+"px";
}

