var imageTag = false;

var theSelection = false;

var clientPC = navigator.userAgent.toLowerCase();

var clientVer = parseInt(navigator.appVersion);

var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));

var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)

		&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)

		&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));

var is_moz = 0;

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));

var is_mac = (clientPC.indexOf("mac")!=-1);



bbcode = new Array();

bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[stream]','[/stream]','[fade]','[/fade]','[scroll]','[/scroll]','[swf width= height=]','[/swf]','[center]','[/center]','[hide]','[/hide]', '[/img]','[url]','[/url]', '[youtube]','[/youtube]','[mp3_player]','[/mp3_player]');

imageTag = false;



function helpline(help)

{

	document.post.helpbox.value = eval(help + "_help");

}



function getarraysize(thearray)

{

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

	{

		if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))

			return i;

	}

	return thearray.length;

}



function arraypush(thearray,value)

{

	thearray[ getarraysize(thearray) ] = value;

}



function arraypop(thearray)

{

	thearraysize = getarraysize(thearray);

	retval = thearray[thearraysize - 1];

	delete thearray[thearraysize - 1];

	return retval;

}



function bbfontstyle(bbopen, bbclose)

{

	var txtarea = document.post.message;

	if ((clientVer >= 4) && is_ie && is_win)

	{

		theSelection = document.selection.createRange().text;

		if (!theSelection)

		{

			txtarea.value += bbopen + bbclose;

			txtarea.focus();

			return;

		}

		document.selection.createRange().text = bbopen + theSelection + bbclose;

		txtarea.focus();

		return;

	}

	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))

	{

		mozWrap(txtarea, bbopen, bbclose);

		return;

	}

	else

	{

		txtarea.value += bbopen + bbclose;

		txtarea.focus();

	}

	storeCaret(txtarea);

}



function bbstyle(bbnumber)

{

	var txtarea = document.post.message;



	txtarea.focus();

	donotinsert = false;

	theSelection = false;

	bblast = 0;



	if (bbnumber == -1)

	{

		while (bbcode[0])

		{

			butnumber = arraypop(bbcode) - 1;

			txtarea.value += bbtags[butnumber + 1];

			buttext = eval('document.post.addbbcode' + butnumber + '.value');

			eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');

		}

		imageTag = false;

		txtarea.focus();

		return;

	}



	if ((clientVer >= 4) && is_ie && is_win)

	{

		theSelection = document.selection.createRange().text;

		if (theSelection)

		{

			document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];

			txtarea.focus();

			theSelection = '';

			return;

		}

	}

	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))

	{

		mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);

		return;

	}

	

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

	{

		if (bbcode[i] == bbnumber+1)

		{

			bblast = i;

			donotinsert = true;

		}

	}



	if (donotinsert)

	{

		while (bbcode[bblast])

		{

				butnumber = arraypop(bbcode) - 1;

				txtarea.value += bbtags[butnumber + 1];

				buttext = eval('document.post.addbbcode' + butnumber + '.value');

				eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');

				imageTag = false;

			}

			txtarea.focus();

			return;

	}

	else

	{

		if (imageTag && (bbnumber != 14))

		{

			txtarea.value += bbtags[15];

			lastValue = arraypop(bbcode) - 1;

			document.post.addbbcode14.value = "Img";

			imageTag = false;

		}

		

		txtarea.value += bbtags[bbnumber];

		if ((bbnumber == 14) && (imageTag == false)) imageTag = 1;

		arraypush(bbcode,bbnumber+1);

		eval('document.post.addbbcode'+bbnumber+'.value += "*"');

		txtarea.focus();

		return;

	}

	storeCaret(txtarea);

}



function mozWrap(txtarea, open, close)

{

	var selLength = txtarea.textLength;

	var selStart = txtarea.selectionStart;

	var selEnd = txtarea.selectionEnd;

	if (selEnd == 1 || selEnd == 2) 

		selEnd = selLength;



	var s1 = (txtarea.value).substring(0,selStart);

	var s2 = (txtarea.value).substring(selStart, selEnd)

	var s3 = (txtarea.value).substring(selEnd, selLength);

	txtarea.value = s1 + open + s2 + close + s3;

	return;

}



function mpFoto(img)

{

	foto1= new Image();

	foto1.src=(img);

	mpControl(img);

}



