/**
* XLink Base Library v 1.0
*
* (c) 2007 MJ Bytes Ltd
* http://www.mjbytes.com
*
* Language: Javascript
* @Last Revision: 28/May/2007
* 
*/


function XLink(link)
{
	if (document.getElementById(link))
	{
		this.xlink = document.getElementById(link);
		this.filename = '';
		this.init();
	}
	else return false;
}

XLink.prototype =
{
	init: function()
	{
		var pc = document.getElementById('pic');
		var cm = document.getElementById('createmsg');
		var ct = document.getElementById('createtpc');

		if (cm)	{ this.addEvent(cm, 'click', this.createMessageDialog); }
		if (ct)	{ this.addEvent(ct, 'click', this.createTopicDialog); }
		if (pc) { this.pc = new Image(); this.pc.src = 'http://www.justaskalocal.com.au/images/icons/loading.gif'; }
	},
	
	getWindowSize: function()
	{
		var area = new Object;
		
		area.width = window.innerWidth || document.body.offsetWidth;
		area.height = window.innerHeight || document.body.offsetHeight;
		
		return area;
	},
	
	processFile: function()
	{
		var pc = document.getElementById('pic');
		var fm = document.getElementById('Picture');
					
		if (fm) 
		{
			if (pc && this.pc)
				pc.src = this.pc.src;

			fm.submit();
		}
	},
	
	createTopicDialog: function()
	{
		if (!document.getElementById('msgwindow'))
		{
			var el = document.createElement('div');
			var wnd = xlink.getWindowSize();
			var con = '';
			
			con += '<div class="bubblemsg"><img src="./images/icons/icon_new.png" height="14" alt="Create" />Create New Topic</div>';
			con += '<form id="Topic" name="Top" onsubmit="return xlink.processTopicBoard()" style="margin: 0">';
			con += '<div class="purple top10">Title <input class="purple" style="width: 300px" id="title" name="title" type="text" maxlength="255" /></div>';
			con += '<div class="center purple"><textarea name="boardtopic"></textarea></div>';
			con += '<div><input class="purple" id="submit" type="submit" value="Send" />';
			con += '<input class="purple" type="button" value="Close" onclick="xlink.destroyDialog()" /></div><br/></form>';

			el.id = 'msgwindow';
			el.className = 'msgwindow_form';
			el.innerHTML = con;
			el.style.left = (wnd.width - 400) / 2 + 'px';
			el.style.top = (wnd.height - el.offsetHeight) / 2 + 'px';
			
			document.body.appendChild(el);
		}
	},	
	
	createMessageDialog: function()
	{
		if (!document.getElementById('msgwindow'))
		{
			var el = document.createElement('div');
			var wnd = xlink.getWindowSize();
			var con = '';
			
			con += '<div class="bubblemsg"><img src="./images/icons/icon_new.png" height="14" alt="Create" />Create New Message</div>';
			con += '<form id="Message" name="Mes" onsubmit="return xlink.processMessageBoard()" style="margin: 0">';
			con += '<div class="center purple"><textarea name="boardmessage"></textarea></div>';
			con += '<div><input class="purple" id="submit" type="submit" value="Send" />';
			con += '<input type="hidden" id="topic" name="topic" value="'+document.getElementById('hash').value+'" />';
			con += '<input class="purple" type="button" value="Close" onclick="xlink.destroyDialog()" /></div><br/></form>';

			el.id = 'msgwindow';
			el.className = 'msgwindow_form';
			el.innerHTML = con;
			el.style.left = (wnd.width - 400) / 2 + 'px';
			el.style.top = (wnd.height - el.offsetHeight) / 2 + 'px';
			
			document.body.appendChild(el);
		}
	},

	destroyDialog: function()
	{
		var el = document.getElementById('msgwindow');
		
		if (el) document.body.removeChild(el);
	},
	
	processTopicBoard: function()
	{
		var fm = document.getElementById('Topic');
		var bn = document.getElementById('submit');

		if (fm && bn)
		{
			bn.disabled = true;
			fm.method = 'post';
			fm.enctype = 'multipart/form-data';
			fm.action = 'http://' + document.domain + '/cgi/form/index.php';
			return true;
		}
	},
	
	processMessageBoard: function()
	{
		var fm = document.getElementById('Message');
		var bn = document.getElementById('submit');
		var hs = document.getElementById('hash');
		var tc = document.getElementById('topic');

		if (fm && bn)
		{
			bn.disabled = true;
			tc.value = hs.value;
			fm.method = 'post';
//			fm.enctype = 'multipart/form-data';
//            fm.action = 'http://' + document.domain + '/cgi/form/index.php';
			fm.action = '';
			return true;
		}
	},	
	
	addEvent: function(obj, ev, fn)
	{
		if (obj.addEventListener)
		{
			obj.addEventListener(ev, fn, false);
		}
		else if (obj.attachEvent)
		{
			obj.attachEvent('on' + ev, fn);
		}
		else { obj['on' + ev] = fn };
	},

	removeEvent: function(obj, ev, fn)
	{
		if (obj.removeEventListener)
		{
			obj.removeEventListener(ev, fn, false);
		}
		else if (obj.detachEvent)
		{
			obj.detachEvent('on' + ev, fn);
		}
		else { obj['on' + ev] = null };
	}		

	
}
