// Gestione degli eventi per AEsito

//Funzioni per la gestione del click e del doppio click
 var dcTime=250;    // doubleclick time
 var dcDelay=100;   // no clicks after doubleclick
 var dcAt=0;        // time of doubleclick

 var savEvent=null;
 var savEvtTime=0;  // save time of click event.
 var savTO=null;    // handle of click setTimeOut
 var iii;

 var xx;
 var yy;


 function hadDoubleClick() {
   var d = new Date();
   var now = d.getTime();
   if ((now - dcAt) < dcDelay) {
     return true;
   }
   return false;
 }

 function handleKey(e) { 
    var i=document.getElementById('mapdiv_aesito').mapObj;
    var kc;
    if(window.event){
        kc=window.event.keyCode;
    }
    else{
        kc=e.keyCode;
    }
    if(kc==27){
        i.clickEsc();
    }
    else if(kc==13){
        i.clickRet();
    }
 }

 function handleWisely(e) {  
   var i;
    if(e.srcElement){
        i=e.srcElement.mapObj
    };
    if(e.target){
        i=e.target.mapObj
    };

    //alert(e.srcElement+' '+e.target.src+' '+e.target.mapObj);
    iii=i;
    var x,y;

    if(browser.isNS){
        x=e.clientX+window.scrollX;
        y=e.clientY+window.scrollY;
    }
    else{
        x=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
        y=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
    };
    //alert(e.type+' '+x+' '+y);

    xx=x;
    yy=y;

   switch (e.type) {
     case "click": 
        
       // If we've just had a doubleclick then ignore it
       if (hadDoubleClick()) return false;
         
       // Otherwise set timer to act.  It may be preempted by a doubleclick.
       savEvent = e;
       d = new Date();
       savEvtTime = d.getTime();       
       savTO = setTimeout("doClick()", dcTime);
        //savTO = setTimeout("alert('c');", dcTime);   
    break;
     case "dblclick":
       doDoubleClick(e);
       break;
     default:
   }
 };

 function doClick() {
   if (savEvtTime - dcAt <= 0) {
     return false;
   }  
    iii.cliccaMouse(xx,yy);
 }

 
 function doDoubleClick(e) {
   var d = new Date();
   dcAt = d.getTime();
   if (savTO != null) {
   clearTimeout( savTO ); 
     savTO = null;
   }
   if(e.shiftKey){
    iii.dblCliccaMouse(xx,yy,true);
   }
   else{
    iii.dblCliccaMouse(xx,yy,false);
   }
 }

function MuoviEvento(e){
    var i;
    if(e.srcElement){
        i=e.srcElement.mapObj
    };
    if(e.target){
        i=e.target.mapObj
    };
    if(browser.isNS){
        x=e.clientX+window.scrollX;
        y=e.clientY+window.scrollY;
    }
    else{
        x=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
        y=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
    };

    try{
        i.muoviMouse(x,y);
    }
    catch(ee){ ;}
};

function ChiamaEvento(e){
    var i;
 
    if(e.srcElement){
        i=e.srcElement.mapObj
    };
    if(e.target){
        i=e.target.mapObj
    };
    if(browser.isNS){
        x=e.clientX+window.scrollX;
        y=e.clientY+window.scrollY;
    }
    else{
        x=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
        y=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
    };

    document.getElementById('scaleLabel').innerHtml=('!!drag');

    if(i){
        i.dragStart(x,y,e);
    }
    else{
        i=document.getElementById('mapdiv_aesito').mapObj;
        i.dragStart(x,y,e);
    }
};

function cliccaGrafica(e){
    alert (e);
}



