/* <![CDATA[ */

var Events={
	guid:1,NODE_TYPE:{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12},
	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;}}
		if(!event.preventDefault){event.preventDefault=Events.preventDefault;}
		if(!event.stopPropagation){event.stopPropagation=Events.stopPropagation;}
		return event;
	},
	handle:function(event){
		event=event||Events.fix(((this.ownerDocument||this.document||this).parentWindow||window).event);
		var handlers=this.events[event.type];
		for(var i in handlers){this.$$handleEvent=handlers[i];if(this.$$handleEvent(event)===false){return false;}}
		return true;
	},
	preventDefault:function(){this.returnValue=false;},
	remove:function(element,type,handler){
		if(element.removeEventListener){element.removeEventListener(type,handler,false);}
		else{if(element.events&&element.events[type]){delete element.events[type][handler.$$guid];}}
	},
	stopPropagation:function(){this.cancelBubble=true;}
};
Events.add=!!(document.addEventListener)?
	function(element,type,handler){element.addEventListener(type,handler,false)}:
	function(element,type,handler){
		if(!handler.$$guid){handler.$$guid=Events.guid++;}
		if(!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;
		element['on'+type]=Events.handle;
	};

var Load={
	IE:!!(document.all)&&(/microsoft/i.test(navigator.appName)),Mac:(/mac/i.test(navigator.platform)),NS4:document.getElementById?false:document.layers,
	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)){
					window.__WebKitTimer=window.setInterval(function(){if(/loaded|complete/.test(document.readyState)){
						window.clearInterval(window.__WebKitTimer);try{delete window.__WebKitTimer;}catch(ex){window.__WebKitTimer=null;} // clear the interval
						Load.domInit(); // call the onload handler
					}},10);
				}
			}
			else{Events.add(window,'load',Load.domInit);}
		}
	}
};

Load.initialize();

/* ]]> */