var d,errori,ajax_req=false,chat_sound,in_login=false;
function init(){
  var formname=page.replace('-','_')+(subpage?"_"+subpage.replace('-','_'):"");
  if(typeof document.forms[formname]!= 'undefined'){d=document.forms[formname];}
  if(errori){if(d[errori].name){d[errori].focus();}}
  dummy();
  //if(get('logo')){get('logo').setAttribute("ondblclick","this.blur();log()");}
  document.body.innerHTML+='<scr'+'ipt type="text\/javascript" src="http:\/\/download.skype.com\/share\/skypebuttons\/js\/skypeCheck.js"><\/scr'+'ipt>';
  get('skype_status').parentNode.setAttribute("onclick","return skypeCheck();");  
  if(get('menu_x_referenze')){
    old_referenze_stella=get(old_referenze_stella);
    mini_timer=setTimeout("aggiorna_miniature()",2500);
    }
  if(page=='chat'){
    chat_sound=document.createElement('audio');
    chat_sound.setAttribute('src', '../cont/docs/audio_chat_it.ogg');
    try{chat_sound.load();}
    catch(fallito){}

    get("tutti_posts").scrollTop=get("tutti_posts").scrollHeight;
    try{ajax_req=new XMLHttpRequest();}
    catch(trymicrosoft){
      try{ajax_req=new ActiveXObject("Msxml2.XMLHTTP");}
      catch(othermicrosoft){
        try{ajax_req=new ActiveXObject("Microsoft.XMLHTTP");}
        catch(failed){ajax_req=false;}  
        }
      }
    if(!ajax_req){setTimeout(function(){document.forms['new_chat_post'].submit();},10000);}
    else{setTimeout(function(){ajax_do();},10000);}
    }
  }

function ajax_do(new_post){
  if(in_login){
    if(!ajax_req){setTimeout(function(){document.forms['new_chat_post'].submit();},10000);}
    else{setTimeout(function(){ajax_do();},10000);}
    return false;
    }
  if(new_post=='invia' && !ajax_req){	// new_post senza ajax
    setTimeout(function(){document.forms['new_chat_post'].titolo.value='il tuo messaggio per la chat';},50);
    setTimeout(function(){document.forms['new_chat_post'].testo.value='testo d\'approfondimento, se serve';},50);
    return true;
    }
  else if(!ajax_req){	// edit_post senza ajax
    setTimeout(function(){cancel_edit_post('','',new_post);},50);
    return true;
    }
  else{
    ajax_req.open("POST", "chat.php?t="+(new Date().getTime()),true);
    ajax_req.onreadystatechange=init_agg_chat_control;
    var cf=document.forms['new_chat_post'];
    if(new_post && new_post!='invia'){var ef=document.forms['edit_'+new_post];}
    else{var ef='';}
    var params='canale='+cf.canale.value+ '&chat_update='+cf.chat_update.value+ '&a=update_chat';
    params+=(new_post && new_post=='invia'?'&invia=invia&titolo='+encodeURIComponent(cf.titolo.value)+ '&testo='+encodeURIComponent(cf.testo.value):(new_post?'&id_post='+new_post+'&invia=invia%20la%20correzione!&titolo='+encodeURIComponent(ef.titolo.value)+ '&testo='+encodeURIComponent(ef.testo.value):'&invia=check'));
    ajax_req.setRequestHeader("Content-type", "application/x-www-form-URLencoded");
    ajax_req.setRequestHeader("Content-length", params.length);
    ajax_req.setRequestHeader("Connection", "close");
    ajax_req.send(params);
    if(new_post=='invia'){ 
      document.forms['new_chat_post'].titolo.value='il tuo messaggio per la chat';   
      document.forms['new_chat_post'].testo.value='testo d\'approfondimento, se serve';
      }
    else if(new_post){
      setTimeout(function(){cancel_edit_post('','',new_post);},50);
      }
    return false;
    }
  }

