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 = $(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://www.shjong.nl)');
	if(url) {
		ubb_plaintag('url='+url,id,true);
	}
}
function ubb_imagetag(id) {
	var area = $(id);
	var url = prompt('Voer het adres van de afbeelding in');
	if(url) {
		start = '[img alt=';
		end = ']'+url+'[/]';
		ubb_setText(start,end,area)
	}
}

function smile(tag, id) {
	ubb_setText(tag+' ','',$(id))
}


function ubb_zoomout(id) {
	var area = $(id);
	if(area) {
		var newHeight = area.offsetHeight - 48;
		if(newHeight > 200) {
			area.style.height = newHeight + 'px';
		}
	}
}

function ubb_zoomin(id) {
	var area = $(id);
	if(area) {
		var newHeight = area.offsetHeight + 48;
		area.style.height = newHeight + 'px';
	}
}
function ubb_hide_preview(id) {
	$('prv_'+id).style.display = 'none';
}
function ubb_preview(id, previewUrl) {
	var targetId = 'prv_'+id;
	var req = new XMLHttpRequest();
	var data = 'src='+ encodeURIComponent($(id).value);
	req.open("POST", previewUrl, true);
	req.onreadystatechange= function() { 
		if (req.readyState==4) {
			if (req.status==200) {
				var target = $(targetId).getElementsByTagName('div')[0];
				target.innerHTML = req.responseText;
				$(targetId).style.display = 'block';
			}
		}
	}
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", data.length);
	req.setRequestHeader("Connection", "close");
	req.send(data);
}