function mpControl(img)

{

	if ( (foto1.width != 0) && (foto1.height != 0) )

	{

		viewFoto(img);

	}

	else

	{

		mpFunc = "mpControl('"+img+"')";

		intervallo = setTimeout(mpFunc,20);

	}

}



function viewFoto(img)

{

	largh = foto1.width + 20;

	altez = foto1.height + 20;

	string = "width="+largh+",height="+altez;

	finestra = window.open(img, "", string);

}



function setCheckboxes(theForm, elementName, isChecked)

{

	var chkboxes = document.forms[theForm].elements[elementName];

	var count = chkboxes.length;

	if ( count )

	{

		for (var i = 0; i < count; i++)

		{

			chkboxes[i].checked = isChecked;

		}

	}

	else

	{

		chkboxes.checked = isChecked;

	}

	return true;

}



var selectedText = quoteAuthor = '';



function quoteSelection()

{

	theSelection = false;

	if (selectedText) theSelection = selectedText;

	else if (document.selection && document.selection.createRange) theSelection = document.selection.createRange().text;



	if (theSelection)

	{

		emoticon( (document.post.message.value ? '' : '') + '[quote' + (quoteAuthor ? '="' + quoteAuthor + '"' : '') + ']' + theSelection + '[/quote]');

		document.post.message.focus();

		selectedText = quoteAuthor = theSelection = '';

		return;

	}

	else

	{

		alert(no_text_selected);

	}

}



function displayWindow(url, width, height)

{

	var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=1,scrollbars=no,menubar=no' );

}



function hideLoadingPage()

{

	if (document.getElementById)

	{

		 document.getElementById('hidepage').style.visibility = 'hidden';

	}

	else

	{

		if (document.layers)

		{

			document.hidepage.visibility = 'hidden';

		}

		else

		{

			document.all.hidepage.style.visibility = 'hidden';

		}

	}

}



function Active(what)

{

	what.style.backgroundColor=factive_color;

}



function NotActive(what)

{

	what.style.backgroundColor='';

}



function storeCaret(textEl)

{

	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();

}



function emoticon(text)

{

	if (document.post.message.createTextRange && document.post.message.caretPos)

	{

		var caretPos = document.post.message.caretPos;

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

		document.post.message.focus();

	}

	else if (document.post.message.selectionStart != undefined)

	{

		document.post.message.value = document.post.message.value.substring(0, document.post.message.selectionStart) + text + document.post.message.value.substring(document.post.message.selectionStart);

		document.post.message.focus();

	}

	else

	{

		document.post.message.value += text;

		document.post.message.focus();

	}

}



function em(text)

{

	return emoticon(text);

}



function checkForm()

{

	formErrors = false;

	if (document.post.message.value.length < 2)

	{

		formErrors = l_empty_message;

	}



	if (formErrors)

	{

		alert(formErrors);

		return false;

	}

	else

	{

		bbstyle(-1);

		//formObj.preview.disabled = true;

		//formObj.submit.disabled = true;

		return true;

	}

}



function wrapSelection(h, strFore, strAft)

{

	h.focus();

	if (h.setSelectionRange)

	{

		var selStart = h.selectionStart, selEnd = h.selectionEnd;

		h.value = h.value.substring(0, selStart) + strFore + h.value.substring(selStart, selEnd) + strAft + h.value.substring(selEnd);

		h.setSelectionRange(selStart + strFore.length, selEnd + strFore.length);

	}

	else if (document.selection)

	{

		var oRange = document.selection.createRange();

		var numLen = oRange.text.length;

		oRange.text = strFore + oRange.text + strAft;

		//moveSelectionRange(oRange, -numLen, -strAft.length);

	}

	else

	{

		h.value += strFore + strAft;

	}

}



function insertURL(form)

{

	url = prompt(link_url_prompt, 'www.');

	

	if ( (url != null) && (url != '') )

	{

		request = new XMLHttpRequest();

		request.open('GET', 'readTitle.php?url='+encodeURIComponent(url), true);

		request.send(null);

		request.onreadystatechange = function() {

			if ( request.readyState == 4 && request.status == 200 )

			{

				if ( request.responseText == 'Error' )

				{

					form.message.value += '[url]'+url+'[/url]';

				}

				else

				{

					form.message.value += '[url='+url+']'+request.responseText+'[/url]';

				}

			}

		};

	}

	form.message.focus();

}

