function storeCursor(){
	this.cursorpos=document.selection.createRange().duplicate();
}
/** UBB insertion code */
function ubb_setText(start,end,area) {
	if(area == undefined) { return; }
	
	if (!area.init && area.createTextRange) {
		area.focus();
		area.onkeyup = storeCursor;
		area.onclick = storeCursor;
		area.onselect = storeCursor;
		area.onselect();
	}
	area.init = true; 
	
	if(area.cursorpos) {
		area.cursorpos.text = start + area.cursorpos.text + end;
		
	} else if (area.selectionStart != undefined) {
		var scrollpos = area.scrollTop;
		var oStart = area.selectionStart;
		var oEnd = area.selectionEnd;
		var replace = start + area.value.substr(oStart,oEnd-oStart) + end;
		area.value = area.value.substr(0,oStart) + replace + area.value.substr(oEnd);

		//fix cursorposition and scrolling
		var sEnd = oStart + replace.length;
		var sStart = (oStart==oEnd) ? sEnd : oStart;

		area.setSelectionRange(sStart, sEnd);
		area.scrollpos = scrollpos;
	} else {
		area.value += start + end;
	}
	area.focus();
	if (area.cursorPos) area.onselect(); 
}

function ubb_plaintag(tag,id,shortend) {
	var area = document.getElementById(id);
	if(area != undefined) {
		var s = '['+tag+']';
		var e = (shortend) ? '[/]' : '[/'+tag+']';
		ubb_setText(s,e,area);
	}
}
function ubb_urltag(id) {
	var url = prompt('Voer het adres van de link in (bijv: http://tmob.be)');
	if(url) {
		ubb_plaintag('url='+url,id,true);
	}
}
function ubb_imagetag(id) {
	var area = document.getElementById(id);
	var url = prompt('Voer het adres van de afbeelding in');
	if(url) {
		start = '[img alt=';
		end = ']'+url+'[/]';
		ubb_setText(start,end,area)
	}
}


function ubb_zoomout(id) {
	var area = $('#'+id);
	if(area && area.height() > 200) {
		area.height(Math.max(area.height()-48, 200));
	}
}
function ubb_zoomin(id) {
	var area = $('#'+id);
	if(area) {
		area.height( area.height() + 48 )
	}
}
function ubb_hide_preview(id) {
	$('#prv_'+id).hide();
}

function ubb_preview(id, previewUrl) {
	var targetId = '#prv_'+id;
	
	$.post(previewUrl,
			{ src: $('#'+id).val() },
			function(data){
				var target = $(targetId +'>div');
				target.html(data);
				$(targetId).show();
  			},
  			"html");
}
function ubb_preview_old(id, previewUrl) {
	var targetId = '#prv_'+id;
	var req = new XMLHttpRequest();
	var data = 'src='+ escape($(id).value);
	req.open("POST", previewUrl, true);
	req.onreadystatechange= function() { 
		if (req.readyState==4) {
			if (req.status==200) {
				var target = $(targetId +'>div');
				alert(req.responseText);
				target.html(req.responseText);
				$(targetId).show();
			}
		}
	}
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", data.length);
	req.setRequestHeader("Connection", "close");
	req.send(data);
}
	

