

var kontakt = function()
{
	
	var nameerr = false;
	var emailerr = false;
	var subjecterr = false;
	var messageerr = false;
	
	//Falls ein POST REQUEST stattgefunden hat daten holen
	if($('name').className == 'red')
		nameerr = true;
	if($('email').className == 'red')
		emailerr = true;
	if($('subject').className == 'red')
		subjecterr = true;
	if($('message').className == 'red')
		messageerr = true;
	
	$('name').onblur  = function()
	{
		if($F('name') == false)
		{
			$('name').className = 'red';
			nameerr = true;
		}
		else
		{
			$('name').className = 'normal';
			nameerr = false;
		}
		
		checkErrorBox();
	}
	
	$('email').onblur = function()
	{
		if(!checkmail($F('email')))
		{
			$('email').className = 'red';
			emailerr = true;
		}
		else
		{
			$('email').className = 'normal';
			emailerr = false;
		}
		
		checkErrorBox();
	}
	
	$('subject').onblur = function()
	{
		if($F('subject') == false)
		{
			$('subject').className = 'red';
			subjecterr = true;
		}
		else
		{
			$('subject').className = 'normal';
			subjecterr = false;
		}
		
		checkErrorBox();
	}
	
	$('message').onblur = function()
	{
		if($('message').value == false)
		{
			$('message').className = 'red';
			messageerr = true;
		}
		else
		{
			$('message').className = 'normal';
			messageerr = false;
		}
		
		checkErrorBox();
	}
	
	var checkErrorBox = function ()
	{
		var display = $('error').style.display;
		if(display == 'none' && (nameerr==true || emailerr==true || subjecterr==true || messageerr==true))
		{
			var options = {
							queue:
								{
									scope:'myscope',
									position:'end',
									limit: 1
								}
							};
			Effect.SlideDown('error',options);
		}
		else if(display != 'none' && nameerr==false && emailerr==false && subjecterr==false && messageerr==false)
		{
			var options = {
							queue:
								{
									scope:'myscope',
									position:'end',
									limit: 1
								}
							};
			Effect.SlideUp('error',options);
		}
		
		MailSendCompleteSlideUp();
	}
	
	$('reset').onclick = function()
	{
		nameerr = false;
		emailerr = false;
		subjecterr = false;
		messageerr = false;
		
		$('name').className = 'normal';
		$('email').className = 'normal';
		$('subject').className = 'normal';
		$('message').className = 'normal';
		
		MailSendCompleteSlideUp();
		
		Field.clear('name', 'email', 'subject', 'message');
		
		var display = $('error').style.display;
		if(display != 'none')
		{
			var options = {
							queue:
								{
									scope:'myscope',
									position:'end',
									limit: 1
								}
							};
			Effect.SlideUp('error',options);
			$('absenden').disabled = false;
		}
		
	}
	
		
	function MailSendCompleteSlideUp()
	{
		if($('mailsendcomplete').style.display != 'none')
		{
			$('mailsendcomplete').style.display = 'none';
			/*var options = {
								queue:
									{
										scope:'myscope2',
										position:'end',
										limit: 1
									}
								};
			Effect.SlideUp('mailsendcomplete',options);*/
		}
	}
	
	var MailSendComplete = function()
	{
		$('indicator').style.display = 'none';
		
		var options = {
							queue:
								{
									scope:'myscope2',
									position:'end',
									limit: 1
								}
							};
		Effect.SlideDown('mailsendcomplete',options);
		
		
		
		var fields = new Array(
								'email',
								'name',
								'subject',
								'message');
								
		for(var i=0; i<fields.length; i++)
		{
			Field.clear(fields[i]);
		}

		$('absenden').disabled = false;
	}

	
	$('kontaktformular').onsubmit = function ()
	{
		checkall();
		
		if(nameerr==false && emailerr==false && subjecterr==false && messageerr==false)
		{
			var url = $('kontaktformular').action;
			var serializedfrom = $('kontaktformular').serialize() + '&ajax=1';
			
			var options = {
							method: 'post',
							asynchronous:	true,
							parameters:		serializedfrom,
							onComplete:		MailSendComplete
						};
			
			new Ajax.Request(url, options);	
			$('indicator').style.display = 'block';
			$('absenden').disabled = true;
		}
		
		
		return false;
	}
	
	function checkall()
	{
		$('name').onblur();
		$('email').onblur();
		$('subject').onblur();
		$('message').onblur();
	}

	function checkmail(s)
	{
		 var a = false;
		 var res = false;
		 if(typeof(RegExp) == 'function')
		 {
			  var b = new RegExp('abc');
			  if(b.test('abc') == true){a = true;}
		  }
		
		 if(a == true)
		 {
			  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
			                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
			                   '(\\.)([a-zA-Z]{2,4})$');
			  res = (reg.test(s));
		 }
		 else
		 {
			  res = (s.search('@') >= 1 &&
			         s.lastIndexOf('.') > s.search('@') &&
			         s.lastIndexOf('.') >= s.length-5)
		 }
		 
		 return(res);
	}
}

window.onload = function (){
	new kontakt();
}