function imgcode(theform,imgcode,prompttext)

{

	tag_prompt = img_addr;

	inserttext = prompt(tag_prompt+"\n["+imgcode+"]xxx[/"+imgcode+"]",prompttext);

	if ((inserttext != null) && (inserttext != ""))

	theform.message.value += "["+imgcode+"]"+inserttext+"[/"+imgcode+"] ";

	theform.message.focus();

}



function namedlink(theform,thetype)

{

	linktext = prompt(link_text_prompt,"");

	var prompttext;

	if (thetype == "URL")

	{

		prompt_text = link_url_prompt;

		prompt_contents = "http://";

	}

	else

	{

		prompt_text = link_email_prompt;

		prompt_contents = "";

	}

	linkurl = prompt(prompt_text,prompt_contents);

	if ((linkurl != null) && (linkurl != ""))

	{

		if ((linktext != null) && (linktext != "")) theform.message.value += "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";

		else theform.message.value += "["+thetype+"]"+linkurl+"[/"+thetype+"] ";

	}

	theform.message.focus();

}



function filter_freak()

{

	theSelection = document.selection.createRange().text;

	if (theSelection != '')

	{

		var caretPos = document.post.message.caretPos;

		var export_text = '';

		var current_char = '';

		for (i = 0; i <= caretPos.text.length; i++)

		{

			current_char = caretPos.text.charAt(i);

			if ( (i % 2) == 0 )

			{

				export_text += current_char.toUpperCase();

			}

			else

			{

				export_text += current_char.toLowerCase();

			}

		}

		caretPos.text = export_text;document.post.message.focus();

		return;

	}

	alert(no_text_selected);

	return;

}

			

function filter_l33t()

{

	theSelection = document.selection.createRange().text;

	if (theSelection != '')

	{

		var caretPos = document.post.message.caretPos;

		var export_text = '';

		var current_char = '';

		for (i = 0; i <= caretPos.text.length; i++)

		{

			current_char = caretPos.text.charAt(i);

			if ( (current_char == 'a') || (current_char == 'A') )

			{

				export_text += '4';

			}

			else if ( (current_char == 'e') || (current_char == 'E') )

			{

				export_text += '3';

			}

			else if ( (current_char == 'i') || (current_char == 'I') )

			{

				export_text += '1';

			}

			else if ( (current_char == 'o') || (current_char == 'O') )

			{

				export_text += '0';

			}

			else

			{

				export_text += current_char;

			}

		}

		caretPos.text = export_text;document.post.message.focus();

		return;

	}

	alert(no_text_selected);

	return;

}



function onv(element)

{

	element.style.backgroundColor=faonmouse_color;

}



function onv2(element)

{

	element.style.backgroundColor=faonmouse2_color;

}



function ont(element)

{

	element.style.backgroundColor='';

}



function focus_field(def_field)

{

	if (document.getElementById(def_field))

	{

		document.getElementById(def_field).focus();

	}

}



function show_pagina(e)

{

	var sTop = document.body.scrollTop;

	var sLeft = document.body.scrollLeft;

	document.getElementById('s_pagina').style.display='block';

	document.getElementById('s_pagina').style.left=e.clientX-35+sLeft;

	document.getElementById('s_pagina').style.top=e.clientY+sTop-20;

	return;

}



function qc()

{

	if (document.post && document.post.message)

	{

		quoteSelection();

		return false;

	}

}



function qo()

{

	selectedText = document.selection? document.selection.createRange().text : document.getSelection();

}



function qu(username)

{

	if (window.getSelection && window.getSelection() || document.selection && document.selection.createRange && document.selection.createRange().text)

	{

		return true;

	}

	else

	{

		return false;

	}

}



function cp(what)

{

	what.style.cursor='pointer';

}



var PreloadFlag = false;

var expDays = 90;

var exp = new Date(); 

var tmp = '';

var tmp_counter = 0;

var tmp_open = 0;



exp.setTime(exp.getTime() + (expDays*24*60*60*1000));



function SetCookie(name, value) 

