var xmlhttp;

var statusorig;

function setUserStatus() {
	var statustext = document.getElementById('updatestatustext').value;
	if(statustext == statusorig)
		return;
	else
		statusorig = statustext;
	if(statustext.length > 100) {
		statusUpdateResponse("Too many characters!");
		return;
	}
	xmlhttp = createXMLobject();
	if(xmlhttp == null) {
		statusUpdateResponse("Sorry, your browser does not support this feature. Try <a href='http://tagclan.net/forum/?page=myoptions&act=usertitle'>this form</a> instead.");
		return;
	}
	var file = 'http://tagclan.net/forum/scripts/php/userstatus.php?status=';
	statustext = escape(statustext);
	statustext.replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\//g, '%2F').replace(/\*/g, '%2A').replace(/@/g, '%40');
	file += statustext;
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4) {
			if(xmlhttp.responseText == 1)
				statusUpdateResponse("Your status has been updated!");
			else
				statusUpdateResponse("Sorry, an error occurred and your status could not be updated.");
		}
	}
	xmlhttp.open("GET", file, true);
	xmlhttp.send(null);
}

function countStatusTextChars() {
	var statustext = document.getElementById('updatestatustext');
	var charsremaining = 100;
	charsremaining -= statustext.value.length;
	if(charsremaining < 10) charsremaining = '<span style="color:#FF0000">' + charsremaining + '</span>';
	else if(charsremaining < 20) charsremaining = '<span style="color:#CC0000">' + charsremaining + '</span>';
	document.getElementById('updatestatuschars').innerHTML = charsremaining;
	document.getElementById('updateresponsecontainer').innerHTML = '';
}

function statusUpdateResponse(response) {
	var responsecontainer = document.getElementById('updateresponsecontainer');
	responsecontainer.innerHTML = response;
	if(response != '')
		var statusResponseTimer = setTimeout("statusUpdateResponse('')", 10000);
}

function toggleStar(mesg) {
	xmlhttp = createXMLobject();
	if(xmlhttp == null) {
		alert("Sorry, your browser does not support this feature.");
		return;
	}
	var file = 'http://tagclan.net/forum/scripts/php/messages.php?act=star&mesg=';
	file += mesg;
	var starbutton = document.getElementById('star' + mesg);
	var starsrc = 'http://tagclan.net/forum/images/messages/star.png';
	if(starbutton.src == 'http://tagclan.net/forum/images/messages/star.png') {
		file += '&star=0';
		starsrc = 'http://tagclan.net/forum/images/messages/star_null.png';
	} else file += '&star=1';
	xmlhttp.onreadystatechange = function() {
		if(xmlhttp.readyState == 4) {
			if(xmlhttp.responseText == 1)
				starbutton.src = starsrc;
			else
				alert("Sorry, an error occurred and the action\ncould not be completed as requested.");
		}
	}
	xmlhttp.open("GET", file, true);
	xmlhttp.send(null);
}

function createXMLobject() {
	var xmlhttp = null;
	try {
		xmlhttp = new XMLHttpRequest();
		//supported if client FF, O, K, or Safari
	}
	catch(e) {
		//client IE?
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) {
				return null;
			}
		}
	}
	return xmlhttp;
}