var doc = document;
var docBody = (doc.documentElement ? doc.documentElement : doc.body);

function $( Id ) {
	if ( doc.getElementById( Id ) ) {
		return doc.getElementById( Id );
	}
	return false;
}
function focusOn( Id, OnTimer ) {
	if ( $( Id ) ) {
		if (typeof OnTimer == 'number') {
			setTimeout( "$('"+Id+"').focus()", OnTimer );
		} else {
			$( Id ).focus();
		}
	}
}
function goToUrl( Url, NewWindow ) {
	if ( NewWindow ) {
		window.open( Url );
	} else {
		doc.location.href = Url;
	}
}
function getEvent( e ) {
	return ( e ? e : window.event );
}
function getEventTarget( e ) {
	var targ;
	var e = getEvent(e);
	if (e.target) {
		targ = e.target;
	} else if (e.srcElement) {
		targ = e.srcElement;
	}
	
	// defeat Safari bug
	if (targ.nodeType == 3) {
		targ = targ.parentNode;
	}
	
	return targ;
}
function getOffset(obj) {
	if (!obj) { return; }
	var returnTop = parseInt(obj.offsetTop);
	var returnLeft = parseInt(obj.offsetLeft);
	while((obj = obj.offsetParent) != null){
		returnTop += parseInt(obj.offsetTop);
		returnLeft += parseInt(obj.offsetLeft);
	}

	return {'top': returnTop, 'left': returnLeft};
}
function addEvent(obj, type, fn) {
	var typeArr = type.split('|');
	for ( var n = 0; n < typeArr.length; n++ ) {
		var type = typeArr[ n ];
		if (obj.addEventListener) {
			obj.addEventListener(type, fn, false);
		} else if (obj.attachEvent) {
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
			obj.attachEvent( "on"+type, obj[type+fn] );
		}
	}
}
function removeEvent(obj, type, fn) {
	var typeArr = type.split('|');
	for ( var n = 0; n < typeArr.length; n++ ) {
		var type = typeArr[ n ];
		if (obj.removeEventListener) {
			obj.removeEventListener( type, fn, false );
		} else if (obj.detachEvent) {
			obj.detachEvent( "on"+type, obj[type+fn] );
			obj[type+fn] = null;
			obj["e"+type+fn] = null;
		}
	}
}
function scrollTo$( Id ) {
	var ele = $( Id );
	if ( !ele ) {
		return false;
	}
	
	var eleOffset = getOffset( ele );
	if ( eleOffset.top ) {
		window.scrollTo( 0, ( eleOffset.top - 28 ) );
	}
}
function initZoekFormulier() {
	if ( !$('q') ) {
		return false;
	}
	
	addEvent( $('q'), 'blur', function() {
		if ( this.value == 0 ) {
			this.value = this.title;
		}
	} );
	addEvent( $('q'), 'click|focus', function() {
		if ( this.value == this.title ) {
			this.value = '';
		}
	} );
	
	if ( $('q').value == 0 ) {
		$('q').value = $('q').title;
	}
	
	addEvent( $('zoekform'), 'submit', function() {
		if ( $('q').value == $('q').title ) {
			$('q').value = '';
		}
	} );
}

function MdlManager() {
	this.ele = false;
	this.shrinkInterval = false;
	
	this.init = function() {
		var divElements = doc.getElementsByTagName( 'div' );
	
		for ( var n = 0; n < divElements.length; n++ ) {
			if ( divElements[ n ].className == 'mededelingen' ) {
				mdlMan.ele = divElements[ n ];
				break;
			}
		}
		
		if ( mdlMan.ele ) {
			setTimeout( function() { mdlMan.fade(); }, 3000 );
		}
	}
	
	this.fade = function() {
		mdlMan.ele.style.visibility = 'hidden';
		mdlMan.shrinkInterval = setInterval( function() { mdlMan.shrink(); }, 40 );
	}
	this.shrink = function() {
		var eleHeight = parseInt( mdlMan.ele.offsetHeight );
		
		if ( !eleHeight || ( eleHeight - 10 ) <= 0 || eleHeight <= 2 ) {
			mdlMan.stop();
		} else {
			//$('blub').innerHTML = eleHeight;
			mdlMan.ele.style.height = ( eleHeight - 10 ) + 'px';
		}
	}
	this.stop = function() {
		clearInterval( mdlMan.shrinkInterval );
		if ( mdlMan.ele ) {
			mdlMan.ele.style.display = 'none';
		}
	}	
}

var mdlMan = new MdlManager();

addEvent( window, 'load', initZoekFormulier );
addEvent( window, 'load', mdlMan.init );