	// browser requirement
	var ver = parseInt(navigator.appVersion);
	if (ver < 4) window.location.href = "need40.html"; 
	
	// browser sniffer
	var myBrowser = null;
	if(document.all) {
		myBrowser = "IE";
	} else if(document.layers) {
		myBrowser = "NN";
	} else if(document.getElementById) {
		myBrowser = "DOM";
	}

	function findObj(n, d) {
		var p,i,x;
		if(!d)
			d=document;
		if((p=n.indexOf("?"))>0&&parent.frames.length) {
			d=parent.frames[n.substring(p+1)].document;
			n=n.substring(0,p);
		}
		if(!(x=d[n])&&d.all)
			x=d.all[n];
		for (i=0;!x&&i<d.forms.length;i++)
			x=d.forms[i][n];
		for(i=0;!x&&d.layers&&i<d.layers.length;i++)
			x=MM_findObj(n,d.layers[i].document);
		if(!x && document.getElementById)
			x=document.getElementById(n);
		return x;
	}
	
	// extract PageName field 
  function extractPageName(url) {
		var location = String(url);
		var name = "";
	  
		if (location.lastIndexOf("/") > -1) {
			name = location.substr(location.lastIndexOf("/") + 1);
		}
		
		return name;
	}
		
	// extract QueryString field 
	function extractQueryString(url, name) {
		var location = String(url);
	
		if (location.indexOf("?") > -1) {
			var querystr = location.substr(location.indexOf("?") + 1);
			var fields = querystr.split("&");
			var value = "";
			
			if (fields && fields.length > 0) {
				for (i = 0; i < fields.length; ++i) {
				if (fields[i].indexOf(name) == 0) {
					if (fields[i].indexOf("=") > -1)
						value = fields[i].substr(fields[i].indexOf("=") + 1);
					}
				}
			}
		}
	
		return value;
	}
	
	function extractFileExt(filename) {
		var fileext = "";
		
		if (filename != null && filename.lastIndexOf(".") > -1) {
			fileext = filename.substr(filename.lastIndexOf(".")+1).toLowerCase();
		}
		
		return fileext;
	}
	
	function backHistory() {
		window.history.back();
		
		return true;
	}
	
	function onSubmitForm(formName) {
	 	var x = findObj(formName);
		if (x)
		 	x.submit();
		return true;
	}
		
	// move layer to absolute coordinates
	function moveDivLayer(layerName, xPos, yPos) {
		var layerObj = getLayer(layerName);
		if(myBrowser == "NN") {
			layerObj.scrollLeft = xPos + "px";
			layerObj.scrollTop = yPos + "px";
		} else if(myBrowser == "IE" || myBrowser == "DOM") {
			layerObj.scrollLeft = xPos + "px";
			layerObj.scrollTop = yPos + "px";
		}
	}
	
	// get now date
	function getNowDate() {
		var d = new Date();
		var s = d.getFullYear()  + "-" + ((d.getMonth() + 1)<10?"0":"") + (d.getMonth() + 1) + "-" + (d.getDate()<10?"0":"") + d.getDate();
		return s;
	}	
	
	// set textbox to now date
	function setNowDate(textName) {
		var x = findObj(textName);
		
		if (x) {
			x.value = getNowDate();
		}
		
		return true;
	}	
	
	function openWindow(mypage,myname,w,h,showscroll) {
		LeftPosition = 20;
		TopPosition = 20;
		settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+showscroll+',resizable';  // noresizable
		var win = window.open(mypage,myname,settings);
		win.resizeTo(w,h);
		win.focus();
	}
		
	function confirmWindow(theURL) { //v2.0
	
		var risp;
		
		risp=confirm("Si è sicuri di eseguire l'operazione?");
		if (risp){
		 window.parent.location.replace(theURL);
		}
	
	}
	
	function showDivLayer(layerName) {
		var d = findObj(layerName);
		var i=0;
		var tags=document.all.tags('div');
		
		for (i=0;i<tags.length;i++)
			tags[i].style.visibility = 'hidden';
		
		if (d)
			d.style.visibility = 'visible';
		
		return true;
	}
	
	function hideDivLayer(layerName) {
		var d = findObj(layerName);
		
		if (d)
	  	d.style.visibility = 'hidden';
		
		return true;
	}