var cmdSPage = '/NaturaleItaliano/doAction/site/ShowPage';
function blocca_tasto_dx()
{
   return(false);
}
document.oncontextmenu = blocca_tasto_dx;
//Funzione per ricaricare pagina da una form
function reloadPageFF(objectForm, thisNodeName) {
	objectForm.ndname.value = thisNodeName;
	objectForm.reloadPage.value='Y';
	objectForm.action = cmdSPage;
	objectForm.target = '_self';
	objectForm.submit();
}
function reloadPageRF(objectForm, thisNodeName) {
	objectForm.ndname.value = thisNodeName;
	objectForm.reloadPage.value='Y';
	objectForm.action = '/NaturaleItaliano/doAction/site/RegisterForm';
	objectForm.submit();
}
function gotoPage(objectForm, thisNodeName) {
	objectForm.ndname.value = thisNodeName;
	objectForm.reloadPage.value='N';
	objectForm.action = cmdSPage;
	objectForm.target = '_self';
	objectForm.submit();
}
//Controllo se valore numerico
//in: sText -> Valore numerico
//return true  è numerico
function IsNumeric(sText) {	
	//isNan --> restituisce false se il valore è numerico
	var ckNum = isNaN(sText);
	return !ckNum;
}	
//Controllo quantità	
//in: objectInput	--> campo
function checkQty(objectInput) {
	var message = "";
	var ol = objectInput.value.length;
	if(!IsNumeric(objectInput.value)) {
		message = msgInfo('ERRJS_OR_QUANTNUM');
		alert(message);
		if((ol -1) > 0) objectInput.value= objectInput.value.substring(0, ol - 1);
		else objectInput.value='1';
	}
} 

//Funzione per controllo e sottomissione carrello
//In :	objectForm		--> Form
//		typeSend		--> Tipologia invio	--> (upd/buy)
//Controllo campo isChangeField per verficare se ci sono stati cambiamenti: 0 no 1 si
function sendCart(objectForm, typeSend) {
	var isChangeFields = objectForm.isChangeFields.value;
	if(typeSend == 'upd') objectForm.submit();
	else {
		if(isChangeFields == '1') {
			var message = msgInfo('OR_JS_UPDATE');
			alert(message);
		} else {	
			objectForm.action = cmdSPage;
			objectForm.ndname.value = 'tuoiDatiShop';
			objectForm.submit();
		}
	}
} 
 

//Controllo EMAIL
//out: true 	--> se corretta
function checkMAIL(ctrlText) {
	var rexpNumeric = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4})(\\]?)$");
	var isCorrect = false;
	isCorrect = rexpNumeric.test(ctrlText);
  	//alert('checkEMAIL isCorrect ' + isCorrect);
  	return isCorrect;
}
function trim(str) {
	if (str != null) {
		var i;         
		for (i=0; i<str.length; i++) {           
			if (str.charAt(i)!=" ") {                
				str=str.substring(i,str.length);                
				break;           
			}        
		}             
		for (i=str.length-1; i>=0; i--) {            
			if (str.charAt(i)!=" ") {                
				str=str.substring(0,i+1);                
				break;           
			}         
		}                
		if (str.charAt(0)==" ") {            
			return "";         
		} else {            
			return str;         
		}    
	}
} 


