//Create new forum class
var Forum = new function() {
	
	this.hideDelay = 5000;	//5 seconds
	this.resultMsgDiv = null;
	this.timer = null;
	this.lastFormAction = null;
	this.threadLockButn = null;
	this.paddlockSpan = null;
	
	//-------------------------
	this.init = function() {
		var self = Forum;
		//setup any messages we need to display to the user
		self.resultMsgDiv = $('resultMsgDiv');
		if(self.resultMsgDiv){
			if(self.resultMsgDiv.innerHTML != ''){
				//show the div containing the data
				//but only show it for defined number of seconds
				self.toggleDiv(true);
				self.timer = setInterval("Forum.toggleDiv(false)",self.hideDelay);
			}
			else{
				self.toggleDiv(false);
			}
		}
	};
	//-------------------------
	this.toggleDiv = function(tFlag){
		var self = Forum;
		if(tFlag){
			//display the div
			//new Effect.Appear(self.resultMsgDiv);
			self.resultMsgDiv.style.display = 'block';
		}
		else{
			//hide the div
			new Effect.DropOut(self.resultMsgDiv);
			//self.resultMsgDiv.style.display = 'none';
			clearInterval(self.timer);
		}
	};
	//-------------------------
	this.postEdit = function(repId,topId){
		var self = Forum;
		document.location.href="create_answer.php?topId="+topId+"&repId="+repId;
	};
	//-------------------------
	this.topicEdit = function(topId){
		var self = Forum;
		document.location.href="create_topic.php?topId="+topId;
	};
	//-------------------------
	this.postDelete = function(aId,pId){
		var self = Forum;
		if(confirm('Are you sure you want to delete this post?')){
			var pars = 'aId=' + aId + '&pId=' + pId + '&action=deletePost';
			var url = 'forumAdmin.php';
			document.location.href=url+'?'+pars;
		}
		else{
			return;	
		}
	};
	//-------------------------
	this.threadLock = function(thread,key){
		var self = Forum;
		//if key = 1 thread is locked, about to un-lock it
		//if key = 0 thread is un-locked, about to lock it
		self.threadLockButn = $('threadLock_'+thread);
		self.paddlockSpan = $('paddlock_'+thread);
		var pars = 'thread=' + thread + '&key=' + key + '&action=threadLock';
		var url = 'forumAdmin.php';
		var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: self.returnThreadLock });
		if(self.threadLockButn){
			self.threadLockButn.disabled = true;
		}
	};
	//---------------------------
	this.returnThreadLock = function(res){
		var self = Forum;
		//alert(res.responseText);
		 
		var butnVal = '';
		var respArr = res.responseText.split('|');
		var resType = respArr[0];
		var resMsg = respArr[1];
		var resId = respArr[2];
		var resKey = respArr[3];
		//update label
		if(resType == 'success'){
			butnVal = resMsg;
		}else{
			butnVal = self.threadLockButn.value;
		}
		
		if(self.threadLockButn){
			self.threadLockButn.disabled = false;
			self.threadLockButn.value = butnVal;
		}
		if(self.paddlockSpan){
			if(butnVal == 'Lock'){
				self.paddlockSpan.innerHTML = '';
				self.threadLockButn.onclick = function () {self.threadLock(resId,resKey)};
			}else{
				self.threadLockButn.onclick = function () {self.threadLock(resId,resKey)};
				self.paddlockSpan.innerHTML = '<img src="../images/forum_lock.png" height="24" width="24" alt="This Forum Topic is Locked" />';
			}
		}
	}
};

window.onload = Forum.init;

/*
written by chris wetherell
http://www.massless.org
chris [THE AT SIGN] massless.org
http://www.massless.org/mozedit/
*/
		
var thisForm;    /* make sure to change the onload handler of the
	 				<body> tag to the form you're using!... */
	
/* YOU CAN ERASE getMozSelection(): 
It's here for debug purposes only */
function getMozSelection(txtarea) {
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd==1 || selEnd==2) selEnd=selLength;
	return (txtarea.value).substring(selStart, selEnd);
}

function mozWrap(txtarea, lft, rgt) {
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd==1 || selEnd==2){
		selEnd=selLength;
	}
	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + lft + s2 + rgt + s3;
}

function IEWrap(textarea,lft, rgt) {
	//strSelection = document.selection.createRange().text;
	//if (strSelection!="") {
	//document.selection.createRange().text = lft + strSelection + rgt;
	//}
	textarea.focus();
	// The current selection
	var range = document.selection.createRange();
	// We'll use this as a 'dummy'
	var stored_range = range.duplicate();
	// Select all text
	stored_range.moveToElementText( textarea );
	// Now move 'dummy' end point to end point of original range
	stored_range.setEndPoint( 'EndToEnd', range );
	// Now we can calculate start and end points
	textarea.selectionStart = stored_range.text.length - range.text.length;
	textarea.selectionEnd = textarea.selectionStart + range.text.length;
	
	var selLength = textarea.value.length;
	var selStart = textarea.selectionStart;
	var selEnd = textarea.selectionEnd;
	if (selEnd==1 || selEnd==2){
		selEnd=selLength;
	}
	//alert('length: '+selLength+', start: '+selStart+', end: '+selEnd);
	var s1 = (textarea.value).substring(0,selStart);
	var s2 = (textarea.value).substring(selStart, selEnd)
	var s3 = (textarea.value).substring(selEnd, selLength);
	textarea.value = s1 + lft + s2 + rgt + s3;
	
}

function wrapSelection(txtarea, lft, rgt) {
	if (document.all){
		IEWrap(document.getElementById(txtarea),lft, rgt);
	}
	else if (document.getElementById){
		mozWrap(document.getElementById(txtarea), lft, rgt);
	}
}
function wrapSelectionWithLink(txtarea) {
	var my_link = prompt("Enter URL:","http://");
	if (my_link != null) {
		lft="<a href=\"" + my_link + "\">";
		rgt="</a>";
		wrapSelection(txtarea, lft, rgt);
	}
	return;
}	

document.onkeypress = function (e) {
  if (document.all) {
	key=event.keyCode; 
	txtarea=thisForm.a_answer;
	if (key == 1) wrapSelectionWithLink(txtarea);
	if (key == 2) wrapSelection(txtarea,'[b]','[/b]');
	if (key == 20) wrapSelection(txtarea,'[i]','[/i]');
  }
  else if (document.getElementById) {
	ctrl=e.ctrlKey; 
	shft=e.shiftKey; 
	chr=e.charCode;
	if (ctrl) if (shft) if (chr==65) wrapSelectionWithLink(thisForm.T);
	if (ctrl) if (shft) if (chr==66) wrapSelection(thisForm.a_answer,'[b]','[/b]');
	if (ctrl) if (shft) if (chr==84) wrapSelection(thisForm.a_answer,'[i]','[/i]');
  }
  return true;
}
/* end chris w. script */
	
	
	
/*
written by meg hourihan
http://www.megnut.com
meg@megnut.com
*/

function mouseover(el) {
	el.className = "raise";
}

function mouseout(el) {
	el.className = "buttons";
}

function mousedown(el) {
	el.className = "press";
}

function mouseup(el) {
	el.className = "raise";
}

//http://sitening.com/blog/create-a-modal-dialog-using-css-and-javascript/
function modalOverlay(contentKey) {
	el = document.getElementById(contentKey);
	el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
}