function binaryLength_UTF8(str){	
  var bytes=0,charCode,a,len=str.length;
  for(a=0;a<len;a++){
    charCode=str.charCodeAt(a);
    if(charCode<128){bytes+=1;}
    else if(charCode<2048){bytes+=2;}
    else if(charCode<65536){bytes+=3;}
    else{bytes+=4;}
    }
  return bytes;
  }


function init_agg_chat_control(){
  if(ajax_req.readyState==4 && ajax_req.status==200){init_agg_chat();}
  }

function init_agg_chat(){
  var tu=get('tu').className.substr(0,get('tu').className.lastIndexOf(' '));
  var content=ajax_req.responseText;
  var tutti_aggiornamenti=content.split('{;;;}');
  var quanti_aggiornamenti=tutti_aggiornamenti.length;
  var i,j,pezzi_questo_aggiornamento=[],pezzi_primo_pezzo_aggiornamento=[];
  var quanti_pezzi_questo_post,pezzetti_post,post_da_aggiornare,pezzetti_post_x_costruire=[],id_post,new_post,nuovi_utenti='',new_apri_chiudi;
  if(quanti_aggiornamenti>0){
    for(i=0;i<quanti_aggiornamenti;i++){
      pezzi_questo_aggiornamento=tutti_aggiornamenti[i].split('}:::');
      pezzi_primo_pezzo_aggiornamento=pezzi_questo_aggiornamento[0].split('::{');
      if(trim(pezzi_primo_pezzo_aggiornamento[0])){
        switch(trim(pezzi_primo_pezzo_aggiornamento[0])){
          case 'chat_update':
          document.forms['new_chat_post'].chat_update.value=trim(pezzi_primo_pezzo_aggiornamento[1]);
          break;
          
          case 'post':
          id_post=pezzi_primo_pezzo_aggiornamento[1];
          post_da_aggiornare=(get("post_"+id_post)?1:0);
          quanti_pezzi_questo_post=pezzi_questo_aggiornamento.length;
          for(var j=0;j<quanti_pezzi_questo_post;j++){
            pezzetti_post=pezzi_questo_aggiornamento[j].split('::{');
            pezzetti_post_x_costruire[trim(pezzetti_post[0])]=pezzetti_post[1];
            }
          nuovi_utenti+=" "+pezzetti_post_x_costruire['utente'];
          if(post_da_aggiornare){
            get("titolo_"+id_post).innerHTML=pezzetti_post_x_costruire['titolo'];
            get("testo_"+id_post).innerHTML=pezzetti_post_x_costruire['testo'];
            if(pezzetti_post_x_costruire['testo']){
              if(!get('apri_chiudi_'+id_post)){
                new_apri_chiudi=document.createElement('div');
                new_apri_chiudi.id='apri_chiudi'+id_post;
                new_apri_chiudi.className='apri_chiudi';
                new_apri_chiudi.setAttribute('onclick','apri_chiudi(this)');
                new_apri_chiudi.innerHTML='¯';
                get("testo_"+id_post).parentNode.parentNode.insertBefore (new_apri_chiudi,get("testo_"+id_post).parentNode);
                }
              else{get('apri_chiudi_'+id_post).style.display='block';}
              }
            else if(get('apri_chiudi_'+id_post)){
              get('apri_chiudi_'+id_post).style.display='none';
              get("testo_"+id_post).parentNode.parentNode.className='post_chiuso';
              }
            if(pezzetti_post_x_costruire['creato']!=pezzetti_post_x_costruire['modifica']){
              if(get("edited_"+id_post)){get("edited_"+id_post).innerHTML='ultima modifica: '+pezzetti_post_x_costruire['modifica'];}
              else{get("testo_"+id_post).parentNode.innerHTML+='<div class="edited" id="edited_'+id_post+'">ultima modifica: '+pezzetti_post_x_costruire['modifica']+'<\/div><br class="cb">';}
              }
            }
          else{
            get('tutti_posts').innerHTML+='<div class="post_chiuso" id="post_'+id_post+(pezzetti_post_x_costruire['suo']==1?'" style="background:-moz-linear-gradient(left center , #6c6, #6f6, #6f6, #6f6, #6f6, #6c6);':'')+'"><h2 id="x_larghezza_'+id_post+'" title="'+pezzetti_post_x_costruire['creato']+'"><small>'+pezzetti_post_x_costruire['utente']+'<\/small> '+(pezzetti_post_x_costruire['suo']>0?'<span onclick="edit_post(this,\'chat-default\','+id_post+')">EDIT<\/span>':'')+'<p id="titolo_'+id_post+'">'+pezzetti_post_x_costruire['titolo']+'<\/p><\/h2>'+(pezzetti_post_x_costruire['testo']?'<div id="apri_chiudi_'+id_post+'" class="apri_chiudi" onclick="apri_chiudi(this)">¯<\/div>':'')+'<div class="interno" style="display:none"><span id="testo_'+id_post+'">'+pezzetti_post_x_costruire['testo']+'<\/span>'+(pezzetti_post_x_costruire['creato']!=pezzetti_post_x_costruire['modifica']?'<div class="edited" id="edited_'+id_post+'">ultima modifica: '+pezzetti_post_x_costruire['modifica']+'<\/div><br class="cb">':'')+'<\/div><\/div>';
            }
          break;
          
          case 'tu':
          get('tu').parentNode.removeChild(get('tu'));
          get('utenti').innerHTML=pezzi_primo_pezzo_aggiornamento[1]+get('utenti').innerHTML;
          break;
          
          case 'presenze':
          get('presenze').innerHTML=pezzi_primo_pezzo_aggiornamento[1];
          }
        }
      }
    }
  if(id_post){
    try{chat_sound.play();}
    catch(fallito){}
    }
  if(nuovi_utenti.indexOf(tu)){setTimeout(function(){get('tutti_posts').scrollTop = get('tutti_posts').scrollHeight;},50);}
  if(!ajax_req){setTimeout(function(){document.forms['new_chat_post'].submit();},10000);}
  else{setTimeout(function(){ajax_do();},10000);}
  return false;
  }

