/* BBcodes in Textarea einfügen */

function bbcode(aTag, eTag) {
	var input = document.getElementById('editor_area');
	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();
	} else if(typeof input.selectionStart != 'undefined') {
		/* für neuere auf Gecko basierende Browser
		 * 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;
	} else {
		/* für die übrigen Browser */
		/* 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);
	}
}

/* Listen */

function list() {
	
	var list = '[list]' + "\n";  
	while(true) {
		var promt = prompt('Gib einen Listeneintrag ein. Klicke auf Abbrechen oder lasse das Feld leer, um die Liste zu beenden.');
		if(promt == '') {
			break;
		} else if(promt == null) {
			return;
		}
		list += '[*]' + promt  + "\n";
	}
	list += '[/list]' + "\n";
	bbcode(list, '');
	
}

function listOL() {
	
	var list = '[list=1]' + "\n";  
	while(true) {
		var promt = prompt('Gib einen Listeneintrag ein. Klicke auf Abbrechen oder lasse das Feld leer, um die Liste zu beenden.');
		if(promt == '') {
			break;
		} else if(promt == null) {
			return;
		}
		list += '[*]' + promt  + "\n";
	}
	list += '[/list]' + "\n";
	bbcode(list, '');
	
}

/* Links und Mail Links */

function link(text) {
	
	var link = prompt("Gib die volle Adresse des Links ein.");
	
	if(link == null) {
		return;
	}
	
	if(text == 1) {
		var text = prompt("Gib einen Namen für den Link ein.");
		
		if(text == null) {
			return;
		}
		
		bbcode('[url=' + link + ']' + text + '[/url]', '');
		return;
	}
	
	bbcode('[url]' + link + '[/url]', '');
	
}

function mail(text) {
	
	var link = prompt("Gib die einzufügende E-Mail-Adresse ein.");
	
	if(link == null) {
		return;
	}
	
	if(text == 1) {
		var text = prompt("Gib einen Namen für die Adresse ein.");
		
		if(text == null) {
			return;
		}
		
		bbcode('[email=' + link + ']' + text + '[/email]', '');
		return;
	}
	
	bbcode('[email]' + link + '[/email]', '');
	
}

/* Farbpalette */

var display = false;

function colorChooser() {
	
	var chooser = document.getElementById('color_chooser');
	
	if(display == true) {
		chooser.style.display = 'none';
		display = false;
	} else {
		chooser.style.display = 'block';
		display = true;
	}
	
}













