var codesVisible = 0;

var guidedMode = getMode();

function getMode() {
	if(document.cookie) {
		var cookies = document.cookie.split('; ');
		var i = 0;
		for (i = 0; i < cookies.length; i++) {
			var mode = cookies[i].split('=');
			if (mode[0] == 'GuidedMode')
				return parseInt(mode[1]);
		}
		return 0;
	} else {
		return 0;
	}
}

function setMode(mode) {
	guidedMode = mode;
	var now = new Date();
	var expires = new Date(now.getTime() + (200 * 24 * 60 * 60));
	document.cookie = 'GuidedMode=' + mode + '; expires=' + expires.toGMTString() + ';';
}

function writeCodes(popup) {
	var ret = '<form>';
	ret += '<div class="codes'+((popup) ? '2' : '')+'" id="divcodes">';
	ret += '	<table class="codes" style="width: 500px;">';
	ret += '	<tr>';
	ret += '		<td style="width: 80px;"><b><u>Modus:</u></b></td>';
	ret += '		<td style="width: 80px;"><a href="#" onclick="insertCode(\'b\'); return false;"><img src="/images/icons/?codes;bold" border="0" alt="bold" />&nbsp;<b>fett</b></a></td>';
	ret += '		<td style="width: 140px;"><a href="#" onclick="insertCode(\'s\'); return false;"><img src="/images/icons/?codes;strike" border="0" alt="strike" />&nbsp;<strike>durchgestrichen</strike></a></td>';
	ret += '		<td style="width: 70px;"><a href="#" onclick="insertCode(\'quote\'); return false;" style="border-style: solid; border-width: 1px; border-color: #AFAEA8;"><img src="/images/icons/?codes;quote" border="0" alt="quote" />&nbsp;Zitat</a></td>';
	ret += '		<td style="width: 60px;"><a href="#" onclick="insertCode(\'img\'); return false;"><img src="/images/icons/?codes;image" border="0" alt="image" />&nbsp;Bild</a></td>';
	ret += '	</tr>';
	ret += '	<tr>';
	ret += '		<td><input type="radio" name="r" onclick="setMode(0);"';
	if (getMode() == 0)
		ret += ' checked="checked"';
	ret += ' id="codesnormal" /><label for="codesnormal">&nbsp;normal</label></td>';
	ret += '		<td><a href="#" onclick="insertCode(\'i\'); return false;"><img src="/images/icons/?codes;italic" border="0" alt="italic" />&nbsp;<em>kursiv</em></a></td>';
	ret += '		<td><a href="#" onclick="insertCode(\'c\'); return false;"><img src="/images/icons/?codes;fixed" border="0" alt="fixed" />&nbsp;<tt>fixed</tt></a></td>';
	ret += '		<td><a href="#" onclick="insertCode(\'line\'); return false;"><img src="/images/icons/?codes;line" border="0" alt="line" />&nbsp;Linie</a></td>';
	ret += '		<td>&nbsp;</td>';
	ret += '	</tr>';
	ret += '	<tr>';
	ret += '		<td><input type="radio" name="r" onclick="setMode(1);"';
	if (getMode() == 1)
		ret += ' checked="checked"';
	ret += ' id="codesguided" /><label for="codesguided">&nbsp;geführt</label></td>';
	ret += '		<td style="width: 120px;"><a href="#" onclick="insertCode(\'u\'); return false;"><img src="/images/icons/?codes;under" border="0" alt="under" />&nbsp;<u>unterstrichen</u></a></td>';
	ret += '		<td><a href="#" onclick="insertCode(\'color\'); return false;"><img src="/images/icons/?codes;color" border="0" alt="color" />&nbsp;<font color="red">F</font><font color="violet">a</font><font color="yellow">r</font><font color="green">b</font><font color="blue">e</font></b></a></td>';
	ret += '		<td><a href="#" onclick="insertCode(\'url\'); return false;"><img src="/images/icons/?codes;link" border="0" alt="link" />&nbsp;Link</a></td>';
	ret += '		<td><span class="small"><a href="#" onclick="showCodes('+popup+'); return false;">ausblenden</a></span></td>';
	ret += '	</tr>';
	ret += '	</table>';
	ret += '</div>';
	ret += '</form>';
	return ret;
}

function insertCode(code) {
	if (code == 'line') {
		document.getElementById('textbox').value += '[line]';
	} else {
		var qu = 'Bitte gebe den zu formatierenden Text ein:';
		var pre = 'Text';
		if (code == 'img') {
			qu = 'Bitte gebe die Adresse des Bildes ein:';
			pre = 'http://www.example.org/bild.png';
		}
		if (code == 'url') {
			qu = 'Bitte gebe die Verknüpfungsadresse ein:';
			pre = 'http://www.example.org/';
		}
		if (guidedMode == 1) {
			var par = window.prompt(qu, pre);
			if (code == 'url') {
				var par2 = window.prompt("Bitte gebe einen Namen für den Link an:", par);
				if (par2 == par) {
					document.getElementById('textbox').value += '[url]'+par+'[/url]';
				} else {
					document.getElementById('textbox').value += '[url='+par+']'+par2+'[/url]';
				}
			} else if (code == 'color') {
				var goOn;
				var col = 'red';
				do {
					col = window.prompt("Bitte gebe eine Farbe an: ('red', 'green', 'blue' oder 'yellow')", col);
					if (col == 'red' || col == 'green' || col == 'blue' || col == 'yellow') {
						document.getElementById('textbox').value += '[color='+col+']'+par+'[/color]';
						goOn = false;
					} else {
						alert("Ungültiger Farbcode!\nBitte gebe 'red', 'green', 'blue' oder 'yellow' ein.");
						goOn = true;
					}
				} while (goOn);
			} else {
				document.getElementById('textbox').value += '['+code+']'+par+'[/'+code+']';
			}
		} else {
			if (code == 'url') {
				document.getElementById('textbox').value += '[url='+pre+']Titel[/url]';
			} else if (code == 'color') {
				document.getElementById('textbox').value += '[color=red]'+pre+'[/color]';
			} else {
				document.getElementById('textbox').value += '['+code+']'+pre+'[/'+code+']';
			}
		}
	}
}

function showCodes(popup) {
	if (!document.getElementById) {
		alert('Dein Browser unterstützt diese Funktion nicht!');
		return;
	}
	if (codesVisible == 1) {
		if (!popup)
			document.getElementById('divcodes').style.visibility = 'hidden';
		else
			document.getElementById('divcodes').style.top = '-100px';
		codesVisible = 0;
	} else {
		if (!popup)
			document.getElementById('divcodes').style.visibility = 'visible';
		else
			document.getElementById('divcodes').style.top = '3px';
		codesVisible = 1;
	}
}