/* JavaScript Document
 * Author: 		Philipp Krummenauer
 * E-Mail:		mail@philipp-krummenauer.de
 * Homepage:		http://www.philipp-krummenauer.de
 * File:		insert_tag.js
 * Date:		23.11.2008
 * Last Edit:		24.11.2008
 * Version:		1.0
 * URL:			http://www.philipp-krummenauer.net
 */

/* Text in Inputfeld einfuegen */
function insert(aTag, eTag, formular, inputfield) {
	var input = document.forms[formular].elements[inputfield];
	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;
		/* Anpassen 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 */
		var pos;
		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);
	}
}

/* Link in Inputfeld schreiben */
function insert_link(div_id, read_form, formular, inputfield) {
	//Text auslesen
	name = document.forms[read_form].name.value;
	target = document.forms[read_form].target.value;
	title = document.forms[read_form].title.value;
	
	//Tag erstellen
	var aTag = '{\\start_link url="'+target+'" title="'+title+'" name="'+name+'" link_end\\}';
	var eTag = '';
	
	var input = document.forms[formular].elements[inputfield];
	input.focus();
	if (name!='' && target!='') {
		insert(aTag, eTag, formular, inputfield);
		div_show(div_id, '350');
	}
}

/* Break in Inputfeld schreiben */
function insert_break(formular, inputfield) {
	aTag = '<br />\n';
	eTag = '';
	insert(aTag, eTag, formular, inputfield);
}

/* Ueberschrift in Inputfeld schreiben */
function insert_title(formular, inputfield) {
	aTag = '<span class="content_small_title">';
	eTag = '</span>';
	insert(aTag, eTag, formular, inputfield);
}

/* Uebergebenes Zeichen in Inputfeld schreiben */
function insert_special(div_id, tag, formular, inputfield) {
	aTag = tag;
	eTag = '';
	insert(aTag, eTag, formular, inputfield);
	div_show(div_id, '270');
}

/* IMG-Tag in Inputfeld schreiben */
function insert_pic(div_id, read_form, formular, inputfield) {
	//Text auslesen
	title = document.forms[read_form].title.value;
	alt = document.forms[read_form].alt.value;
	src = document.forms[read_form].src.value;
	
	for (var i=0;i<document.forms[read_form].secure.length;i++) {
		if (document.forms[read_form].secure[i].checked) {
			secure = document.forms[read_form].secure[i].value;
		}
	}
	
	//Tag erstellen
	var aTag = '{\\start_pic src="'+src+'" alt="'+alt+'" title="'+title+'" secure="'+secure+'" class="pic_border" pic_end\\}';
	var eTag = '';
	
	/*
	var input = document.forms[formular].elements[inputfield];
	input.focus();
	*/
	
	if (src!='' && alt!='') {
		insert(aTag, eTag, formular, inputfield);
		div_show(div_id, '530');
	}
}

function insert_src_pic(tag, formular) {
	document.forms[formular].src.value = tag;
}