function fctDisplayFormPart ( p_strFormPartName )
{
    var objFormRows    = document.getElementsByTagName ( "table" );
    var arrNameDetails = p_strFormPartName.split ( "_" );
    
    for ( var i = 0; i < objFormRows.length ; i++ )
    {
         if ( objFormRows[i].className == p_strFormPartName )
         {
                objFormRows[i].style.display = "block";
         }
         else if ( objFormRows[i].className != "" && objFormRows[i].className != p_strFormPartName && objFormRows[i].className != arrNameDetails[0] && objFormRows[i].className != "main" )
         {
                objFormRows[i].style.display = "none";
         }
         fctClearFormValidation ( );
    }
}

function fctValidForm ( )
{
	var arrMandatoryFields = new Array ( "name" , "mail" , "spam_schutz" );
	var objForm = document.order_form;
	
	// typ der anfrage bestimmen
	var strType;
	if ( document.getElementsByName ( "type" )[0].checked ) strType = "order";
	if ( document.getElementsByName ( "type" )[1].checked ) strType = "change";
	
	var objFieldAlert = document.getElementById("form_alert");
	var arrErrorMessage = new Array ( );
	
	var strOutputMessage = "<b>Folgende Fehler sind beim Speichern aufgetreten:</b><br /><br />\n";
	var bolErrorHappened = false;
	
	arrErrorMessage["name"] 						= "&bull; Sie haben keinen Namen eingegeben.<br />";
	arrErrorMessage["mail"] 		  				= "&bull; Ihre eMail-Adresse fehlt. Wir ben&ouml;tigen diese, um mit Ihnen Kontakt aufnehmen zu k&ouml;nnen.<br />";
	arrErrorMessage["spam_schutz"]					= "&bull; Sie haben den SPAM-Code noch nicht eingegeben.<br />";
	arrErrorMessage["order_web_site_domain"]		= "&bull; Bitte geben Sie eine Wunsch-Domain ein.<br />";
	arrErrorMessage["order_web_domain_domain"]		= "&bull; Bitte geben Sie eine Wunsch-Domain ein.<br />";
	arrErrorMessage["order_mail_forward_mail"]		= "&bull; Die Adresse, deren Mails weitergeleitet werden sollen, fehlt.<br />";
	arrErrorMessage["order_mail_forward_address"]	= "&bull; Die Adresse, an welche die Mails weitergeleitet werden sollen, fehlt.<br />";
	arrErrorMessage["order_mail_box_mail"]			= "&bull; Die gew&uuml;nschte Mailadresse fehlt.<br />";
	arrErrorMessage["order_mysql_db_name"]			= "&bull; Bitte geben Sie den Namen der gew&uuml;nschten Datenbank an.<br />";
	arrErrorMessage["order_mysql_db_user"]			= "&bull; Der gew&uuml;nschte Benutzername f&uuml;r den DB-Zugriff fehlt.<br />";
	arrErrorMessage["order_mysql_user_name"]		= "&bull; Bitte geben Sie den Namen der Datenbank an, auf welche der Benutzer zugreifen k&ouml;nnen soll.<br />";
	arrErrorMessage["order_mysql_user_user"]		= "&bull; Der Name des zu erstellenden Benutzers fehlt.<br />";
	arrErrorMessage["change_mail_forward_mail"]		= "&bull; Die Adresse, deren Mails weitergeleitet werden sollen, fehlt.<br />";
	arrErrorMessage["change_mail_forward_address"]	= "&bull; Die Adresse, an welche die Mails weitergeleitet werden sollen, fehlt.<br />";
	arrErrorMessage["change_mail_box_mail"]			= "&bull; Die gew&uuml;nschte Mailadresse fehlt.<br />";
 	arrErrorMessage["change_mail_box_password"]		= "&bull; Das neue Passwort muss noch eingegeben werden.<br />";

 	arrErrorMessage["type_not_selected"]			= "&bull; Sie haben keinen Grund der Kontaktaufnahme ausgew&auml;hlt.<br />";

	if ( strType == "order" )
	{
		// Formularteil ORDER gew&auml;hlt
		
		// typ der bestellung bestimmen
		var strOrderType;
		if ( document.getElementsByName ( "order_type" )[0].checked ) strOrderType = "web_site";
		if ( document.getElementsByName ( "order_type" )[1].checked ) strOrderType = "web_domain";
		if ( document.getElementsByName ( "order_type" )[2].checked ) strOrderType = "mail_forward";
		if ( document.getElementsByName ( "order_type" )[3].checked ) strOrderType = "mail_box";
		if ( document.getElementsByName ( "order_type" )[4].checked ) strOrderType = "mysql_db";
		if ( document.getElementsByName ( "order_type" )[5].checked ) strOrderType = "mysql_user";
		
		// muss-felder je nach je bestimmen
		if ( strOrderType == "web_site" )
		{
			arrMandatoryFields[2] = "order_web_site_domain";
		}
		else if ( strOrderType == "web_domain" )
		{
			arrMandatoryFields[2] = "order_web_domain_domain";
		}
		else if ( strOrderType == "mail_forward" )
		{
			arrMandatoryFields[2] = "order_mail_forward_mail";
			arrMandatoryFields[3] = "order_mail_forward_address";
		}
		else if ( strOrderType == "mail_box" )
		{
			arrMandatoryFields[2] = "order_mail_box_mail";
		}
		else if ( strOrderType == "mysql_db" )
		{
			arrMandatoryFields[2] = "order_mysql_db_name";
			arrMandatoryFields[3] = "order_mysql_db_user";
		}
		else if ( strOrderType == "mysql_user" )
		{
			arrMandatoryFields[2] = "order_mysql_user_name";
			arrMandatoryFields[3] = "order_mysql_user_user";
		}
	}
	else if ( strType == "change" )
	{
		// Formularteil CHANGE gew&auml;hlt

		// typ der aenderung bestimmen
		var strChangeType;
		if ( document.getElementsByName ( "change_type" )[0].checked ) strChangeType = "mail_forward";
		if ( document.getElementsByName ( "change_type" )[1].checked ) strChangeType = "mail_box";
		
        if ( strChangeType == "mail_forward" )
		{
			arrMandatoryFields[2] = "change_mail_forward_mail";
			arrMandatoryFields[3] = "change_mail_forward_address";
		}
		else if ( strChangeType == "mail_box" )
		{
			arrMandatoryFields[2] = "change_mail_box_mail";
			arrMandatoryFields[3] = "change_mail_box_password";
		}
    }
	else
	{
		// keine formularteil ausgewählt
		strOutputMessage = strOutputMessage + arrErrorMessage["type_not_selected"];
		bolErrorHappened = true;
	}
	
	for ( i = 0 ; i < arrMandatoryFields.length ; i++ )
	{
		var objField = objForm[arrMandatoryFields[i]];
		
		if ( objField.type == "text" )
		{
			// text-Felder pr&uuml;fen
			objField.style.backgroundColor = "#FFFFFF";
			
			if ( objField.value == "" )
			{
				objField.style.backgroundColor = "#FF6633";
				if ( !bolErrorHappened ) objField.focus();
				
				strOutputMessage = strOutputMessage + arrErrorMessage[objField.name];
				objFieldAlert.style.display = "block";
				
				bolErrorHappened = true;
			}
			else
			{
			    objField.style.backgroundColor = "#DCDCDC";
			    objField.style.color = "#666666";
            }
		}
		else if ( objField.type == "textarea" )
		{
			// textarea-Felder pr&uuml;fen
			objField.style.backgroundColor = "#FFFFFF";
			
			if ( objField.value == "" )
			{
				objField.style.backgroundColor = "#FF6633";
				if ( !bolErrorHappened ) objField.focus();
				
				strOutputMessage = strOutputMessage + arrErrorMessage[objField.name];
				objFieldAlert.style.display = "block";
				
				bolErrorHappened = true;
			}
			else
			{
			    objField.style.backgroundColor = "#DCDCDC";
			    objField.style.color = "#666666";
            }
		}
	}
	
	objFieldAlert.innerHTML = strOutputMessage;
	if ( bolErrorHappened ) return false;
	else objForm.submit();
	
}

