/* <![CDATA[ */

var Events={
	guid:1,NODE_TYPE:{ELEMENT_NODE:1,TEXT_NODE:3},
	cancel:function(event){event.preventDefault();event.stopPropagation();event.returnValue=false;},
	fix:function(event){
		if(!event.target){event.target=event.srcElement;if(event.target.nodeType==Events.NODE_TYPE.TEXT_NODE){event.target=event.target.parentNode;}}
		event.preventDefault=event.preventDefault||Events.preventDefault;event.stopPropagation=event.stopPropagation||Events.stopPropagation;
		return event;
	},
	handle:function(event){
		event=Events.fix(event||((this.ownerDocument||this.document||this).parentWindow||window).event);
		var ret;for(var i in this.events[event.type]){this.$$fn=this.events[event.type][i];if((ret=this.$$fn(event))===false){break;}}
		return ret;
	},
	preventDefault:function(){this.returnValue=false;},stopPropagation:function(){this.cancelBubble=true;}
};
Events.add=!!(document.addEventListener)?
	function(element,type,handler){element.addEventListener(type,handler,false);}:
	function(element,type,handler){
		element.events=element.events||{};
		var handlers=element.events[type];
		if(!handlers){handlers=element.events[type]={};if(element['on'+type]){handlers[0]=element['on'+type];}} // deal with existing handler 
		handlers[(handler.$$guid=handler.$$guid||Events.guid++)]=handler;
		element['on'+type]=Events.handle;
	};
Events.remove=!!(document.removeEventListener)?
	function(element,type,handler){element.removeEventListener(type,handler,false);}:
	function(element,type,handler){if(element.events&&element.events[type]){delete element.events[type][handler.$$guid];}};

var Load={
	IE:!!(document.all)&&(/microsoft/i.test(navigator.appName)),Mac:(/mac/i.test(navigator.platform)),NS4:document.getElementById?false:document.layers,Win:(/win/i.test(navigator.platform)),
	domInit:function(){ // this is called when the document has loaded (but not necessarily all the associated images etc.)
		if(arguments.callee.done){return;}arguments.callee.done=true; // double execution check
		if((Load.IE&&Load.Mac)||Load.NS4){return;} // we don't run script on IE5.2/Mac or NN4...
		if(window.loadedInit){window.loadedInit();} // this function should be in another linked file
	},
	initialize:function(){
		if(Load.IE&&!Load.Mac){
			document.write('<'+'script id="__ie_onload" defer src="//0"><'+'/script>');
			document.getElementById('__ie_onload').onreadystatechange=function(){if(this.readyState=='complete'){Load.domInit();}}; // call the onload handler
		}
		else{
			if(document.addEventListener){
				document.addEventListener('DOMContentLoaded',Load.domInit,null); // only Mozilla will handle this
				if(/WebKit|KHTML/i.test(navigator.userAgent)){ // for Safari / KMeleon
					window.__WebKitTimer=window.setInterval(function(){if(/loaded|complete/.test(document.readyState)){
						window.clearInterval(window.__WebKitTimer); // clear the interval
						Load.domInit(); // call the onload handler
					}},10);
				}
			}
			else{Events.add(window,'load',Load.domInit);}
		}
	}
};

Load.initialize();

if(!window.console){window.console={log:function(){return false;}};}

/* ]]> */
