/**
** \file 
** Javascript Routinen für die gleichnamige Seite.
*/

/**
** \fn validateForm
** Überprüfung der Forumlardaten.
*/
function validateForm( nGrpId )
{
	// anything there to validate?
	if ( !document.Article ) 
		return true;  

	var sMessage   = "";
	var bContinue  = true;
	var nMaxText   = 5000;
	
	if ( nGrpId >= 100 ) {
		nMaxText = 24000;     // Für Harald
	} else if ( nGrpId >= 50 ) {
		nMaxText  = 16000;    // Für Registrierte
	} else if ( nGrpId >= 10 ) {
		nMaxText   = 8000;    // Für Wiederholungstäter
	} else {
		nMaxText   = 4000;    // Für Erstlinge
	}
	
	with ( document ) {
		var bHasParent = Article.ParentId && Article.ParentId.value > 0;
		if ( Article.Name ) {
			var sName      = Article.Name.value.replace(/(^\s+)|(\s+$)/g, "");
			var sPassword  = Article.Password.value.replace(/(^\s+)|(\s+$)/g, ""); 
			
			Article.Name.value = sName;
			Article.Password.value = sPassword;
		
			if ( sName.length == 0 && sPassword.length != 6 ) {
				sMessage = "Bitte gib Deinen Benutzernamen und Dein sechs Zeichen langes Passwort ein.\n";
				Article.Name.focus();
			} else if ( sName.length == 0 ) {
				sMessage = "Bitte gib Deinen Benutzernamen an.\n";
				Article.Name.focus();
			} else if ( sPassword.length > 0 && sPassword.length != 6 ) {
				sMessage = "Bitte gib Dein sechs Zeichen langes Passwort ein.\n";
				Article.Password.focus();
			}
			bContinue = sMessage.length == 0;
		}
		if ( bContinue && Article.Subject ) {
			var sSubject = Article.Subject.value.replace(/(^\s+)|(\s+$)/g, "");
			var sText    = '';

			Article.Subject.value  = sSubject;
			
			if ( Article.Text.innerText ) {
				// for IE 
				sText = Article.Text.innerText.replace(/(^\s+)|(\s+$)/g, "");
				Article.Text.innerText = sText;
			} else if ( Article.Text.value ) {
				// for opera and mozilla like browsers 
				sText = Article.Text.value.replace(/(^\s+)|(\s+$)/g, "");
				Article.Text.value = sText;
			}

			if ( sSubject.length == 0 ) {
				if ( bHasParent ) {
					var sConfirm;
					sConfirm = "Du hast keinen Text in der Betreffzeile eingetragen. Wenn Du das ";
					sConfirm+= "Feld leer lässt wird automatisch ein Text in der Form \"Re: [alter Betreff]\" erzeugt.\n";
					sConfirm+= "Bitte bestätige, dass Du keinen eigenen Betreff angeben möchtest."
					bContinue = confirm( sConfirm );
				} else {
					sMessage+= "Bitte gib etwas in der Betreffzeile des Beitrags ein. ";
					sMessage+= "Verwende einen Text der Dein Problem möglichst genau beschreibt.\n";
					bConinue = false;
					if ( sMessage.length == 0 ) 
						Article.Subject.focus();
				}
			}
			if ( sSubject.search( /<|>|&|"/ ) >= 0 ) {
				if ( sMessage.length == 0 ) 
					Article.Subject.focus();
				sMessage+= "Bitte verwende in der Betreffzeile keins der Zeichen '&', '<', '>' oder '\"'.\n";
			}
			if ( sText.length > nMaxText ) {
				if ( sMessage.length == 0 ) 
					Article.Text.focus();
				sMessage+= "Der Artikeltext ist zu lang (" + sText.length + " Zeichen). ";
				sMessage+= "Bitte beschränke Dich sich auf maximal " + nMaxText + " Zeichen.\n";
			} else if ( sText == '' ) {
				sMessage+= "Das Textfeld ist leer. Beschreibe in diesem Dein Problem möglichst genau.";
				if ( sMessage.length == 0 ) 
					Article.Text.focus();
			}
			/*
			** Hier noch Validierung der HTML elemente. Übernimmt derzeit der Server.
			*/
			
			bContinue = sMessage.length == 0;
		}
	} // with document
	if ( sMessage.length != 0 )
		alert( sMessage );
		
	return bContinue;
}


var bInputValid = false;

function onSubmit( nGrpId )
{
	return bInputValid;
}

/**
** Beitrag abschicken und speichern.
*/
function doSubmit( nGrpId )
{
	bInputValid = validateForm( nGrpId );
	if ( bInputValid ) {
		document.Article.target = "";
		document.Article.Preview.value = "";
	}
	return bInputValid;
}


/**
** Beitrag abschicken und ansehen.
*/
function doPreview( nGrpId )
{
	bInputValid = validateForm( nGrpId );
	if ( bInputValid ) {
		document.Article.target = "_blank";
		document.Article.Preview.value = "1";
		document.Article.submit();
	}
	return bInputValid;
}