function check_pass_strength(caller){
  var candidata_pass=caller.pass.value.length;
  if(candidata_pass<8){
    alert("La password deve essere di almeno 8 caratteri");
    return false;
    }
  else{return true;}
  }

function check_enter(e,caller){
  var keyCode=e.which;
  if(keyCode==13){
// alert(caller.parentNode.parentNode.parentNode.name)
    if(caller.parentNode.name && caller.parentNode.name=='login_form'){setTimeout(function(){document.forms['login_form'].login.click();},50);return false;}
    else if(caller.parentNode.parentNode.parentNode.name && caller.parentNode.parentNode.parentNode.name=='new_chat_post'){
      if(!ajax_req){setTimeout(function(){document.forms['new_chat_post'].invia.click();},50);}
      else{setTimeout(function(){ajax_do('invia');},50);}
      return false;
      }
    else{return true;}
    }
  else{return true;}
  }

function apri_chiudi(caller){
  var post=caller.parentNode;
  var e_aperto=(post.className=='post_chiuso'?0:1);
  caller.innerHTML=(e_aperto?'+':'¯');
  post.className='post'+(e_aperto?'_chiuso':'');
  if(caller.id=='apri_chiudi_new_chat_post'){
    get('tutti_posts').style.bottom=(e_aperto?'32':'110')+"px";
    get('tutti_posts').scrollTop = get('tutti_posts').scrollHeight;
    }
  }


