var dcTime=250;    // doubleclick time
var dcDelay=100;   // no clicks after doubleclick
var dcAt=0;        // time of doubleclick
var savEvent=null; // save Event for handling doClick().
var savEvtTime=0;  // save time of click event.
var savTO=null;    // handle of click setTimeOut
 
function hadDoubleClick() {
   var d = new Date();
   var now = d.getTime();
   if ((now - dcAt) < dcDelay) return true;

   return false;
}
 
function handleClicksWisely(which, e) {

   switch (which) {
     case "click": 
       if (hadDoubleClick()) return false;
         
       // Otherwise set timer to act.  It may be preempted by a doubleclick.
       d = new Date();
       savEvtTime = d.getTime();
	   var id_prg = e.id_prg;
//       savTO = setTimeout("doClick(savEvent,fcnClick)", dcTime);
       savTO = setTimeout("doClick('" + id_prg + "')", dcTime);
       break;
     case "dblclick":
//       doDoubleClick(which,fcnDoubleClick);
       doDoubleClick(e);
       break;
     default:
   }
}
 
// function doClick(which,fcnClick) {
 function doClick(id_prg) {
 	e = document.getElementById('imgSetaPrograma_' + id_prg);
   // preempt if DC occurred after original click.
   if (savEvtTime - dcAt <= 0)	return false;
//	alert("Clique");
   Chamar_Listar_Projetos(e);
 }
 
// function doDoubleClick(which,fcnDoubleClick) {
 function doDoubleClick(e) {
   var d = new Date();
   dcAt = d.getTime();
   if (savTO != null) {
     clearTimeout( savTO );          // Clear pending Click  
     savTO = null;
   }
//   alert("Duplo Clique");
   Chamar_Listar_Projetos_E_Atividades(e);
 }


