function pop(){
	// created by webanana www.e-tree.com
	// pop ( href [,target] [,x] [,y] [,"maximized"] [,"fullscreen"] [,"nocenter"] [,"scroll"] )
	if(arguments.length>0){
		_url=arguments[0];
		var x,y,o,_target="",_params=new Array(),center=true,maximized=false,fullscreen=false,scroll=false;
		for(i=1;i<arguments.length;i++){
			if(isNaN(arguments[i])){
				switch(arguments[i]){
					case"nocenter":
						center=false;
					break;
					case"scroll":
						scroll=true;
					break;
					case"maximized":
						maximized=true;
						_params[_params.length]="left=0";
						_params[_params.length]="top=0";
						_params[_params.length]="width="+(screen.width-6);
						_params[_params.length]="height="+(screen.height-26);
					break;
					case"fullscreen":
						fullscreen=true;
						_params[_params.length]="fullscreen=yes";
					break;
					default:
						_target=arguments[i];
					break;
				}
			}
		}
		if(!fullscreen && _target=="")_params[_params.length]="scrollbars="+((scroll)?"yes":"no");
		if(!maximized && !fullscreen){
			for(i=1;i<arguments.length;i++){
				if(!isNaN(arguments[i]) && !maximized){
					if(x==undefined){
						x=arguments[i];
						_params[_params.length]="width="+x;
					}else{
						y=arguments[i];
						_params[_params.length]="height="+y;
					}
				}
			}
			if(center && _target==""){
				_params[_params.length]="left="+((screen.width-x)/2);
				_params[_params.length]="top="+((screen.height-y)/2);
			}
		}
		//alert(_params)
		o=window.open(_url,_target,_params.join(","));
		if(o==undefined)alert("L'apertura della finestra è stata bloccata");
	}
}
function checkMail(obj)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(obj))
		return true;
	else 
		return false;
}

function Trim(stringa)
   {
   reTrim=/\s+$|^\s+/g;
   return stringa.replace(reTrim,"");
   }

function checkCodiceFiscale(codice)
   {
   var re = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
   codice = Trim(codice.toUpperCase());
   if (re.test(codice))
		return true;
	else 
		return false;
}

	function parseDate(dt){
		var checkstr = "0123456789";
		var checkSeparators = "/";
		var sepCount = 0;
		var firstSep="";
		
		var DateValue="";
		var year, month, day, leap;
		var err=0;
		var result = false;
	
		for (i = 0; i < dt.length; i++) {
			if (checkstr.indexOf(dt.substr(i,1)) >= 0) {
				DateValue+= dt.substr(i,1);
			}
		}	
		
		for (var sep=0; sep<dt.length; sep++){
			if (checkSeparators.indexOf(dt.substr(sep,1)) >= 0) {
				sepCount++;
				if (firstSep.length==0) firstSep=dt.substr(sep,1);
				if (firstSep.length>0) {
					if (firstSep!=dt.substr(sep,1)){
						err++;
					}
				} // controllo che il primo separatore sia uguale al secondo
			}
		}
		if (sepCount!=2) err++; // non ci sono 2 separatori dd/mm/yyyy
		if (err>0) return false; // evito di fare altri controlli visto che se a questo punto err è maggiore di zero ci sono errori
	
	
	   	if (DateValue.length != 8)  err++;
	   	year = DateValue.substr(4,4);
	   	if (year == 0)  err++;
	   	month = DateValue.substr(2,2);
	   	if ((month < 1) || (month > 12))  err++;
	   	day = DateValue.substr(0,2);
	   	if (day < 1)  err++;
	   	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) leap = 1;
	   	if ((month == "02") && (leap == 1) && (day > "29"))  err++;
	   	if ((month == "02") && (leap != 1) && (day > "28"))  err++;
	   	if ((day > "31") && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12")))  err++;
	   	if ((day > "30") && ((month == "04") || (month == "06") || (month == "09") || (month == "11")))  err++;
	
		if (err>0) {
			result = false;
		} else {
			result = true;
		}
		
		return result;
	}

function isnum(obj) {
  if (isNaN(obj.value) || parseInt(obj.value)<0 || parseInt(obj.value) > 9999)
    return false;
  else
    return true;
}
	
