//Javascript utility functions



function toggleLayer( whichLayer )
{
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
  else if( document.all ) // this is the way old msie versions work
      elem = document.all[whichLayer];
  else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}

/***********************************************
* Fixed ToolTip script- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
		
var tipwidth='140px' //default tooltip width
var tipbgcolor='orange'  //tooltip bgcolor
var disappeardelay=250  //tooltip disappear speed onMouseout (in miliseconds)
var vertical_offset="0px" //horizontal offset of tooltip from anchor link
var horizontal_offset="-3px" //horizontal offset of tooltip from anchor link

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="fixedtipdiv" style="visibility:hidden;width:'+tipwidth+';background-color:'+tipbgcolor+'" ></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, tipwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (tipwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=tipwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
}
return edgeoffset
}

function fixedtooltip(menucontents, obj, e, tipwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidetip()
dropmenuobj=document.getElementById? document.getElementById("fixedtipdiv") : fixedtipdiv
dropmenuobj.innerHTML=menucontents

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", tipwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}
}

function hidetip(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidetip(){
if (ie4||ns6)
delayhide=setTimeout("hidetip()",disappeardelay)
}

function clearhidetip(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}


//------------

function ApriMenu(i)
{
    document.getElementById("SM" + i).style.visibility = "Visible";
}
function ChiudiMenu(i)
{
    document.getElementById("SM" + i).style.visibility = "Hidden";
}

function sendUpdate (){
	var frm = document.getElementById("frm2");
	
	frm.action = "update_utente.asp";
	frm.submit();
//DEBUG JAVASCRIPT
//alert('catindex = '+eval(espr));
}

function doAction_svuota (){
	var frm = document.getElementById("cartbox");
	
	frm.action = "svuota_carrello.asp";
	frm.submit();
//DEBUG JAVASCRIPT
//alert('catindex = '+eval(espr));
}

function doAction_del (tmpid){
	var frm = document.getElementById("cartbox");
	
	//document.getElementById("idprodotto").value = tmpid;
	frm.idprodotto.value = tmpid;
	//alert("ID_prod_cart="+tmpid);
	frm.action = "prod_cancella.asp";
	frm.submit();
//DEBUG JAVASCRIPT
//alert('catindex = '+eval(espr));
}




// VERIFICA NOME,COGNOME,CITTA
function isName(what,fname)
{
   var i=new RegExp("([a-zA-Z\ ]{3,})");
   if(!i.test(what)) { alert("Il campo "+fname+" non è valido."); return false}   
   return true;
}
// VERIFICA NOME,COGNOME,CITTA
function isProv(what,fname)
{
   var i=new RegExp("([a-zA-Z\ ]{2})");
   if(!i.test(what)) { alert("Il campo "+fname+" non è valido."); return false}   
   return true;
}

// VERIFICA EMAIL
function isEmail(what)
{
   var i=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
   if(!i.test(what)) { alert("Il campo EMAIL non è valido."); return false}   
   return true;
}

// VERIFICA PASSWORD
function isPassword(what,fname)
{
   var i=new RegExp("([a-zA-Z0-9]{5,20})");
   if(!i.test(what)) { alert("Il campo "+fname+" non è valido."); return false}   
   return true;
}

// VERIFICA URL
function isURL(what)
{
   var i=new RegExp("HTTP:\/\/([a-zA-Z\.0-9]{2,})\.([a-zA-Z\.0-9]{2,})");
   if(!i.test(what)) { alert("Il campo SITO WEB non è valido."); return false}   
   return true;
}

// VERIFICA TEL/FAX
function isTelFax(what,fname)
{
   var i=new RegExp("^[0-9]{5}");
   if(!i.test(what)) { alert("Il campo "+fname+" non è valido."); return false}   
   return true;
}

// VERIFICA Partita IVA
function isPIVA(what)
{
   if(what == "-") { return true} 
   //if(what.length>0 )
   //{
	var i=new RegExp("[0-9]{11}");
	if(!i.test(what)) { alert("Il campo PARTITA IVA non è valido."); return false}   
  // }
   return true;
}

// VERIFICA CAP
function isCAP(what)
{
   var i=new RegExp("^[0-9]{5}$");
   if(!i.test(what)) { alert("Il campo CAP non è corretto."); return false }   
   return true;
}

// VERIFICA CF
function isCF(cf,piva)
{
   var i=new RegExp("([a-zA-Z0-9]{16})");
   var m=new RegExp("[0-9]{11}");
   if( (cf == "" || cf == "undefined") && (piva == "" || piva == "undefined")) { alert("Inserire o il codice fiscale o la partita IVA."); return false }
   
	if(!m.test(piva) && piva!="" && piva!="-") { alert("Il campo PARTITA IVA non è valido."); return false}   
   if(!i.test(cf) && cf!="" && cf != "-") { alert("Il campo CODICE FISCALE non è valido."); return false }
   return true;
}

// VERIFICA Indirizzo
function isAddress(what)
{
   var i=new RegExp("([a-zA-Z0-9\ ]{3,})");
   if(!i.test(what)) { alert("Il campo INDIRIZZO non è valido."); return false }
   return true;
}

// VERIFICA numero civico
function isNciv(what)
{
   var pattern = /^\d/
   var i=new RegExp(pattern);
   if(!i.test(what)) { alert("Il campo N. civico non è valido."); return false }
   return true;
}

// VERIFICA Data di nascita
function isDate(what,fname)
{
   var i=new RegExp("^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$");
   if(i.test(what))
   {
	datePart=what.split("/");
	giorno=(datePart[0]>=1) && (datePart[0]<=31);
	mese=(datePart[1]>=1) && (datePart[1]<=12);
	anno=(datePart[2]>=1900) && (datePart[2]<=9999);

	if(!giorno || !mese || !anno) { alert("Il campo "+fname+" non è valido."); return false }
	
   }  
   else
   {
	alert("Il campo "+fname+" non è valido"); return false
   }
   return true;
}


function radioButton(what)
{
   if( what) { alert("Devi accettare le condizioni sulla privacy."); return false }
   return true;
}



// VERIFICA Titolare carta di credito
function isCCOwner(what)
{
   var i=new RegExp("([a-zA-Z\. ])");
   if(!i.test(what)) { alert("Il campo TITOLARE non è valido."); return false }
   return true;
}

// VERIFICA Numero carta di credito
function isCCNumber(what)
{
   var i=new RegExp("([0-9]{16,20})");
   if(!i.test(what)) { alert("Il campo NUMERO CARTA non è valido."); return false }
   return true;
}

// VERIFICA Scadenza carta di credito
function isCCExpiration(what)
{
   var i=new RegExp("([0-9]{1,2})/([0-9]{4})$");
   if(i.test(what))
   {
	datePart=what.split("/");
	mese=(datePart[0]>=1) && (datePart[0]<=12);
	anno=(datePart[1]>=1900) && (datePart[1]<=9999);

	if(!mese || !anno) { alert("Il campo SCADENZA CARTA non è valido."); return false }
	
   }  
   else
   {
	alert("Il campo SCADENZA CARTA non è valido"); return false
   }
   return true;
}





function checkForm()
{
	var nome,cognome,piva,cap,indirizzo,citta,provincia,codfiscale,telefono,email,email2,username,password,password2;
	var email_reg_exp;
	nome = document.frmNewClient.nome.value;
	cognome =  document.frmNewClient.cognome.value;
	cap =  document.frmNewClient.cap.value;
	indirizzo = document.frmNewClient.indirizzo.value;
	citta = document.frmNewClient.citta.value;
	provincia =  document.frmNewClient.provincia.value;
	telefono =  document.frmNewClient.telefono.value;
	email =  document.frmNewClient.email.value;
	codfiscale =  document.frmNewClient.codfiscale.value;
	piva =  document.frmNewClient.piva.value;
	
	email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	
	if(cognome == "" || cognome == "undefined")
	{
		alert("Devi inserire il Cognome");
		document.frmNewClient.cognome.focus();
	}
	else if(nome == "" || nome == "undefined")
	{
		alert("Devi inserire il Nome");
		document.frmNewClient.nome.focus();
	}
	else if(provincia == "" || provincia == "undefined")
	{
		alert("Devi inserire la Provincia di appartenenza");
		document.frmNewClient.provincia.focus();
	}
	else if(cap == "" || cap == "undefined" || isNaN(cap) || cap.length < 5 || cap.length > 5)
	{
		alert("Devi inserire il CAP correttamente");
		document.frmNewClient.cap.focus();
	}
	else if(citta == "" || citta == "undefined")
	{
		alert("Devi inserire la Città in cui vivi");
		document.frmNewClient.citta.focus();
	}
	else if(indirizzo == "" || indirizzo == "undefined")
	{
		alert("Devi inserire l'indirizzo di residenza");
		document.frmNewClient.indirizzo.focus();
	}
	else if(codfiscale == "" || codfiscale == "undefined")
	{
		//alert("Devi inserire almeno il tuo codice fiscale");
		if(piva == "" || piva == "undefined")
		{
			alert("Devi inserire almeno il tuo codice fiscale");
			document.frmNewClient.codfiscale.focus();
		}
	}
	else if(piva != "" )
	{
		alert("Devi inserire o il codice fiscale o la partita IVA");
		document.frmNewClient.codfiscale.focus();
	}
	else if(telefono == "" || telefono == "undefined"  || isNaN(telefono))
	{
		alert("Devi inserire il numero di telefono corretto");
		document.frmNewClient.telefono.focus();
	}
	else if(!email_reg_exp.test(email) || email == "" || email == "undefined")
	{
		alert("Devi inserire l'email corretta");
		document.frmNewClient.email.focus();
	}
	else if(document.frmNewClient.privacy.checked != true)
	{
		alert("Devi accettare il consenso al trattamento dei dati personali");
		document.frmNewClient.privacy.focus();
	}
	else
	{
		document.frmNewClient.submit();
	}

}

	
	function updateClient()
	{
		var frm = document.getElementById("frm2");
		frm.action = "update_utente.asp";
		
		validateForm(frm);
	}
	
	function checkform()
	{
		//var frm = document.getElementById("frm2");
		ret = validateForm(document.getElementById("frm2"));
	}

function validateForm(frm)
{

	if(!isName(frm.cognome.value,'COGNOME')) 
	{
		frm.cognome.focus();
		return false;
	}
	else if(!isName(frm.nome.value,'NOME'))
	{
		frm.nome.focus();
		return false;
	}
	
	else if(!isEmail(frm.email.value)) 
	{
		frm.email.focus();
		return false;
	}
	else if(!isPassword(frm.userid.value,'USERID')) 
	{
		frm.userid.focus();
		return false;
	}
	//else if(!isPIVA(frm.piva.value))
	//{
		//frm.piva.focus();
		//return false;
	//}
	else if(!isCF(frm.codfiscale.value,frm.piva.value)) 
	{
		frm.codfiscale.focus();
		return false;
	}
	//if(!isPassword(frm.pwd.value,'PASSWORD')) return false;
	//if(!isDate(frm.data_nascita.value,'DATA DI NASCITA')) return false;
	else if(!isName(frm.citta.value,'CITTA')) 
	{
		frm.citta.focus();
		return false;
	}
	else if(!isAddress(frm.indirizzo.value)) 
	{
		frm.indirizzo.focus();
		return false;
	}
	else if(!isNciv(frm.nciv.value)) 
	{
		frm.nciv.focus();
		return false;
	}
	else if(!isCAP(frm.cap.value,'CAP'))
	{
		frm.cap.focus();
		return false;
	}
	else if(!isProv(frm.provincia.value,'PROVINCIA'))
	{
		frm.provincia.focus();
		return false;
	}
	
	else if(!isTelFax(frm.telefono.value,'TELEFONO'))
	{
		frm.telefono.focus();
		return false;
	}
	//if(frm.fax.value.length>0) {if(!isTelFax(frm.fax.value,'FAX')) return false }
	//if(frm.url.value.length>0) {if(!isURL(frm.url.value)) return false }
	//if(!isCCOwner(frm.titolare_cc.value)) return false;
	//if(!isCCNumber(frm.numero_cc.value)) return false;
	//if(!isCCExpiration(frm.scadenza_cc.value)) return false;
	else if(!frm.privacy.checked)
	{
		alert("Devi dare il consenso al trattamento dei tuoi dati");
		frm.privacy.focus()
		return false;
	}
	else
	{
		
		return(confirm("Confermi la registrazione dei dati?"));
		//frm.submit();
	}

}

function validateForm2(frm)
{

	if(!isName(frm.cognome.value,'COGNOME')) 
	{
		frm.cognome.focus();
	}
	else if(!isName(frm.nome.value,'NOME'))
	{
		frm.nome.focus();
		return false;
	}
	
	else if(!isEmail(frm.email.value)) 
	{
		frm.email.focus();
		return false;
	}
	else if(!isPassword(frm.userid.value,'USERID')) 
	{
		frm.userid.focus();
		return false;
	}
	//else if(!isPIVA(frm.piva.value))
	//{
		//frm.piva.focus();
		//return false;
	//}
	else if(!isCF(frm.codfiscale.value,frm.piva.value)) 
	{
		frm.codfiscale.focus();
		return false;
	}
	//if(!isPassword(frm.pwd.value,'PASSWORD')) return false;
	//if(!isDate(frm.data_nascita.value,'DATA DI NASCITA')) return false;
	else if(!isName(frm.citta.value,'CITTA')) 
	{
		frm.citta.focus();
		return false;
	}
	else if(!isAddress(frm.indirizzo.value)) 
	{
		frm.indirizzo.focus();
		return false;
	}
	else if(!isCAP(frm.cap.value,'CAP'))
	{
		frm.cap.focus();
		return false;
	}
	else if(!isProv(frm.provincia.value,'PROVINCIA'))
	{
		frm.provincia.focus();
		return false;
	}
	
	else if(!isTelFax(frm.telefono.value,'TELEFONO'))
	{
		frm.telefono.focus();
		return false;
	}

	else
	{
		
		return(confirm("Confermi i dati inseriti?"));
		//frm.submit();
	}

}
function validateForm3(frm)
{

	if(!isName(frm.cognome.value,'COGNOME')) 
	{
		frm.cognome.focus();
	}
	else if(!isName(frm.nome.value,'NOME'))
	{
		frm.nome.focus();
		return false;
	}
	
	else if(!isEmail(frm.email.value)) 
	{
		frm.email.focus();
		return false;
	}
	else if(!isPassword(frm.userid.value,'USERID')) 
	{
		frm.userid.focus();
		return false;
	}
	//else if(!isPIVA(frm.piva.value))
	//{
		//frm.piva.focus();
		//return false;
	//}
	else if(!isCF(frm.codfiscale.value,frm.piva.value)) 
	{
		frm.codfiscale.focus();
		return false;
	}
	//if(!isPassword(frm.pwd.value,'PASSWORD')) return false;
	//if(!isDate(frm.data_nascita.value,'DATA DI NASCITA')) return false;
	else if(!isName(frm.citta.value,'CITTA')) 
	{
		frm.citta.focus();
		return false;
	}
	else if(!isAddress(frm.indirizzo.value)) 
	{
		frm.indirizzo.focus();
		return false;
	}
	else if(!isCAP(frm.cap.value,'CAP'))
	{
		frm.cap.focus();
		return false;
	}
	else if(!isProv(frm.provincia.value,'PROVINCIA'))
	{
		frm.provincia.focus();
		return false;
	}
	
	else if(!isTelFax(frm.telefono.value,'TELEFONO'))
	{
		frm.telefono.focus();
		return false;
	}

	else
	{
		
		return(confirm("Per applicare le modifiche premere OK."));
		//frm.submit();
	}

}

function isTipoProblema(val)
{
   if( val <= 0) { alert("Devi selezionare il tipo di problema."); return false }
   return true;
}

function isMesg(txt)
{
   if( txt.length < 20) { alert("Descrizione troppo breve."); return false }
   return true;
}

function checkFrmAssistenza()
{
    var frm = document.getElementById("form_assistenza");
    
	//alert('controllo dati');
	
	if(!isTipoProblema(frm.tipoprob.selectedIndex )) 
	{
		frm.tipoprob.focus();
		return false;
	}

	else if(!isMesg(frm.mesg.value)) 
	{
		frm.mesg.focus();
		return false;
	}
	else if(!isEmail(frm.email.value)) 
	{
		frm.email.focus();
		return false;
	}
	else
	{
		
		return(confirm("Confermi i dati inseriti?"));
		//frm.submit();
	}

}

