

var shoutIdToChange = '';
var shoutToChange = '';
var fadeElmToUSE;
 

function edit_shout(id) {
	var fields = Array();
	var msg = my_getbyid('the-shout-'+id);
	
	msg.innerHTML = '';
	var textarea = document.createElement('textarea');
	textarea.cols = textAreaCols;
	textarea.row = textAreaRows;
	textarea.id = "edit-Shout";
	msg.appendChild(textarea);
	textarea.innerHTML = my_getbyid('raw-shout-'+id).innerHTML;
	
	shoutIdToChange = id;
	shoutToChange = textarea.innerHTML;
	
	textarea.onblur = save_shout;
}

function save_shout() {

	var fields = Array();
	var textarea = my_getbyid('edit-Shout');
	var msg = my_getbyid('the-shout-'+shoutIdToChange);
	
	if(textarea.value == shoutToChange) {
		msg.innerHTML = textarea.value;
		return;
	}
	
	my_getbyid('raw-shout-'+shoutIdToChange).innerHTML = textarea.value;
	fields['message'] = textarea.value;
	fields['id'] = shoutIdToChange;
	
	req = function()
	{
		if (xmlobj.readystate_ready_and_ok())
		{
			var html = xmlobj.xmlhandler.responseText;
			
			if(html.substring(0, 5) == 'ERROR') {
				eval(html.substring(6));
			} else {
				msg.innerHTML = html; 
			}
			
			html = '';
		
		}

	}
	
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange(req);
	
	var u = ipb_var_base_url+'autocom=shoutbox&code=ajax&cmd=editshout&id='+shoutIdToChange;
	
	xmlobj.process(u, 'POST', xmlobj.format_for_post(fields));
}

function delete_shout(id) {
	req = function()
	{
		if (xmlobj.readystate_ready_and_ok())
		{
			var html = xmlobj.xmlhandler.responseText;
			if(my_getbyid('history-row-'+id)) {
				var row = my_getbyid('history-row-'+id);
				row.parentNode.removeChild(row);
			}
			
			if(my_getbyid('shout-row-'+id)) {
				var row = my_getbyid('shout-row-'+id);
				row.parentNode.removeChild(row);
			}
			
			html = '';
		}

	}
	
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange(req);
	
	var u = ipb_var_base_url+'autocom=shoutbox&code=ajax&cmd=deleteshout&id='+id;
	
	xmlobj.process(u, 'GET');
}

var currentlyRefreshing = false;

function fadeGlobalShouts() {
	toggleview('refresh_button');
}

function resize_shoutbox(add)
{
	
	height = parseInt(ele_global_shouts_parentNode.style.height) ? parseInt(ele_global_shouts_parentNode.style.height ) : 100;
	
	
	if(add == "1") {
		// Increase
		nheight = height + 20;
	} else {
		// Decrease
		if(height != "20") {
			nheight = height - 20;
		}
	}
	
	if(nheight < 0) {
		nheight = 0;
	}
	
	ele_global_shouts_parentNode.style.height = nheight + "px";
	
	my_setcookie('ibspeak_size', nheight, 1);
}

var refreshOnClickSet = false;

function set_ibspeak_onclick() {
	document.onmousemove = resetRefreshClicks;
	document.onclick = resetRefreshClicks;
	document.onkeydown = resetRefreshClicks;
	window.onload = resetRefreshClicks;
	window.onresize = resetRefreshClicks;
}

function resetRefreshClicks() {
	refreshedWithoutClick = 0;
	
	if(is_idle) {
		ele_global_shouts_parentNode.className = 'row1';
		currentlyRefreshing = false;
		begin_refresh_shouts();
	}
	
	is_idle = false;
	
}

var is_idle = false;
var idleObj;

function showIdleScreen() {
	ele_global_shouts_parentNode.className = 'darkrow3';
}

function check_refresh_click() {
	if(refreshedWithoutClick >= 3) {
		is_idle = true;
		
		showIdleScreen();
	} else {
		is_idle = false;
	}
}

