/**********************************************************
 * Part of the Blah Core Code ...                         *
 * Copyrighted © 2001-2005 e-blah! - All Rights Reserved. *
 * TO BE USED WITH E-BLAH ONLY, DO NOT USE WITH ANY OTHER *
 * SOFTWARE WITHOUT PRIOR WRITTEN PERMISSION.             *
 * BC Version: Platinum     Last Update: December 7, 2005 *
 **********************************************************/

// AJAX: developer.apple.com/internet/webcontent/xmlhttpreq.html

var req;
function EditMessage(url,saveopen,savemessage,messageid) {

	EditMessage2(url,saveopen,savemessage);

	function EditMessage2(url,saveopen,savemessage,messageid) {
		req = false;
		if(window.XMLHttpRequest) { // Non IE browsers
			try { req = new XMLHttpRequest(); }
			catch(e) { req = false; }
		} else if(window.ActiveXObject) { // IE
			try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
			catch(e) {
				try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
				catch(e) { req = false; }
			}
		}

		if(req) {
		req.onreadystatechange = processReqChange;
			if(saveopen == 1) {
				req.open("POST", url, true);
				req.send("message="+encodeURIComponent(savemessage));
			} else {
				req.open("POST", url, true); // Use POST so we don't get CACHED items!
				req.send('TEMP');
			}
		} else { alert('$messagedisplay[58]'); }
	}

	function processReqChange() {
		if(req.readyState != 4) { document.getElementById(messageid).innerHTML = '<table align="center" class="border" cellpadding="5" cellspacing="1"><tr><td class="win">$messagedisplay[56]</td></tr></table>'; }
		if(req.readyState == 4) {
			if (req.status == 200) {
				document.getElementById(messageid).innerHTML = req.responseText;
			} else { alert('$messagedisplay[57]'); }
		}
	}
}

// Let's do some menus ...
// Some code based from: www.quirksmode.org/js/findpos.html
function findPosX(obj) {
	var curleft = 0;
	if(obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj,plussize) {
	var curtop = plussize;
	if(navigator.userAgent.indexOf("Firefox") != -1) { curtop = (curtop/2); }
	if(obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

// Creating Menus ...
function CreateMenus(obj,plussize,JSinput) {
	var newX = findPosX(obj);
	var newY = findPosY(obj,plussize);
	var x = document.getElementById('menu');
	x.style.top = newY;
	x.style.left = newX;
	document.getElementById('menu').innerHTML = ConstructLinks(JSinput);
	document.getElementById('menu').style.visibility = '';
}

function ClearMenu() {
	document.getElementById('menu').innerHTML = '';
	document.getElementById('menu').style.visibility = 'hidden';
}

function ConstructLinks(JSinput) {
	GetLinks(JSinput);
	var link = '';
	for(x in MenuItems) {
		link += '<div style="padding: 5px;" class="win3">' + MenuItems[x] + '</div>';
	}

	return(link);
}