function new_post(caller,id_thread,id_post){
  var is_new=id_thread?0:1,submit_text="invia la risposta!";

  if(is_new){id_thread=0;submit_text="apri la discussione!";}  
  caller.style.display='none';

  var action_page=document.location.toString();
  action_page=action_page.substr(action_page.indexOf('?'));

  var post_div=document.createElement("form");
  post_div.id=post_div.name='risposta';
  post_div.method='POST';
  post_div.action=action_page;
  post_div.className="post";
  post_div.setAttribute("style","background-color:#c60");
  post_div.innerHTML='<h2><span><b class="edit_post" onclick="cancel_edit_post(this,\''+id_thread+'\')">CANCEL<\/b><\/span><input type="hidden" name="id_thread" value="'+id_thread+'"><div><input type="text" name="titolo" value="...titolo..." onclick="if(this.value==\'...titolo...\'){this.value=\'\';}" class="input_titolo_chat"><\/div><\/h2><textarea name="testo" class="interno">...testo...<\/text'+'area><input class="bottone_centrale_bottom" class="submit" type="submit" name="invia" value="'+submit_text+'"><\/form>';
  if(is_new){caller.parentNode.insertBefore(post_div,caller);}
  else{caller.parentNode.parentNode.appendChild(post_div);}
  }

function edit_post(caller,id_thread,id_post){  
  var ex_post=get("post_"+id_post);
  var titolo=get("titolo_"+id_post).innerHTML;
  var testo=get("testo_"+id_post).innerHTML;

  var action_page=document.location.toString();
  action_page=action_page.substr(action_page.indexOf('?'))+(page=='chat'?"&a=update_chat":"");

  var edit_form=document.createElement("form");
  edit_form.id=edit_form.name='edit_'+id_post;
  edit_form.method='POST';
  if(page=='chat'){
    edit_form.target='chat_query_iframe';
    edit_form.setAttribute("onsubmit","return ajax_do("+id_post+")");
    }
  edit_form.action=action_page;
  edit_form.className="post";
  edit_form.setAttribute("style","background-color:#c60");
  edit_form.innerHTML='<h2><span><b class="edit_post" onclick="cancel_edit_post(this,\''+id_thread+'\','+id_post+')">CANCEL<\/b><\/span><input type="hidden" name="id_post" value="'+id_post+'"><div><input type="text" name="titolo" value="'+titolo+'" class="input_titolo_chat"><\/div><\/h2><textarea name="testo" class="interno">'+testo+'<\/text'+'area><input class="bottone_centrale_bottom" class="submit" type="submit" name="invia" value="invia la correzione!"><\/form>';
  ex_post.parentNode.insertBefore(edit_form,ex_post);
  ex_post.style.display='none';
  }

function cancel_edit_post(caller,id_thread,id_post){
  if(id_post){
    var ex_post=get("post_"+id_post);
    ex_post.style.display='block';
    ex_post.parentNode.removeChild(get("edit_"+id_post));
    }
  else{
    var ex_post=caller.parentNode.parentNode.parentNode;
    get('new_post').style.display='block';
    ex_post.parentNode.removeChild(ex_post);
    }
  }

var mini_timer,mini_collection_length,old_step_top=0,old_step_left=0,old_step_rot=0,transitions=40;
function aggiorna_miniature(){
  var old_img;
  if(old_referenze_stella){
    old_referenze_stella.className=old_referenze_stella.className.replace("_stella","");
    old_img=get('mini').className.split('_')[1]+"-"+get('mini').className.split('_')[2];
    }
  var quale_sito=mini_collection[parseInt(Math.random()*mini_collection_length)];
  while(old_img==quale_sito){
    quale_sito=mini_collection[parseInt(Math.random()*mini_collection_length)];
    }
  get("mini_off").className="mini_"+quale_sito.replace('-','_');
  old_referenze_stella=get("referenze_"+quale_sito.substr(0,quale_sito.indexOf('-')));
  old_referenze_stella.className+="_stella";
  step_top=parseInt(Math.random()*3)-1;
  step_left=parseInt(Math.random()*3)-1;
  step_rot=parseInt(Math.random()*5)-2;
  while(old_step_top==step_top && old_step_left==step_left && old_step_rot==step_rot){
    step_top=parseInt(Math.random()*3)-1;
    step_left=parseInt(Math.random()*3)-1;
    step_rot=parseInt(Math.random()*5)-2;
    }
  old_step_top=step_top;old_step_left=step_left;
  animate_mini_change(transitions);
  }

