
var Fat = {

	make_hex : function (r,g,b) 

	{

		r = r.toString(16); if (r.length == 1) r = '0' + r;

		g = g.toString(16); if (g.length == 1) g = '0' + g;

		b = b.toString(16); if (b.length == 1) b = '0' + b;

		return "#" + r + g + b;

	},

	fade_all : function ()

	{

		var a = document.getElementsByTagName("*");

		for (var i = 0; i < a.length; i++) 

		{

			var o = a[i];

			var r = /fade-?(\w{3,6})?/.exec(o.className);

			if (r)

			{

				if (!r[1]) r[1] = "";

				if (o.id) Fat.fade_element(o.id,null,null,"#"+r[1]);

			}

		}

	},

	fade_element : function (id, fps, duration, from, to) 

	{

		if (!fps) fps = 30;

		if (!duration) duration = 3000;

		if (!from || from=="#") from = "#FFFF33";

		if (!to) to = this.get_bgcolor(id);

		

		var frames = Math.round(fps * (duration / 1000));

		var interval = duration / frames;

		var delay = interval;

		var frame = 0;

		

		if (from.length < 7) from += from.substr(1,3);

		if (to.length < 7) to += to.substr(1,3);

		

		var rf = parseInt(from.substr(1,2),16);

		var gf = parseInt(from.substr(3,2),16);

		var bf = parseInt(from.substr(5,2),16);

		var rt = parseInt(to.substr(1,2),16);

		var gt = parseInt(to.substr(3,2),16);

		var bt = parseInt(to.substr(5,2),16);

		

		var r,g,b,h;

		while (frame < frames)

		{

			r = Math.floor(rf * ((frames-frame)/frames) + rt * (frame/frames));

			g = Math.floor(gf * ((frames-frame)/frames) + gt * (frame/frames));

			b = Math.floor(bf * ((frames-frame)/frames) + bt * (frame/frames));

			h = this.make_hex(r,g,b);

		

			setTimeout("Fat.set_bgcolor('"+id+"','"+h+"')", delay);



			frame++;

			delay = interval * frame; 

		}

		setTimeout("Fat.set_bgcolor('"+id+"','"+to+"')", delay);

	},

	set_bgcolor : function (id, c)

	{

		var o = document.getElementById(id);

		o.style.backgroundColor = c;

	},

	get_bgcolor : function (id)

	{

		var o = document.getElementById(id);

		while(o)

		{

			var c;

			if (window.getComputedStyle) c = window.getComputedStyle(o,null).getPropertyValue("background-color");

			if (o.currentStyle) c = o.currentStyle.backgroundColor;

			if ((c != "" && c != "transparent") || o.tagName == "BODY") { break; }

			o = o.parentNode;

		}

		if (c == undefined || c == "" || c == "transparent") c = "#FFFFFF";

		var rgb = c.match(/rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/);

		if (rgb) c = this.make_hex(parseInt(rgb[1]),parseInt(rgb[2]),parseInt(rgb[3]));

		return c;

	}

}





function jal_apply_filters(s) {

	// we don't need filters via javascript anymore since we are parsing both smilies and bbcode directly in the module

	// it is fatser for user instead of using his machine, and of course php is more powerfull to parse bbcode

	// se let's just return s

	return s;

}





//we must leave smilies retrival just for the smileys window, otherwize we don't need them


