function check_input( name, trId )
{
	var el = document.getElementsByName(name)[0];
	
	var el_tr = document.getElementById( trId );
	
	if( name == "Message" ) check_message( el, el_tr );
	else
	{
		if( name == "Email" ) check_Email( el, el_tr );
		else 	check_info( el, el_tr );
	}
}

function check_info( el, el_tr )
{ 
	//is there at least one character a-z
	res = validate_inpString( el );
	
	if( res ) hide_info( el, el_tr );

	else show_info( el, el_tr );
}

function check_message( el, el_tr )
{
	if( el.value != "" )
	{
		//is there at least one character a-z
		res = validate_inpString( el );
			
		if( res )
		{
			var el_span = document.getElementById("charNum");
			var str = el.value;
			
			hide_message( el, el_tr );
			
			if( str.length > 500 )
			{
				str = str.substr( 0, 500 );
				
				el.value = str;
				
				el_span.firstChild.nodeValue = 0;
			}
			else el_span.firstChild.nodeValue = 500 - str.length;
		}
		else show_message( el, el_tr );
	}
	else show_message( el, el_tr );
}

function check_Email( el, el_tr )
{
	//is there at least one character a-z
	res = validate_inpString( el );
	
	if( res )
	{
		el_tr.style.display = "none";
		
		el.style.borderColor = "#A4C79E";
	}
	else
	{
		el_tr.style.display = "table-row";
		
		el.style.borderColor = "red";
	}
}

function validate_inpString( el )
{
	var str = el.value;
	var srch = /^[^\s]+/;
	
	if( str.length > 0 )
	{
		if( str[0] == " " ) str = str.substr( 1 );
		
		el.value = str;
	}
	
	res = srch.test( str );
	
	return res;
}

function hide_info( el, el_tr )
{
	var el_sibling = get_sibling( el );
	
	//if not country-filed
	if( el_sibling != null )
	{
		res = validate_inpString( el_sibling );
		
		el.style.borderColor = "#A4C79E";
		
		//if neibourgh-input not empty
		if( res ) el_tr.style.display = "none";
		else document.getElementById("td" + el.name).firstChild.nodeValue = "";
	}
}

function show_info( el, el_tr )
{
	var el_sibling = get_sibling( el );
	
	//if not country-filed
	if( el_sibling != null )
	{	
		var res = validate_inpString( el_sibling );
		
		if( res ) document.getElementById("td" + el_sibling.name).firstChild.nodeValue = " ";
		
		el_tr.style.display = "table-row";
		
		document.getElementById("td" + el.name).firstChild.nodeValue = "Erforderliche Angabe";
		
		el.style.borderColor = "red";
	}
}

function get_sibling( el )
{
	var sibling = null;
	
	if( el.name == "LastName" || el.name == "FirstName" || el.name == "City" || el.name == "ZIP")
	{
		if( el.name == "LastName" || el.name == "FirstName" ) sibling = ( el.name == "LastName" )? "FirstName":"LastName";
		if( el.name == "City" || el.name == "ZIP" ) sibling = ( el.name == "City" )? "ZIP":"City";
		
		var el_sibling = document.getElementsByName(sibling)[0];
	
		return el_sibling;
	}
	else return null;
}

function hide_message( el, el_tr )
{
	el.style.borderColor = "#A4C79E";
	
	el_tr.style.display = "none";
}

function show_message( el, el_tr )
{
	var td_el = document.getElementById("td" + el.name);
	
	el.style.borderColor = "red";
	
	td_el.firstChild.nodeValue = "Erforderliche Angabe";
		
	el_tr.style.display = "table-row";
}