function fctValidFormKontakt ( )
{
	var arrMandatoryFields = new Array ( "name" , "mail" , "subject" , "text" , "spam_schutz" );
	var objForm = document.kontakt_form;
	
	var objFieldAlert = document.getElementById("form_alert");
	var arrErrorMessage = new Array ( );
	
	var strOutputMessage = "<b>Folgende Fehler sind beim Speichern aufgetreten:</b><br /><br />\n";
	var bolErrorHappened = false;
	
	arrErrorMessage["name"] 						= "&bull; Sie haben keinen Namen eingegeben.<br />";
	arrErrorMessage["mail"] 		  				= "&bull; Ihre eMail-Adresse fehlt. Wir ben&ouml;tigen diese, um mit Ihnen Kontakt aufnehmen zu k&ouml;nnen.<br />";
	arrErrorMessage["subject"] 						= "&bull; Der Betreff Ihrer Anfrage fehlt.<br />";
	arrErrorMessage["text"] 						= "&bull; Bitte geben Sie im Textfeld Ihre Nachricht ein.<br />";
	arrErrorMessage["spam_schutz"]					= "&bull; Sie haben den SPAM-Code noch nicht eingegeben.<br />";

	for ( i = 0 ; i < arrMandatoryFields.length ; i++ )
	{
		var objField = objForm[arrMandatoryFields[i]];
		
		if ( objField.type == "text" )
		{
			// text-Felder pr&uuml;fen
			objField.style.backgroundColor = "#FFFFFF";
			
			if ( objField.value == "" )
			{
				objField.style.backgroundColor = "#FF6633";
				if ( !bolErrorHappened ) objField.focus();
				
				strOutputMessage = strOutputMessage + arrErrorMessage[objField.name];
				objFieldAlert.style.display = "block";
				
				bolErrorHappened = true;
			}
			else
			{
			    objField.style.backgroundColor = "#DCDCDC";
			    objField.style.color = "#666666";
            }
		}
		else if ( objField.type == "textarea" )
		{
			// textarea-Felder pr&uuml;fen
			objField.style.backgroundColor = "#FFFFFF";
			
			if ( objField.value == "" )
			{
				objField.style.backgroundColor = "#FF6633";
				if ( !bolErrorHappened ) objField.focus();
				
				strOutputMessage = strOutputMessage + arrErrorMessage[objField.name];
				objFieldAlert.style.display = "block";
				
				bolErrorHappened = true;
			}
			else
			{
			    objField.style.backgroundColor = "#DCDCDC";
			    objField.style.color = "#666666";
            }
		}
	}
	
	objFieldAlert.innerHTML = strOutputMessage;
	if ( bolErrorHappened ) return false;
	else objForm.submit();
	
}

function fctClearFormValidation ( )
{
    var objFieldAlert  = document.getElementById("form_alert");
    var objInputFields = document.getElementsByTagName("input");
    var objTextareas   = document.getElementsByTagName("textarea");
    
    for ( i = 0 ; i < objInputFields.length ; i++ )
    {
        objInputFields[i].style.color = "#000000";
        objInputFields[i].style.backgroundColor = "#FFFFFF";
    }
    for ( i = 0 ; i < objTextareas.length ; i++ )
    {
        objTextareas[i].style.color = "#000000";
        objTextareas[i].style.backgroundColor = "#FFFFFF";
    }
    
    objFieldAlert.style.display = "none";
}
