// JavaScript Document

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){
			var scrollTop=target.scrollTop,sStart=target.selectionStart,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,nEnd=sStart+text.length;
			target.setSelectionRange(nStart,nEnd);
			target.scrollTop=scrollTop
		}
		else{
			if(type!='plain')
				text='';
			target.value+=det_replace(type,text)
		};
		target.focus();
		if(target.cursorPos)
			target.onselect()
	}
}

function initMessageBox(){
	
	target=document.getElementById('bericht');
	
	if(!target){
		target=document.getElementById('bericht');
	}
	if(target){
		
		target.focus();
		if(target.createTextRange){
			target.onkeyup=storeCursor;
			target.onclick=storeCursor;
			target.onselect=storeCursor;target.onselect()
		};
		
		/*
		if(!is.mac&&target.tagName.toLowerCase()=='textarea')
			if(target.createTextRange){
				target.onkeydown=shortkey
			}else 
				target.onkeypress=shortkey
		*/
	}
}

function initMessageBox2(){
	
	target=document.getElementById('bericht');
	
	if(!target){
		target=document.getElementById('bericht');
	}
	if(target){
		//target.focus();
		if(target.createTextRange){
			target.onkeyup=storeCursor;
			target.onclick=storeCursor;
			target.onselect=storeCursor;target.onselect()
		};
		
		/*
		if(!is.mac&&target.tagName.toLowerCase()=='textarea')
			if(target.createTextRange){
				target.onkeydown=shortkey
			}else 
				target.onkeypress=shortkey
		*/
	}
}


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'title':case'start':if(text!=''){text=type+':('+text+')'}else text=type+':';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':case'sup':case'small':case'left':case'center':case'right':text='['+type+']'+text+'[/'+type+']';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;case':)':text+=':)';break;case':D':text+=':D';break;case':(':text+=':(';break;case':O':text+=':O';break;case':S':text+=':S';break;case':P':text+=':P';break;case';)':text+=';)';break};return text} 