//FUnzione per controllo dati  spedizione
function checkAddress(objectForm) {
	//var	phone = objectForm.A_phone1.value;
	var preint = objectForm.preint_phone1.value;
	var preloc = objectForm.preloc_phone1.value;
	var num = objectForm.num_phone1.value;
	var email =  objectForm.email.value;
	var fname = objectForm.fname.value;
	var lname = objectForm.lname.value;
	var addr = objectForm.indi.value;
	var nciv = objectForm.nciv.value;
	var city = objectForm.city.value;
	var state = objectForm.state.value;
	var zipcode = objectForm.zipcode.value;
	var nazione = objectForm.country.value;
	var company = objectForm.company.value;
	var ckError = false;
	var msgError = '';
	
	var nickname = objectForm.nickname.value;
	if(nickname == '') {
		ckError = true;
		msgError = msgInfo('ERR_JS_INSFIELD') + '\n';
	} else {
		//CONTROLLI SUL NICKNAME SE INSERIMENTO
		if(objectForm.nickname.type == 'text') {
			var maxI = 1;
			objParent = parent.document.listAddress;
			var lID = objParent.addressId.length;
			if(objectForm.parentNode.value=='spedizione') maxI = 2; //Vuoto  + tuoi dati;
			if((objectForm.thisUserNick.value == nickname) || (nickname == (objectForm.thisUserNick.value  + '_fatt')) || (nickname == (objectForm.thisUserNick.value  + '_fatt_default'))) {
				msgError = msgInfo('ERR_JS_ERRNICKFIELD') + '\n';
				ckError = true;
			}
			if((lID > maxI) &&  !ckError) {
				for(var i = maxI; i < objParent.addressId.length; i++) {
					if(objParent.addressId[i].text == nickname){
						msgError = msgInfo('ERR_JS_INSNICKFIELD') + '\n';
						ckError = true;
						i = objParent.addressId.length;
					}
				}
			}
		}
		if(!ckError) {
			if(	(fname == '') || (lname == '') ||
			(addr == '') || (nciv == '') || (city == '')  || (nazione == '') || (zipcode == '') ||
			(email == '') || (preint == '') || (preloc == '') || (num == '') || 
			(company == '') 
		) {
				ckError = true;
				msgError = msgInfo('ERR_JS_INSFIELD') + '\n';
			} else ckError = false;
		}
	}
	if(!ckError) {
		var ckMail = true;
		ckMail = checkMAIL(email);
		var ckZip = IsNumeric(zipcode);
		var ckPhonePI = IsNumeric(preint);
		var ckPhonePL = IsNumeric(preloc);
		var ckPhoneN = IsNumeric(num);
		var ckPhone = false;
		if(ckPhonePI && ckPhonePL && ckPhoneN) ckPhone = true;
		if(!ckMail || !ckZip || !ckPhone)  {
			msgError = msgInfo('ERR_JS_FIELDNOTVALID') + '\n';
			if(!ckMail) msgError = msgError + msgInfo('MAIL') + '\n';
			if(!ckZip) msgError = msgError + msgInfo('ZIPCODE') + '\n';
			if(!ckPhone) msgError = msgError + msgInfo('PHONE') + '\n';
			ckError = true;
		}
	}
	//alert('ckError' + objectForm.action);
	 
	if(!ckError) {
		objectForm.address1.value = addr + "#nciv#" + nciv;
		objectForm.A_phone1.value = preint + "_" + preloc + "_" + num;
		objectForm.submit();
	} else alert(msgError);
}      

/* Aggiunta prodotti al carrello o preferiti 
   in: 	type 	--> Tipologia:  P - Preferiti / S - Shop
   		itemId	--> Identificato			
*/
function addProduct(type, itemId) {
	doc = document.frmAdd;
	docL = document.frmListItem;
	var boxQta = eval('document.frmListItem.qta' + itemId);
	var qI = boxQta[boxQta.selectedIndex].value;
	if(qI == 0) 	{
		var message = msgInfo('ERRJS_OR_QUANTNUM');
		alert(message);
	} else {
		if(type == 'S') {
			doc.qty.value = qI;
			doc.cerfnbr.value=itemId;
			
		} else {
			alert('PRODOTTO');
		}
		doc.submit();
	}
}

function openPopup(urlTo){
	var titlePopUp = "NaturaleItaliano";
	ow = window.open(urlTo,titlePopUp,'width=550,height=600,scrollbars=yes,menubar=no,resizable=yes');
	ow.focus();

	}
	
	
	//Funzione per controllo e sottomissione registrazione utente
//In :	objectForm		--> Form
//Controllo sulla validita' dei campi del form di registrazione
//Chiamata da registerForm.jsp
function RegUsrValidate(objectForm){
	var errore = false;
	var err_msg = "";
	var loggato = objectForm.isLogged.value;
	
	var nome = objectForm.fname.value;	
	var cognome = objectForm.lname.value;	
	var indi = objectForm.indi.value;
	var nciv = objectForm.nciv.value;
	var cap = objectForm.zipcode.value;
	var citta = objectForm.city.value;
	var nazione = objectForm.country[objectForm.country.selectedIndex].value;
	var prov = '';
	if(nazione == 'ITA') prov = objectForm.state[objectForm.state.selectedIndex].value;
	else prov = objectForm.state.value;
	var phone = objectForm.address3.value;
	var fax = objectForm.adfield1.value;
	var email = objectForm.email.value;	

	var piva = objectForm.address2.value;
	
	
	// se sono loggato i tre campi LOGINID, PWD e PWDCONF non devono essere controllati
	var login = "X";
	var pwd = "X";
	var pwdconf = "X";	

	if (loggato=="NO") {
		login = objectForm.loginid.value;
		pwd = objectForm.password.value;
		pwdconf = objectForm.pswdconf.value;	
	}
	

	if((nome == '') || (cognome == '') || (email == '') || (login == '') || (pwd == '') || (pwdconf == '') ||
		(indi == '') || (nciv == '') || (cap == '') || (citta == '') || (nazione == '') || (prov == '') ||
		(phone == '') || (fax == '') || (email == '') || (piva == '')  
	) {
		errore = true;
		err_msg = msgInfo('ERR_JS_INSFIELD');
	} else {
		// controlla la validita' della partita iva
		if(piva != ''){
			piva = piva.toUpperCase();
			var v1 = getIso(nazione);
			if(v1 == '') checkPIVA(piva);
			else {
				piva = v1 + piva;
				ckIva = checkPIVA_UE(piva);			
				if(!ckIva) {
					
					err_msg = msgInfo('ERR_JS_FIELDNOTVALID') + '\n';
					err_msg = msgInfo('PIVA');
					errore = true;
					
				}
			}
		}
		
			
		// controllo validita' compilazione campO MAIL
		var ckMail = checkMAIL(email);
		if(!ckMail)  {
			err_msg = msgInfo('ERR_JS_FIELDNOTVALID') + '\n';
			if(!ckMail) err_msg = err_msg + msgInfo('MAIL') + '\n';
			errore = true;
		}
		// controllo validita' compilazione campi CAP e TELEFONO
		if((cap != '') || (phone != '') ){
			var ckZip = IsNumeric(cap);
			var ckPhone = IsNumeric(phone);
			if(!ckZip || !ckPhone )  {
				err_msg = msgInfo('ERR_JS_FIELDNOTVALID') + '\n';
				if(!ckZip) err_msg = err_msg + msgInfo('ZIPCODE') + '\n';
				if(!ckPhone) err_msg = err_msg + msgInfo('PHONE') + '\n';
				errore = true;
			}
		}		
		// controllo ugualianza tra le due password solo se in registrazione, in modifica le password non ci sono
		if(loggato=='NO'){
			if(!CheckPwd(pwd, pwdconf)){
				errore = true;
				err_msg = msgInfo('PWD_NOTSAME');
			}
		}
	}
	
	if(errore) {
		alert(err_msg);
	} else {
		objectForm.address1.value = indi + "|" + nciv;	
		objectForm.submit();
	}
}


