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_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='100px';
    }
    
}
