function toggle_view( bericht )
{
	var gefilterd_bericht = document.getElementById( "gefilterd_" + bericht );
	var oorspronkelijk_bericht = document.getElementById( "oorspronkelijk_" + bericht );
	if ( gefilterd_bericht.style.display != 'none' )
	{
		gefilterd_bericht.style.display = 'none';
		oorspronkelijk_bericht.style.display = '';
	}
	else
	{
		gefilterd_bericht.style.display = '';
		oorspronkelijk_bericht.style.display = 'none';
	}	
}
function toggle_information_on()
{
	document.getElementById( 'information' ).style.display = '';
}
function toggle_information_off()
{
	document.getElementById( 'information' ).style.display = 'none';
}

function loading()
{
	document.getElementById( 'loading' ).style.visibility = 'visible';
}

function stopLoading()
{
	document.getElementById( 'loading' ).style.visibility = 'hidden';
}
function initMessageBox()
{
	if (!target) target = document.getElementById('zoek_mail');
	if (target)
	{
		target.focus();
		if (target.createTextRange)
		{
			target.onkeyup = storeCursor;
			target.onclick = storeCursor;
			target.onselect = storeCursor;
			target.onselect();
		}
	}
}

function storeCursor()
{
	this.cursorPos = document.selection.createRange().duplicate();
}
function det_replace(type, text)
{
	var val = '';
	switch (type)
	{
		case 'plain':
			break;
		case 'AND':
			if (text != '')	text = text.replace(/(\w+)\s+/g, '$1 AND ');
			else text = ' AND ';
			break;
		case 'OR':
			if (text != '')	text = text.replace(/(\w+)\s+/g, '$1 OR ');
			else text = ' OR ';
			break;
		case 'brackets':
			if (text != '')	text = '('+text+')';
			else text = '()';
			break;
		case 'subject':
			if (text != '')	text = '+subject:('+text+')';
			else text = '+subject:';
			break;
		case 'name':
			if (text != '')	text = '+name:('+text+')';
			else text = '+name:';
			break;
		case 'email':
			if (text != '')	text = '+email:('+text+')';
			else text = '+email:';
			break;
		case 'start':
			if (text != '')	text = 'start:('+text+')';
			else text = 'start:';
			break;
		case 'bold':
			text = '[b]'+text+'[/b]';
			break;
		case 'italic':
			text = '[i]'+text+'[/i]';
			break;
		case 'underline':
			text = '[u]'+text+'[/u]';
			break;
		case 'strike':
			text = '[s]'+text+'[/s]';
			break;
		case 'sub':
			text = '[sub]'+text+'[/sub]';
			break;
		case 'sup':
			text = '[sup]'+text+'[/sup]';
			break;
		case 'small':
			text = '[small]'+text+'[/small]';
			break;
		case 'left':
			text = '[left]'+text+'[/left]';
			break;
		case 'center':
			text = '[center]'+text+'[/center]';
			break;
		case 'right':
			text = '[right]'+text+'[/right]';
			break;
		case 'listbullet':
			text = '[list]\r\n[*]'+(text.split(/\r?\n/).join('\r\n[*]'))+'\r\n[/list]';
			break;
		case 'listnum':
			text = '[list=1]\r\n[*]'+(text.split(/\r?\n/).join('\r\n[*]'))+'\r\n[/list]';
			break;
		case 'bgcolor':
			if ((val = prompt('Voer een hexadecimale kleurcode in:','#')))
				text = '[bgcolor='+val+']'+text+'[/bgcolor]';
			break;
		case 'color':
			if ((val = prompt('Voer een hexadecimale kleurcode in:','#')))
				text = '[color='+val+']'+text+'[/color]';
			break;
		case 'url':
			if (/^(http:\/\/|www\.)/i.test(text))
			{
				if ((val = prompt('Voer omschrijving in:', text)))
					text = '[url="'+text.replace(/(["\\])/g,'\\$1')+'"]'+val+'[/url]';
			}
			else
			{
				val = prompt('Voer de URL in:','http:\/\/');
				if (val && val != 'http:\/\/')
				{
					if (text == '') text = '[url]'+val+'[/url]';
					else text = '[url="'+val.replace(/(["\\])/g,'\\$1')+'"]'+text+'[/url]';
				}
			}
			break;
		case 'img':
			if (text == '')
			{
				val = prompt('Voer de URL in:','http:\/\/');
				if (val && val != 'http:\/\/')
					text = '[img]'+val+'[/img]';
			}
			else
			{
				text = '[img]'+text+'[/img]';
			}
			break;
		case 'table':
			text = '[table border=1 width=350 cellpadding=2 bordercolor=#000000]\r\n[tr]\r\n[td]'+(text.split(/\r?\n/).join('[/td]\r\n[/tr]\r\n[tr]\r\n[td]'))+'[/td]\r\n[/tr]\r\n[/table]';
			break;
		case 'hr':
			text += '[hr]';
			break;
		case 'quote':
			text += '[/quote]\r\n[quote]';
			break;
	}

	return text;
}
function putStr(text)
{
	putExt('plain', text);
}

function putExt(type, text)
{
	if (target)
	{
		if (target.cursorPos)
		{
			var cursorPos = target.cursorPos;
			if (type != 'plain') text = cursorPos.text;
			cursorPos.text = det_replace(type, text);
		}
		else if (target.selectionStart != undefined)
		{
			// remember scrollposition
			var scrollTop = target.scrollTop;

			var sStart = target.selectionStart;
			var sEnd = target.selectionEnd;
			if (type != 'plain') text = target.value.substring(sStart, sEnd);
			text = det_replace(type, text);
			target.value = target.value.substr(0, sStart) + text + target.value.substr(sEnd);
			var nStart = sStart == sEnd ? sStart + text.length : sStart;
			var nEnd = sStart + text.length;
			target.setSelectionRange(nStart, nEnd);

			// reset scrollposition
			target.scrollTop = scrollTop;
		}
		else
		{
			if (type != 'plain') text = '';
			target.value += det_replace(type, text);
		}

		target.focus();
		if (target.cursorPos) target.onselect();
	}
}

function toggle_preferences()
{

	if( document.getElementById( 'preferences' ).style.display == 'none' )
		document.getElementById( 'preferences' ).style.display = '';
	else
		document.getElementById( 'preferences' ).style.display = 'none';
}
