/* MISC */

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

function checkActiveLinks(base) {
	if(typeof(base) == 'undefined' && typeof(document.path) != 'undefined') base = document.path;

	linksArray = $$('a');

	var url = window.location;

	for(i = 0; i < linksArray.length; ++i ){
		var a = linksArray[i];

		url = new String(window.location);

		var link = a.href
		if(link.substring(link.length-5, link.length) == '.html') link = link.substring(0, link.length-5)

		if(link == url || (link != base && link != (base + '/') && link == url.substring(0, link.length))) {
			if(link == url || (link + '/') == url || link == (url + '/')) {
				a.className += ' active_exact';
			}
			if(url.length <= link.length || (url.length > link.length && (url.substring(link.length, link.length+1) == '/' || url.substring(link.length, link.length+5) == '.html'))) {
				a.className += ' active';
			}
		}
	}
}

/* SUBMENUS */

function positionSubMenus(offset, min, max) {
	if(typeof(offset) == 'undefined') offset = 0;
	if(typeof(min) == 'undefined') min = false;
	if(typeof(max) == 'undefined') max = false;

	var menu_items = $$('a[id^=menu_]');	
	for(var i = 0; i < menu_items.length; ++i) {
		var menu = menu_items[i];
		var submenu = $('submenu_'+ menu_items[i].id.substring(5));		

		if(submenu != null && menu != null) {
			var item_offset = menu.offsetLeft + offset;
			if(min && item_offset < min) item_offset = min;
			if(max && item_offset > max) item_offset = max;
		
			submenu.style.left = item_offset + 'px';
			submenu.style.zIndex = 100;
			
			menu.addEvent('mouseover', showSubMenu);
			submenu.addEvent('mouseover', showSubMenu);
			menu.addEvent('mouseout', hideSubMenu);
			submenu.addEvent('mouseout', hideSubMenu);
		}
	}
}

function showSubMenu(e) {
	var submenu = $('submenu_' + getEventId(e));
	if(submenu != null && typeof(submenu) == 'object') {
		submenu.style.display = 'block';

		// save the menu only for ie.. grmbl
		document.last_submenu = submenu;
	}
}

function hideSubMenu(e) {
	var submenu = $('submenu_' + getEventId(e));

	// load the menu only for ie.. grmbl
	if(submenu == null || typeof(submenu) != 'object') {
		submenu = document.last_submenu;
	}

	if(submenu != null && typeof(submenu) == 'object') {
		submenu.style.display = 'none';
	}
}

function getEventId(e) {
	var obj = e.target;
	while(obj.id.substring(0, 5) != 'menu_' && obj.id.substring(0, 8) != 'submenu_') obj = obj.parentNode;

	var offset = 0;
	while((i = obj.id.indexOf('_', offset)) !== -1) offset = i + 1;

	return parseInt(obj.id.substr(offset));
}

/* COOKIES */

function createCookie(name,value,days) {
	if(days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else 
		var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while(c.charAt(0)==' ')
			c = c.substring(1,c.length);

		if(c.indexOf(nameEQ) == 0)
			return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/* BROWSER CHECK */

function checkVersion() {
	if(BrowserDetect.browser == "Explorer" && BrowserDetect.version <= 6) {
		var old_version = document.createElement('div');
		old_version.setAttribute('id', 'old_version');
		old_version.setAttribute('class', 'old_version');
		old_version.className = 'old_version';
		
		old_version.innerHTML = '<div class="info"></div><span>U maakt gebruik van een verouderde browser. Voor een optimale weergave raden wij u aan uw browser te updaten. <a class=\"icon_firefox\" target="_blank" href="http://www.mozilla.com/firefox" title="Download Firefox"></a><a class=\"icon_ie\" target="_blank" href="http://www.microsoft.com/netherlands/windows/internet-explorer/" title="Download Internet Explorer"></a></span>';
		
		document.body.insertBefore(old_version,document.body.firstChild);
	}
}
addLoadEvent(checkVersion);

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
		|| this.searchVersion(navigator.appVersion)
		|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
	{
		string: navigator.userAgent,
		subString: "OmniWeb",
		versionSearch: "OmniWeb/",
		identity: "OmniWeb"
	},
	{
		string: navigator.vendor,
		subString: "Apple",
		identity: "Safari"
	},
	{
		prop: window.opera,
		identity: "Opera"
	},
	{
		string: navigator.vendor,
		subString: "iCab",
		identity: "iCab"
	},
	{
		string: navigator.vendor,
		subString: "KDE",
		identity: "Konqueror"
	},
	{
		string: navigator.userAgent,
		subString: "Firefox",
		identity: "Firefox"
	},
	{
		string: navigator.vendor,
		subString: "Camino",
		identity: "Camino"
	},
	{	// for newer Netscapes (6+)
		string: navigator.userAgent,
		subString: "Netscape",
		identity: "Netscape"
	},
	{
		string: navigator.userAgent,
		subString: "MSIE",
		identity: "Explorer",
		versionSearch: "MSIE"
	},
	{
		string: navigator.userAgent,
		subString: "Gecko",
		identity: "Mozilla",
		versionSearch: "rv"
	},
	{ 	// for older Netscapes (4-)
		string: navigator.userAgent,
		subString: "Mozilla",
		identity: "Netscape",
		versionSearch: "Mozilla"
	}
	],
	dataOS : [
	{
		string: navigator.platform,
		subString: "Win",
		identity: "Windows"
	},
	{
		string: navigator.platform,
		subString: "Mac",
		identity: "Mac"
	},
	{
		string: navigator.platform,
		subString: "Linux",
		identity: "Linux"
	}
	]

};
BrowserDetect.init();
