//--- Fonctions d'evenements -------------------------------------------------------------------------------- var Event_Status=""; var Event_empty=new Object(); Event_empty.eclass=""; var Event_Objsrc=Event_empty; var Event_Objdst=Event_empty; // --- Fonction permettant d'attacher un evenement a un objet (compatible IE et NS) function Event_Add(obj, evType, fn, useCapture) { if (obj.addEventListener){ obj.addEventListener(evType, fn, useCapture); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { alert("erreur 3"); } } // --- Fonction initialisant le gestionaire d'evenement function Event_init() { Event_Add(document,"mousedown", Event_MouseDown, false); //Event_Add(document,"click", Event_MouseClick, false); //Event_Add(document,"mousemove", Event_MouseMove, false); //Event_Add(document,"mouseup", Event_MouseUp, false); //Event_Add(document,"mouseover", Event_MouseOver, false); //Event_Add(document,"mouseout", Event_MouseOut, false); //Event_Add(document,"contextmenu",IEContextuelFreeze); //Event_Add(document.body,"click",hideEveryone); //Event_Add(document,"dblclick",dblclick); } // --- Fonction qui recupere l'objet concerné par l'évènement function Event_getObject(event) { var obj; if (!event) var event = window.event; if (event.target) obj = event.target; else if (event.srcElement) obj = event.srcElement; if (obj.nodeType == 3) obj = obj.parentNode;// Bug de Safari //gestion de l'attribut eclass if (event.target){ if (obj.attributes["eclass"])obj.eclass = obj.attributes["eclass"].value; else obj.eclass=""; if (obj.attributes["eid"])obj.eclass = obj.attributes["eid"].value; else obj.eid=""; } else { if (!obj.eclass)obj.eclass=""; if (!obj.eid)obj.eid=""; } return obj; } // --- Fonction appelée lors du click de la souris function Event_MouseDown(event) { //recupere l'objet concerné var Objsrc = Event_getObject(event); txt = Objsrc.getAttribute("eclass"); tmpid = Objsrc.getAttribute("eid"); //Element_info("Click : "+txt+" > "+tmpid); //if (txt=="")Element_info("Click : "+event.srcElement.tagName+" > id:"+event.srcElement.getAttribute("id")+" class:"+event.srcElement.className); //depend de la classe de l'objet cliqué switch(Objsrc.eclass) { case "caddie_row": Event_Status=""; Event_Objsrc = Objsrc; //alert(Objsrc.getAttribute("eid")); load_item(Objsrc) break; /* case "separation_right": //Barre de séparation verticale entre le corps et la partie droite du site Element_info("click sur la barre de separation"); Event_Status="dragndrop"; Event_Objsrc = Objsrc; Event_Objsrc.style.backgroundColor="#808080"; break; */ case undefined: default: Event_Status=""; break; } //return false; } function Event_MouseClick(event) { //recupere l'objet concerné var Objsrc = Event_getObject(event); txt = Objsrc.getAttribute("eclass"); tmpid = Objsrc.getAttribute("eid"); //Element_info("Click : "+txt+" > "+tmpid); //if (txt=="")Element_info("Click : "+event.srcElement.tagName+" > id:"+event.srcElement.getAttribute("id")+" class:"+event.srcElement.className); //depend de la classe de l'objet cliqué switch(Objsrc.eclass) { case undefined: default: Event_Status=""; break; } return false; } // --- Fonction appelée lors du deplacement de la souris function Event_MouseMove(event) { var Objsrc = Event_getObject(event); text = "Move : x="+Event_Mouse_X(event)+" y="+Event_Mouse_Y(event); if (Event_Objsrc.eclass)text += " Source:"+Event_Objsrc.eclass; //Element_info(text); //depend de l'attribut eclass de l'objet source switch(Event_Objsrc.eclass) { case undefined: default: break; } return false; } // --- Fonction appelée lors du laché de souris function Event_MouseUp(event) { var Objsrc = Event_getObject(event); //Element_info("Up : "+Objsrc.eclass+" source:"+Event_Objsrc.eclass); //depend de l'attribut eclass de l'objet source switch(Event_Objsrc.eclass) { case undefined: default: break; } //reinitialisation de l'objet source if (Event_Objsrc!=null && Event_Objsrc!=undefined) { //if (Event_Objsrc.getAttribute("eclass")!="")Event_Objsrc.setAttribute("eclass")=""; //alert(Event_Objsrc.getAttribute("eid")); //if (Event_Objsrc.getAttribute("eid")!="")Event_Objsrc.setAttribute("eid")=""; } return false; } // --- Fonction appelée lors du over de souris function Event_MouseOver(event) { var Objsrc = Event_getObject(event); //depend de l'attribut eclass de l'objet source if(Event_Status=="") { switch(Event_Objsrc.eclass) { default: break; } }else { //Element_info("over : "+Objsrc.eclass); } } // --- Fonction appelée lors du over de souris function Event_MouseOut(event) { var Objsrc = Event_getObject(event); //depend de l'attribut eclass de l'objet source switch(Objsrc.eclass) { case "caddie_row": break; default: break; } } // --- Fonction calcul coordonnées de la souris function Event_Mouse_X(event) { if (!event) var event = window.event; if (event.pageX) return event.pageX; else if (event.clientX)return event.clientX + document.body.scrollLeft; } function Event_Mouse_Y(event) { if (!event) var event = window.event; if (event.pageY) return event.pageY; else if (event.clientY) return event.clientY + document.body.scrollTop; } // --- Fonction appelée pour afficher une info dans le footer function Element_info(text,element) { document.getElementById(element).innerHTML=text; }