//FUNZIONE PER MENU TENDINA
//parametri: il contenitore del menu
//associa le classi "hafigli" agli elementi di una lista che contengono una sottolista
//associa la classe "active" agli elementi attivati dal mouseover e mostra la lista sottostante
function rollmenu(container) {
	var arr = document.getElementById(container).getElementsByTagName("li");
	var i;
	for (i=0; i<arr.length; i++) {

	 	if (arr[i].getElementsByTagName("ul")[0]) {
			arr[i].getElementsByTagName("a")[0].className += " hafigli ";		
		}

		arr[i].onmouseover = function() {
			this.getElementsByTagName("a")[0].className += " active ";
			if (this.getElementsByTagName("ul")[0]) this.getElementsByTagName("ul")[0].style.display="block";
		}
		arr[i].onmouseout = function() {
			this.getElementsByTagName("a")[0].className=this.getElementsByTagName("a")[0].className.replace("active","");			
			if (this.getElementsByTagName("ul")[0]) this.getElementsByTagName("ul")[0].style.display="none";
		}
	}
}

	function trim(strIn){
	    while (strIn.substring(0,1) == ' '){
	        strIn = strIn.substring(1, strIn.length);
	    }
	    while (strIn.substring(strIn.length-1, strIn.length) == ' '){
	        strIn = strIn.substring(0,strIn.length-1);
	    }
	    return strIn;
	}
    


//SIMULA LA PSEUDO-CLASSE "FOCUS" - v.1.1 (ora può avere la propria classe, ne viene aggiunta un'altra)
function setFocus(elemento) {
	elemento.className+=" focus";
}

function unsetFocus(elemento) {
	elemento.className=elemento.className.replace('focus', '');
}

//FUNZIONE PER MOSTRARE I LINK ATTIVI
// richiamare la funzione nel tag body con onLoad e passare come parametro l'id del contenitore del menu
// non serve assegnare nessun valore particolare all'html.
// non funziona coi link indicizzabili ma tanto nel menu di navigazione non ci sono le categorie ;)

