/* Browser detectie */

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: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			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.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

/* Pagina eigenschappen */
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight){ // Explorer 6 strict mode
		xScroll = document.documentElement.scrollWidth;
		yScroll = document.documentElement.scrollHeight;
	} else { // Explorer Mac...would also work in Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) { // all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}
	
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	
	
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
	return arrayPageSize;
}

function browserWarning() {
	check = true;
	browserWarning = getCookie('browserWarning');
	if(browserWarning != null && browserWarning == '1') check = false;
	
	if(check) {
		var melding = false;
		var browserNaam = null;
		var browserLogo = null;
		var downloadLink = null;
		var browserVersie = BrowserDetect.version;
		var browserMinVersie = null;
		var ie6 = false;
		
		if(BrowserDetect.browser == "Explorer" && BrowserDetect.version <= 6) {
			browserNaam = 'Internet Explorer';
			browserLogo = 'internetexplorer.jpg';
			downloadLink = 'http://windowsupdate.microsoft.com/';
			browserMinVersie = '7';
			if(browserVersie < 7) ie6 = true;
			melding = true;
		}
		else if(BrowserDetect.browser == "Firefox" && BrowserDetect.version <= 2) {
			browserNaam = 'Firefox';
			browserLogo = 'firefox.jpg';
			downloadLink = 'http://getfirefox.com/';
			browserMinVersie = '3';
			melding = true;
		}
		else if(BrowserDetect.browser == "Safari" && BrowserDetect.version <= 3) {
			browserNaam = 'Safari';
			browserLogo = 'safari.jpg';
			downloadLink = 'http://www.apple.com/safari/download/';
			browserMinVersie = '4';
			melding = true;
		}
		
		if(ie6) {
			var aSize = getPageSize();
			//alert(aSize);
			Ext.get('overlay').setStyle('height',aSize[1] + 'px');
		}
		
		if(melding) {
			// Inhoud maken
			var waarschuwing = '<div class="links"><img src="../images/browser/'+browserLogo+'" /><p>'+browserNaam+' wordt ondersteunt vanaf versie '+browserMinVersie+' en u heeft versie '+browserVersie+'.</p></div><div class="rechts"><h1>Sorry, uw '+browserNaam+' is verouderd</h1><p>U maakt op dit gebruik van een oude versie van '+browserNaam+' waarin de werking van deze website niet gegarandeerd wordt. Indien u de mogelijkheid heeft verzoeken wij u om '+browserNaam+' te vernieuwen.</p>';
			waarschuwing += '<h2>Wat betekent dit?</h2><p>De ontwikkeling op internet gaat erg snel en browsers moeten regelmatig vernieuwd worden om deze ontwikkelingen bij te houden. Uw browser is al enige tijd niet vernieuwd en ondersteunt de nieuwste technieken niet. U kunt gewoon gebruik maken van deze website, maar het kan voorkomen dat enkele onderdelen niet naar behoren werken.</p>';
			
			if(ie6) waarschuwing += '<p><b>Het gebruik van Internet Explorer 6 of lager wordt sterk afgeraden.</b>';
			
			waarschuwing += '<h2>Nieuwe versie downloaden</h2><p>Een nieuwe versie van '+browserNaam+' kunt u <a href="'+downloadLink+'" target="_blank">hier</a> vinden.</p></div><div class="clear">&nbsp;</div><div class="sluiten"><div class="check"><input type="checkbox" id="cookieBrowserCheck" class="checkbox" /></div> <div class="label">Laat dit venster niet meer zien</div><div class="sluiten"><a href="javascript:void(0);" onclick="closeBrowserWarning();">Sluiten</a></div></div>';
			
			// En plaatsen
			/*$('waarschuwing').innerHTML = waarschuwing;
			$('overlay').style.display = 'block';
			$('waarschuwing').style.display = 'block';*/
			
			Ext.get('waarschuwing').dom.innerHTML = waarschuwing;
			Ext.get('overlay').setStyle('display','block');
			Ext.get('waarschuwing').setStyle('display','block');
		}
	}
}

function closeBrowserWarning() {
	/*if($('cookieBrowserCheck').checked == true) setCookie('browserWarning','1',365);
	$('overlay').style.display = 'none';
	$('waarschuwing').style.display = 'none';*/

	if(Ext.get('cookieBrowserCheck').checked == true) setCookie('browserWarning','1',365);
	Ext.get('overlay').setStyle('display','none');
	Ext.get('waarschuwing').setStyle('display','none');
}

/*function init(){
	browserWarning();
}*/

function setCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start != -1) {
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end == -1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}

//Event.observe(window, 'load', init, true);
Ext.onReady(function() {
	browserWarning();
});