function id( sID ) { return document.getElementById( sID ); }

function appendEvent( a, b, c ){if(a.attachEvent)a.attachEvent("on"+b,c);else if(a.addEventListener)a.addEventListener(b,c,false);else a["on"+b]=c}

function wBlank( o ){
	window.open( o.getAttribute('href'), '_blank', '' );
}

function emptyNode( o ) {
	var len = o.childNodes.length;
	while ( o.hasChildNodes() ) {
		o.removeChild( o.firstChild );
	}
}

function showError( o, s ) {
	var oNew = null;
	
	if ( id('messagebox') ) {
		oNew = id('messagebox');
		emptyNode( oNew );
	} else {
		oNew = document.createElement('p');
		oNew.setAttribute( 'id', 'messagebox' );
		oNew.className = 'error';
	}
	
	oNew.style.display = 'none';
	oNew.appendChild( document.createElement('div') );
	oNew.style.padding = '0';
	oNew.firstChild.style.padding = '5px';
	oNew.firstChild.appendChild( document.createTextNode( s ) );
	o.parentNode.insertBefore( oNew, o );
	
	$('messagebox').slideDown('slow', function() {});
}

function FormValidate( a ) {
	var sPassword=null;
	for(i=0;i<a.elements.length;i++){
		switch(a.elements[i].getAttribute("title")){
			case "Password":
				sPassword=a.elements[i].value;
				if(!a.elements[i].value){
					showError(a, 'Du mangler at indtaste et password!');
					a.elements[i].focus();
					return false;
				}
				break;
			case "Gentag password":
				if(a.elements[i].value!=sPassword){
					showError(a, 'De to passwords skal være ens!');
					a.elements[i].focus();
					return false;
				}
				break;
			case "Påkrævet":
				if(!trim(a.elements[i].value)){
					showError(a, 'Du mangler at udfylde et eller flere felter!');
					a.elements[i].focus();
					return false;
				}
				break;
			case "Email":
				if(!a.elements[i].value.match(/^.*@\w[\w\.-]*\.[a-z]{2,6}$/)){
					showError(a, 'Du har ikke udfyldt en gyldig email-adresse!');
					a.elements[i].focus();
					return false;
				}
				break;
			case "Dato":
				if(!a.elements[i].value.match(/^(3[01]|[012]\d)[\-\/\.](1[012]|0\d)[\-\/\.]\d{1,4}$/gi)){
					showError(a, 'Du har ikke indtastet en gyldig dato! Den bør være i formatet dd-mm-åååå.');
					a.elements[i].focus();
					return false;
				}
				break;
		}
	}
	return true;
}

function focusInput( o ) {
	if ( o.value == o.defaultValue ) {
		o.value = '';
	}
}

function trim( s ) {
	var l = 0;
	var r = s.length - 1;
    while ( l < s.length && s[l] == ' ' ) {
		l++;
	}
	while ( r > l && s[r] == ' ' ) {
		r -= 1;
	}
	return s.substring( l, r + 1 );
}

appendEvent( window, "load", function(){
	if ( $('messagebox') ) {
		$('messagebox').slideDown('slow', function() {});
	}
	
	for (var i=0, im=document.getElementsByTagName("*"); i<im.length; i++) {
		if ( im[i].getAttribute("rel") == "focus" ) {
			im[i].focus();
		}
	}
} );