function checkForm()
{
	hideErrors();
	var error = false;

	var name = document.getElementById( 'name' );
	if( name.value.length < 2 )
	{
		showError( name, 'Du måste ange ditt namn' );
		error = true;
	}

	var email = document.getElementById( 'email' );
	if( !checkEmail( email.value ) )
	{
		showError( email, 'Du måste ange en korrekt epostadress' );
		error = true;
	}

	var msg = document.getElementById( 'message' );
	if( msg.value < 10 )
	{
		showError( msg, 'Du måste skriva ett meddelande' );
		error = true;
	}

	var phone = document.getElementById( 'phone' );
	var phoneFilter = /[0-9 -]+/;
	if( !phoneFilter.test( phone.value ) && phone.value != '' )
	{
		showError( phone, 'Du måste ange ett korrekt telefonnummer' );
		error = true;
	}

	if( error )
	{
		return false;
	}
}

function checkEmail( email )
{
	var filter = /^([\w-åäöÅÄÖ]+(?:\.[\w-åäöÅÄÖ]+)*)@((?:[\w-åäöÅÄÖ]+\.)*\w[\w-åäöÅÄÖ]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

	if( filter.test( email ) )
	{
		return true;
	}
	else
	{
		return false;
	}
}

function findPos( el )
{
	var curleft = curtop = 0;
	if( el.offsetParent ) 
	{
		curleft = el.offsetLeft;
		curtop = el.offsetTop;
		while( el = el.offsetParent )
		{
			curleft += el.offsetLeft;
			curtop += el.offsetTop;
		}
	}
	return [curleft, curtop];
}

function showError( element, message )
{
	var pos = findPos( element );

	var error = document.createElement( 'div' );
	error.appendChild( document.createTextNode( message ) );
	error.className = 'error';
	error.id = element.id + '_error';
	error.style.left = pos[0] + 300 + 'px';
	error.style.top = pos[1] - 5 + 'px';

	error.onclick = function() { document.body.removeChild( error ); }

	document.body.appendChild( error );
}

function hideErrors()
{
	var errors = document.getElementsByTagName( 'div' );
	var length = errors.length;

	for( var i = 0; i < length; i++ )
	{
		if( errors[i].className == 'error' )
		{
			document.body.removeChild( errors[i] );
			length = length - 1;
		}
	}
}

addToOnload( function() { document.getElementById( 'contactform' ).onsubmit = checkForm; } );