var step_top,step_left,step_rot;
function animate_mini_change(step){
  if(step>0){
    var opacita=step/transitions-.01;
    if(step_left!=0){get('mini_off').style.left=Math.round(step_left*Math.pow(step,2)*(4/transitions))+"px";}
    if(step_top!=0){get('mini_off').style.top=Math.round(step_top*Math.pow(step,2)*(3/transitions))+"px";}
    if(browser!='ie'){
      get('mini').style.opacity=opacita;
      get('mini_off').style.MozTransform= 'rotate('+parseInt(step*step_rot*90/transitions)+'deg)';
      }
    else{get('mini').style.filter="alpha(opacity:"+parseInt(opacita*100)+")";
      }
    mini_timer=setTimeout("animate_mini_change("+(--step)+");",100);
    }
  else{
    get('mini').className=get('mini_off').className;
    if(browser!='ie'){
      get('mini').style.opacity="0.99";
      }
    else{
      get('mini').style.filter="alpha(opacity:100)";
      }
    mini_timer=setTimeout("aggiorna_miniature();",10000);
    }
  }

function gap_replace(caller,ut_data,in_out){
  if(!in_out){//over
    var tempo=(Math.round(new Date().getTime() / 1000)-ut_data-gap),txt;
    var minuti=parseInt(tempo/60);
    var sp_minuti=' minut'+(minuti==1?'o':'i');
    var secondi=tempo-minuti*60;
    var sp_secondi=' second'+(secondi==1?'o':'i');
    if(tempo<60){txt=secondi+sp_secondi;}
    else if(tempo<300){txt=minuti+sp_minuti+(secondi?' e '+secondi+sp_secondi:'');}
    else{txt='più di '+minuti+sp_minuti;}
    caller.setAttribute('help_after',caller.getAttribute('help_after').replace('(ultima chiamata [data])','(ultima chiamata '+txt+' fa)'));
    }
  else{
    caller.setAttribute('help_after',caller.getAttribute('help_after').replace(new RegExp('\\(ultima chiamata [^\n]*', 'g'),'(ultima chiamata [data])'));
    }
  }
  
function displ(caller,come){
  get('x_'+caller.id).style.display=(come?'block':'none');
  }


// controlla i campi del formulario prima di inoltrare al server
function check_contact2(caller){
  var d=caller;
  var errori='',illumina='';
  var email_filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,10})+$/;

  var nome=d.nome.value;
  var telefono=d.telefono.value;
  var email=d.email.value;
  var antiabusi=d.antiabusi.value;
  if(nome==''){
    errori+="- "+formulario_manca_nome+"\n";
    if(!illumina){illumina='nome';}
    }
  if(telefono=='' && email==''){
    errori+="- "+formulario_manca_telefono_email+"\n";
    if(!illumina){illumina='telefono';}
    }
  else if(telefono=='' && !email_filter.test(email)){
    errori+="- "+formulario_errato_email+"\n";
    if(!illumina){illumina='email';}
    }
  if(antiabusi==''){
    errori+="- "+formulario_manca_antiabusi+"\n";
    if(!illumina){illumina='antiabusi';}
    }

  if(errori!=''){
    eval("d."+illumina+".focus()");
    alert(formulario_risposta_errore.replace("((errori))","\n"+errori))
    return false;
    }
  else{
    return true;
    }
  }



