function saveandclose_wiki() {
	save_wiki();
	hide_dialog();
}

function save_wiki() {
	var content = document.getElementById("wikicontent");
	var editperm = document.getElementById("wikieditperm");
	var viewperm = document.getElementById("wikiviewperm");
	var wikieditname = document.getElementById("wikieditname");
	var mdata = "action=save&spage=" + wikieditname.value + "&" + wikipage + "&eperm=" + editperm.value + "&vperm=" + viewperm.value + "&content=" + content.value;
	contentAJAX.sendRequest('/wiki.rhtml', mdata);
}

function insertAtCaret(areaId,text) {
	var txtarea = document.getElementById(areaId);
	var scrollPos = txtarea.scrollTop;
	var strPos = 0;
	var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false ) );
	
	if (br == "ie") {
		txtarea.focus();
		var range = document.selection.createRange();
		range.moveStart ('character', -txtarea.value.length);
		strPos = range.text.length;
	} else if (br == "ff")
		strPos = txtarea.selectionStart;
	
	var front = (txtarea.value).substring(0,strPos);
	var back = (txtarea.value).substring(strPos,txtarea.value.length);
	txtarea.value=front+text+back;
	strPos = strPos + text.length;
	
	if (br == "ie") {
		txtarea.focus();
		var range = document.selection.createRange();
		range.moveStart ('character', -txtarea.value.length);
		range.moveStart ('character', strPos);
		range.moveEnd ('character', 0);
		range.select();
	} else if (br == "ff") {
		txtarea.selectionStart = strPos;
		txtarea.selectionEnd = strPos;
		txtarea.focus();
	}
	
	txtarea.scrollTop = scrollPos;
}

function insertAroundSelection(areaId,text1,text2) {
	var txtarea = document.getElementById(areaId);
	var scrollPos = txtarea.scrollTop;
	var strPos1 = 0;
	var strPos2 = 0;
	var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false ) );
	
	if (br == "ie") {
		txtarea.focus();
		var range = document.selection.createRange();
		range.moveStart ('character', -txtarea.value.length);
		strPos1 = range.text.length;
	} else if (br == "ff") {
		strPos1 = txtarea.selectionStart;
		strPos2 = txtarea.selectionEnd;
	}
	
	var front = (txtarea.value).substring(0,strPos1);
	var sel = (txtarea.value).substring(strPos1,strPos2);
	var back = (txtarea.value).substring(strPos2,txtarea.value.length);
	txtarea.value=front+text1+sel+text2+back;
	strPos2 = strPos2 + text1.length + text2.length;
	
	if (br == "ie") {
		txtarea.focus();
		var range = document.selection.createRange();
		range.moveStart ('character', -txtarea.value.length);
		range.moveStart ('character', strPos2);
		range.moveEnd ('character', 0);
		range.select();
	} else if (br == "ff") {
		txtarea.selectionStart = strPos1;
		txtarea.selectionEnd = strPos2;
		txtarea.focus();
	}
	
	txtarea.scrollTop = scrollPos;
} 