var smilies_for_window=	[[':)', 'icon_smile.gif', 'Smile'],

/*						[':-)', 'icon_smile.gif', 'Smile'], */ /* Commenting it since it is the same image but different code, we don't need to print all codes */

						[':D', 'icon_biggrin.gif', 'Smile'],

/*						[':-D', 'icon_biggrin.gif', 'Smile'], 

						[':grin:', 'icon_biggrin.gif', 'grin'], 

						[':smile:', 'icon_smile.gif', 'Smile'], */

						[':(', 'icon_sad.gif', 'sad'],

/*						[':-(', 'icon_sad.gif', 'sad'],

						[':sad:', 'icon_sad.gif', 'sad'], */

						[':o', 'icon_surprised.gif', 'shock'], 

/*						[':-o', 'icon_surprised.gif', 'shock'],

						[':eek:', 'icon_surprised.gif', 'eek'], */

						['8O', 'icon_eek.gif', 'eek'],

/*						['8-O', 'icon_eek.gif', 'eek'],

						[':shock:', 'icon_eek.gif', 'shock'], */

						[':?', 'icon_confused.gif', 'question'],

/*						[':-?', 'icon_confused.gif', 'question'],

						[':???:', 'icon_confused.gif', 'confused'], */

						['8)', 'icon_cool.gif', 'cool'],

/*						['8-)', 'icon_cool.gif', 'cool'],

						[':cool:', 'icon_cool.gif', 'cool'], */

/*						[':lol:', 'icon_lol.gif', 'lol'], */

						[':x', 'icon_mad.gif', 'shock'],

/*						[':-x', 'icon_mad.gif', 'shock'],

						[':mad:', 'icon_mad.gif', 'mad'], */

						[':P', 'icon_razz.gif', 'razz'],

/*						[':-P', 'icon_razz.gif', 'razz'],

						[':razz:', 'icon_razz.gif', 'razz'], */

						[':oops:', 'icon_redface.gif', 'oops'],

						[':cry:', 'icon_cry.gif', 'cry'],

						[':evil:', 'icon_evil.gif', 'evil'],

						[':twisted:', 'icon_twisted.gif', 'twisted'],

						[':roll:', 'icon_rolleyes.gif', 'roll'],

/*						[':wink:', 'icon_wink.gif', 'wink'], */

						[';)', 'icon_wink.gif', 'wink'],

/*						[';-)', 'icon_wink.gif', 'wink'], */

						[':!:', 'icon_exclaim.gif', 'explination'],

						[':?:', 'icon_question.gif', 'question'],

						[':idea:', 'icon_idea.gif', 'idea'],

						[':arrow:', 'icon_arrow.gif', 'arrow'],

						[':|', 'icon_neutral.gif', 'surprised'],

/*						[':-|', 'icon_neutral.gif', 'surprised'], */

						[':neutral:', 'icon_neutral.gif', 'neutral'],

						[':mrgreen:', 'icon_mrgreen.gif', 'grin']];

	







var smileyPopupWindow;

function moreChatSmileys()

{

	var i;



	if (smileyPopupWindow)

	smileyPopupWindow.close();



	smileyPopupWindow = window.open("", "add_smileys", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=480,height=640,resizable=yes");

	smileyPopupWindow.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n<html>');

	smileyPopupWindow.document.write('\n\t<head>\n\t\t<title>Smilleys adicionais</title>\n\t\t <style>\n\t\t.tborder\n\t\t\t{\n\t\t\t\t\tborder-top: solid  1px #454545;\n\t\t\t\t\tborder-left: solid 1px #454545;\n\t\t\t\t\tborder-right: solid  1px black;\n\t\t\t\t\tborder-bottom: solid 1px black;\n\t\t\t\t\tbackground-color: #303030;\n\t\t\t\t\tpadding: 0px;\n\t\t\t}\n\t\tbody\n\t\t\t{\n\t\t\t\t\tbackground-color: #000000;\n\t\t\t\t\tmargin: 0px;\n\t\t\t\t\tpadding: 5px 20px 5px 20px;\n\t\t\t}\n\t\tbody, td\n\t\t\t{\n\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t\tfont-size: small;\n\t\t\t\t\tfont-family: tahoma, helvetica, serif;\n\t\t\t}\n\t\t.titlebg, tr.titlebg td\n\t\t\t{\n\t\t\t\t\tbackground-color: #303030;\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\tcolor: #e0e0e0;\n\t\t\t\t\tfont-style: normal;\n\t\t\t}\n\t\t.windowbg\n\t\t\t{\n\t\t\t\t\tfont-family: tahoma, helvetica, serif;\n\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t\tbackground-color: #404040;\n\t\t\t\t\tborder-top: solid  1px #606060;\n\t\t\t\t\tborder-left: solid 1px #606060;\n\t\t\t\t\tborder-right: solid  1px black;\n\t\t\t\t\tborder-bottom: solid 1px black;\n\t\t\t}\n\t\t</style> \n\t</head>');

	smileyPopupWindow.document.write('\n\t<body style="margin: 1ex;">\n\t\t<table width="100%" cellpadding="5" cellspacing="0" border="0" class="tborder">\n\t\t\t<tr class="titlebg"><td align="left">Pick a smiley</td></tr>\n\t\t\t<tr class="windowbg"><td align="left">');



	for (i = 0; i < smilies_for_window.length; i++)

	{

		smilies_for_window[i][2] = smilies_for_window[i][2].replace(/"/g, '&quot;');

		smileyPopupWindow.document.write('<a href="javascript:void(0);" onclick="window.opener.replaceText(&quot; ' + smilies_for_window[i][0] + '&quot;, window.opener.document.forms.chatForm.chatbarText); window.focus(); return false;"><img src="http://www.britneyspears.com.br/portal/components/com_smo_ajax_shoutbox/smilies/' + smilies_for_window[i][1] + '" alt="' + smilies_for_window[i][2] + '" title="' + smilies_for_window[i][2] + '" style="padding: 4px;" border="0" /></a> ');

	}

	smileyPopupWindow.document.write("<br />");





	smileyPopupWindow.document.write('</td></tr>\n\t\t\t<tr><td align="center" class="windowbg"><a href="javascript:window.close();\">Fechar Janela</a></td></tr>\n\t\t</table>\n\t</body>\n</html>');

	smileyPopupWindow.document.close();

}



// Replaces the currently selected text with the passed text.

function replaceText(text, textarea)

{

	// Attempt to create a text range (IE).

	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)

	{

		var caretPos = textarea.caretPos;



		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;

		caretPos.select();

	}

	// Mozilla text range replace.

	else if (typeof(textarea.selectionStart) != "undefined")

	{

		var begin = textarea.value.substr(0, textarea.selectionStart);

		var end = textarea.value.substr(textarea.selectionEnd);

		var scrollPos = textarea.scrollTop;



		textarea.value = begin + text + end;



		if (textarea.setSelectionRange)

		{

			textarea.focus();

			textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);

		}

		textarea.scrollTop = scrollPos;

	}

	// Just put it on the end.

	else

	{

		textarea.value += text;

		textarea.focus(textarea.value.length - 1);

	}

}




