JSCore=function(){this.fnInit()};JSCore.prototype={fnInit:function(){this.aStack=new Array();this.oInterval;this.bLoaded;this.aEventCache=new Array();this._fnLogInit()},addListener:function(H){var F;var G;typeof H.sLabel!="undefined"?null:H.sLabel="";typeof H.oObj!="undefined"?null:H.oObj=null;typeof H.mOverrideScope!="undefined"?null:H.mOverrideScope=null;if(H.mScope){if(H.mScope===true){F=H.oObj}else{F=H.mScope}}else{F=H.mElement}G=function(A){if(!jsCore){return 0}else{H.fnCallback.call(F,jsCore._getEvent(A),H.oObj)}return false};if(typeof (H.mElement)=="string"){var I=document.getElementById(H.mElement);jsCore._addEvent({nNode:I,sType:H.sType,fnCallback:H.fnCallback,fnCallbackWrapped:G,sLabel:H.sLabel})}else{if(H.mElement){if(H.mElement.nodeName||H.mElement==window){jsCore._addEvent({nNode:H.mElement,sType:H.sType,fnCallback:H.fnCallback,fnCallbackWrapped:G,sLabel:H.sLabel})}else{for(var J=0;J<H.mElement.length;J++){jsCore._addEvent({nNode:H.mElement[J],sType:H.sType,fnCallback:H.fnCallback,fnCallbackWrapped:G,sLabel:H.sLabel})}}}}},_addEvent:function(B){this.aEventCache[this.aEventCache.length++]={"nNode":B.nNode,"sType":B.sType,"fnWrapped":B.fnCallbackWrapped,"fn":B.fnCallback,"sLabel":B.sLabel};if(B.nNode.addEventListener){B.nNode.addEventListener(B.sType,B.fnCallbackWrapped,false)}else{if(B.nNode.attachEvent){B.nNode.attachEvent("on"+B.sType,B.fnCallbackWrapped)}}},removeListener:function(D){this.aiDelete=new Array();if(typeof D.sLabel=="string"){for(var C=0;C<this.aEventCache.length;C++){if(this.aEventCache[C].sLabel==D.sLabel){jsCore._removeEvent({nNode:this.aEventCache[C].nNode,sType:this.aEventCache[C].sType,fn:this.aEventCache[C].fn})}}}else{if(typeof D.mElement=="string"){nElement=document.getElementById(D.mElement);jsCore._removeEvent({nNode:nElement,sType:D.sType,fn:D.fnCallback})}else{if(!D.mElement.length){jsCore._removeEvent({nNode:D.mElement,sType:D.sType,fn:D.fnCallback})}else{for(var C=0;C<D.mElement.length;C++){jsCore._removeEvent({nNode:D.mElement[C],sType:D.sType,fn:D.fnCallback})}}}}for(var C=this.aiDelete.length-1;C>=0;C--){this.aEventCache.splice(this.aiDelete[C],1)}},_removeEvent:function(D){for(var C=0;C<this.aEventCache.length;C++){if(D.nNode==this.aEventCache[C].nNode&&D.sType==this.aEventCache[C].sType&&D.fn==this.aEventCache[C].fn){if(D.nNode.removeEventListener){D.nNode.removeEventListener(D.sType,this.aEventCache[C].fnWrapped,false)}else{if(D.nNode.detachEvent){D.nNode.detachEvent("on"+D.sType,this.aEventCache[C].fnWrapped)}}break}}this.aiDelete[this.aiDelete.length++]=C},_getEvent:function(B){return B||window.event},getElementFromEvent:function(C){var D;if(C.target){D=C.target}else{if(C.srcElement){D=C.srcElement}}if(D.nodeType==3){D=D.parentNode}return(D)},_log_aDatabase:new Array(),fnLog:function(D,C){},_fnLogInit:function(){if(document.addEventListener){document.addEventListener("keydown",this._fnLogShowHide,true)}else{if(document.attachEvent){document.attachEvent("onkeydown",this._fnLogShowHide)}}},_fnLogShowHide:function(D){D=D||window.event;var E=D.keyCode||D.which;var F=String.fromCharCode(E).toLowerCase();if(D.ctrlKey&&D.shiftKey&&F=="l"){alert("target key store detected "+D.shiftKey+" "+F+" "+E)}}};var jsCore=new JSCore();jsCore.bAvailable=true