function createRequestObject() { // Functie die een XMLhttp object aanmaakt
	var ro;
	if (window.XMLHttpRequest) { 
		// Mozilla, Safari, ...
		ro = new XMLHttpRequest();
	} else if (window.ActiveXObject) { 
	  try {
            ro = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               ro = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
         }
	} 
	return ro;
}  

var sAjax = createRequestObject();
var sAjaxReload = createRequestObject();
var sAjaxSessieAlive = createRequestObject();

function reactieUBB(ubbCode, emoticon,type) {
	if(document.getElementById('logReactie')) {
		var elem = document.getElementById('logReactie');
		if(elem.selectionStart) {
			str = elem.value.substring(elem.selectionStart, elem.selectionEnd);	
		}
		else {
			
			if (window.getSelection) {
				str = window.getSelection();
			} else {
				if (document.getSelection)
					str = document.getSelection();
				else {
					if (document.selection)
						str = document.selection.createRange().text;
					else
						return
				}
			}
		}
		var isIE = document.all;
		ubbCodeEnd = ubbCode;
		if(emoticon) {
			var reactieUBB = str + ubbCode + " "; 		
		} else {
			if (ubbCode == "quote") { ubbCode += "=iemand"; }
			if (ubbCode == "url") { ubbCode += "=http://www.ditismijnteam.nl/"; }
			if (!str) { str = "Ditismijnteam.nl"; }
			var reactieUBB = "[" + ubbCode + "]" + str + "[/" + ubbCodeEnd + "]"; 
		}
		elem.focus();
		if(isIE) {
			var oRange = document.selection.createRange(); 
			oRange.text = reactieUBB; 
			oRange.collapse(true); 
			oRange.select();   		
		} 
		else {
			var iStart = elem.selectionStart; 
			var iEnd = elem.selectionEnd; 
			elem.value = elem.value.substring(0, iStart) + reactieUBB + elem.value.substring(elem.selectionEnd, elem.value.length); 
			elem.setSelectionRange(iStart + reactieUBB.length, iStart + reactieUBB.length); 			
		}
	}
	if(de("inputPreview")) { updatePreview('logReactie','inputPreview',type); }
}
var previewVenster;
var interval;
function updatePreview(textarea,preview,type) {
	if (de(preview)) { 
		clearTimeout(interval);
		interval = setTimeout("updateTextField('"+textarea+"','"+preview+"','"+type+"')",200);
	}
}	

function updateTextField(textarea,preview,type) {
	sAjax.open("POST","/inc/ajax/ubbPreview.php?rand="+Math.random()+"&type="+type);
	
    sAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");    
	sAjax.onreadystatechange = previewLoaded;
	sAjax.send("txt="+escape(de(textarea).value));	
	previewVenster = de(preview);	
}

function previewLoaded() {
	if (sAjax.readyState == 4) { 
		previewVenster.innerHTML = sAjax.responseText;
	}	
}

function reactieEmoticon(type) {
	var emoticon = window.open("/emoticons.php?type="+type, "emoticon", "width=400,height=300");
	emoticon.focus();
}

