/* Script Version 7.0.2 */

// Current Menu
var currentMenu = null;
var currentMenuStatus = false;
var is_pending = 0;
var submit_clicked = 0;

function ubbtAJAX(url, callback, responseType) {

	var req = init();
	
	req.onreadystatechange = processRequest;
	
	if (!responseType) {
		responseType = "text";
	}
	
	var type = responseType;
        
 	function init() {
		if (window.XMLHttpRequest) {
			http_request = new XMLHttpRequest();
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		return http_request;
	}
   
	function processRequest () {
		if (req.readyState != 4) { return; }
		if (req.readyState == 4) {
			if (callback) {
				if (type == "xml") {
					callback(req.responseXML);
				} else {
					callback(req.responseText);
				}
			}
			req.onreadystatechange = function() {};
			req.abort();
		}
	}

	this.sendData = function(meth,params) {

		if (meth == "GET") {
			req.open("GET", url, true);
			req.send(null);
		} else {
    			req.open('POST', url, true); 
      			req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      			req.setRequestHeader("Content-length", params.length);
      			req.setRequestHeader("Connection", "close");
      			req.send(params); 
    		}
	}
}

function doPreview() {
	if (is_pending) return;
	is_pending = 1;
	
	obj = document.replier;
	
	body = obj.Body.value;
	convert = '';
	if (obj.convert) {
		convert = obj.convert.value;
	}
	
	obj = get_object('preview_text');
	obj.innerHTML = loadingpreview;
	area = get_object('preview_area');
	area.style.display = "";
	
	var url = fullurl + "/ubbthreads.php";
	var ajax = new ubbtAJAX(url, updatePreview); 
	ajax.sendData("POST","ubb=previewpost&convert=" + convert + "&Body=" + encodeURIComponent(body)); 

}

function updatePreview(responseXML) {
	postBody = responseXML;
	obj = get_object('preview_text');
	obj.innerHTML = postBody;
	is_pending = 0;
}

// Get and retrieve an object
function get_object(obj) {
	if (document.getElementById) {
		return document.getElementById(obj);
	} else if (document.all) {
		return document.all[obj];
	} else if (document.layers) {
		return document.layers[obj];
	} else {
		return null;
	}
}

// Get the position of the current object
function get_offset(obj) {
	var left_offset = obj.offsetLeft;
	var top_offset = obj.offsetTop;

	while ((obj = obj.offsetParent) != null)
	{
		left_offset += obj.offsetLeft;
		top_offset += obj.offsetTop;
	}
	top_offset += 5;
	return { 'left' : left_offset, 'top' : top_offset };
}
	

// Show/Hide a block of content and set a cookie
function showHideBlock(e) {
	
	element = get_object(e);
	image = get_object('toggle_' + e);
	
	currentCookie = "";
	currentCookie = getCookie('ubbt_collapsed');
	
	if (element.style.display == "none") {
		element.style.display = "";
		re = new RegExp(e, "ig");
		newCookie = currentCookie.replace(re, "");
		image.src = fullurl + "/images/" + imagedir + "/toggle_closed.gif";
	} else {
		element.style.display = "none";
		image.src = fullurl + "/images/" + imagedir + "/toggle_open.gif";
		newCookie = currentCookie + "|" + e + "|";
	}
	
	setCookie('ubbt_collapsed',newCookie);
	
} // end showHideBlock

// Show/Hide any block of text
function showHide(obj) {

	obj = get_object(obj);
	if (obj.style.display == "none") {
		obj.style.display = ''
	} else {
		obj.style.display = "none";
	} // end if

} // end showHide


// Show/Hide a popup menu
function showHideMenu(obj,e) {
	
	obj = get_object(obj);
	
	pos = get_offset(obj);
	leftpx = pos['left'];
	toppx = pos['top'] + obj.offsetHeight;
	
	element = get_object(e);
	
	// Close the last active menu
	if (currentMenu != null && typeof currentMenu == "object" && currentMenu != element) {
		currentMenu.style.display = "none";
	}
	
	
	element.style.position = 'absolute';
	element.style.zIndex = 50;
	element.style.left = leftpx + 'px';
	element.style.top  = toppx + 'px';
	if (element.style.display == "none") {
		element.style.display = "";
		currentMenu = element;
		currentMenuStatus = true;
	} else {
		element.style.display = "none";
		currentMenu = null;
		currentMenuStatus = false;
	}

}

// Clears the last active menu
function clearMenus(e) {
	
	if (!e) e = window.event
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3)
		targ = targ.parentNode; 
		
	if (targ.id == "noclose" || targ.parentNode.id == "noclose" || targ.parentNode.parentNode.id == "noclose") {
		return;
	}

	if (currentMenuStatus == true) {
		currentMenuStatus = false;
		return true;
	} // end if
	if (currentMenu != null && typeof currentMenu == "object") {
		currentMenu.style.display = "none";
	} // end if
} // end clearMenus
	
	
// Register a popup menu
function registerPopup(e) {
	
	element = get_object(e);

	if (element == null) return;
	
	element.style.display = "none";

	if (element.getElementsByTagName)
		var x = element.getElementsByTagName('TD');

	for (var i=0; i < x.length; i++) {
		if (x[i].id != "noclose") {
			x[i].onclick = click;
			x[i].id = e;
		}
		if (x[i].className == "popup_menu_header") continue;
		x[i].onmouseover = over;
		x[i].onmouseout = out;
	}
}	

function over() {
	this.className = 'popup_menu_highlight';
}
function out() {
	this.className = 'popup_menu_content';
}
function click() {
	obj = get_object(this.id);
	obj.style.display="none";
}

function getCookie( name ) {
	
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
	

function setCookie(id,value) {
	
	var today = new Date();
	today.setTime( today.getTime() );
	expires = 365 * 60 * 60 * 24;
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = id + "=" +escape( value ) + ";expires=" + expires_date.toGMTString()  + ";path=/";

}

function toggleIgnore(e) {
	
	element = get_object(e);
	image = get_object('body' + e);
	
	if (element.style.display == "none") {
		element.style.display = "";
	} else {
		element.style.display = "none";
	}
	
} // end toggleIgnore

function submitPost() {
	if (submit_clicked == "1") {
		return alert(submitClicked);
	}
	submit_clicked = 1;
	document.replier.submit();
}

function clearSubmit() {
	submit_clicked = 0;
}
