function Trim(){return this.replace(/\s+$|^\s+/g,"");}
String.prototype.Trim=Trim;

function validateEmail(addr) {
var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
for (i=0; i<invalidChars.length; i++) {
   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
      return false;
   }
}
for (i=0; i<addr.length; i++) {
   if (addr.charCodeAt(i)>127) {
      return false;
   }
}

var atPos = addr.indexOf('@',0);
if (atPos == -1) {
   return false;
}
if (atPos == 0) {
   return false;
}
if (addr.indexOf('@', atPos + 1) > - 1) {
   return false;
}
if (addr.indexOf('.', atPos) == -1) {
   return false;
}
if (addr.indexOf('@.',0) != -1) {
   return false;
}
if (addr.indexOf('.@',0) != -1){
   return false;
}
if (addr.indexOf('..',0) != -1) {
   return false;
}
var suffix = addr.substring(addr.lastIndexOf('.')+1);
if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
   return false;
}
return true;
}

function isCF(cfed)   {
		 var cf = cfed.toUpperCase();
		 var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
		 if (!cfReg.test(cf))
				return false;
		 var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		 var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
		 var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		 var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
		 var 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 isPIVA(piva) {
		 var codcon=0,s=0,c,i;
		 if (piva.length!=11 || isNaN(parseFloat(piva)) || parseFloat(piva)<parseFloat(0))
				return false;
		 
		 for (i=0;i<=9;i+=2)
  	   s+=parseInt(piva.charAt(i));
				 
		 for (i=1;i<=9;i+=2)
		   { 
			   c=2*parseInt(piva.charAt(i));
				 if (c>9) c=c-9;
				 s+= c;
			 }
		 c = (10-(s % 10)) % 10;
		 codcon= parseInt(piva.charAt(10));
		 if (c==codcon)
       return true;
		 else
  		 return false;
  }