{

	var argv = SetCookie.arguments;

	var argc = SetCookie.arguments.length;

	var expires = (argc > 2) ? argv[2] : null;

	document.cookie = cname + name + "=" + escape(value) +

		((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +

		((cpath == null) ? "" : ("; path=" + cpath)) +

		((cdomain == null) ? "" : ("; domain=" + cdomain)) +

		((csecure == 1) ? "; secure" : "");

}



function getCookieVal(offset) 

{

	var endstr = document.cookie.indexOf(";",offset);

	if (endstr == -1)

	{

		endstr = document.cookie.length;

	}

	return unescape(document.cookie.substring(offset, endstr));

}



function GetCookie(name) 

{

	var arg = cname + name + "=";

	var alen = arg.length;

	var clen = document.cookie.length;

	var i = 0;

	while (i < clen) 

	{

		var j = i + alen;

		if (document.cookie.substring(i, j) == arg)

			return getCookieVal(j);

		i = document.cookie.indexOf(" ", i) + 1;

		if (i == 0)

			break;

	} 

	return null;

}



function ShowHide(id1, id2, id3) 

{

	// System to show/hide page elements, cookie based

	// Take from Morpheus style Created by Vjacheslav Trushkin (aka CyberAlien)

	var res = expMenu(id1);

	if (id2 != '') expMenu(id2);

	if (id3 != '') SetCookie(id3, res, exp);

}

	

function expMenu(id) 

{

	var itm = null;

	if (document.getElementById) 

	{

		itm = document.getElementById(id);

	}

	else if (document.all)

	{

		itm = document.all[id];

	} 

	else if (document.layers)

	{

		itm = document.layers[id];

	}

	if (!itm) 

	{

		// do nothing

	}

	else if (itm.style) 

	{

		if (itm.style.display == "none")

		{ 

			itm.style.display = "inline"; 

			return 1;

		}

		else

		{

			itm.style.display = "none"; 

			return 2;

		}

	}

	else 

	{

		itm.visibility = "show"; 

		return 1;

	}

}



function showMenu(id)

{

	var itm = null;

	if (document.getElementById) 

	{

		itm = document.getElementById(id);

	}

	else if (document.all)

	{

		itm = document.all[id];

	} 

	else if (document.layers)

	{

		itm = document.layers[id];

	}

	if (!itm) 

	{

		// do nothing

	}

	else if (itm.style) 

	{

		if (itm.style.display == "none")

		{ 

			itm.style.display = ""; 

			return true;

		}

		else

		{

//			itm.style.display = "none"; 

			return true;

		}

	}

	else 

	{

		itm.visibility = "show"; 

		return true;

	}

}



function hideMenu(id)

{

	var itm = null;

	if (document.getElementById) 

	{

		itm = document.getElementById(id);

	}

	else if (document.all)

	{

		itm = document.all[id];

	} 

	else if (document.layers)

	{

		itm = document.layers[id];

	}

	if (!itm) 

	{

		// do nothing

	}

	else if (itm.style) 

	{

		if (itm.style.display == "none")

		{ 

//			itm.style.display = ""; 

			return true;

		}

		else

		{

			itm.style.display = "none"; 

			return true;

		}

	}

	else 

	{

		itm.visibility = "hide"; 

		return true;

	}

}



function change_size(area_object, mode)

{

	var msg_cur_size = GetCookie('msg_size');

	var new_size = msg_cur_size;



	if ( mode == 1 )

	{

		new_size++;

		new_size2++;

		if ( new_size > 8 ) new_size = 8;

		if ( new_size2 > 8 ) new_size2 = 8;

		SetCookie('msg_size', new_size);

	}

	else if ( mode == -1 )

	{

		new_size = 0;

		new_size2 = 0;

		if ( new_size < 0 ) new_size = 0;

		if ( new_size2 < 0 ) new_size2 = 0;

		SetCookie('msg_size', new_size);

	}

	if (document.cookie.length) call_size = new_size;

	else call_size = new_size2;



	set_size(area_object, call_size);

}



function set_size(area_object, new_size)

{

	var default_width = 550;

	var default_height = 200;



	if ( new_size == "undefined" ) new_size = 0;



	area_object.style.width = (default_width + (30 * new_size)) + "px";

	area_object.style.height = (default_height + (100 * new_size)) + "px";

}



function chng(val)

{

    var nval = '#' + val.value;

    val.style.color = nval;

}