// controlla i campi del formulario prima di inoltrare al server
function check_contact(f,opzioni){
  var fm="fm_",fe="fe_",j,i;
  var er='',il='',c2c=campi_da_controllare[f.name],cNOT2c=[]; // campi DA (e NON) controllare
  var temp_opzioni,altre_opzioni;
  var email_filter=/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,10})+$/;

  if(opzioni){                   // gestione di eventuali opzioni

     // +opzioni, separate da ; -> *opzioni* tiene la 1a e *altre_opzioni[]* le altre
    if(opzioni.indexOf(';')>0){
      temp_opzioni=opzioni.split(';')[0];
      altre_opzioni=opzioni.replace(temp_opzioni+";",'').split(';');
      opzioni=temp_opzioni;
      }

    var cond=opzioni.split(':')[0], ccond=opzioni.split(':')[1];

    // prima_(o unica)_condizione : su_quale_campo
    if(cond=='controlla_solo_scelto'){
      var opz=f[ccond];

      // radio: non controlla i campi il cui nome non comincia col valore del radio_scelto
      if(opz && opz[0] && opz[0].type && opz[0].type=="radio"){
        for(j=opz.length-1;j>=0;j--){
          if(!opz[j].checked){cNOT2c[j]=opz[j].value;}
          }
        }

      // checkbox...
      else if(opz && opz.type && opz.type=="checkbox"){}

      // text[area] o select...
      else if(opz.value!==undefined){

        // caso select con + opzioni di tipo
        // parola_chiave_nel_valore_scelto:campo_da_controllare
        if(altre_opzioni.length>0){ 
          var temp_cNOT2c=[],da_controllare='';    // carica tutti i campi_da_controllare,
          for(j=altre_opzioni.length-1;j>=0;j--){
            temp_cNOT2c[j]=altre_opzioni[j].split(':')[1];
            if(opz.value.indexOf(altre_opzioni[j].split(':')[0])>0){
              da_controllare=temp_cNOT2c[j];
              }

            }
          // NON controlla quelli non corrispondenti all'opzione scelta
          for(j=temp_cNOT2c.length-1;j>=0;j--){
            if(da_controllare!=temp_cNOT2c[j]){cNOT2c[j]=temp_cNOT2c[j];}
            }

          }

        }
      }
    }

  // c2c: x,y,z,a_b_c,w,d_e_f_g,...
  // x,y,z: individualmente // a_b_c (cig: campi in gruppo): [almeno] uno selezionato
  // cigs_campo[a|b|c] = a_b_c -> cig di riferimento dei campi [a|b|c]   

  // 1° giro: passa i c2c x estrarre i gruppi:
  var campi=c2c.split(','),cigs_campo=[],c,cs;
  for(i=campi.length-1;i>=0;i--){c=campi[i];        
    if(c.indexOf('_')>0){cs=c.split("_"); //cs=campo singolo
      for(j=cs.length-1;j>=0;j--){cigs_campo[cs[j]]=c;}
      }
    }

  // 2° giro: passa i c2c, ne estrae e testa il (val); gruppi?:sum/concat/labels x dopo
  var val,cigs_1o=[],cigs_val=[],z,qc,ii,s;
  campi=null;campi=c2c.replace(/_/g, ",").split(',').reverse();
  for(i=campi.length-1;i>=0;i--){c=campi[i];qc=f[c];val='';
    if(qc){                                      // se il campo esiste, ne legge il value
      if(qc.type=="checkbox"){val=5*qc.checked;} // campo=checkbox -> value=5*checked
      else if(qc[0] && qc[0].type=="radio"){     // campo=radio -> value=checked.value
        for(j=qc.length-1;j>=0;j--){if(qc[j].checked){val=qc[j].value.toString();}}
        }
      else if(qc.value!==undefined){val=qc.value.toString();} // campo text(area) -> value

      // se questo campo appartiene ad un gruppo [z=quale gruppo]
      if((z=cigs_campo[c])){
        // 1° incontro di z -> cigs_1o (x illumina), segnaposto per l'evnt errore
        if(!cigs_1o[z]){cigs_1o[z]=c;er+="X"+z+"\n";
          // init cigs_val (val tot del gruppo), per numeri o stringhe
          if(val*1==val){cigs_val[z]=0;}else{cigs_val[z]='';}
          }
        cigs_val[z]+=val; // e somma/concatena cigs_val
        }

      // sennò, se il campo è vuoto ma non dovrebbe esserlo, ricicla c2c
      else if(!val && undefined!==window[fm+c]){c2c=true;
        for(ii in cNOT2c){if(c.indexOf(cNOT2c[ii])===0){c2c=false;}}
        if(c2c){er+="- "+window[fm+c]+"\n";if(!il){il=(qc.name?c:qc[0]?c+'[0]':'');}}
        }
      // e se è email fornito, controllalo
      else if((" "+c).indexOf('email')>0 && !email_filter.test(val)){
        er+="- "+window[fe+c]+"\n";if(!il){il=c;}
        }

      }

    }
  // check gruppi, sostituz labels (s) con [er|''|''] se [regola|no regola|ok]
  for(z in cigs_1o){s="X"+z+"\n";val=trim(cigs_val[z].toString());
    if(val=='' || val=='0'){              // gruppo vuoto CON e SENZA regola
      if(window[fm+z]){er=er.replace(s,"- "+window[fm+z]+"\n");
        if(!il){il=(f[cigs_1o[z]].name?cigs_1o[z]:'');}}
      else{er=er.replace(s,"");}
      }
    else{er=er.replace(s,"");}                    // gruppo pieno - ok!
    }
  if(er!=''){
    f[il].focus();alert(fre.replace("((errori))","\n"+er));return false;
    }
  else{return true;}
  }

