var Core={};if(document.addEventListener){Core.addEventListener=function(target,type,listener){target.addEventListener(type,listener,false);};Core.removeEventListener=function(target,type,listener){target.removeEventListener(type,listener,false);};Core.preventDefault=function(event){event.preventDefault();};Core.stopPropagation=function(event){event.stopPropagation();};}else if(document.attachEvent){Core.addEventListener=function(target,type,listener){if(Core._findListener(target,type,listener)!=-1){return;};var listener2=function(){var event=window.event;if(Function.prototype.call){listener.call(target,event);}else{target._currentListener=listener;target._currentListener(event);target._currentListener=null;}};target.attachEvent("on"+type,listener2);var listenerRecord={target:target,type:type,listener:listener,listener2:listener2};var targetDocument=target.document||target;var targetWindow=targetDocument.parentWindow;var listenerId="1"+Core._listenerCounter++;if(!targetWindow._allListeners){targetWindow._allListeners={};};targetWindow._allListeners[listenerId]=listenerRecord;if(!target._listeners){target._listeners=[];};target._listeners[target._listeners.length]=listenerId;if(!targetWindow._unloadListenerAdded){targetWindow._unloadListenerAdded=true;targetWindow.attachEvent("onunload",Core._removeAllListeners);};};Core.removeEventListener=function(target,type,listener){var listenerIndex=Core._findListener(target,type,listener);if(listenerIndex==-1){return;};var targetDocument=target.document||target;var targetWindow=targetDocument.parentWindow;var listenerId=target._listeners[listenerIndex];var listenerRecord=targetWindow._allListeners[listenerId];target.detachEvent("on"+type,listenerRecord.listener2);target._listeners.splice(listenerIndex,1);delete targetWindow._allListeners[listenerId];};Core.preventDefault=function(event){event.returnValue=false;};Core.stopPropagation=function(event){event.cancelBubble=true;};Core._findListener=function(target,type,listener){var listeners=target._listeners;if(!listeners){return-1;};var targetDocument=target.document||target;var targetWindow=targetDocument.parentWindow;for(var i=listeners.length-1;i>=0;i--){var listenerId=listeners[i];var listenerRecord=targetWindow._allListeners[listenerId];if(listenerRecord.type==type&&listenerRecord.listener==listener){return i;};};return-1;};Core._removeAllListeners=function(){var targetWindow=this;for(id in targetWindow._allListeners){var listenerRecord=targetWindow._allListeners[id];listenerRecord.target.detachEvent("on"+listenerRecord.type,listenerRecord.listener2);delete targetWindow._allListeners[id];};};Core._listenerCounter=0;};Core.addClass=function(target,theClass){if(!Core.hasClass(target,theClass)){if(target.className==""){target.className=theClass;}else{target.className+=" "+theClass;};};};Core.getElementsByClass=function(theClass){var elementArray=[];if(document.all){elementArray=document.all;}else{elementArray=document.getElementsByTagName("*");};var matchedArray=[];var pattern=new RegExp("(^| )"+theClass+"( |$)");for(var i=0;i<elementArray.length;i++){if(pattern.test(elementArray[i].className)){matchedArray[matchedArray.length]=elementArray[i];};};return matchedArray;};Core.hasClass=function(target,theClass){var pattern=new RegExp("(^| )"+theClass+"( |$)");if(pattern.test(target.className)){return true;};return false;};Core.removeClass=function(target,theClass){var pattern=new RegExp("(^| )"+theClass+"( |$)");target.className=target.className.replace(pattern,"$1");target.className=target.className.replace(/ $/,"");};Core.getComputedStyle=function(element,styleProperty){var computedStyle=null;if(typeof element.currentStyle!="undefined"){computedStyle=element.currentStyle;}else{computedStyle=document.defaultView.getComputedStyle(element,null);};return computedStyle[styleProperty];};Core.ajaxRequest=function(Url,Method,Data,Handler){var Request=typeof(XMLHttpRequest)!='undefined'?new XMLHttpRequest():(typeof(window.createRequest)!='undefined'?window.createRequest():false);if(!Request){try{Request=new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{Request=new ActiveXObject('Microsoft.XMLHTTP');}catch(e){Request=false;};};};if(Request){Request.open(Method,Url,true,false,false);Request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');Request.onreadystatechange=function(){try{Request.readyState==4?(Request.status==200?Handler(Request.responseText):Handler(false)):null;}catch(e){Handler(false);}};Request.send(Data);};};Core.start=function(runnable){Core.addEventListener(window,"load",runnable.init);};Core.getElementsByClassTag=function(theClass,theTag){var elementArray=[];elementArray=document.getElementsByTagName(theTag);var matchedArray=[];var pattern=new RegExp("(^| )"+theClass+"( |$)");for(var i=0;i<elementArray.length;i++){if(pattern.test(elementArray[i].className)){matchedArray[matchedArray.length]=elementArray[i];};};return matchedArray;};Core.getElementsByClassTagOnElement=function(theClass,theTag,element){var elementArray=[];elementArray=element.getElementsByTagName(theTag);var matchedArray=[];var pattern=new RegExp("(^| )"+theClass+"( |$)");for(var i=0;i<elementArray.length;i++){if(pattern.test(elementArray[i].className)){matchedArray[matchedArray.length]=elementArray[i];};};return matchedArray;};