  function FastMessenger() 
  {
    width = 500;
    height = 350;
    l = (screen.width - width) / 2;
    t = (screen.height - height) / 2;
    features = "width=" + width + ", height=" + height + ", left=" + l + ", top=" + t;
    window.open("msg_casella.asp","_blank",features);
  }

  function askandforward(str,url)
  { if (confirm("Attenzione: questa operazione comporterà "+str+".\nSi desidera continuare con l'operazione richiesta?")) location.href=url;
    else return;
  }

  function NotEmptyString(str) //restituisce TRUE se la stringa non è composta interamente da spazi
  { str=str.replace(" ","");
    for (;str.search(" ")!=-1;str=str.replace(" ",""));
    if (str.length>0) return(true);
    return(false);
  }

  function check_charset(str,forbset) 
  { for (i=0;i<forbset.length;i++)
     { if (str.indexOf(forbset.charAt(i))>=0) 
        return(0);
       else
        return(1);
     }
  }

  function submit_form(formname,objcount,selective,submit_action)
  { if (check_form(formname,objcount,selective)==1)
     { formname.action=submit_action;
       formname.submit();
     }
    else
     { return;
     }
  }

  function isNumericSt(str)
  { var extraChars="0123456789";
    var search;
    var aChar;
    for (var i=0;i<str.length;i++)
    { aChar=str.substring(i,i+1);
      aChar=aChar.toUpperCase();
      search=extraChars.indexOf(aChar);
      if (search==-1) return false;
    }
    return true;
  }

  function isCorrectSt(str) 
  { var extraChars="0123456789.-_#";
    var search;
    var aChar;
    for (var i=0;i<str.length;i++)
    { aChar=str.substring(i,i+1);
      aChar=aChar.toUpperCase();
      search=extraChars.indexOf(aChar);
      if (search==-1 && (aChar<"A" || aChar>"Z") ) return false;
    }
    return true;
  }

  function isEmailSt(str) 
  { var trov1 = 0;
    var aChar;
    var trov2 = 0
    for (var i=1;i<str.length-1;i++)	// ctrl dal 2^ carattere al penultimo
    { aChar=str.substring(i,i+1);
      aChar=aChar.toUpperCase();
      if (aChar=='@') trov1++;
      if (aChar=='.') trov2++;
    }
    if (trov1!=1) return false;		// ci deve essere una sola @
    if (trov2==0) return false;		// ci deve essere almeno un .
    return true;
  }


  function check_form(formname,objcount,selective)
  { var pass_a="",pass_b="",uname="",nome="",cognome="",matricola="",pflag=0;
    allempty=true;
    if (selective=="") for (i=0; i<objcount; i++) selective = selective + "1";    
    for (i=0; i<formname.length; i++)
     { intype = formname.elements[i].type;
       if (intype=="text"||intype=="textarea"||intype=="password"||intype=="file"||intype=="select")
       { if (formname.elements[i].warn!="")
         { if (!NotEmptyString(formname.elements[i].value)) 
           { if (selective.charAt(i)!='0')
               { alert("Attenzione: è necessario inserire " + formname.elements[i].warn + ".");
                 formname.elements[i].value="";
                 formname.elements[i].focus();
                 return(0);
               }             
           }
           else allempty=false;
         }
       }
     }
    if ((selective.search("1")==-1) && (allempty))
    { alert("Attenzione: è necessario inserire " + formname.warn + ".");
      return(0);
    }
    for (i=0; i<formname.length; i++)
     { intype = formname.elements[i].type;
       if (formname.elements[i].name=="cognome")
        cognome=formname.elements[i].value.toUpperCase();
       if (formname.elements[i].name=="matricola")
        matricola=formname.elements[i].value.toUpperCase();
       if (formname.elements[i].name=="nome")
        nome=formname.elements[i].value.toUpperCase();
        

       if (intype=="text"||intype=="textarea"||intype=="password")
        { if ( ((formname.elements[i].id=="user")||(formname.elements[i].id=="pwd1")||(formname.elements[i].id=="pwd2")) && (!isCorrectSt(formname.elements[i].value)) )
           { alert("Attenzione: " + formname.elements[i].sterr +" può contenere esclusivamente caratteri alfanumerici non accentati.");
             return(0);
           }
          if ((formname.elements[i].id=="numeric")&&(!isNumericSt(formname.elements[i].value)))
           { alert("Attenzione: " + formname.elements[i].sterr +" deve necessariamente contenere un valore numerico.");
             return(0);
           } 
          if (formname.elements[i].id=="user") 
           { uname=formname.elements[i].value.toUpperCase();
             pflag++;
           }
          if (formname.elements[i].id=="pwd1")
           { pass_a=formname.elements[i].value.toUpperCase();
             pflag++;
           }

          if (formname.elements[i].id=="pwd2")
           { pass_b=formname.elements[i].value.toUpperCase();
             pflag++;
           }

        }
     }
    if (pass_a!=pass_b) 
     { alert("Attenzione: la password introdotta e la conferma non corrispondono.");
       return(0);
     }
    if ((pflag==3)&&((pass_a==uname)||(pass_a==nome)||(pass_a==cognome)||(pass_a==matricola)))
     { if (!confirm("Attenzione: la password che hai scelto è facilmente intuibile.\nScegli OK per mantenerla, scegli annulla per poterla modificare.")) return(0);
       else return(1);
     }
    return(1);

  }


  function Upload(formname,objcount,selective)
  { if (check_form(formname,objcount,selective)==1)
    { if (confirm("Attenzione: il processo di trasferimento potrebbe richiedere parecchi minuti durante i quali non verrà visualizzata alcuna pagina. Affinché l'upload abbia successo è importante non interrompere per alcun motivo il caricamento della pagina. Una volta terminato il trasferimento verrà automaticamente visualizzata una pagina che vi informerà sull'esito dell'intera operazione.\nSi desidera continuare con l'archiviazione?"))
       { 
         document.upload.submit(); 
       }
      else return;
    }
  }

  function itisbusto_bookmark()
  { 
    if (document.all)
    window.external.AddFavorite('http://www.itisbusto.it','Itisbusto.it');
  }

function initStyles()
{
	with (document)
	{
		write("<STYLE TYPE='text/css'><!--");
		if (isNetscape())
		{		
			write(".hiddenBox {display:block}\n");
			write(".openBox {display:block}");
		}
		else
		{		
			write(".hiddenBox {display:none}\n");		
			write(".openBox {display:block}");
		}
		write("//--></STYLE>");
	}
}

function doToggle(wel)
{
	if (isNetscape()) return;		
	spanObj=document.all[wel];
	
	//alert (spanObj.outerHTML);
						
	if (spanObj.style.display=="" || spanObj.style.display==null)
	{		
		if (spanObj.outerHTML.indexOf("hiddenBox")!=-1) document.all[wel].style.display="block";
		if (spanObj.outerHTML.indexOf("openBox")!=-1) document.all[wel].style.display="none";
	}
	else
	{
		if (spanObj.style.display=="block")
			document.all[wel].style.display="none";
		else
			document.all[wel].style.display="block";
	}		
}

function isNetscape()
{		
	if (document.layers) return true; else return false;
}

initStyles();