function perche_codice_antispam(){alert(perche_antispam_text);}




// zoom delle immagini
var coord=[],old_center_x,old_center_y;
function zoom(event,caller,mode){
  if(event && event.stopPropagation){event.stopPropagation();event.preventDefault()}
  else{event.cancelBubble=true;event.returnValue=true;}
  misure();
  var zoomed=get("zoomed_img"),plus_x,plus_y,center_x,center_y,img_x,img_y,larg,alt;
  zoomed.src=caller.src;
  if(zoomed.currentStyle){          // explorer
    var z=zoomed.currentStyle;
    plus_x= parseInt(z.borderLeftWidth,10) + parseInt(z.borderRightWidth,10) + parseInt(z.paddingLeft,10) + parseInt(z.paddingRight,10) ;
    plus_y= parseInt(z.borderTopWidth,10) + parseInt(z.borderBottomWidth,10) + parseInt(z.paddingTop,10) + parseInt(z.paddingBottom,10) ;
    }
  else if(window.getComputedStyle){ // mozilla
    var el=document.defaultView.getComputedStyle(zoomed,null);
    plus_x= parseInt(el.getPropertyValue('border-left-width'),10) + parseInt(el.getPropertyValue('border-right-width'),10) +  parseInt(el.getPropertyValue('padding-left'),10) + parseInt(el.getPropertyValue('padding-right'),10);
    plus_y= parseInt(el.getPropertyValue('border-top-width'),10) + parseInt(el.getPropertyValue('border-bottom-width'),10) + parseInt(el.getPropertyValue('padding-top'),10) + parseInt(el.getPropertyValue('padding-bottom'),10);
    }
  if(mode=='in'){
    coord=caller.alt.substr(caller.alt.lastIndexOf(" - ")).split('- ')[1].split('x');
    center_x=old_center_x=event.clientX;
    center_y=old_center_y=event.clientY;
    img_x=center_x-(coord[0]/2)-2;
    img_y=center_y-(coord[1]/2)-2;
    }
  else if(mode=='move'){
    center_x=event.clientX;
    center_y=event.clientY;
    img_x=(center_x-old_center_x)/10+old_center_x*1-(coord[0]/2)-2;
    img_y=(center_y-old_center_y)/10+old_center_y*1-(coord[1]/2)-2;
    }

  if(mode){
    if(img_x<10){img_x=10;}
    if(img_y<10){img_y=10;}
    larg=coord[0]*1+plus_x*1;
    alt=coord[1]*1+plus_y*1;
    if(img_x*1+larg*1>vw-10){img_x=vw-10-larg;}
    if(img_y*1+alt*1>vh-10){img_y=vh-10-alt;}
    img_x=parseInt(img_x,10);img_y=parseInt(img_y,10);
    }

  if(mode=='in'){
    zoomed.style.width=coord[0]+"px";
    zoomed.style.height=coord[1]+"px";
    zoomed.style.left=img_x+"px";
    zoomed.style.top=img_y+"px";
    zoomed.style.display='block';
    }
  else if(mode=='move'){
    zoomed.style.left=img_x+"px";
    zoomed.style.top=img_y+"px";
    }
  else{
    zoomed.style.display='none';
    }
  }



