var d,errori;
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(page=='home' || page=='lagotaxi'){kM();}
  if(get('ranking_img')){
    get('ranking_img').src=get('ranking_img').title;
    get('ranking_img').title='';
    }
  if(get('flag')){get('flag').setAttribute("ondblclick","this.blur();log()");}
  if(get('web_pk_optimized')){rotate_optimized();}
  }

var rotated_optimize=0;
function rotate_optimized(){
  get('web_pk_optimized').childNodes[0].style.left= -80*(((rotated_optimize++)%3)+1)+"px";
  setTimeout(rotate_optimized,5000);
  }

// over/out news / luftaufnahme
function oo_cx(caller,on_off){
  get(caller.id.split('_')[1]+'_div').style.display=(on_off?"block":"none");
  }


// cambia pagina: evidenzia il menu selezionato e presenta il testo "wait"
function chgPage(menu_link){
  menu_link.blur();
  var nuovo=menu_link.id.replace(/menu_/gi,''),page_subpage=(page+(subpage?'_'+subpage:''));
  if(page_subpage!=nuovo){
    if(get('menu_'+page)){get('menu_'+page).className="";}
    var old_menuSelected=page;
    page=nuovo;get('menu_'+page).className='menu_selected';
    get('content').innerHTML='<div id="wait">'+wait_text+'<\/div>';
    return true;
    }
  else{return false;}
  }


// animazione katamaran - kx=posiz_x_iniziale, ks=speed, ka=accelerazione
var kx=100,ks=0,ka=1;
function kM(){
  ks+=Math.random()/2*ka;
  if(ks>16 && ka==1){ka=-1;}
  else if(ks<0 && ka==-1){ka=1;}
  kx+=ks;
  if(kx>vw-1){kx=-130;}
  get("km").style.left=parseInt(kx,10)+"px";
  setTimeout(kM,200);
  }


// zoom delle immagini galleria nelle pagine 'normali'
var oldFoto;
function gallery(caller){
  if(oldFoto){get(oldFoto).style.background=(page=='wellness'?'#0a0':'#9cf');}
  get('bild_descri').innerHTML=get('descri_'+caller.id.split('_')[1]).innerHTML;
  get('bild_ingr').src=caller.src;
  caller.style.background='#f90';
  oldFoto=caller.id;
  }


// callback over-out-click
function onCallBack(target,mode){
  target=get('callBack'+target);
  if(!mode){target.style.display=(target.style.display=='block'?'none':'block');}
  else{target.style.display=(mode==1?'block':'none');}
  }






// meinungen - cambia risposta
function chg_checkbox(caller_label){
  var siblings=caller_label.parentNode.childNodes;
//alert(caller_label.className);
  for(var i=(siblings.length-1);i>=0;i--){
    if(siblings[i].tagName && siblings[i].tagName.toLowerCase()=='label'){
      siblings[i].className=siblings[i].className.split('_')[0]+"_Desel";
      siblings[i].childNodes[0].checked="";
      }
    }
//alert(caller_label.className);
  caller_label.className=caller_label.className.split('_')[0]+"_Sel";
//alert(caller_label.className);
  caller_label.childNodes[0].checked="checked";
  }




// zoom delle immagini fisse nelle pagine 'normali'
function zoom2(o,s){
  for(var xyz=o.childNodes.length-1;xyz>=0;xyz--){
    if(o.childNodes[xyz].className=="i"){o=o.childNodes[xyz];break;}
    }
  if(!s){
    if(o.style.width=='128px'){o.style.width='';o.parentNode.style.zIndex='100';}
    else{o.style.width='128px';o.parentNode.style.zIndex='10';}
    }
  else{o.style.width='128px';o.parentNode.style.zIndex='10';}
  }


function evidEl(o,c){o.style.backgroundColor=(!c?'#f90':c);}
	







// 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.id],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='✓ (attivo)';
    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(){
  if(!log_init){
    var dcg=document.createElement("div");
    dcg.id="div_login";
    dcg.innerHTML='<form name="login_form" method="POST" action="?p='+page+(subpage?'&s='+subpage:'')+(lingua?'&l='+lingua:'')+'" autocomplete="off"><input type="password" name="pass"><input type="submit" name="login" value="login"><\/form>';
    document.body.appendChild(dcg);
    log_init=1;
    }
  return false;
  }

window.onresize=misure;