//Funzione per controllo ugualianza tra le due password	
//In :	pwd		--> password
//		pwdconf	--> conferma password
function CheckPwd(pwd,pwdconf){
	if(pwd != pwdconf) return false
	else return true
}       

//Funzione per visualizzare pagina sucessiva al riepilogo dati nell'oridine
function pageUserInfo(objectForm, objectField) {
	if(objectField.value == 'true')  objectForm.ndname.value='fatturazione';
	//else  objectForm.ndname.value='spedizione';
	else objectForm.ndname.value='preparaOrdine';
}



function getIso(nazione) {
	nazione = nazione.toLowerCase();
	var v1 = '';
	if(nazione == 'aut') v1 = 'AT';
	if(nazione == 'bel') v1 = 'BE';
	if(nazione == 'bgr') v1 = 'BG';
	if(nazione == 'cyp') v1 = 'CY';
	if(nazione == 'cze') v1 = 'CZ';
	if(nazione == 'dnk') v1 = 'DK';
	if(nazione == 'est') v1 = 'EE';
	if(nazione == 'fin') v1 = 'FI';
	if(nazione == 'fra') v1 = 'FR';
	if(nazione == 'deu') v1 = 'DE';
	if(nazione == 'grc') v1 = 'EL';
	if(nazione == 'hun') v1 = 'HU';
	if(nazione == 'irl') v1 = 'IE';
	if(nazione == 'ita') v1 = 'IT';
	if(nazione == 'lat') v1 = 'LV';
	if(nazione == 'ltu') v1 = 'LT';
	if(nazione == 'lux') v1 = 'LU';
	if(nazione == 'mlt') v1 = 'MT';
	if(nazione == 'nld') v1 = 'NL';
	if(nazione == 'pol') v1 = 'PL';
	if(nazione == 'prt') v1 = 'PT';
	if(nazione == 'rou') v1 = 'RO';
	if(nazione == 'svk') v1 = 'SK';
	if(nazione == 'svn') v1 = 'SI';
	if(nazione == 'esp') v1 = 'ES';
	if(nazione == 'swe') v1 = 'SE';
	if(nazione == 'gbr') v1 = 'GB';
	return v1;
}


/* GESTIONE INDIRIZZI DI SPEDIZIONE */
function addressInfo(objForm,objFieldValue) {
	var parentNode = objForm.parentNode.value;
	var url = cmdSPage + '?ndname=dati_spedizione&parentNode=' + parentNode + '&addressId=' + objFieldValue+ '';
	if(objFieldValue == '') url += '&typeDsp=update';
	else url += '&typeDsp=view';
	document.getElementById("frameAddress").contentWindow.location.href = url;
	
}
function changeAddressShop(objField, objForm, idx){
	if(objField.value == '') document.frmAddress.buyBut.disabled = true;
	else document.frmAddress.buyBut.disabled = false;
	addressInfo(objForm, objField.value);
}
function sendAddressShop(objField, objForm, idx){
	objFList = document.listAddress;
	objFSend = document.frmAddress;
	idx = objFList.addressId.selectedIndex;
	if(idx == 1)   objFSend.nicknameSpe.value = objFList.userNickname.value;
	else objFSend.nicknameSpe.value = objFList.addressId[idx].text;
	return true;
}