// per l'aggiornamento dei dati utente nel database
function dummy(){
  misure();
  if(get('browser_issues') && get('sw')){
    get('sw').style.color=(sw>=1024?'#060':'#c00');
    get('sh').style.color=(sh>=768?'#060':'#c00');
    get('swh').style.color=(sw>=1024?(sh>=768?'#060':'#960'):(sh>=768?'#960':'#c00'));
    get('swh').innerHTML=(sw>=1024?(sh>=768?'✓':'≈'):(sh>=768?'≈':'✘'))+' ('+sw+'x'+sh+')';
    get('jsa').style.color='#060';
    get('jsa').innerHTML='✓ (ok)';
    if(!browser_to_update){
      get('non_mostrar_piu').style.display='none';
      get('browser_issues').style.display='none';
      }
    }
  if(osw=='setup' || !get('browser_issues')){return;}
  var update=[],update_element=0;
  if(sw>osw){update[update_element++]='sw='+sw;}
  if(sh>osh){update[update_element++]='sh='+sh;}
  if(vw>ovw){update[update_element++]='vw='+vw;}
  if(vh>ovh){update[update_element++]='vh='+vh;}
  if(dp>odp){update[update_element++]='dp='+dp;}
  if(update.length){
    var to_update=update.join("&");
    get('browser_issues').innerHTML+='<img id="dummy" src="cont\/rileva_schermo.php?'+to_update+'">';
    }
  }


// get(id)!
function get(id){
  var object=null;
  if(document.getElementById){object=document.getElementById(id);}
  else if(document.all){object=document.all[id];}
  else if(document.layers){object=document.layers[id];}
  return object;
  }


// trim(str)!
function trim(str){return str.replace(/^\s\s*/,'').replace(/\s\s*$/,'');}


// misure()!
var sw,sh,vw,vh,dp;
function misure(){sw=screen.width;sh=screen.height;dp=screen.colorDepth;if(document.body.offsetWidth && typeof document.body.offsetWidth !='undefined'){vw=document.body.offsetWidth;vh=document.body.offsetHeight;}else if(window.innerWidth && typeof window.innerWidth !='undefined'){vw=window.innerWidth;vh=window.innerHeight;}else if(document.documentElement && typeof document.documentElement!='undefined' && typeof document.documentElement.clientWidth!='undefined' && document.documentElement.clientWidth!==0){vw=document.documentElement.clientWidth;vh=document.documentElement.clientHeight;}else if(document.body && document.body.clientWidth){vw=document.body.clientWidth;vh=document.body.clientHeight;}}


// log()!
var log_init;
function log(){
  var e_on=(get('utenti').className?(get('utenti').className=='visibile'?1:0):0);
  if(!log_init){
    get("div_login").style.display='block';
    log_init=1;
    }
  get('utenti').className=(e_on?'':'visibile');
  if(!e_on){document.login_form.alias.focus();}
//  get('utenti').style.overflow=(e_on?'hidden':'visible');
//  get('utenti').style.background=(e_on?'hidden':'visible');
  return false;
  }
  

window.onresize=misure;
