//http://goodbyeie6.org.ua/

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: "Googlebot",
        identity: "Googlebot"
    }, {    
        string: navigator.userAgent,
        subString: "msnbot",
        identity: "msnbot"
    }, {
		string: navigator.userAgent,
		subString: "Shiretoko",
		identity: "Shiretoko"
    }, {
		string: navigator.userAgent,
		subString: "Iceweasel",
		identity: "Iceweasel"
	}, {
		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()" style="background:url('+this.images['cancel']+') no-repeat; height:15px; width:16px; position:absolute; right:10px; top:7px;" 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; position: relative; float: left; top: -18px;"><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"] = "url("+this.images['background']+") no-repeat";
		warning.style["padding"] = "2px";
		warning.style["width"] = "600px";
		warning.style["height"] = "400px";
		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) - 400) / 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;
		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':"bg.gif",
		'cancel':"cancel.gif"
	},
	useBlackList: false,
	compatibleBrowsers: {
		"Opera": 9.25,
		"Firefox": 2,
		"Googlebot": 1,
        "msnbot":1,
		"IExplorer": 7,
		"Safari": 525.17,
		"Flock": 1.1,
		"Chrome": 1,
		"Iceweasel": 3,
		"Shiretoko": 2
	},		
	unCompatibleBrowsers: {
		"IExplorer": 6
	},
	offeredBrowsers: ["Chrome","Firefox", "Flock", "Safari", "IExplorer", "Opera"],
    //Custom by Odd-Henrik
    browsersList: {
		"Chrome": {
			"image": ResolveUrl("~/App_Themes/Master/Images/BrowserCheck/chrome.gif"),
			"link": "http://www.google.com/chrome/"
		},
		"Opera": {
			"image": ResolveUrl("~/App_Themes/Master/Images/BrowserCheck/opera.gif"),
			"link": "http://www.opera.com/products/desktop/"
		},
		"Firefox": {
			"image": ResolveUrl("~/App_Themes/Master/Images/BrowserCheck/firefox.gif"),
			"link": "http://www.mozilla-europe.org/"
		},
		"IExplorer": {
			"image": ResolveUrl("~/App_Themes/Master/Images/BrowserCheck/iexplorer.gif"),
			"link": "http://www.microsoft.com/windows/internet-explorer/download-ie.aspx"
		},
		"Safari": {
			"image": ResolveUrl("~/App_Themes/Master/Images/BrowserCheck/safari.gif"),
			"link": "http://www.apple.com/safari/"
		},
		"Flock": {
		   "image": ResolveUrl("~/App_Themes/Master/Images/BrowserCheck/flock.gif"),
			"link": "http://www.flock.com/"
		}

//	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": "http://www.goodbyeie6.org.ua/firefox.gif",
//			"link": "http://www.mozilla-europe.org/"
//		},
//		"IExplorer": {
//			"image": "http://www.goodbyeie6.org.ua/iexplorer.gif",
//			"link": "http://www.microsoft.com/windows/internet-explorer/download-ie.aspx"
//		},
//		"Safari": {
//			"image": "http://www.goodbyeie6.org.ua/safari.gif",
//			"link": "http://www.apple.com/safari/"
//		},
//		"Flock": {
//			"image": "http://www.goodbyeie6.org.ua/flock.gif",
//			"link": "http://www.flock.com/"
//		}
	},
	lang: "",
	langTranslations: {
		"uk": {
			"title": "Несумісний браузер",
			"description": "Ваш браузер вже застарів, тому в ньому немає всіх необхідних функцій для коректної роботи веб-сайтів. Сучасні веб-сайти створюються, щоб бути максимально зручними та максимально ефективними для людини, а разом із удосконаленням сайтів покращуються браузери. Крім цього, з розвитком інтернет-комерції, зростає кількість зловмисників та хакерських атак; використання найновіших версій браузерів - хороший спосіб вберегти свій комп'ютер.",
			"recomendation": "Ми рекомендуємо використовувати останню версію одного із наступних браузерів:",
			"cancel": "Закрити попередження",
			"dontShowAgain": "Не показувати це попередження наступного разу",
			"Flock": "Браузер Flock спеціалізований для користувачів різноманітних соціальних мереж. \nВін оснований на тому ж двигуні що й Firefox, тому демонструє таку ж стабільність та корекність роботи.",
			"Firefox": "На сьогоднішній день найпопулярніший браузер у світі. \nЗагальне число користувачів браузера Firefox становить 40%.",
			"IExplorer": "Браузер Internet Explorer від компанії Microsoft з 7-ї версії вийшов на новий рівень. \nПроте все ж поступається за коректністю роботи іншим браузерам.",
			"Safari": "Популярний браузер від компанії Apple. \nЗ версії 3.1 демонструє достатню стабільність, за що й потрапив до цього списку.",
			"Opera": "Браузер Opera користується популярністю в Європі, але великі компанії досі його ігнорують. \nOpera має низку недоліків, проте стабільно удосконалюється.",
			"Chrome": "Браузер Chrome - молодий браузер створений компанією Google. \nРозробники приділили особливу увагу зручності браузера, і разом з тим він ні скільки не поступається за коректністю роботи."
		},
		"ru": {
			"title": "Несовместимый браузер",
			"description": "Ваш браузер уже устарел, потому в нем нет всех необходимых функций для корректной работы веб-сайтов. Современные веб-сайты создаются, чтобы быть максимально удобными и максимально эффективными для человека, а вместе с усовершенствованием сайтов улучшаются браузеры. Кроме этого, с развитием интернет-комерции, растет количество злоумышленников и хакерских атак; использование новейших версий браузеров - хороший способ уберечь свой компьютер.",
			"recomendation": "Мы рекомендуем использовать последнюю версию одного из следующих браузеров:",
			"cancel": "Закрыть предупреждение",
			"dontShowAgain": "Не показывать это предупреждение вновь",
			"Flock": "Браузер Flock специализирован для пользователей разнообразных социальных сетей. \nОн основан на том же движке что и Firefox, потому демонстрирует такую же стабильность и коректность работы.",
			"Firefox": "На сегодняшний день самый популярный браузер в мире. \nОбщее число пользователей браузера Firefox составляет 40%.",
			"IExplorer": "Браузер Internet Explorer от компании Microsoft после 7-и версии вышел на новый уровень. \nОднако все же уступает за корректностью работы другим браузерам.",
			"Safari": "Популярный браузер от компании Apple. \nПосле версии 3.1 демонстрирует достаточную стабильность, за что и попал к этому списку.",
			"Opera": "Браузер Opera пользуется популярностью в Европе, но большие компании до сих пор его игнорируют. \nOpera имеет ряд недостатков, однако стабильно совершенствуется.",
			"Chrome": "Браузер Chrome - молодой браузер созданный компанией Google. \nРазработчики уделили особое внимание удобству браузера, и вместе с тем он ни сколько не уступает по коректнистю работы."
		},
		"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."
		},
		"no": {
		    "title": "Utgått nettleser",
		    "description": "Din nettleser er for gammel og utgått. Den innholder ikke lenger de nødvendige funksjoner for å vise standardiserte web sider. Moderne websider er laget for å være praktiske og effektive for brukere, både websider og nettlesere blir kontinuerlig forbedret. Gamle nettlesere har også mange sikkerhetshull som kan føre til skadelig missbruk som å stjele personlige og finansiell informasjon.  Så, ved å oppgradere din nettleser får du ikke bare en bedre opplevelse men også bedre sikkerhet.",
		    "recomendation": "Vi anbefaler at du bruker siste versjon av en av disse nettleserne. Alle er gratis, raske å installer og vil ikke koste noe.",
		    "cancel": "Lukk denne advarselen og fortsett",
		    "dontShowAgain": "Ikke vis denne advarselen igjen",
		    "Firefox": "Firefox er av mange ansett å være den mest avanserte nettleseren man kan få i dag. Den kan tilpasses i stor grad for individuelle behov gjennom mange program tillegg og populære funksjoner som faneblader. Denne gir god oversikt over surfe opplevelsen din.",
		    "Flock": "Flock er en blogg optimalisert nettleser med nyhets integrasjon og sosiale nettsteder. Den bygger på Mozilla Firefox sin kode og har mange av de samme fordelene.",
		    "IExplorer": "Internett Explorer har vært standard nettleser for Windows brukere i mange år. Sørg for at du har siste versjon.",
		    "Safari": "Safari er en nettleser laget av Apple og er standard på Mac OS X operativsystem. Denne er også tilgjengelig for Windows.",
		    "Opera": "Opera er en nettleser og internett pakke utviklet av det Norske Opera Software. Opera er rask og med godt brukergrensesnitt. Pakke leverer i tillegg til nettleser, integrert e-post, kontakt håndtering, direktemeldinger, chat, lesing av nyhets strøm og nedlasting av filer med BitTorrent.",
		    "Chrome": "Google Chrome er en nettleser som kombinerer minimalistisk design med sofistikert teknologi for å vise web sider raskt, trygt og lett."
		}
	}
}