function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();

function get(el) {
  return document.getElementById(el);
}




var bounty = {
	ousingForums : Object,
	oUsingForumDetail : Object,
	fInit : function(){
		bounty.ousingForums = get('usingForums');
		bounty.oUsingForumDetail = get('usingForumDetail');
		if (bounty.ousingForums){
			if (bounty.oUsingForumDetail){
				bounty.fToggle('usingForumDetail');
				addEvent(bounty.ousingForums,'click',bounty.fReveal);
			}
		}
	},
	fToggle : function(){
		for (var i=0, el; el = get(arguments[i]); i++) {
			el.style.display = (el.style.display != 'none' ? 'none' : '' );
		}
	},
	fReveal : function(e){
		e.returnValue = false; // for IE
		if (typeof e.preventDefault == 'function'){e.preventDefault();}

		bounty.fToggle('usingForumDetail');
	}
};

var rightClickDisable = {
	fInit : function(){
		var oImg = document.getElementsByTagName('img');
		if (oImg){
			for(i=0;i<oImg.length;i++){
				addEvent(oImg[i], 'mousedown', rightClickDisable.disableclick);
			}
		}
	},
	disableclick : function(e){
		if (e.button==2 || e.button==3){
			alert('Sorry - Right click disabled on images!');
		}
	}
};


var counter = {
	init : function() {
		var oTextArea = get("waved");
		if (oTextArea){
			var oMsgArea = get("txtMessage");
			addEvent(oMsgArea, "keyup", counter.count);
			counter.count(oMsgArea);
		}
	},
	count : function(e) {
		if(this.value) e = this;
		var iMaxSize = 200;
		var oCounter = get("counter-value");
		var oCharStatus = get("character-status");
		if (e.value.length >= iMaxSize ) {
			e.value = e.value.substring(0, iMaxSize);
			oCharStatus.className = "limit-reached";
        } else {
			oCharStatus.className = "";
		}
		oCounter.innerHTML = e.value.length;
	}
};

var quickNav = {
	oContainer : Object,
	init : function(){
		quickNav.oContainer = get("mN");
		if (quickNav.oContainer){
			quickNav.clickCommands();
		}
	},
	clickCommands : function(){
		var oH4 = quickNav.oContainer.getElementsByTagName("h4");
		if(oH4){
			for(var i=0; i<oH4.length; i++){
				addEvent(oH4[i], "click", quickNav.action);
			}
		}

		quickNav.closeUls();
	},
	closeUls : function(){
		var oUL = quickNav.oContainer.getElementsByTagName("ul");
		if(oUL){
			for(var j=0; j<oUL.length; j++){
				oUL[j].style.display="none";
			}
		}
	},
	action : function(){
		var oUL = this.nextSibling;
		if (oUL.nodeName != "UL"){
			oUL = this.nextSibling.nextSibling;
		}
		if (oUL){
			quickNav.closeUls();
			if(oUL.style.display=="none"){
				oUL.style.display="block";
			}else{
				oUL.style.display="none";
			}
		}
	}
}

var loadScripts = {
	fInit : function(){
		rightClickDisable.fInit();
		counter.init();
		//quickNav.init();
	}
};

addEvent(window,'load',loadScripts.fInit);