var helpPopupWindow;

function openShoutboxHelp()

{

	var i;



	if (helpPopupWindow)

	helpPopupWindow.close();



	helpPopupWindow = window.open("", "add_smileys", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=1024,height=480,resizable=yes");

	helpPopupWindow.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n<html>\n\t<head>\n\t\t<title>BritneySpears.com.br - Chat Help</title>\n\t\t\t <style>\n\t\t\t.tborder\n\t\t\t\t{\n\t\t\t\t\t\tborder-top: solid  1px #454545;\n\t\t\t\t\t\tborder-left: solid 1px #454545;\n\t\t\t\t\t\tborder-right: solid  1px black;\n\t\t\t\t\t\tborder-bottom: solid 1px black;\n\t\t\t\t\t\tbackground-color: #303030;\n\t\t\t\t\t\tpadding: 0px;\n\t\t\t\t}\n\t\t\tbody\n\t\t\t\t{\n\t\t\t\t\t\tbackground-color: #000000;\n\t\t\t\t\t\tmargin: 0px;\n\t\t\t\t\t\tpadding: 5px 20px 5px 20px;\n\t\t\t\t}\n\t\t\tbody, td\n\t\t\t\t{\n\t\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t\t\tfont-size: small;\n\t\t\t\t\t\tfont-family: tahoma, helvetica, serif;\n\t\t\t\t}\n\t\t\t.titlebg, tr.titlebg td\n\t\t\t\t{\n\t\t\t\t\t\tbackground-color: #303030;\n\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\tcolor: #e0e0e0;\n\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t}\n\t\t\t.windowbg\n\t\t\t\t{\n\t\t\t\t\t\tfont-family: tahoma, helvetica, serif;\n\t\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t\t\tbackground-color: #404040;\n\t\t\t\t\t\tborder-top: solid  1px #606060;\n\t\t\t\t\t\tborder-left: solid 1px #606060;\n\t\t\t\t\t\tborder-right: solid  1px black;\n\t\t\t\t\t\tborder-bottom: solid 1px black;\n\t\t\t\t}\n\t\t\ta:link, a:visited\n\t\t\t\t{\n\t\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\t\tfont-family: Verdana, Arial, Helvetica, sans-serif;\n\t\t\t\t\t\tcolor: #CBD8EF;\n\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\ttext-decoration: none;\n\t\t\t\t}\n\t\t\ta:hover\n\t\t\t\t{\n\t\t\t\t\t\tcolor: #5D74A3;\n\t\t\t\t\t\ttext-decoration: none;\n\t\t\t\t}\n\t\t</style> \n\t</head>\n\t<body style="margin: 1ex;">\n\t\t<table width="100%" cellpadding="5" cellspacing="0" border="0" class="tborder">\n\t\t\t<tr class="titlebg"><td align="center"><a href="http://www.britneyspears.com.br" target="_blank">Chat BritneySpears.com.br</a></td></tr>\n\n\t\t\t<tr class="windowbg"><td align="left">\n\t\t\tBBcode:\n\t\t\t<table width="100%" cellpadding="0" cellspacing="0" border="1" class="tborder">\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\tBBcode\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\tBBcode Exemplo\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\tBBcode Exemplo Results\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[url] link [/url]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[url]http://www.britneyspears.com.br[/url]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<a href="http://www.arabic-lounge.com" target="_blank">&laquo;link&raquo;</a>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[url=link] texto [/url]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[url=http://www.britneyspears.com.br]BritneySpears.com.br[/url]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<a href="http://www.britneyspears.com.br" target="_blank">BritneySpears.com.br</a>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[email] texto [/email]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[email] mail@site.com.br [/email]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<a href="mailto: mail@domain.com ">&laquo;email&raquo;</a>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[email=link] texto [/email]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[email=mail@domain.com] meu email [/email]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<a href="mailto: mail@domain.com ">meu email</a>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[img] Link Aqui [/img]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[img]http://siemens-mobiles.org/img/Gandalf.png[/img]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<a href="http://siemens-mobiles.org/img/Gandalf.png" target="_blank"><img src="http://siemens-mobiles.org/img/Gandalf.png" alt="" height="35" border="0" /></a>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[b] texto [/b]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[b] Britney Spears [/b]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<b> Britney Spears </b>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[u] texto [/u]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[u] Britney Spears [/u]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<u> Britney Spears </u>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[i] text [/i]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[i] Britney Spears [/i]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<i> Britney Spears </i>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[color=COLOR] texto [/color]<br />\n\t\t\t\t\t\tOnde as CORES sao red, yellow, pink, green, blue, orange, purple etc..<br />\n\t\t\t\t\t\tou codigo html , significa #XXXXXX\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[color=#00BFFF] Britney Spears [/color]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t<span style="color: #00BFFF;"> Britney Spears </span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[sup] texto [/sup]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\tBritney Spears[sup]TM[/sup]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\tBritney Spears<sup>TM</sup>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="windowbg">\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\t[sub] text [/sub]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\tBritney Spears[sub]TM[/sub]\n\t\t\t\t\t</td>\n\t\t\t\t\t<td align="left">\n\t\t\t\t\t\tBritney Spears<sub>TM</sub>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<br />\n\t\t\t<br />\n\t\t\t<!--This shoutbox will also notify you for new messages sound (if it is enabled by the Administrator), you can disable the sound by simply clicking on the green button under the shoutbox, Green means sound is enabled, Red means sound is disabled<br />-->\n\t\t\t<br />\n\t\t\t<br />\n\t\t\tse voce tiver com algum problema neste chat, entre em contato conosco. <a href="http://www.britneyspears.com.br/" target="_blank">.</a> \n\t\t\t<br />\n\t\t\tPatrocinio:<br />\n\t\t\t<br />\n\t\t\t<a href="http://www.helikeshim.com.com" target="_blank">Helikeshim.com</a> | <a href="http://www.shelikesher.com" target="_blank">Shelikesher.com</a> | <a href="http://www.paradaobrigatoria.com.br" target="_blank">ParadaObrigatoria.com.br</a> | <!--<a href="http://www.zone-celebrity.com" target="_blank">Zone-Celebrity.com</a>-->\n\t\t\t</td></tr>\n\t\t\t<tr><td align="center" class="windowbg"><a href="javascript:window.close();">Fechar Janela</a></td></tr>\n\t\t</table>\n\t</body>\n</html>');

	helpPopupWindow.document.close();

}






// XHTML live Chat

// author: alexander kohlhofer

// version: 1.0

// http://www.plasticshore.com

// http://www.plasticshore.com/projects/chat/

// please let the author know if you put any of this to use

// XHTML live Chat (including this script) is published under a creative commons license

// license: http://creativecommons.org/licenses/by-nc-sa/2.0/





var jal_loadtimes;

var jal_org_timeout = 4000;

var jal_timeout = jal_org_timeout;

var GetChaturl = "modules/mod_smo_ajax_shoutbox.php?jalGetChat=yes";

var SendChaturl = "modules/mod_smo_ajax_shoutbox.php?jalSendChat=yes";

var httpReceiveChat;

var httpSendChat;




///////////////////////////////////////

//

//  Generic onload by Brothercake

//  http://www.brothercake.com/

//

///////////////////////////////////////



//onload function



//setup onload function

if(typeof window.addEventListener != 'undefined')

{

	//.. gecko, safari, konqueror and standard

	window.addEventListener('load', initJavaScript, false);

}

else if(typeof document.addEventListener != 'undefined')

{

	//.. opera 7

	document.addEventListener('load', initJavaScript, false);

}

else if(typeof window.attachEvent != 'undefined')

{

	//.. win/ie

	window.attachEvent('onload', initJavaScript);

}



function initJavaScript() {

	if (!document.getElementById('chatbarText')) { return; }

	document.forms['chatForm'].elements['chatbarText'].setAttribute('autocomplete','off'); //this non standard attribute prevents firefox' autofill function to clash with this script

	// initiates the two objects for sending and receiving data

	checkStatus(''); //sets the initial value and state of the input comment

	checkName(); //checks the initial value of the input name

	checkUrl();

	

	jal_loadtimes = 1;

	

	httpReceiveChat = getHTTPObject();

	httpSendChat = getHTTPObject();

	

	setTimeout('receiveChatText()', jal_timeout); //initiates the first data query

	

	document.getElementById('shoutboxname').onblur = checkName;

	document.getElementById('shoutboxurl').onblur = checkUrl;

	document.getElementById('chatbarText').onfocus = function () { checkStatus('active'); }	

	document.getElementById('chatbarText').onblur = function () { checkStatus(''); }

	document.getElementById('submitchat').onclick = sendComment;

    document.getElementById('chatForm').onsubmit = function () { return false; }

	// When user mouses over shoutbox

    document.getElementById('chatoutput').onmouseover = function () {

    	if (jal_loadtimes > 9) {

    		jal_loadtimes = 1;

			receiveChatText();

    	}

    	jal_timeout = jal_org_timeout;

    }

}



//initiates the first data query

function receiveChatText() {

	jal_lastID = parseInt(document.getElementById('jal_lastID').value) - 1;

	if (httpReceiveChat.readyState == 4 || httpReceiveChat.readyState == 0) {

		
  		httpReceiveChat.open("GET",GetChaturl + '&jal_lastID=' + jal_lastID, true);

		httpReceiveChat.onreadystatechange = handlehHttpReceiveChat; 

  		httpReceiveChat.send(null);

		jal_loadtimes++;

	    if (jal_loadtimes > 9) jal_timeout = jal_timeout * 5 / 4;

	}

    	setTimeout('receiveChatText()',jal_timeout);

}



		

//deals with the servers' reply to requesting new content

function handlehHttpReceiveChat() {

  if (httpReceiveChat.readyState == 4) {

    results = httpReceiveChat.responseText.split('---'); //the fields are seperated by ---

    if (results.length > 4) {

	    for(i=0;i < (results.length-1);i=i+5) { //goes through the result one message at a time

	    	insertNewContent(results[i+1],results[i+2],results[i+3],results[i+4], results[i]); //inserts the new content into the page

	    	document.getElementById('jal_lastID').value = parseInt(results[i]) + 1;

			
	    }

    	jal_timeout = jal_org_timeout;

    	jal_loadtimes = 1;

    }

  }

}



//inserts the new content into the page

function insertNewContent(liName,liText,lastResponse, liUrl, liId) {

    response = document.getElementById("responseTime");

    response.replaceChild(document.createTextNode(lastResponse), response.firstChild);

	insertO = document.getElementById("outputList");

	oLi = document.createElement('li');

	oLi.setAttribute('id','comment-new'+liId);



	oSpan = document.createElement('span');

	oSpan.setAttribute('class','name');

	

	oName = document.createTextNode(liName);

	

	if (liUrl != "http://" && liUrl != '') {

		oURL = document.createElement('a');

		oURL.href = liUrl;

		oURL.appendChild(oName);

	} else {

		oURL = oName;

	}

	

	oSpan.appendChild(oURL);

	oSpan.appendChild(document.createTextNode(' : '));

	oLi.appendChild(oSpan);

	oLi.innerHTML += jal_apply_filters(liText);

	insertO.insertBefore(oLi, insertO.firstChild);

	Fat.fade_element("comment-new"+liId, 30, 1500, "#666666", "#303030");

}

	



//stores a new comment on the server

function sendComment() {

	currentChatText = document.forms['chatForm'].elements['chatbarText'].value;

	if (httpSendChat.readyState == 4 || httpSendChat.readyState == 0) {

		if (currentChatText == '') return;

		prefix = document.getElementById('shoutbox_prefix').value;			//prefix must be [VISITANTE] if it's a guest who is shouting

		currentName = document.getElementById('shoutboxname').value;

		currentUrl = document.getElementById('shoutboxurl').value;

		currentName = prefix + currentName;							//joining prefix to currentName

		param = 'n='+ encodeURIComponent(currentName)+'&c='+ encodeURIComponent(currentChatText) +'&u='+ encodeURIComponent(currentUrl);	

		httpSendChat.open("POST", SendChaturl, true);

		httpSendChat.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

  		httpSendChat.onreadystatechange = receiveChatText;

  		httpSendChat.send(param);

  		document.forms['chatForm'].elements['chatbarText'].value = '';

	}

}



// http://www.codingforums.com/showthread.php?t=63818

function pressedEnter(field,event) {

	var theCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

	if (theCode == 13) {

		sendComment();

		return false;

	} 

	else return true;

}





//does clever things to the input and submit

function checkStatus(focusState) {

	currentChatText = document.forms['chatForm'].elements['chatbarText'];

	oSubmit = document.forms['chatForm'].elements['submit'];

	if (currentChatText.value != '' || focusState == 'active') {

		oSubmit.disabled = false;

	} else {

		oSubmit.disabled = true;

	}

}



function jal_getCookie(name) {

  var dc = document.cookie;

  var prefix = name + "=";

  var begin = dc.indexOf("; " + prefix);

  if (begin == -1) {

    begin = dc.indexOf(prefix);

    if (begin != 0) return null;

  } else

    begin += 2;

  var end = document.cookie.indexOf(";", begin);

  if (end == -1)

    end = dc.length;

  return unescape(dc.substring(begin + prefix.length, end));

}





//autoasigns a random name to a new user

//If the user has chosen a name, use that

function checkName() {

	

	jalCookie = jal_getCookie("jalUserName");

	currentName = document.getElementById('shoutboxname');

		

	if (currentName.value != jalCookie) {

		document.cookie = "jalUserName="+currentName.value+"; expires=Sat, 07 Mar 2009 19:45:14 UTC;"

	}

		

	if (jalCookie && currentName.value == '') {

		currentName.value = jalCookie;

		return;

	}

	

	if (currentName.value == '') {

		currentName.value = 'visitante_'+ Math.floor(Math.random() * 10000);

	}

	

}



function checkUrl() {

	

	jalCookie = jal_getCookie("jalUrl");

	currentName = document.getElementById('shoutboxurl');

	

	if (currentName.value == '')

		return;

	

	if (currentName.value != jalCookie) {

		document.cookie = "jalUrl="+currentName.value+"; expires=Sat, 07 Mar 2009 19:45:14 UTC;"

		return;

	}

	

	if (jalCookie && ( currentName.value == '' || currentName.value == "http://")) {

		currentName.value = jalCookie;

		return;

	}		

}







//initiates the XMLHttpRequest object

//as found here: http://www.webpasties.com/xmlHttpRequest

function getHTTPObject() {

  var xmlhttp;

  /*@cc_on

  @if (@_jscript_version >= 5)

    try {

      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

    } catch (e) {

      try {

        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

      } catch (E) {

        xmlhttp = false;

      }

    }

  @else

  xmlhttp = false;

  @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {

    try {

      xmlhttp = new XMLHttpRequest();

    } catch (e) {

      xmlhttp = false;

    }

  }

  return xmlhttp;

}