/* x_event.js compiled from X 4.0 with XC 0.27b. Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */
function xAddEventListener(e,eT,eL,cap)
{if(!(e=xGetElementById(e))) return;
eT=eT.toLowerCase();
if((!xIE4Up && !xOp7Up) && e==window) {if(eT=='resize') { window.xPCW=xClientWidth();
 window.xPCH=xClientHeight();
 window.xREL=eL;
 xResizeEvent();
 return;
 }if(eT=='scroll') { window.xPSL=xScrollLeft();
 window.xPST=xScrollTop();
 window.xSEL=eL;
 xScrollEvent();
 return;
 }}var eh='e.on'+eT+'=eL';
if(e.addEventListener) e.addEventListener(eT,eL,cap);
else if(e.attachEvent) e.attachEvent('on'+eT,eL);
else eval(eh);

}

function xResizeEvent()
{if (window.xREL) setTimeout('xResizeEvent()', 250);
var cw = xClientWidth(), ch = xClientHeight();
if (window.xPCW != cw || window.xPCH != ch) { window.xPCW = cw;
 window.xPCH = ch;
 if (window.xREL) window.xREL();
 }
}

function xScrollEvent()
{if (window.xSEL) setTimeout('xScrollEvent()', 250);
var sl = xScrollLeft(), st = xScrollTop();
if (window.xPSL != sl || window.xPST != st) { window.xPSL = sl;
 window.xPST = st;
 if (window.xSEL) window.xSEL();
 }
}

function xEvent(evt) {var e = evt || window.event;
if(!e) return;
if(e.type) this.type = e.type;
if(e.target) this.target = e.target;
else if(e.srcElement) this.target = e.srcElement;
if (e.relatedTarget) this.relatedTarget = e.relatedTarget;
else if (e.type == 'mouseover' && e.fromElement) this.relatedTarget = e.fromElement;
else if (e.type == 'mouseout') this.relatedTarget = e.toElement;
if(xOp6Dn) { this.pageX = e.clientX;
 this.pageY = e.clientY;
 }else if(xDef(e.pageX,e.pageY)) { this.pageX = e.pageX;
 this.pageY = e.pageY;
 }else if(xDef(e.clientX,e.clientY)) { this.pageX = e.clientX + xScrollLeft();
 this.pageY = e.clientY + xScrollTop();
 }if (xDef(e.offsetX,e.offsetY)) {this.offsetX = e.offsetX;
this.offsetY = e.offsetY;
}else if (xDef(e.layerX,e.layerY)) {this.offsetX = e.layerX;
this.offsetY = e.layerY;
}else {this.offsetX = this.pageX - xPageX(this.target);
this.offsetY = this.pageY - xPageY(this.target);
}if (e.keyCode) { this.keyCode = e.keyCode;
 } else if (xDef(e.which) && e.type.indexOf('key')!=-1) { this.keyCode = e.which;
 }this.shiftKey = e.shiftKey;
this.ctrlKey = e.ctrlKey;
this.altKey = e.altKey;

}

function xPreventDefault(e)
{if (e && e.preventDefault) e.preventDefault();
else if (window.event) window.event.returnValue = false;

}

function xRemoveEventListener(e,eT,eL,cap)
{if(!(e=xGetElementById(e))) return;
eT=eT.toLowerCase();
if((!xIE4Up && !xOp7Up) && e==window) {if(eT=='resize') { window.xREL=null;
 return;
 }if(eT=='scroll') { window.xSEL=null;
 return;
 }}var eh='e.on'+eT+'=null';
if(e.removeEventListener) e.removeEventListener(eT,eL,cap);
else if(e.detachEvent) e.detachEvent('on'+eT,eL);
else eval(eh);

}

function xStopPropagation(evt)
{if (evt && evt.stopPropagation) evt.stopPropagation();
else if (window.event) window.event.cancelBubble = true;
}

