/** strich-komma, 09/2007
 * Formularvaledierung
 * sichtbar und unsichtbar setzen von Formularelementen
 *
 *
 *
 */   



/*******************************************************************************
 Start Formularvaledierung **/

/** Überprüft die in requiredList angegebenen Formfelder anhand ihrer ID's 
 *
 */ 

function checkForm(){
	var requiredList = new Array('vorname','nachname','e_mail','telefon','firma'), tmpObj, tmpID, tmpStr;
	var tmpCheck = true;

for ( var i = 0, l = requiredList.length; i < l; i++  )
	{
		tmpID =  requiredList[i];
		tmpObj = found_label( tmpID );
		tmpStr =  document.getElementById( tmpID ).value;

		if( tmpStr == '')
		{
			highLight_label( tmpObj );
			tmpCheck = false;
		}
		else
		{
			reset_label ( tmpObj );
		}
		// E-Mail Valedierung
		if( tmpID == 'e_mail' )
		{
			if ( false == checkMail ( tmpStr ) )
			{
				highLight_label( tmpObj );
				tmpCheck = false;
			}
		}	
	}
	return tmpCheck;
}

function gw_checkForm(){
	var requiredList = new Array('vorname','nachname','e_mail','telefon','firma', 'teilnahmebedingungen'), tmpObj, tmpID, tmpStr;
	var tmpCheck = true;

for ( var i = 0, l = requiredList.length; i < l; i++  )
	{
		tmpID =  requiredList[i];
		tmpObj = found_label( tmpID );
		tmpStr =  document.getElementById( tmpID ).value;

		if( tmpStr == '')
		{
			highLight_label( tmpObj );
			tmpCheck = false;
		}
		else
		{
			reset_label ( tmpObj );
		}
		
		if ( document.getElementById( tmpID ).type == 'checkbox' && document.getElementById( tmpID ).checked == false ){
		  highLight_label( tmpObj );
			tmpCheck = false;
    }else {
      reset_label ( tmpObj );
    }
			
		// E-Mail Valedierung
		if( tmpID == 'e_mail' )
		{
			if ( false == checkMail ( tmpStr ) )
			{
				highLight_label( tmpObj );
				tmpCheck = false;
			}
		}	
	}
	return tmpCheck;
}

/** E-Mail Valedierung
 */
function checkMail( str )
{
	if (!str.match(/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i)){
    return false;
	} else {
    return true;
	}
}

/** Finden des passenden Labels über die ID des Formularfeldes
 */
function found_label ( str ) {
	var myObj;
	for ( var i = 0, elements = document.getElementsByTagName('body')[0].getElementsByTagName('label'), l = elements.length; i < l; i++  )
	{
		element = elements[i];
			if( element.htmlFor == str )
		{
			myObj = element;
			break;
		}
		else
		{
			myObj = false;
		}
	}
	return myObj;
}

/** einfärben des Labels
 */
function highLight_label( me ){
	me.style.color = 'red';
	me.style.fontWeight = 'bold';
}

/** Label zurücksetzen
 */
function reset_label( me ){
	me.style.color = '#000';
	me.style.fontWeight = 'normal';
}

/*******************************************************************************
 Start Formularblöcke verstecken und anzeigen**/
 
 function showFormBlock ( me )
 {
 	if ( me.id == 'arbeitsplaetze' )
 	{
	 if(  me.checked == false )
	  //if( document.getElementById('block_arbeitsplaetze').style.display == 'block' )
	 {
	 	document.getElementById('block_arbeitsplaetze').style.display = 'none';
	 }
	 else
	 {
	 	document.getElementById('block_arbeitsplaetze').style.display = 'block';
	 }
	}
	if ( me.id == 'konferenzraeume' )
 	{
	if(  me.checked == false )
	//if( document.getElementById('block_konferenzraeume').style.display == 'block' )
	 {
	 	document.getElementById('block_konferenzraeume').style.display = 'none';
	 	document.getElementById('block_konferenzraeume_detail').style.display = 'none';
	 	document.getElementById('block_tuerschilder_detail').style.display = 'none';
	 }
	 else
	 {
		 document.getElementById('block_konferenzraeume').style.display = 'block';
		 document.getElementById('block_konferenzraeume_detail').style.display = 'block';
		 document.getElementById('block_tuerschilder_detail').style.display = 'block';
	 }
	}
 }
 
 
 
 
 
 
 
 
 
 
