function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function setCookie(c_name,value,path,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((path==null) ? "" : ";path="+path)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
	if (document.cookie.length>0)
	{
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
		{ 
			c_start=c_start + c_name.length+1; 
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		} 
	}
	return "";
}

function readCookie(name) 
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) 
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function deleteCookie( name, path, domain ) 
{
	if ( getCookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function getXMLHttpRequest() 
{
	var object = null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		object = new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			object = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				object = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert(e.message);
			}
		}
	}
	return object;
}

function hsF(formName)
{
	if (document.body.className == "")
	{
		document.body.className = "logged-in";
		document.getElementById("post-panel").style.display = "none";
		document.getElementById("reply-panel").style.display = "none";
	}
	else
	{
		document.body.className = "";
		if (formName == "p")
		{
			document.getElementById("post-panel").style.display = "block";
			document.getElementById("reply-panel").style.display = "none";
		}
		else 
		{
			document.getElementById("post-panel").style.display = "none";
			document.getElementById("reply-panel").style.display = "block";
		}
	}
}

function sPF()
{	
	document.body.className = "";
	document.getElementById("post-panel").style.display = "block";
	document.getElementById("reply-panel").style.display = "none";
}

function sRF()
{
	document.body.className = "";
	document.getElementById("reply-panel").style.display = "block";
	document.getElementById("post-panel").style.display = "none";
}

function validatePost(form)
{
	var subj = form.subject.value;
	var msg = form.message.value;
	
	if (((trim(subj) != "") && (subj != "- no subject -")) || (trim(msg) != ""))
	{
		form.submit();
	}
	return false;
}

function hsP(pid)
{
	var e = document.getElementById(pid);
	if (e.style.display == "none" || e.style.display == "")
	{
		e.style.display = "block";
	}
	else
	{
		e.style.display = "none";
	}
}

function hsS(ctl,tid)
{
	var e = document.getElementById(tid);
	
	if (e == null)
	{
		return;
	}
	
	var object = getXMLHttpRequest();
	
	if (object != null)
	{
		var url;
		if (ctl.className == "minus")
		{
			url = "collapse_sticky.php?t=" + tid;
		}
		else
		{
			url = "expand_sticky.php?t=" + tid;
		}
		object.open("GET", url, true);
		object.send(null);	
	}
	hsT(ctl, tid);
}

function hsT(ctl,tid)
{
	var e = document.getElementById(tid);
	
	if (e == null)
	{
		return;
	}
	
	var cookie = getCookie("yt");
	
	if (ctl.className == "minus")
	{
		// collapsing post
		ctl.className = "plus";
		e.style.display = "none";
		// store tid in cookie
		cookie = cookie + tid + ".";
		setCookie("yt", cookie, "/");
	}
	else
	{
		// expanding post
		ctl.className = "minus";
		e.style.display = "block";
		// delete tid from cookie
		tid = tid + ".";
		cookie = cookie.replace(tid,"");
		setCookie("yt", cookie, "/");
	}
}

function nP()
{
	sPF();
	document.post.subject.value = "";
	document.post.message.value = "";
	document.post.subject.focus(); 
}

function rP(post_id)
{
	sRF();
		
	subject = document.getElementById(post_id).innerHTML;
	subject = subject.replace(/(.*)\<span class="search"\>(.*)\<\/span\>(.*)/, "$1$2$3");
	
	if (subject.length > 35)
	{
		var header = subject.substring(0,44) + "...";
		document.getElementById('reply-header').innerHTML = 'Reply to: ' + header;
	}
	else
	{
		document.getElementById('reply-header').innerHTML = 'Reply to: ' + subject;
	}
	
	document.reply.pid.value = post_id;
	document.reply.subject.value = "";
	document.reply.message.value = "";
	document.reply.subject.focus(); 
	document.reply.subject.select();
}

function changeView(index)
{
	if (index != -1)
	{
		document.view.submit();
	}
}

function checkTextbox(tb,ta)
{
    if (tb.value.length > 185)
    {
		ta.focus(); 
		
		var re = /(.*)\s(.*)$/;
		var arr = re.exec(tb.value);
		
		ta.value =  arr[2] + ta.value;
		tb.value = arr[1];
    }
}

function countTextArea(e, counterId, maxlimit)
{
	counter = document.getElementById(counterId);	
	
	if (e.value.length > maxlimit)
	{
		e.value = e.value.substring(0, maxlimit);
		counter.innerHTML = "0 characters left";
	}
	else
	{
		count = maxlimit - e.value.length; 
		counter.innerHTML = count + " characters left";
	}
}

function checkSubmit(form, event)
{
	if((event.which && event.which==13)||(event.keyCode && event.keyCode==13)) 
		return true;
	else
		return false;
}

function focusSearch(e)
{
	if (e.value == 'search ybm...')
	{
		e.value = "";
	}
	e.className = "search";
}

