
/*
************************************************************

			function.js
			-----------

 - Javascriptfunktionen für den Userbereich

************************************************************
*/


 function promtCodeSingle(start, end)
 {
	var input = document.neuer_thread.eintrag;

	var showedText;
	switch(start)
	{
		case "[b]":
		showedText = "Gib bitte den Text ein, der fett dargestellt werden soll.";
			break;
		case "[u]":
		showedText = "Gib bitte den Text ein, der unterstrichen dargestellt werden soll.";
			break;
		case "[i]":
		showedText = "Gib bitte den Text ein, der kursiv dargestellt werden soll.";
			break;
		case "[center]":
		showedText = "Gib bitte den Text ein, der zentriert dargestellt werden soll.";
			break;
		case "[img]":
		showedText = "Gib bitte die url des Bildes ein";
			break;
		default:
		showedText = "Gib bitte den Text ein.";
	}

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			var newText = prompt(showedText, Selection);
			if( newText != null && newText != "" )
			{
				document.selection.createRange().text = start + Selection + end;
			}
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;

			var newText = prompt(showedText, subText);

			if( newText != null && newText != "" )
			{
				range.text  = start + newText + end;

				if( newText.length == 0 )
				{
					range.move('character', -end.length);
				} else
				  {
					range.moveStart('character', start.length + newText.length + end.length);
				  }
			}

			range.select();
		  }
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;

			var newText = prompt(showedText, Selection);
			if( newText != null && newText != "" )
			{
				input.value   = string1 + start + newText + end + string3;
			}
		} else
		  {
			input.value = input.value + start + end;
		  }
	  }
 }


 function promtCodeMulti(start, end)
 {
	var input = document.neuer_thread.eintrag;

	var showedText;
	switch(start)
	{
		case "[link]":
		showedText1 = "Gib bitte einen Linknamen ein (optional).";
		showedText2 = "Gib bitte die url des Links ein.";
		preText     = "http://";
			break;
		case "[mail]":
		showedText1 = "Gib bitte einen Linknamen ein (optional).";
		showedText2 = "Gib bitte die Emailadresse ein.";
		preText     = "";
			break;
		default:
		showedText1 = "Gib bitte den Namen ein.";
		showedText2 = "Gib bitte die url ein.";
		preText     = "";
	}

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			var newText = prompt(showedText1, Selection);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[link]" )
				{
					document.selection.createRange().text = '[link=' + newLink + ']' + newText + end;
				} else
				  {
					document.selection.createRange().text = '[mail=' + newLink + ']' + newText + end;
				  }
			}
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;

			var newText = prompt(showedText1, subText);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[link]" )
				{
					range.text = '[link=' + newLink + ']' + newText + end;

					if( newText.length == 0 )
					{
						range.move('character', -end.length);
					} else
					  {
						range.moveStart('character', start.length + newText.length + end.length);
					  }
				} else
				  {

					range.text = '[mail=' + newLink + ']' + newText + end;

					if( newText.length == 0 )
					{
						range.move('character', -end.length);
					} else
					  {
						range.moveStart('character', start.length + newText.length + end.length);
					  }
				  }
			}

			range.select();
		  }
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;

			var newText = prompt(showedText1, Selection);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[link]" )
				{
					input.value = string1 + '[link=' + newLink + ']' + newText + end + string3;
				} else
				  {
					input.value = string1 + '[mail=' + newLink + ']' + newText + end + string3;
				  }
			}
		} else
		  {
			if( start == "[link]" )
			{
				input.value = input.value + '[link=]' + end;
			} else
			  {
				input.value = input.value + '[mail=]' + end;
			  }
		  }
	  }
 }


 function addForumCode(start, end)
 {
	var input  = document.neuer_thread.eintrag;

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			document.selection.createRange().text = start + Selection + end;
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;
			range.text  = start + subText + end;

			if( subText.length == 0 )
			{
				range.move('character', -end.length);
			} else
			  {
				range.moveStart('character', start.length + subText.length + end.length);
			  }

			range.select();
		  }
	} else
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;
			input.value   = string1 + start + string2 + end + string3;
		} else
		  {
			input.value   = input.value + start + end;
		  }
 }


 function addExtraCode(extraCode)
 {
	if( extraCode == '' )
	{
		return;
	}

	var input = document.neuer_thread.eintrag;

	var parts = extraCode.split(",");

	var start = parts[0];
	var end   = parts[1];

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			document.selection.createRange().text = start + Selection + end;
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;
			range.text  = start + subText + end;

			if( subText.length == 0 )
			{
				range.move('character', -end.length);
			} else
			  {
				range.moveStart('character', start.length + subText.length + end.length);
			  }

			range.select();
		  }
	} else
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;
			input.value   = string1 + start + string2 + end + string3;
		} else
		  {
			input.value   = input.value + start + end;
		  }
 }


 function promtExtraCode(extraCode)
 {
	if( extraCode == '' )
	{
		return;
	}

	var input = document.neuer_thread.eintrag;

	var parts = extraCode.split(",");

	var start = parts[0];
	var end   = parts[1];

	var showedText = "Gib bitte den Text ein.";

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			var newText = prompt(showedText, Selection);
			if( newText != null && newText != "" )
			{
				document.selection.createRange().text = start + Selection + end;
			}
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;

			var newText = prompt(showedText, subText);

			if( newText != null && newText != "" )
			{
				range.text  = start + newText + end;

				if( newText.length == 0 )
				{
					range.move('character', -end.length);
				} else
				  {
					range.moveStart('character', start.length + newText.length + end.length);
				  }
			}

			range.select();
		  }
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;

			var newText = prompt(showedText, Selection);
			if( newText != null && newText != "" )
			{
				input.value   = string1 + start + newText + end + string3;
			}
		} else
		  {
			input.value = input.value + start + end;
		  }
	  }
 }


 function messenger(memberid)
 {
	var wleft          = (screen.availWidth - 700) / 2;
	var wtop           = (screen.availHeight - 335) / 2;
	params             = ('width=700,height=335,left='+ wleft +',top='+ wtop +',toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=0');
	F1                 = open('messenger.php?member='+memberid, 'name_'+memberid, params);
 }


 function messengerCode(start, end)
 {
	end = '';

	var input = document.messenger.message;

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			document.selection.createRange().text = start + Selection + end;
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;
			range.text  = start + subText + end;

			if( subText.length == 0 )
			{
				range.move('character', -end.length);
			} else
			  {
				range.moveStart('character', start.length + subText.length + end.length);      
			  }

			range.select();
		  }
	} else
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;

			input.value   = string1 + start + string2 + end + string3;
		} else
		  {
			input.value = input.value + start + end;
		  }
 }


 function checksplit()
 {
	if( document.aufteilen.neuername.value == "" )
	{
		alert("Du musst einen Titel eingeben!");
		document.aufteilen.neuername.focus();
		return false;
	}
 }


 function exs()
 {
	params2 = ('width=600,height=500,left=0,top=0,scrollbars=1,resizable=1');
	F2      = open('mehrsmilies.php', 'name', params2);
 }


 function exs2()
 {
	params2 = ('width=600,height=500,left=0,top=0,scrollbars=1,resizable=1');
	F2      = open('mehrsmilies.php?ref=edit_thread', 'name', params2);
 }


 function exs3()
 {
	params2 = ('width=600,height=500,left=0,top=0,scrollbars=1,resizable=1');
	F2      = open('mehrsmilies.php?ref=registrieren', 'name', params2);
 }


 function buddy(memberid)
 {
	var wleft          = (screen.availWidth - 500) / 2;
	var wtop           = (screen.availHeight - 500) / 2;
	params             = ('width=500,height=500,left='+ wleft +',top='+ wtop +',scrollbars=1');
	F1                 = open('mybuddies.php?member='+memberid, 'name', params);
	self.location.href = 'profil.php?member='+memberid;
 }


 function checktneuertermin()
 {
	if( document.neuertermin.t_tag.value == "" )
	{
		alert("Du musst einen Tag eingeben!");
		document.neuertermin.t_tag.focus();
		return false;
	}

	if( document.neuertermin.t_monat.value == "" )
	{
		alert("Du musst einen Monat eingeben!");
		document.neuertermin.t_monat.focus();
		return false;
	}

	if( document.neuertermin.t_jahr.value == "" )
	{
		alert("Du musst ein Jahr eingeben!");
		document.neuertermin.t_jahr.focus();
		return false;
	}

	if( document.neuertermin.t_stunden.value == "" )
	{
		alert("Du musst die Stunden eingeben!");
		document.neuertermin.t_stunden.focus();
		return false;
	}

	if( document.neuertermin.t_minuten.value == "" )
	{
		alert("Du musst die Minuten eingeben!");
		document.neuertermin.t_minuten.focus();
		return false;
	}

	if( document.neuertermin.t_titel.value == "" )
	{
		alert("Du musst einen Betreff eingeben!");
		document.neuertermin.t_titel.focus();
		return false;
	}

	if( document.neuertermin.t_text.value == "" )
	{
		alert("Du musst einen Text eingeben!");
		document.neuertermin.t_text.focus();
		return false;
	}
 }


 function checksearch()
 {
	if( document.suche.wort.value == "" )
	{
		alert("Du musst einen Suchbegriff eingeben!");
		document.suche.wort.focus();
		return false;
	}
 }


 function checktnewpn()
 {
	if( document.members.pn_betreff.value == "" )
	{
		alert("Du musst einen Titel eingeben!");
		document.members.pn_betreff.focus();
		return false;
	}

	if( document.members.pn_text.value == "" )
	{
		alert("Da fehlt doch noch was?");
		document.members.pn_text.focus();
		return false;
	}
 }


 function checkmessage()
 {
	if( document.pn.art.value == "del" )
	{
		var Checkdelete = confirm("Sicher?");
		if( Checkdelete == false )
		{
			return false;
		}
	}
 }


 function setCheckboxes(do_check)
 {
	var elts      = document.pn.elements['selected_pns[]'];
	var elts_cnt  = (typeof(elts.length) != 'undefined') ? elts.length : 0;
	if( elts_cnt )
	{ 
		for( var i = 0; i < elts_cnt; i++ )
		{   
			elts[i].checked = do_check;    
		}
	} else
	  {
		elts.checked = do_check;
	  }
 }


 function sicher(ziel)
 {
	var Checkdelete = confirm("Sicher?");
	if( Checkdelete != false )
	{
		self.location.href = ziel;
	}
 }


 function remote_kat(zielkat)
 {
	opener.location.href = zielkat;
 }


 function remote_board(zielboard)
 {
	opener.location.href = zielboard;
 }


 function remote_thread(zielthread)
 {
	opener.location.href = zielthread;
 }


 function favoriten()
 {
	var wleft = (screen.availWidth - 600) / 2;
	var wtop  = (screen.availHeight - 400) / 2;
	params    = ('width=600,height=400,left='+ wleft +',top='+ wtop +',scrollbars=1');
	F1        = open('favoriten.php', 'name', params); 
 }


 function addfavorite(b_id, t_id)
 {
	var wleft = (screen.availWidth - 600) / 2;
	var wtop  = (screen.availHeight - 400) / 2;
	params    = ('width=600,height=400,left='+ wleft +',top='+ wtop +',scrollbars=1');
	F2        = open('favoriten.php?boardid='+b_id+'&thid='+t_id, 'name', params); 
 }


 // http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
 function storeCaret(textEl)
 {
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
 }


 function addhtml(code)
 {
	document.neuertermin.t_text.value = document.neuertermin.t_text.value + code;
 }


 function addchcode(hrc)
 {
	hrc = ' ' + hrc + ' ';

	if ( document.edit_thread.ch_eintrag.createTextRange && document.edit_thread.ch_eintrag.caretPos )
	{
		var caretPos  = document.edit_thread.ch_eintrag.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? hrc + ' ' : hrc;
	} else
	  {
		document.edit_thread.ch_eintrag.value += hrc;
	  }

	document.edit_thread.ch_eintrag.focus();
 }


 function addhrc(code)
 {
	code = ' ' + code + ' ';

	if ( document.registrieren.signatur.createTextRange && document.registrieren.signatur.caretPos )
	{
		var caretPos  = document.registrieren.signatur.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? code + ' ' : code;
	} else
	  {
		document.registrieren.signatur.value += code;
	  }

	document.registrieren.signatur.focus();
 }


 function addcode(hrc)
 {
	hrc = ' ' + hrc + ' ';

	if ( document.neuer_thread.eintrag.createTextRange && document.neuer_thread.eintrag.caretPos )
	{
		var caretPos  = document.neuer_thread.eintrag.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? hrc + ' ' : hrc;
	} else
	  {
		document.neuer_thread.eintrag.value += hrc;
	  }

	document.neuer_thread.eintrag.focus();
 }


 function addcht(cht)
 {
	document.edit_thread.ch_eintrag.value = document.edit_thread.ch_eintrag.value + cht;
 }


 function checkthread()
 {
	if( document.neuer_thread.titel.value == "" )
	{
		alert("Du musst einen Titel eingeben!");
		document.neuer_thread.titel.focus();
		return false;
	}

	if( document.neuer_thread.eintrag.value == "" )
	{
		alert("Da fehlt doch noch was?");
		document.neuer_thread.eintrag.focus();
		return false;
	}
 }


 function checkmember()
 {
	if( document.registrieren.name.value == "" )
	{
		alert("Du musst einen Nicknamen eingeben!");
		document.registrieren.name.focus();
		return false;
	}

	if( document.registrieren.login.value == "" )
	{
		alert("Du musst einen Loginnamen eingeben!");
		document.registrieren.login.focus();
		return false;
	}

	if( document.registrieren.login.value.length < 4 || document.registrieren.login.value.length > 12 )
	{
		alert("Der Loginnamen muss 4 - 12 Zeichen lang sein!");
		document.registrieren.login.focus();
		return false;
	}

	if( document.registrieren.passwort.value == "" )
	{
		alert("Du musst ein Passwort eingeben!");
		document.registrieren.passwort.focus();
		return false;
	}

	if( document.registrieren.passwort.value.length < 4 || document.registrieren.passwort.value.length > 12 )
	{
		alert("Das Passwort muss 4 - 12 Zeichen lang sein!");
		document.registrieren.passwort.focus();
		return false;
	}

	if( document.registrieren.passwort2.value == "" )
	{
		alert("Du musst das Passwort wiederholen!");
		document.registrieren.passwort2.focus();
		return false;
	}

	if( document.registrieren.passwort.value != document.registrieren.passwort2.value )
	{
		alert("Die Passwörter sind nicht identisch!");
		document.registrieren.passwort.focus();
		return false;
	}

	if( document.registrieren.email.value == "" )
	{
		alert("Du musst eine Email-Adresse eingeben!");
		document.registrieren.email.focus();
		return false;
	}

	if( document.registrieren.email.value != "" && document.registrieren.email.value.indexOf('@', 0) == -1 )
	{
		alert("Das ist keine Email-Adresse!");
		document.registrieren.email.focus();
		return false;
	}

	var chkZ = 1;
	for( i = 0; i < document.registrieren.icq.value.length; ++i )
	{
		if(document.registrieren.icq.value.charAt(i) < "0" || document.registrieren.icq.value.charAt(i) > "9" )
		{
			chkZ = -1;
		}
	}
	if( chkZ == -1 )
	{
		alert("ICQ Nummern bestehen nur aus Zahlen!");
		document.registrieren.icq.focus();
		return false;
	}
 }


 function checkmember2()
 {
	if( document.registrieren2.name.value == "" )
	{
		alert("Du musst einen Nicknamen eingeben!");
		document.registrieren2.name.focus();
		return false;
	}

	if( document.registrieren2.email.value == "" )
	{
		alert("Du musst eine Email-Adresse eingeben!");
		document.registrieren2.email.focus();
		return false;
	}

	if(document.registrieren2.email.value != "" && document.registrieren2.email.value.indexOf('@', 0) == -1)
	{
		alert("Das ist keine Email-Adresse!");
		document.registrieren2.email.focus();
		return false;
	}
 }


