function lib_bwcheck(){
	//In theory we should use object detection, but this script needs work-arounds for almost every browser...
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent.toLowerCase()
	this.dom=document.getElementById?1:0
	this.ns4=(!this.dom && document.layers)?1:0;
	this.op=window.opera 
	this.moz=(this.agent.indexOf("gecko")>-1 || window.sidebar)
	this.ie=this.agent.indexOf("msie")>-1 && !this.op
	if(this.op){
		this.op5=(this.agent.indexOf("opera 5")>-1 || this.agent.indexOf("opera/5")>-1)
		this.op6=(this.agent.indexOf("opera 6")>-1 || this.agent.indexOf("opera/6")>-1)
		this.op7=this.dom&&!this.op5&&!this.op6 //So all higher opera versions will use it
	}else if(this.moz) this.ns6 = 1
	else if(this.ie){
		this.ie4 = !this.dom && document.all
  	this.ie5 = (this.agent.indexOf("msie 5")>-1)
  	this.ie55 = (this.ie5 && this.agent.indexOf("msie 5.5")>-1)
  	this.ie6 = this.dom && !this.ie4 && !this.ie5 && ! this.ie55
	}
	this.mac=(this.agent.indexOf("mac")>-1)
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.op5 || this.op6 || this.op7)
  this.usedom= this.ns6||this.op7//Use dom creation
  this.reuse = this.ie||this.op7||this.usedom //Reuse layers
  this.px=this.dom&&!this.op5?"px":""
	return this
}
function preLoad() {
  if(document.Images){
	var rr=new Array();
	var i,j=0,ax=preLoad.arguments;
	for(i=0; i<ax.length; i++) {
	  rr[j]=new Image;
	  rr[j++].src=ax[i];
	}
  }
}

function findObj(n) {
   var x, d=document;
   var ns4=document.layers
   var ie4=document.all
   var ns6=document.getElementById&&!document.all
   if (ns6) {
	  if(!(x=d[n])) x=d.getElementById[n];
	  return x;
   }
   else if (ns4) {
	  d2=new Array();
	  if ((x=d[n])) return x;
	  for (i=0;i<d.layers.length;i++)  {
		 d2[i] = d.layers[i].document;
		 eval("tmp=d2[i]."+n+";")
		 if(tmp) {
			return tmp;
 //		   alert(tmp.name)  ;
		 }else{
			for (j=0;j<d2[i].layers.length;j++)  {
			   eval("tmp=d2[i].layers[j].document."+n+";")
			   if(tmp) return tmp;
			}
		 }
	  }
   }
   else if (ie4) {
	  if(!(x=d[n])) x=d.all[n];
	  return x;
   }
}

function rollImage() {
  var d=document,x,a=rollImage.arguments;
  var ns4=document.layers;
//  var ns6=document.getElementById&&!document.all ;
  if((ns4) && a[2]){
	 setTimeout("rollImage('"+a[0]+"','"+a[1]+"',0)",1);
  }
  if ((x=findObj(a[0]))!=null){
		 d.y=new Array(1);
		 d.y[0]=x;
		 x.org=x.src;
		 x.src=a[1];
  }
}

function rollOut() {
  var x
  var arg=rollOut.arguments;
  if(arg[0]) {
	  for(i=0;i<arg.length;i=i+2){
		 x=findObj(arg[i]);
		 x.org=arg[i+1];
		 x.src=x.org;
	  }
  } else  {
	 a=document.y
	 x=a[0];
	 x.src=x.org;
  }
 //	alert(x.name);
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);lab=args[i+1];
	if (val) { nm=lab; if ((val=val.value)!="") {
	  if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
		if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve contenere un indirizzo e-mail.\n';
	  } else if (test!='R') {
		if (isNaN(val)) errors+='- '+nm+' deve contenere un numero.\n';
		if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
		  min=test.substring(8,p); max=test.substring(p+1);
		  if (val<min || max<val) errors+='- '+nm+' deve contenere un numero tra '+min+' e '+max+'.\n';
	} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' � obbligatorio.\n'; }
  } if (errors) alert('I seguenti errori si sono verificati:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

function openPopup(n,f,x,y){
	eval("newwindow=window.open(n,f,'toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width="+x+",height="+y+"');");
	//newwindow.creator=self
	newwindow.focus();
}

function movePop(pageW,pageH){
	var screenW = screen.width
	var screenH = screen.height

	middleX= Math.ceil((screenW-pageW)/2.4);
	middleY=Math.ceil((screenH-pageH)/4);
	if(pageW > screenW)  middleX=0;
	if(pageH > screenH) middleY=0;
	window.moveTo(middleX,middleY);

}

var formDiv=new Object();
var detailDiv=new Object();
function showDiv(x)
{
	if (document.getElementById) 
	{
		formDiv=document.getElementById('send2friend');
		detailDiv=document.getElementById('offertaDescr');
	}
	if(!x) 
	{
		formDiv.style.visibility='hidden';
		detailDiv.style.top='20px';
	}
	else 
	{
		formDiv.style.visibility='visible'; 
		detailDiv.style.top='120px';
	}
	
}

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher.
{
for(var i=0; i<document.images.length; i++)
  {
  var img = document.images[i]
  var imgName = img.src.toUpperCase()
  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
	 {
	 var imgID = (img.id) ? "id='" + img.id + "' " : ""
	 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	 var imgStyle = "display:inline-block;" + img.style.cssText 
	 if (img.align == "left") imgStyle = "float:left;" + imgStyle
	 if (img.align == "right") imgStyle = "float:right;" + imgStyle
	 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle		
	 var strNewHTML = "<span " + imgID + imgClass + imgTitle
	 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
	 img.outerHTML = strNewHTML
	 i = i-1
	 }
  }
}
function trim(sString){sTrimmedString = "";if (sString != ""){var iStart = 0;var iEnd = sString.length - 1;var sWhitespace = " \t\f\n\r\v";while (sWhitespace.indexOf(sString.charAt(iStart)) != -1) {iStart++;if (iStart > iEnd) break;}if (iStart <= iEnd){ while (sWhitespace.indexOf(sString.charAt(iEnd)) != -1) iEnd--;sTrimmedString = sString.substring(iStart,++iEnd);}}return sTrimmedString;}

var my = {};

my.addEvent = function(event, object, callback) {
	if(window.addEventListener) object.addEventListener(event, callback, true);
	else if(window.attachEvent) object.attachEvent("on" + event, callback);
}