function viewPicture(lnk){
	pictureview = window.open(lnk, "previewwindow", "scrollbars=yes,width=900,height=700,left=50,top=0");
	pictureview.focus();
}

function viewPictureEditor(lnk){
	pictureview = window.open(lnk, "previewwindow", "scrollbars=yes,width=500,height=300,left=100,top=100");
	pictureview.focus();
	pictureview.scrollbars.visible = true;
}

function insertPicture(){
	var tag;
	var name = document.forms['adminform'].elements['picname'].value;
	description = promptDescription("Geben Sie eine Beschreibung für das Bild "+name+" ein.");
	copy = prompt("Geben Sie den Urheber des Bildes ein (optional).","");
	if(!copy && copy !== ""){
		exit;
	}else{
		if(copy === ""){
			tag = "++"+description+">>"+name+"++";
		}else{
			tag = "++"+copy+">>"+description+">>"+name+"++";
		}
		insert(tag,"");
	}
}

function insertLink(mod){
	var tag;
	if(mod == 0){
		var lnk = document.forms['adminform'].elements['lnkname'].value;
		if(lnk === "http://" || !lnk || lnk === ""){
			exit;
		}
	}else if(mod == 1){
		var lnk = document.forms['adminform'].elements['linkname'].value;
	}
	var sel = somethingSelected();
	if(sel !== ""){
		insert("[[",">>"+lnk+"]]");
	}else{
		var name = prompt("Wenn der Link anders lauten soll als '"+lnk+"', so geben Sie bitte hier einen anderen Namen ein. Falls nicht lassen Sie das Feld frei und klicken auf OK.","");
		if(!name && name !== ""){
			exit;
		}else{
			if(name === ""){
				tag = "[["+lnk+"]]";
			}else{
				tag = "[["+name+">>"+lnk+"]]";
			}
			insert(tag,"");
		}
	}
}

function promptDescription(txt){
	description = prompt(txt, "");
	if(!description && description !== ""){
		exit;
	}else{
		if (description === "") {
		  description = promptDescription("Die Beschreibung darf nicht leer sein. Bitte ändern Sie ihre Angabe.");
		} else {
			return description;
		}
	}
}

function insert(aTag,eTag){
	var input = document.forms['adminform'].elements['txt'];
	input.focus();
	/* für Internet Explorer */
	if(typeof document.selection != 'undefined'){
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = aTag + insText + eTag;
		/* Anspassen der Cursorposition */
		range = document.selection.createRange();
		if(insText.length == 0){
			range.move('character',-eTag.length);
		}else{
			range.moveStart('character',aTag.length + insText.length + eTag.length);
		}
		range.select();
	}
	/* Für neuere auf Gecko basierende Browser */
	else if(typeof input.selectionStart != 'undefined'){
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start,end);
		input.value = input.value.substr(0,start) + aTag + insText + eTag + input.value.substr(end);
		/* Anpassen der Cursorposition */
		if(insText.length == 0){
			pos = start + aTag.length;
		}else{
			pos = start + aTag.length + insText.length + eTag.length;
		}
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	/* Für die übrigen Browser */
	else{
		/* Abfrage der Einfügeposition */
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while(!re.test(pos)){
			pos = prompt("Einfügen an Position (0.." + input.value.length + "):","0");
		}
		if(pos > input.value.length){
			pos = input.value.length;
		}
		/* Einfügen des Formatierungscodes */
		var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
		input.value = input.value.substr(0,pos) + aTag + insText + eTag + input.value.substr(pos);
	}
}

function somethingSelected(){
	var insText = "";
	var input = document.forms['adminform'].elements['txt'];
	input.focus();
	/* für Internet Explorer */
	if(typeof document.selection != 'undefined'){
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		insText = range.text;
	}
	/* Für neuere auf Gecko basierende Browser */
	else if(typeof input.selectionStart != 'undefined'){
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		insText = input.value.substring(start,end);
	}
	/* Für die übrigen Browser */
	else{
		insText = "";
	}
	return insText;
}