/**************************************************************************************************
** UBB code script
**************************************************************************************************/
function replaceTzmlMarkup (name,text)
{
	var regstart = new RegExp("\\["+name+"\\]","g");
	var regend = new RegExp("\\[\\/"+name+"\\]","g");
	if (text.match(regstart) || text.match(regend))
	{
		text = text.replace(regstart,"");
		text = text.replace(regend,"");
	}
	else
	{
		text = '['+name+']' + text + '[/'+name+']';
	}
	return text;
}

function tzmlMakeText (type, selection, code)
{
	var text
	switch (type)
	{
		case 'smilie':
			text = code;
		break
		case 'bold':
			text = replaceTzmlMarkup('b',selection);
		break
		case 'italic':
			text = replaceTzmlMarkup('i',selection);
		break
		case 'underline':
			text = replaceTzmlMarkup('u',selection);
		break
		case 'strike':
			text = replaceTzmlMarkup('s',selection);
		break
		case 'sub':
			text = replaceTzmlMarkup('sub',selection);
		break
		case 'sup':
			text = replaceTzmlMarkup('sup',selection);
		break
		case 'splitquote':
			var text = '[/quote]' + selection + '[quote]';
		break
		case 'anchor':
			var url = prompt('Voer de URL in:','http:\/\/');
			if (url !== null && url !== '' && url !== 'http:\/\/')
			{
				if (selection == '')
				{
					var selection = prompt('Voer een naam voor je link in:\nleeg laten is geen naam!','');
				}
				if (selection !== null && selection !== '')
				{
					var text = '[url='+url+']'+selection+'[/url]';
				}
				else
				{
					var text = '[url]'+url+'[/url]';
				}
			}
			else
			{
				text = selection;
			}
		break
		case 'image':
			if (selection == '')
			{
				var selection = prompt('Voer de URL naar de afbeelding in:','http://');
			}
			if (selection !== null && selection !== '' && selection !== 'http:\/\/')
			{
				var text = '[img]'+selection+'[/img]';
			}
			else
			{
				var text = selection;
			}
		break
		case 'table':
			var rows = prompt('Aantal rijen:','1');
			if (rows !== null && rows !== '')
			{
				var cols = prompt('Aantal kolommen:','2');
				if (cols !== null && cols !== '')
				{
					var width = prompt('breedte in pixels (max 580):','');
					if (width == null || width == '')
					{
						var table_start = '[table bgcolor=#FFFFFF bordercolor=#000000]';
					}
					else if (width > 580)
					{
						var table_start = '[table width=580 bgcolor=#FFFFFF bordercolor=#000000]';
					}
					else
					{
						var table_start = '[table width=' + width + ' bgcolor=#FFFFFF bordercolor=#000000]';
					}
					var table_rows = '';
					for (var i=0; i<rows; i++)
					{
						var table_cols = '';
						for (var s=0; s<cols; s++)
						{
							var table_cols = table_cols + '\n' + '[td][/td]';
						}
						var table_rows = table_rows + '\n[tr]' + table_cols + '\n[/tr]';
					}
					var text = table_start + table_rows + '\n[/table]';
				}
				else
				{
					var text = selection;
				}
			}
			else
			{
				var text = selection;
			}
		break
		default:
			var text = selection + type;
		break
	}
	return text;
}
function tzmlInsert(myField,type,code)
{
	if (document.selection) //IE support
	{
		myField.focus();
		var sel = document.selection.createRange();
		var selection = sel.text
		var text = tzmlMakeText(type, selection, code);
		sel.text = text;
	}
	else if (myField.selectionStart || myField.selectionStart == 0) //Gecko support
	{
		var scrollPos = myField.scrollTop;
		
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var selectionlength = endPos - startPos;
		var selection = myField.value.substring(startPos, endPos);
		var text = tzmlMakeText(type, selection, code);

		myField.value = myField.value.substring(0, startPos)
								+ text
								+ myField.value.substring(endPos, myField.value.length);
		if (type != 'smilie')
		{
			var sStart = startPos;
			var sEnd = startPos + text.length;
			myField.setSelectionRange(sStart, sEnd);
		}
		myField.scrollTop = scrollPos;
		myField.focus();
	}
	else
	{
		var text = tzmlMakeText(type, '', code);
		myField.value = myField.value + text;
		myField.focus();
	}
}
function saveScrollPosition (element)
{
	var pos = new Array();
	pos['y'] = (document.all)?element.scrollTop:element.scrollY;
	alert(pos['y']);
}
function resizeArea (myField, action)
{
	var elHeight = myField.rows;
	if (action == '0')
	{
		if (elHeight > 8)
		{
			myField.rows = elHeight - 8;
		}
		else
		{
			alert('Het bericht venster kan niet kleiner\ngemaakt worden dan 8 regels');
			myField.rows = 8;
		}
	}
	if (action == '1')
	{
		if (elHeight < 40)
		{
			myField.rows = elHeight + 8;
		}
		else
		{
			alert('Het bericht venster kan niet groter\ngemaakt worden dan 40 regels');
			myField.rows = 40;
		}
	}
}