function currentlink(contenitore) {

	var stringa_get = document.location.href;		
	var menu = new Array();		
	menu = document.getElementById(contenitore).getElementsByTagName("a");
	if (stringa_get.match("php")) { //cioè se sono nel caso www.nomedominio.com/qualcosa.PHP <--
		var i;
		for (i=0; i<menu.length; i++) {			
			if (stringa_get.match(menu[i].href)) menu[i].className = "active";
		}
	} else menu[0].className = "active";
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


var wiN;

function openWin(nomeFile,nomeFinestra,parametri,larghezza,altezza,barre,ridimensione,centrato) {

	option="toolbar=no,width=" + larghezza + ",height=" + altezza +",resizable=" + ridimensione + ",scrollbars=" + barre
	if (centrato=='yes') {
		LeftPosition = (screen.width) ? (screen.width-larghezza)/2 : 0;
		TopPosition = (screen.height) ? (screen.height-altezza)/2 : 0;
		option=option + ",top="+TopPosition+",left="+LeftPosition
	}
	wiN = window.open(nomeFile + "?titolo=" + nomeFinestra + parametri,nomeFinestra,option);
}

 function checkFormPrivacy() {
    obj=eval("document.contatti");
    nome=obj.nome.value;
    cognome=obj.cognome.value;
    prov=obj.provincia.value;
    email=obj.email.value;
    messaggio=obj.messaggio.value;
    privacy=obj.privacy.checked;
    if ( (nome=="") || (cognome=="") || (prov==-1) || (email=="") || (messaggio=="") || (!privacy))
	{
        alert("ATTENZIONE\nCompletare tutti i dati obbligatori per inviare la richiesta\n\nGrazie")
    }
    else if(confirm("Sei sicuro di voler inviare la richiesta di contatto?"))
    {
        obj.submit();
    }
 }

 function checkFormPrivacyEN() {
    obj=eval("document.contatti");
    nome=obj.nome.value;
    cognome=obj.cognome.value;
    prov=obj.provincia.value;
    email=obj.email.value;
    messaggio=obj.messaggio.value;
    privacy=obj.privacy.checked;
    if ( (nome=="") || (cognome=="") || (prov==-1) || (email=="") || (messaggio=="") || (!privacy))
	{
        alert("Please complete all required fields\nThanks.");
    }
    else if(confirm("Send the request?"))
    {
        obj.submit();
    }
 }

 function checkForm() {
    obj=eval("document.contatti");
    nome=obj.nome.value;
    cognome=obj.cognome.value;
    prov=obj.provincia.value;
    email=obj.email.value;
    messaggio=obj.messaggio.value;
    if ( (nome=="") || (cognome=="") || (prov==-1) || (email=="") || (messaggio=="") )
	{
        alert("ATTENZIONE\nCompletare tutti i dati obbligatori per inviare la richiesta\n\nGrazie")
    }
    else if(confirm("Sei sicuro di voler inviare la richiesta di contatto?"))
    {
        obj.submit();
    }
 }

 // Spam-proof email by deanq.com
function vmemail(who,subject,domain,body) {
  if (!who) var who = "info";
  if (!domain) var domain = "sito.com";
  if (!subject) var subject = "Richiesta Informazioni";
  if (!body) var body = " ";
  eval("location.href='mailto:" + who + "@" + domain + "?subject=" + subject + "&body=" + body + "'");
}

function verificaUsername() {
	if (document.frmVerificaUsername.username.value=="") {
		alert("Devi inserire la tua username con la quale hai effettuato l'iscrizione");
	} else {
		document.frmVerificaUsername.submit();
	}
}

function cambiaPwd() {
	if (confirm("Sei sicuro di voler ottenere una nuova password?")) {
		document.frmCambiaPwd.submit();
	} else {
		return false;
	}
}


function ckForm() {
	// ck la form per inserire un nuovo cliente

	/**
	 *	Controllo solo Ragione sociale, Telefono, Email
	 *	gli altri controlli li lascio per dopo.
	 */

	error = false;
	msgError = "";
	fieldToFocus = "";

	form = eval("document.new_customer");

	if (form.privacy.checked) {
		ragSoc = form.elements["cliente[rag_soc]"].value;
		telefono = form.elements["cliente[telefono]"].value;
        citta = form.elements["cliente[comune]"].value;
        cap = form.elements["cliente[CAP]"].value;
        provincia = form.elements["cliente[prov]"].value;
		username = form.elements["cliente[user]"].value;
		pwd1 = form.elements["cliente[pwd1]"].value;
		pwd2 = form.elements["cliente[pwd2]"].value;

		if ((pwd1 == "") || (pwd2 == "")) {
			error = true;
			msgError += "Compilare il campo 'Password'.\n";
			if (pwd1 == "") {
				fieldToFocus = "cliente[pwd1]";
			} else {
				fieldToFocus = "cliente[pwd2]";
			}
		} else {
			if (pwd1 != pwd2) {
				error = true;
				msgError = "Le password inserite devono coincidere.\n"+msgError;
				fieldToFocus = "cliente[pwd2]";
			} else {
				if (pwd1.length < 6) {
					error = true;
					msgError = "La password deve contenere almeno 6 caratteri.\n"+msgError;
					fieldToFocus = "cliente[pwd1]";
				}
			}
		}
		if (username == "") {
			error = true;
			msgError = "Compilare il campo 'Email/Username'.\n"+msgError;
			fieldToFocus = "cliente[user]";
		}
		if (citta == "") {
			error = true;
			msgError = "Compilare il campo 'Città'.\n"+msgError;
			fieldToFocus = "cliente[comune]";
		}
        if (cap == "") {
			error = true;
			msgError = "Compilare il campo 'CAP'.\n"+msgError;
			fieldToFocus = "cliente[CAP]";
		}
        if (provincia == -1) {
			error = true;
			msgError = "Compilare il campo 'Provincia'.\n"+msgError;
			fieldToFocus = "cliente[prov]";
		}
		if (telefono == "") {
			error = true;
			msgError = "Compilare il campo 'Telefono'.\n"+msgError;
			fieldToFocus = "cliente[telefono]";
		}
		if (ragSoc == "") {
			error = true;
			msgError = "Compilare il campo 'Ragione Sociale'.\n"+msgError;
			fieldToFocus = "cliente[rag_soc]";
		}

		if (!error) {
			// nn ci sn errori
			if (confirm("Confermi i dati inseriti?")) {
				document.new_customer.azione.value="salva";
				document.new_customer.submit();
			}
		} else {
			alert(msgError);
			form.elements[fieldToFocus].focus();
		}
	} else {
		alert("E' necessario accettare l'autorizzazione per il trattamento dei dati personali per procedere con l'iscrizione.")
	}
}

function cambiaInfoUtente() {

	form = eval("document.frmCambiaInfoUtente");
	error = false;
	msgError="";

	ragSoc = form.elements["rag_soc"].value;
	telefono = form.elements["telefono"].value;
    citta = form.elements["citta"].value;
    cap = form.elements["cap"].value;
    provincia = form.elements["prov_id"].value;
	email = form.elements["email"].value;
    indirizzo = form.elements["indirizzo"].value;

	if (email == "") {
		error = true;
		msgError = "Compilare il campo 'Email/Username'.\n"+msgError;
	}
	if (citta == "") {
		error = true;
		msgError = "Compilare il campo 'Città'.\n"+msgError;
	}
    if (cap == "") {
		error = true;
		msgError = "Compilare il campo 'CAP'.\n"+msgError;
	}
    if (provincia == -1) {
		error = true;
		msgError = "Compilare il campo 'Provincia'.\n"+msgError;
	}
	if (telefono == "") {
		error = true;
		msgError = "Compilare il campo 'Telefono'.\n"+msgError;
	}
    if (indirizzo == "") {
		error = true;
		msgError = "Compilare il campo 'Indirizzo'.\n"+msgError;
	}
	if (ragSoc == "") {
		error = true;
		msgError = "Compilare il campo 'Ragione Sociale'.\n"+msgError;
	}

	if (!error) {
		// nn ci sn errori
		if (confirm("Confermi i dati inseriti?")) {
			document.frmCambiaInfoUtente.submit();
		}
	} else {
		alert(msgError);
	}

}


function controllaPermessi() {
	if ((window.opener!==null) && (window.opener!==undefined) ) {
	} else {
		window.location.href = "http://www.blisite.net";
	}
}

function sendrfq() {
	/**
	invia la richiesta di quotazione
	*/
	
	error = false;
	msgError = "";
	
	objForm = eval("document.quotationForm");
	
	if (!objForm.privacy.checked) {
		error = true;
		msgError += "Accettare l'informativa sulla privacy.\n";
	}
	
	mainPrefix = "s_quotazioni";
	
	prefixInfoMittente = mainPrefix+"[infoMittente]";
	prefixInfoMerce = mainPrefix+"[infoMerce]";
	prefixInfoDestinazione = mainPrefix+"[infoDestinazione]";
	
	// info mittente	
	ragSoc = trim(objForm.elements[prefixInfoMittente+"[ragSoc]"].value);
	if (ragSoc == "") {
		error = true;
		msgError += "Compilare il campo 'Ragione Sociale'.\n";
	}
	objForm.elements[prefixInfoMittente+"[ragSoc]"].value = ragSoc;
	
//	provincia = objForm.elements[prefixInfoMittente+"[provincia]"][objForm.elements[prefixInfoMittente+"[provincia]"].selectedIndex].value;
	provincia = $("#provincia").val();
	if (provincia == "") {
		error = true;
		msgError += "Selezionare la propria provincia.\n";
	}
	
	stato = $("#stato").val();
	if (stato == "") {
		error = true;
		msgError += "Selezionare la nazionalit\u00E0.\n";
	}
	
	telefono = trim(objForm.elements[prefixInfoMittente+"[telefono]"].value);
	if (telefono == "") {
		error = true;
		msgError += "Inserire il proprio recapito telefonico.\n";
	}
	objForm.elements[prefixInfoMittente+"[telefono]"].value = telefono;
	
	fax = trim(objForm.elements[prefixInfoMittente+"[fax]"].value);
	if (fax == "") {
		error = true;
		msgError += "Inserire il proprio fax.\n";
	}
	objForm.elements[prefixInfoMittente+"[fax]"].value = fax;
	
	email = trim(objForm.elements[prefixInfoMittente+"[email]"].value);
	if (email == "") {
		error = true;
		msgError += "Inserire il proprio indirizzo email.\n";
	}
	objForm.elements[prefixInfoMittente+"[email]"].value = email;
	
	riferimento = trim(objForm.elements[prefixInfoMittente+"[riferimento]"].value);
	if (riferimento == "") {
		error = true;
		msgError += "Inserire il nome della persona di riferimento.\n";
	}
	objForm.elements[prefixInfoMittente+"[riferimento]"].value = riferimento;
	
	
	// info merce
	servizio1 = objForm.elements[prefixInfoMerce+"[servizio1]"][objForm.elements[prefixInfoMerce+"[servizio1]"].selectedIndex].value;
	if (servizio1 == "") {
		error = true;
		msgError += "Selezionare che tipo di servizio di desidera utilizzare.\n";
	}
	
	servizio2 = objForm.elements[prefixInfoMerce+"[servizio2]"][objForm.elements[prefixInfoMerce+"[servizio2]"].selectedIndex].value;
	if (servizio2 == "") {
		error = true;
		msgError += "Selezionare se si tratta di import oppure export.\n";
	}
	
	resaMerce = objForm.elements[prefixInfoMerce+"[resaMerce]"][objForm.elements[prefixInfoMerce+"[resaMerce]"].selectedIndex].value;
	if (resaMerce == "") {
		error = true;
		msgError += "Impostare le informazioni relative al reso.\n";
	}
//	objForm.elements[prefixInfoMerce+"[resaMerce]"].value = resaMerce;
	
	dettagliMerce = trim(objForm.elements[prefixInfoMerce+"[dettagliMerce]"].value);
	if (dettagliMerce == "") {
		error = true;
		msgError += "Scrivere una descrizione della merce.\n";
	}
	objForm.elements[prefixInfoMerce+"[dettagliMerce]"].value = dettagliMerce;
	
	// info destinazione merce
	capDest = trim(objForm.elements[prefixInfoDestinazione+"[capDest]"].value);
	statoDest = trim(objForm.elements[prefixInfoDestinazione+"[statoDest]"].value);
	if (statoDest == "Italy") {
		// sn in italia
		if (!capDest.match(/^([0-9]{5})$/)) {
			error = true;
			msgError += "Impostare correttamente il cap della localit\u00E0 di destinazione.\n";
		}
	} else {
//		if (!capDest.match(/^([0-9]+)$/)) {
		if (capDest == "") {
			// se sn all'estero controllo semplicemente che non sia vuoto...e come lo metot altrimetni!?!?
			error = true;
			msgError += "Impostare correttamente il cap della localit\u00E0 di destinazione.\n";
		}		
	}
	objForm.elements[prefixInfoDestinazione+"[capDest]"].value = capDest;
	
	
	if (statoDest == "") {
		error = true;
		msgError += "Impostare lo stato di destinazione.\n";
	}
	objForm.elements[prefixInfoDestinazione+"[statoDest]"].value = statoDest;
	
	if (error) {
		alert(msgError);
	} else {
		if (confirm("Inviare la richiesta di quotazione?")) {
			objForm.azioneQuotazione.value="sendQuotazione";
			objForm.submit();
		}
	}
	
}


function sendrfqEn() {
	/**
	invia la richiesta di quotazione
	*/
	
	error = false;
	msgError = "";
	
	objForm = eval("document.quotationForm");
	
	if (!objForm.privacy.checked) {
		error = true;
		msgError += "Check the privacy form.\n";
	}
	
	mainPrefix = "s_quotazioni";
	
	prefixInfoMittente = mainPrefix+"[infoMittente]";
	prefixInfoMerce = mainPrefix+"[infoMerce]";
	prefixInfoDestinazione = mainPrefix+"[infoDestinazione]";
	
	// info mittente	
	ragSoc = trim(objForm.elements[prefixInfoMittente+"[ragSoc]"].value);
	if (ragSoc == "") {
		error = true;
		msgError += "'Company name' value missing.\n";
	}
	objForm.elements[prefixInfoMittente+"[ragSoc]"].value = ragSoc;
	
//	provincia = objForm.elements[prefixInfoMittente+"[provincia]"][objForm.elements[prefixInfoMittente+"[provincia]"].selectedIndex].value;
	provincia = $("#provincia").val();
	if (provincia == "") {
		error = true;
		msgError += "'City' value missing.\n";
	}
	
	stato = $("#stato").val();
	if (stato == "") {
		error = true;
		msgError += "'State' value missing.\n";
	}
	
	telefono = trim(objForm.elements[prefixInfoMittente+"[telefono]"].value);
	if (telefono == "") {
		error = true;
		msgError += "'Telephone' value missing.\n";
	}
	objForm.elements[prefixInfoMittente+"[telefono]"].value = telefono;
	
	fax = trim(objForm.elements[prefixInfoMittente+"[fax]"].value);
	if (fax == "") {
		error = true;
		msgError += "'Fax' value missing.\n";
	}
	objForm.elements[prefixInfoMittente+"[fax]"].value = fax;
	
	email = trim(objForm.elements[prefixInfoMittente+"[email]"].value);
	if (email == "") {
		error = true;
		msgError += "'Email' value missing.\n";
	}
	objForm.elements[prefixInfoMittente+"[email]"].value = email;
	
	riferimento = trim(objForm.elements[prefixInfoMittente+"[riferimento]"].value);
	if (riferimento == "") {
		error = true;
		msgError += "'Reference' value missing.\n";
	}
	objForm.elements[prefixInfoMittente+"[riferimento]"].value = riferimento;
	
	
	// info merce
	servizio1 = objForm.elements[prefixInfoMerce+"[servizio1]"][objForm.elements[prefixInfoMerce+"[servizio1]"].selectedIndex].value;
	if (servizio1 == "") {
		error = true;
		msgError += "Select the type of service you need.\n";
	}
	
	servizio2 = objForm.elements[prefixInfoMerce+"[servizio2]"][objForm.elements[prefixInfoMerce+"[servizio2]"].selectedIndex].value;
	if (servizio2 == "") {
		error = true;
		msgError += "Choose between 'import' and 'export'.\n";
	}
	
	resaMerce = objForm.elements[prefixInfoMerce+"[resaMerce]"][objForm.elements[prefixInfoMerce+"[resaMerce]"].selectedIndex].value;
	if (resaMerce == "") {
		error = true;
		msgError += "Set Sales term conditions.\n";
	}
//	objForm.elements[prefixInfoMerce+"[resaMerce]"].value = resaMerce;
	
	dettagliMerce = trim(objForm.elements[prefixInfoMerce+"[dettagliMerce]"].value);
	if (dettagliMerce == "") {
		error = true;
		msgError += "Type a short description of the goods.\n";
	}
	objForm.elements[prefixInfoMerce+"[dettagliMerce]"].value = dettagliMerce;
	
	// info destinazione merce
	capDest = trim(objForm.elements[prefixInfoDestinazione+"[capDest]"].value);
	if (!capDest.match(/^[0-9]{5}$/)) {
		error = true;
		msgError += "Set the zip code of destination.\n";
	}
	objForm.elements[prefixInfoDestinazione+"[capDest]"].value = capDest;
	
	statoDest = trim(objForm.elements[prefixInfoDestinazione+"[statoDest]"].value);
	if (statoDest == "") {
		error = true;
		msgError += "Set the State of destination.\n";
	}
	objForm.elements[prefixInfoDestinazione+"[statoDest]"].value = statoDest;
	
	if (error) {
		alert(msgError);
	} else {
		if (confirm("Send the request?")) {
			objForm.azioneQuotazione.value="sendQuotazione";
			objForm.submit();
		}
	}
	
}


function searchForCode() {
	if (document.frmTracking.trackingCode.value != "") {
		document.frmTracking.azioneTracking.value="searchCode";
		document.frmTracking.submit();
	} else {
		return false;
	}
}

	function checkEnter(ev) { 			//e is event object passed from function invocation
		var characterCode 				//literal character code will be stored in this variable

		if (ev && ev.which) { 			//if which property of event object is supported (NN4)
			characterCode = ev.which; 	//character code is contained in NN4's which property
		} else {
			characterCode = ev.keyCode; 	//character code is contained in IE's keyCode property
		}
		
		if (characterCode == 13) { 		//if generated character code is equal to ascii 13 (if enter key)
			return searchForCode();
		} else {
			return true;
		}
	}