var shoutTimeOut;

function begin_refresh_shouts() {
	refresh_shouts();
	shoutTimeOut = setTimeout("begin_refresh_shouts();", refreshRate);
}

function clear_shout_timeout() {
	clearTimeout(shoutTimeOut);
	shoutTimeOut = setTimeout("begin_refresh_shouts();", refreshRate);
}

function refresh_shouts()
{
	if(currentlyRefreshing) {
		return;
	}
	currentlyRefreshing = true;
	
	clear_shout_timeout();
	
	check_refresh_click();
	
	if(is_idle) {
		return;
	}
	
	refreshedWithoutClick++;

	if(!activated) {
		return;
	}
	
	fadeGlobalShouts();
	
	req = function()
	{
		if (xmlobj.readystate_ready_and_ok())
		{
			var html = xmlobj.xmlhandler.responseText;
			ele_global_shouts.innerHTML = html + ele_global_shouts.innerHTML;
			
			html = '';
			currentlyRefreshing = false;
			fadeGlobalShouts();
		}

	}
	
	var e = ele_global_shouts.getElementsByTagName('div');
	var lsid = 0;
	
	for(var i=0;i<e.length;i++){
	
		if(e[i].id.substring(-1,10) == "shout-row-") {
			if(lsid == 0) {
				lsid = e[i].id.substring(10);
			}
		}
		
	}
	
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange(req);
	
	var u = ipb_var_base_url+'autocom=shoutbox&code=ajax&cmd=showshouts&lastshoutid='+lsid;
	
	xmlobj.process(u, 'GET');	
}


function post_shout() {
	var fields = Array();
	var textarea = my_getbyid('new-shout');
	var ob = my_getbyid('global-shouts');

	var color = my_getbyid('colorSelector').value;
	
	
	fadeGlobalShouts();
	
	fields['message'] = textarea.value;
	fields['color'] = color;
	
	if(fields['message'] == '') {
		if(my_getbyid('new-shout').value != '') {
			fields['message'] = my_getbyid('new-shout').value;
		}
	}
	
	req = function()
	{
		if (xmlobj.readystate_ready_and_ok())
		{
			var html = xmlobj.xmlhandler.responseText;
			
			
			if(html.substring(0, 5) == 'ERROR') {
				eval(html.substring(6));
			} else {
				ob.innerHTML = html + ob.innerHTML;
			}

			
			textarea.value = '';
			fadeGlobalShouts();
			
			html = '';
		}

	}
	
	var e = ob.getElementsByTagName('div');
	var lsid = 0;
	
	for(var i=0;i<e.length;i++){
	
		if(e[i].id.substring(-1,10) == "shout-row-") {
			if(lsid == 0) {
				lsid = e[i].id.substring(10);
			}
		}
		
	}
	
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange(req);
	
	var u = ipb_var_base_url+'autocom=shoutbox&code=ajax&cmd=postshout&lastshoutid='+lsid;
	
	xmlobj.process(u, 'POST', xmlobj.format_for_post(fields));	
}

var activated = true;
var refreshedWithoutClick = 0;

function activate_ibspeak() {
	togglecategory('ibspeak', 0);
	activated = true;
	
}

function deactivate_ibspeak() {
	togglecategory('ibspeak', 1);
	activated = false;
	if(is_idle) {
		idleObj.hide_loading();
	}
}

function ibspeak_emoticon(code, usless, useless2) {
	my_getbyid('new-shout').value += ' '+code + ' ';
}


function ibspeak_showEmo() {
	
	window.emoticon = ibspeak_emoticon;
	window.open(ipb_var_base_url+'act=legends&CODE=emoticons', 'Emoticons', 'width=250,height=500,resizable=yes,scrollbars=yes');
	return false;
}

function ibspeak_showBBCODE() {
	window.open(ipb_var_base_url+'act=legends&CODE=bbcode', 'BBCode', 'width=700,height=500,resizable=yes,scrollbars=yes');
	return false;
}