//glimmer_event.js mod to watch/handle events

pager1_values = new Array();
pager1_values[0] = "nothing";
pager2_values = new Array();
pager2_values[0] = "nothing";
pager3_values = new Array();
pager3_values[0] = "nothing";

//init function for this mod.  goes before initAll() is called.
function initGevent() {
    addMod("setEvent", layer_setEvent);
	addMod("setPager",layer_setPager);
	addMod("setmouseout","'voidOut();'");
    addMod("setmouseover","'voidOut();'");
    addMod("setmousemove","'voidOut();'");
    addMod("setmousedown","'voidOut();'");
    addMod("setmouseup","'voidOut();'");
    addMod("setclick","'voidOut();'");
    addMod("runmouseout",layer_mouseout);
    addMod("runmouseover",layer_mouseover);
    addMod("runmousemove",layer_mousemove);
    addMod("runmousedown",layer_mousedown);
    addMod("runmouseup",layer_mouseup);
    addMod("runclick",layer_onclick);
	}
  
function layer_setEvent(event,action) { 

	if (event == "onmouseover"){eventCI = "MOUSEOVER";handler = "this.runmouseover";this.setmouseover += action;}
	if (event == "onmouseup"){eventCI = "MOUSEUP";handler = "this.runmouseup";this.setmouseup += action;}
	if (event == "onmousemove"){eventCI = "MOUSEMOVE";handler = "this.runmousemove";this.setmousemove += action;}
	if (event == "onmousedown"){eventCI = "MOUSEDOWN";handler = "this.runmousedown";this.setmousedown += action}
	if (event == "onclick"){eventCI = "ONCLICK";handler = "this.runclick";this.setclick += action;}
    if (event == "onmouseout"){eventCI = "MOUSEOUT";handler = "this.runmouseout";this.setmouseout += action;}
    if(document.all){ 
        eval("document.all['"+this.name+"']."+event+"="+handler);
        }
    else if(document.getElementById) {
        eval("document.captureEvents(Event."+eventCI+")");
        eval("document.getElementById('"+this.name+"')."+event+" ="+ handler);
    }
    else if(document.layers) {
        eval(this.obj_name+".layer.captureEvents(Event."+eventCI+")");
        eval(this.obj_name+".layer."+event+" = "+handler);
    }

        }
        
function layer_mousedown(event) {
        if(document.layers) {
            tgt =  event.target.jsobj;
            }
        if(document.all) {
            tgt = window.event.srcElement.jsobj;   
            }
        else if(document.getElementById) {
            tgt = event.target.jsobj;
            }
        if(tgt){eval(tgt.setmousedown)};
        }
function layer_mouseover(event) {
        if(document.layers) {
             tgt =  event.target.jsobj;
            }
        if(document.all) {
            tgt = window.event.srcElement.jsobj;
            }
        else if(document.getElementById) {
            tgt = event.target.jsobj;
            }
        if(tgt){eval(tgt.setmouseover)};
        }
function layer_mouseout(event) {
        if(document.layers) {
            tgt =  event.target.jsobj;
            }
        if(document.all) {
            if (!window.event.fromElement.contains(window.event.toElement)){
                tgt = window.event.fromElement.jsobj;
                }
            }
        else if(document.getElementById) {
                  tgt = event.target.jsobj;
             }
        if(tgt){eval(tgt.setmouseout)};
        }
function layer_mousemove(event) {
        if(document.layers) {
             tgt =  this.jsobj;
            }
        if(document.all) {
            tgt = window.event.srcElement.jsobj;
            }
       else if(document.getElementById) {
            tgt = event.target.jsobj;
            }
        if(tgt){eval(tgt.setmousemove)};
        }
function layer_mouseup(event) {
        if(document.layers) {
            tgt =  this.jsobj;
            }
        if(document.all) {
            tgt = window.event.srcElement.jsobj;
            }
        if(tgt){eval(tgt.setmouseup)};
            }
function layer_onclick(event) {
        if(document.layers) {
            tgt =  this.jsobj;
            }
        if(document.all) {
            tgt = window.event.fromElement.jsobj;
            }
        if(tgt){eval(tgt.setclick)};
            }
    
