

var agt=navigator.userAgent.toLowerCase();
var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_mac    = (agt.indexOf("mac")!=-1);

window.onload = function(){
	
	setHeight();

	/* links blur() tbv verbergen focusrandje*/
	links = document.getElementsByTagName("a");
	for (i=0; i<links.length; i++) {
		link = links[i];
		link.onfocus=function(){
			this.blur();
		}
	}
	
	/*valid elementen van hover voorzien
	if(document.all){
		all = document.body.getElementsByTagName('*');
		valid = 'LI,UL,DIV,SPAN,IMG'.split(',');
		
		for (a=0; a<all.length; a++) {
			elem = all[a];
			if(valid.indexOf(elem.tagName) != -1){
				elem.onmouseover = hover;
				elem.onmouseout = unhover;
			}
		}
	}*/
	
	/* dt-dd constructie om nieuwsblokken te togglen*/
	links = document.getElementsByTagName("dt");
	for (i=0; i<links.length; i++) {
		if(links[i].className.indexOf('expanded') != -1 || links[i].className.indexOf('collapsed') != -1 ){
			link = $(links[i]);			
			link.onclick = expand_collapse;
		}
	}
	
	if(subnav = document.getElementById('subnavigatie')){
		subnav.onscroll = save_scroll;
		subnav.scrollTop = getCookie( 'subnavscroll' );
	}

	init_forms();
}
    
var browser = new Object();

save_scroll = function(){
	setCookie( 'subnavscroll', this.scrollTop, 0, '/');
}

function setHeight (){
	if (window.innerWidth){
		window.width = window.innerWidth;
		window.height = window.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientWidth){
		window.width = document.documentElement.clientWidth
		window.height = document.documentElement.clientHeight
	}
	else if (document.body){
		window.width = document.body.clientWidth
		window.height = document.body.clientHeight
	}
	
	if(window.width < 1024) {
		//styles = document.getElementsByTagName('link')[1];
		//styles.oldhref = styles.href;
		//styles.href = 'layout/layout_ie5.css';
	}
}


//SCRIPT OM CONTENTBLOKKEN TE TOGGLEN
function expand_collapse(){

	target = this.next('dd');
	
	var dt= document.getElementsByTagName("dt");
	var dd= document.getElementsByTagName("dd");
	
	if(this.className.indexOf("collapsed") != -1){
		for (var i=0; i<dd.length; i++){
			dt[i].className = dt[i].className.replace(/expanded/g, 'collapsed');
			dd[i].className = dd[i].className.replace(/expanded/g, 'collapsed');
		}
		
		if(target.innerHTML.length){
			target.className = target.className.replace(/collapsed/g, 'expanded');;
			this.className = this.className.replace(/collapsed/g, 'expanded');;
		}
	}
	else{
		target.className = target.className.replace(/expanded/g, 'collapsed');
		this.className = this.className.replace(/expanded/g, 'collapsed');
	}
}    



//MAILSCRIPT & VALIDATIE

function init_forms(){
	var forms = document.getElementsByTagName("form");

	for(n=0; n<forms.length; n++){
		var form = forms[n];
		form.onsubmit = form_submit;
	}
}

function form_submit(){
	this.valid = true;
	
	var elems = this.elements;
	for(n=0; n<elems.length && this.valid; n++){
		elem = elems[n];
		var validation = elem.getAttribute("required");
		if(validation != null){
			switch(validation){
				case "true":
					if(elem.value.trim().length == 0){
						this.valid = false;
						elem.select();
						elem.className += " invalid";
					}
					else{
						elem.className =  elem.className.replace(/invalid/g ,"");
					}
					break;
	
				case "email":
					if(is_email(elem.value)){
						this.valid = false;
						elem.select();
						elem.className += " invalid";
					}
					else{
						elem.className =  elem.className.replace(/invalid/g ,"");
					}
					break;
	
				default:
					if(test = elem.form.elements[validation]){
						if(test.value != elem.value){
							this.valid = false;
							elem.select();
							elem.className += " invalid";
						}
						else{
							elem.className =  elem.className.replace(/invalid/g ,"");
						}
					}
					break;
				
			}
		}
	}

	return this.valid;
}


function is_email(email){
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
	return ! (!r1.test(email) && r2.test(email));	
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function hover(){
	this.className = this.className + " hover";	
}

function unhover(){
	this.className = this.className.replace(/hover/g,"")
}


/* Cookie management Script [Written by Scott Andrew] */
function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+"="+escape( value ) +
		( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) +
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


