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";
	},
	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.vendor,
		subString: "Apple",
		identity: "Safari"
	}, {
		prop: window.opera,
		identity: "Opera"
	}, {
		string: navigator.userAgent,
		subString: "Flock",
		identity: "Flock"
	}, {
		string: navigator.userAgent,
		subString: "Firefox",
		identity: "Firefox"
	}, {
		string: navigator.userAgent,
		subString: "MSIE",
		identity: "IExplorer",
		versionSearch: "MSIE"
	}]
};
var BrowserCompatible = {
	check: function(){
		BrowserDetect.init();
		if ((this.useBlackList && this.unCompatibleBrowsers[BrowserDetect.browser] && BrowserDetect.version <= this.unCompatibleBrowsers[BrowserDetect.browser]) ||
		    (!this.useBlackList && (BrowserDetect.version < this.compatibleBrowsers[BrowserDetect.browser] || !this.compatibleBrowsers[BrowserDetect.browser]))) {
			if (!this.readCookie('browsercheck_dontShowAgain')) 
				this.showWarning();
		}
	},
	getStyle: function(el, styleProp){
		var x = el;
		if (x.currentStyle) 
			var y = x.currentStyle[styleProp];
		else 
			if (window.getComputedStyle) 
				var y = document.defaultView.getComputedStyle(x, null).getPropertyValue(styleProp);
		return y;
	},
	createCookie: function(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=/";
	},
	
	readCookie: function(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;
	},
	
	eraseCookie: function(name){
		this.createCookie(name, "", -1);
	},
	showWarning: function(){
		if(!this.lang){
			this.lang=navigator.language || navigator.browserLanguage;
			if(!this.langTranslations[this.lang]) this.lang="en";
		}
		var bg = document.createElement("div");
		bg.id = "browsercheck_bg";
		bg.style["background"] = "#fff";
		bg.style["filter"] = "alpha(opacity=90)";
		bg.style["-moz-opacity"] = "0.90";
		bg.style["opacity"] = "0.9";
		bg.style["position"] = "fixed";
		if (BrowserDetect.browser == "IExplorer" && BrowserDetect.version < 7) 
			bg.style["position"] = "absolute";
		bg.style["z-index"] = "9998";
		bg.style["top"] = "0";
		bg.style["left"] = "0";
		bg.style["height"] = (screen.availHeight + 300) + "px";
		bg.style["width"] = (screen.availWidth + 300) + "px";
		
		var warning_html = "";
		if (this.allowCancel) 
		warning_html += '<a href="javascript:BrowserCompatible.cancel()" class="png" style="background:url('+this.images['cancel']+') no-repeat; height:24px; width:24px; position:absolute; right:5px; top:5px;" title="' + this.langTranslations[this.lang]['cancel'] + '"></a>';
		warning_html += '<div id="browsercheck_title" style="font-family:arial; font-size:24px; color:#000; margin:15px;">' + this.langTranslations[this.lang]['title'] + '</div>';
		warning_html += '<div id="browsercheck_description" style="font-family:arial; font-size:12px; color:#707070; margin:15px;">' + this.langTranslations[this.lang]['description'] + '</div>';
		warning_html += '<div id="browsercheck_recomendation" style="font-family:arial; font-size:12px; color:#707070; margin:15px;">' + this.langTranslations[this.lang]['recomendation'] + '</div>';
		for (var i = 0; i < this.offeredBrowsers.length; i++) {
			warning_html += '<a href="' + this.browsersList[this.offeredBrowsers[i]].link + '" title="' + this.langTranslations[this.lang][this.offeredBrowsers[i]] + '" style="height:60px; width:165px; display:block; float:left; margin:15px; text-decoration:none; background: url(' + this.browsersList[this.offeredBrowsers[i]].image + ') no-repeat;" target="_blank"> </a>';
			
		}
		if (this.allowToHide) 
			warning_html += '<div style="clear:both;font-family:arial; font-size:12px; color:#707070; padding:7px 15px;"><label><input type="checkbox" id="browsercheck_dontShowAgain" onclick="BrowserCompatible.dontShowAgain()" />' + this.langTranslations[this.lang]['dontShowAgain'] + '</label></div>';
		var warning = document.createElement("div");
		warning.id = "browsercheck_warning";
		warning.style["background"] = "#ededed url("+this.images['background']+") no-repeat";
		warning.style["padding"] = "2px";
		warning.style["width"] = "700px";
		warning.style["height"] = "300px";
		warning.style["position"] = "fixed";
		if (BrowserDetect.browser == "IExplorer" && BrowserDetect.version < 7) 
			warning.style["position"] = "absolute";
		warning.style["z-index"] = "9999";
		warning.style["top"] = ((window.innerHeight || document.body.parentNode.offsetHeight) - 300) / 2 + "px";
		warning.style["left"] = ((window.innerWidth || document.body.parentNode.offsetWidth) - 600) / 2 + "px";
		warning.innerHTML = warning_html;
		
		this.old_overflow_style = this.getStyle(document.body.parentNode, "overflow") || this.getStyle(document.body, "overflow");
		if (BrowserDetect.browser == "Opera" && this.old_overflow_style == "visible") 
			this.old_overflow_style = "auto";
		document.body.parentNode.style["overflow"] = "hidden";
		document.body.style["overflow"] = "hidden";
		
		document.body.appendChild(bg);
		document.body.appendChild(warning);
		
		if (document.addEventListener) {
			document.addEventListener('resize', this.warningPosition, false);
		}
		else {
			document.attachEvent('onresize', this.warningPosition);
		}
		
	},
	warningPosition: function(){
		var warning = document.getElementById('browsercheck_warning');
		warning.style["top"] = ((window.innerHeight || document.body.parentNode.offsetHeight) - 400) / 2 + "px";
		warning.style["left"] = ((window.innerWidth || document.body.parentNode.offsetWidth) - 600) / 2 + "px";
	},
	dontShowAgain: function(){
		var inpDontShowAgain = document.getElementById('browsercheck_dontShowAgain').checked;
		var dontShowAgain = this.readCookie('browsercheck_dontShowAgain');
		if (inpDontShowAgain) {
			this.createCookie('browsercheck_dontShowAgain', 'on', this.cookiesExpire);
		}
		else {
			this.eraseCookie('browsercheck_dontShowAgain');
		}
	},
	cancel: function(){
		var bg = document.getElementById('browsercheck_bg');
		var warning = document.getElementById('browsercheck_warning');
		bg.parentNode.removeChild(bg);
		warning.parentNode.removeChild(warning);
		document.body.parentNode.style["overflow"] = this.old_overflow_style;
		document.body.style["overflow-x"] = "hidden";
		if (BrowserDetect.browser != "IExplorer") 
			document.body.style["overflow"] = this.old_overflow_style;
		document.onresize = this.resize_function;
	},
	
	old_overflow_style: "",
	resize_function: null,
	allowCancel: false,
	allowToHide: false,
	cookiesExpire: 1,
	images : {
		'background':"",
		'cancel':"img/close.png"
	},
	useBlackList: false,
	compatibleBrowsers: {
		"Opera": 9.25,
		"Firefox": 2,
		"IExplorer": 7,
		"Safari": 525.17,
		"Flock": 1.1,
		"Chrome": 1
	},		
	unCompatibleBrowsers: {
		"IExplorer": 6
	},
	offeredBrowsers: ["Chrome","Firefox", "Flock", "Safari", "IExplorer", "Opera"],
	browsersList: {
		"Chrome": {
			"image": "http://www.goodbyeie6.org.ua/chrome.gif",
			"link": "http://www.google.com/chrome/"
		},
		"Opera": {
			"image": "http://www.goodbyeie6.org.ua/opera.gif",
			"link": "http://www.opera.com/products/desktop/"
		},
		"Firefox": {
			"image": "img/browser/firefox.gif",
			"link": "http://www.mozilla-europe.org/"
		},
		"IExplorer": {
			"image": "img/browser/iexplorer.gif",
			"link": "http://www.microsoft.com/windows/internet-explorer/download-ie.aspx"
		},
		"Safari": {
			"image": "img/browser/safari.gif",
			"link": "http://www.apple.com/safari/"
		},
		"Flock": {
			"image": "http://www.goodbyeie6.org.ua/flock.gif",
			"link": "http://www.flock.com/"
		}
	},
	lang: "",
	langTranslations: {
		"en": {
			"title": "Obsolete browser",
			"description": "Your browser is obsolete, which means it does not contain all of the necessary functions for the correct working of many current web sites. Modern web sites are created to be convenient and effective for you and, together with improvement of web sites themselves, browsers continue to improve. In addition, older browsers have many security glitches which can be maliciously abused to steal personal and financial information; therefore by upgrading your web browser you not only benefit from an enhanced web experience, but ensure that your private data is better protected.",
			"recomendation": "We recommend using the latest version of one of the following browsers. All are free, quick to install and won't cost you anything.",
			"cancel": "Close this warning",
			"dontShowAgain": "Don't show this warning again",
			"Firefox": "Firefox is considered by many to be the most advanced web browser available today it has an ability to adapt to individual usage through a large range of plug-ins and other popular features such as tabbed browsing that offers useful management of the browsing experience.",
			"Flock": "Flock is a web browser that is optimised for blogs, news aggregation, and social networking sites. It is built on Mozillaâ€™s Firefox codebase and has many of the same benefits.",
			"IExplorer": "Internet Explorer has been the default web browser for Windows users for many years.",
			"Safari": "Safari is a web browser developed by Apple Inc. and included in Mac OS X and is also available for Windows.",
			"Opera": "Opera is a web browser and Internet suite developed by the Opera Software company. Opera handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, IRC online chatting, downloading files via BitTorrent, and reading web feeds.",
			"Chrome" : "Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier."
		},
		"fr": {
			"title": "Navigateur obsol&egrave;te",
			"description": "Votre navigateur est obsol&egrave;te, cela signifie que <strong>votre navigateur ne poss&egrave;de pas toutes les fonctionnalit&eacute;s n&eacute;cessaires au bon fonctionnement de nombreux sites web r&eacute;cents.</strong> Les derni&egrave;res &eacute;volutions des navigateurs sont con&ccedil;ues pour rendre les sites web actuels accessibles, efficaces et agr&eacute;ables &agrave; consulter. De plus, les anciens navigateurs ont de nombreuses failles de s&eacute;curit&eacute; qui peuvent &ecirc;tre utilis&eacute;es &agrave; des fins abusives pour vous d&eacute;rober des informations personnelles et financi&egrave;res. En mettant votre navigateur internet &agrave; jour, non seulement vous profitez d'une exp&eacute;rience internet plus intense, mais vous vous assurez que vos informations personnelles sont mieux prot&eacute;g&eacute;es. ",
			"recomendation": "Nous recommandons d'utiliser la derni&egrave;re version de l'un des navigateurs suivants: ils sont tous gratuits, rapides &agrave; installer sans rien vous co&ucirc;ter.",
			"cancel": "Fermer ce message d'erreur ",
			"dontShowAgain": "Ne plus afficher ce message d'erreur",
			"Firefox": "Firefox est consid&eacute;r&eacute; par beaucoup comme le plus avanc&eacute; des navigateurs d'aujourd'hui. Il a la capacit&eacute; de s'adapter &agrave; une utilisation individuelle au travers d'une large gamme de plug-ins ainsi que plein d'autres aspects courants tels que la navigation par onglet qui vous offre des moyens de gestion utiles pour naviguer",
			"Flock": "Flock est un navigateur internet optimis&eacute; pour les blogs, les nouvelles agr&eacute;gations ainsi que les r&eacute;seaux sociaux. Il est d&eacute;velopp&eacute; sur base des codages de Mozilla Firefox et comprend nombreux de ses avantages.",
			"IExplorer": "Internet Explorer a &eacute;t&eacute; pendant de nombreuses ann&eacute;es le navigateur par d&eacute;faut pour les utilisateurs de Windows.",
			"Safari": "Safari est un navigateur internet d&eacute;velopp&eacute; par Apple Inc. inclus dans Mac OS X et &eacute;galement disponible sous Windows.",
			"Opera": "Opera est un navigateur et une suite internet d&eacute;velopp&eacute; par la soci&eacute;t&eacute; Opera Software. Opera g&egrave;re les tâches courantes li&eacute;es &agrave; l'Internet telles que l'affichage des sites Web, envoyer et recevoir des e-mails, la gestion des contacts, chatter, t&eacute;l&eacute;charger des fichiers via BitTorrent et lire les flux RSS.",
			"Chrome" : "Google chrome est un navigateur internet alliant un design &eacute;pur&eacute; &agrave; une technologie de pointe qui rendent l'internet plus rapide, plus s&ucirc;r et plus facile."
		},
		"nl": {
			"title": "Uw browser is verouderd",
			"description": "Uw browser is verouderd. Hij mist verscheidene functies die noodzakelijk zijn voor de goede werking van vele hedendaagse websites. Deze nieuwe websites zijn veel gemakkelijker in gebruik, maar vergen nieuwere browsers die overigens op hun beurt ook eenvoudiger te bedienen zijn. Bovendien bevatten verouderde browsers heel wat veiligheidsfouten, die kunnen misbruikt worden om persoonlijke en financiële informatie te stelen. De update naar een nieuwere browser zal u bijgevolg niet alleen toelaten te genieten van een betere online ervaring, maar zal u bovendien verzekeren van een betere bescherming van uw gegevens.",
			"recomendation": "We raden u aan de laatste versie van &eacute;&eacute;n van de volgende browsers te gebruiken. Deze browsers zijn allemaal gratis en eenvoudig te installeren.",
			"cancel": "Sluit deze waarschuwing",
			"dontShowAgain": "Toon deze waarschuwing voortaan niet meer.",
			"Firefox": "Firefox wordt door velen beschouwd als de meest vooruitstrevende browser die vandaag beschikbaar is. Hij kan gemakkelijk aangepast worden aan uw persoonlijke voorkeuren dankzij een brede keuze aan plug-ins en andere populaire mogelijkheden zoals browsen via tabs, die uw surfervaring aanzienlijk kan verbeteren.",
			"Flock": "De webbrowser Flock is geoptimaliseerd voor blogs, nieuwsgaring en sociale netwerken. Hij bouwt verder op de codebasis van Firefox. Beide browsers delen vele kenmerken.",
			"IExplorer": "Internet Explorer is jarenlang de standaard webbrowser geweest voor vele Windows-gebruikers.",
			"Safari": "De webbrowser Safari is ontwikkeld door Apple Inc., zit standaard bij Mac OS X en is ook beschikbaar voor Windows.",
			"Opera": "Opera is een webbrowser en Internetsuite ontwikkeld door Opera Software. Opera wordt gebruikt voor algemene internettaken zoals het weergeven van websites, het verzenden en ontvangen van e-mailberichten, het beheren van contacten, IRC online chatten, het downloaden van bestanden via BitTorrent en het lezen van Web feeds.",
			"Chrome" : "De browser Google Chrome combineert een minimaal design met doorgedreven technologie om het web sneller, veiliger en gemakkelijker te maken."
		},
		"nlfr": {
			"title": "Uw browser is verouderd / Navigateur obsol&egrave;te",
			"description": "Uw browser is verouderd. Hij mist verscheidene functies die noodzakelijk zijn voor de goede werking van vele hedendaagse websites. Deze nieuwe websites zijn veel gemakkelijker in gebruik, maar vergen nieuwere browsers die overigens op hun beurt ook eenvoudiger te bedienen zijn. Bovendien bevatten verouderde browsers heel wat veiligheidsfouten, die kunnen misbruikt worden om persoonlijke en financiële informatie te stelen. De update naar een nieuwere browser zal u bijgevolg niet alleen toelaten te genieten van een betere online ervaring, maar zal u bovendien verzekeren van een betere bescherming van uw gegevens.<br><br>Votre navigateur est obsol&egrave;te, cela signifie que <strong>votre navigateur ne poss&egrave;de pas toutes les fonctionnalit&eacute;s n&eacute;cessaires au bon fonctionnement de nombreux sites web r&eacute;cents.</strong> Les derni&egrave;res &eacute;volutions des navigateurs sont con&ccedil;ues pour rendre les sites web actuels accessibles, efficaces et agr&eacute;ables &agrave; consulter. De plus, les anciens navigateurs ont de nombreuses failles de s&eacute;curit&eacute; qui peuvent &ecirc;tre utilis&eacute;es &agrave; des fins abusives pour vous d&eacute;rober des informations personnelles et financi&egrave;res. En mettant votre navigateur internet &agrave; jour, non seulement vous profitez d'une exp&eacute;rience internet plus intense, mais vous vous assurez que vos informations personnelles sont mieux prot&eacute;g&eacute;es. ",
			"recomendation": "We raden u aan de laatste versie van &eacute;&eacute;n van de volgende browsers te gebruiken. Deze browsers zijn allemaal gratis en eenvoudig te installeren.<br><br>Nous recommandons d'utiliser la derni&egrave;re version de l'un des navigateurs suivants: ils sont tous gratuits, rapides &agrave; installer sans rien vous co&ucirc;ter.",
			"cancel": "Sluit deze waarschuwing<br><br>Fermer ce message d'erreur",
			"dontShowAgain": "Toon deze waarschuwing voortaan niet meer / Ne plus afficher ce message d'erreur",
			"Firefox": "Firefox wordt door velen beschouwd als de meest vooruitstrevende browser die vandaag beschikbaar is. Hij kan gemakkelijk aangepast worden aan uw persoonlijke voorkeuren dankzij een brede keuze aan plug-ins en andere populaire mogelijkheden zoals browsen via tabs, die uw surfervaring aanzienlijk kan verbeteren.<br><br>Firefox est consid&eacute;r&eacute; par beaucoup comme le plus avanc&eacute; des navigateurs d'aujourd'hui. Il a la capacit&eacute; de s'adapter &agrave; une utilisation individuelle au travers d'une large gamme de plug-ins ainsi que plein d'autres aspects courants tels que la navigation par onglet qui vous offre des moyens de gestion utiles pour naviguer",
			"IExplorer": "Internet Explorer is jarenlang de standaard webbrowser geweest voor vele Windows-gebruikers.<br><br>Internet Explorer a &eacute;t&eacute; pendant de nombreuses ann&eacute;es le navigateur par d&eacute;faut pour les utilisateurs de Windows.",
			"Safari": "De webbrowser Safari is ontwikkeld door Apple Inc., zit standaard bij Mac OS X en is ook beschikbaar voor Windows.<br><br>Safari est un navigateur internet d&eacute;velopp&eacute; par Apple Inc. inclus dans Mac OS X et &eacute;galement disponible sous Windows."
		}
	}
}