//allows for event watches to be set to specific actions(other functions)
function setWatch(event,action) {
	handler = "";
    if (document.all) {
        eval("document."+event+" = "+action);
        }
    else if (document.getElementById) {
		if (event == "onmousedown"){handler = "MOUSEDOWN";}
		if (event == "onmouseup"){handler = "MOUSEUP";}
		if (event == "onmousemove"){handler = "MOUSEMOVE";}
		if (event == "onmouseover"){handler = "MOUSEOVER";}
		if (event == "onmouseout"){handler = "MOUSEOUT";}
		if (event == "onclick"){handler = "ONCLICK";}
		eval("document.captureEvents(Event."+handler+")");
        eval("document."+event+" = "+action);
		}
	else if (document.layers) {
		if (event == "onmousedown"){handler = "MOUSEDOWN";}
		if (event == "onmouseup"){handler = "MOUSEUP";}
		if (event == "onmousemove"){handler = "MOUSEMOVE";}
		if (event == "onmouseover"){handler = "MOUSEOVER";}
		if (event == "onmouseout"){handler = "MOUSEOUT";}
		if (event == "onclick"){handler = "ONCLICK";}
		eval("document.captureEvents(Event."+handler+")");
        eval("document."+event+" = "+action);
		}
	}

function layer_setPager(pager,action) {
    pTop = this.obj_name + ".top";
    pLeft = this.obj_name + ".left";
    pBottom = this.obj_name + ".top + " + this.height;
    pRight = this.obj_name + ".left + " + this.width;
    if(pager == 1) {
        setPager1(pTop,pLeft,pBottom,pRight,action);
        }
    if(pager == 2) {
        setPager2(pTop,pLeft,pBottom,pRight,action);
        }
    if(pager == 3) {
        setPager3(pTop,pLeft,pBottom,pRight,action);
        }
    }
    
function setPager1(top,left,bottom,right,action) {
	thisArray = new Array(top,left,bottom,right,action);
	pl = pager1_values.length;
	pager1_values[pl]=thisArray;
	}
	
function catchPager1(event) {
    if(document.all){thisY=window.event.clientY;thisX=window.event.clientX;}
	else {thisY=event.pageY;thisX=event.pageX;}
	for (plv = 1; plv < pager1_values.length; plv++) {
		eval("pagerTop = " + pager1_values[plv][0]);
		eval("pagerLeft = " + pager1_values[plv][1]);
		eval("pagerBottom = " + pager1_values[plv][2]);
		eval("pagerRight = " + pager1_values[plv][3]);
		if(thisY > pagerTop && thisY < pagerBottom
			&& thisX > pagerLeft && thisX < pagerRight) {eval(pager1_values[plv][4]);}
		}
	}

function setPager2(top,left,bottom,right,action) {
	thisArray = new Array(top,left,bottom,right,action);
	pl = pager2_values.length;
	pager2_values[pl]=thisArray;
	}
	
function catchPager2(event) {
    if(document.all){thisY=window.event.clientY;thisX=window.event.clientX;}
	else {thisY=event.pageY;thisX=event.pageX;}
	for (plv = 1; plv < pager2_values.length; plv++) {
		eval("pagerTop = " + pager2_values[plv][0]);
		eval("pagerLeft = " + pager2_values[plv][1]);
		eval("pagerBottom = " + pager2_values[plv][2]);
		eval("pagerRight = " + pager2_values[plv][3]);
		if(thisY > pagerTop && thisY < pagerBottom
			&& thisX > pagerLeft && thisX < pagerRight) {eval(pager2_values[plv][4]);}
		}
	}

function setPager3(top,left,bottom,right,action) {
	thisArray = new Array(top,left,bottom,right,action);
	pl = pager3_values.length;
	pager3_values[pl]=thisArray;
	}
	
function catchPager3(event) {
    if(document.all){thisY=window.event.clientY;thisX=window.event.clientX;}
	else {thisY=event.pageY;thisX=event.pageX;}
	for (plv = 1; plv < pager3_values.length; plv++) {
		eval("pagerTop = " + pager3_values[plv][0]);
		eval("pagerLeft = " + pager3_values[plv][1]);
		eval("pagerBottom = " + pager3_values[plv][2]);
		eval("pagerRight = " + pager3_values[plv][3]);
		if(thisY > pagerTop && thisY < pagerBottom
			&& thisX > pagerLeft && thisX < pagerRight) {eval(pager3_values[plv][4]);}
		}
	}
  
initGevent();
