function indirizzoEmailValido(indirizzo) {
  if (window.RegExp) {
    var nonvalido = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var valido = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
    var regnv = new RegExp(nonvalido);
    var regv = new RegExp(valido);
    if (!regnv.test(indirizzo) && regv.test(indirizzo))
      return true;
    return false;
	}
  else {
    if(indirizzo.indexOf("@") >= 0)
      return true;
    return false;
  	}
};
function checkUri(uri) {
	$result = false;
	if(!preg_match("/^[ht|f]tp[s]?:\/\/[^\[[:space:]]+]/", $uri))
		$uri = "http://".$uri;
	
	return $result;
}

function iva(numb){
		var tot = 0;	
		var tot2=0;
		var i = 0;	
		if ( isnumber(numb) )
			if (numb.length == 11){
				//alert(numb.charAt(10));
				while (i < 10){
					tot+=eval(numb.charAt(i));
					i+=2;
				}
				i=1;
				while (i < 10){
					x=eval(numb.charAt(i)) * 2;
					if (x < 10)
						y=x;
					else
						y=parseInt(x / 10)+(x % 10);
					tot2+=y;
					i+=2;
				}
				x=tot+tot2;
				if ( (((x % 10) == 0) && (eval(numb.charAt(10))==0)) || (10 - (x % 10) == eval(numb.charAt(10)) ) )
					return true;	
				else
					return false;
			}				
	return false;
};
function ControllaCF(cf)
{
    var validi, i, s, set1, set2, setpari, setdisp;
    if( cf == '' )  return false;
    cf = cf.toUpperCase();
    if( cf.length != 16 )
        return false;
    validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    for( i = 0; i < 16; i++ ){
        if( validi.indexOf( cf.charAt(i) ) == -1 )
            return false;
    }
    set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
    s = 0;
    for( i = 1; i <= 13; i += 2 )
        s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
    for( i = 0; i <= 14; i += 2 )
        s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
    if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
        return false;
    return true;
};
function ControllaPIVA(pi)
{
    if( pi == '' )  return '';
    if( pi.length != 11 )
        return false;
    validi = "0123456789";
    for( i = 0; i < 11; i++ ){
        if( validi.indexOf( pi.charAt(i) ) == -1 )
            return false;
    }
    s = 0;
    for( i = 0; i <= 9; i += 2 )
        s += pi.charCodeAt(i) - '0'.charCodeAt(0);
    for( i = 1; i <= 9; i += 2 ){
        c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
        if( c > 9 )  c = c - 9;
        s += c;
    }
    if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
        return false;
    return true;
}

function caratteriMaiuscoli(txtArea){
	txtArea.value=txtArea.value.toUpperCase();
	return true;
}

function numbersonly(myfield, e, dec) {
  var key;
  var keychar;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);

  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
    return true;

  // numbers
  else if ((("0123456789").indexOf(keychar) > -1))
    return true;

  // decimal point jump
  else if (dec && (keychar == ".")) {
    myfield.form.elements[dec].focus();
    return false;
  } else
    return false;
}

function numbersValuta(myfield, e) {
  var key;
  var keychar;
  var espressione = new RegExp("^(0|[1-9]\d*)(\.\d{1,2})?$");
  var bret=false;
	
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
	//alert(key);
  // control keys
  //alert(myfield.value+keychar);
  	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) || (key==46) )
    	bret=true;
  	else if ((("0123456789").indexOf(keychar) > -1))
    	bret=true;
  	else
		bret=false;
	/*if ((key!=46) && (bret)){		
		  	//alert(myfield.value+keychar);
		  	if (espressione.test(myfield.value+keychar))
		      bret=true;
			else
			  bret=false;
	}*/
	return bret;
}
var highlightcolor="#FFFF33";

var ns6=document.getElementById&&!document.all;
var previous='';
var eventobj;

//Regular expression to highlight only form elements
//var intended=/INPUT|TEXTAREA|SELECT|OPTION/;
var intended=/INPUT|TEXTAREA/;

//Function to check whether element clicked is form element
function checkel(which){
	if (which.style&&intended.test(which.tagName)){
		if (ns6&&eventobj.nodeType==3)
			eventobj=eventobj.parentNode.parentNode;
		return true;
	}
	else
		return false;
}

function isNumeric(val){return(parseFloat(val,10)==(val*1));}

//Function to highlight form element
function myhighlight(e){
	eventobj=ns6? e.target : event.srcElement;
	if (previous!='')
		if (checkel(previous))
			previous.style.backgroundColor='';
	if (checkel(eventobj))
	{
		eventobj.style.backgroundColor=highlightcolor;
		eventobj.focus();
	}
	previous=eventobj;
}