// JavaScript Document
// Detecting browser type and version

detectBrowser = {
	
	init: function() {
		detectBrowser.begin;
		detectBrowser.end;
		detectBrowser.version;
		// comment the next line if you want to use the object to detect browsers types without notifying the user.
		//detectBrowser.detectBroswerType();
	},
	
	isFirefox: function() {
		if(navigator.appName == "Netscape" && navigator.userAgent.indexOf("Firefox") > 0) {
			detectBrowser.begin = navigator.userAgent.indexOf("Firefox") + "Firefox".length + 1;
			detectBrowser.end = navigator.userAgent.length;
			detectBrowser.version = navigator.userAgent.substring(detectBrowser.begin, detectBrowser.end);
			return true;
		} else {
			return false;
		}
	},
	
	isOpera: function() {
		if(navigator.appName == "Opera" && navigator.userAgent.indexOf("Opera") >= 0) {
			detectBrowser.begin = navigator.userAgent.indexOf("Version") + "Version".length + 1;
			detectBrowser.end = navigator.userAgent.length;
			detectBrowser.version = navigator.userAgent.substring(detectBrowser.begin, detectBrowser.end);
			return true;
		} else {
			return false;
		}
	},
	
	isIE: function() {
		if(navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("MSIE") > 0) {
			detectBrowser.begin = navigator.userAgent.indexOf("MSIE ") + "MSIE ".length;
			if(navigator.userAgent.indexOf(";", detectBrowser.begin) > 0) {
				detectBrowser.end = navigator.userAgent.indexOf(";", detectBrowser.begin);
			} else {
				detectBrowser.end = navigator.userAgent.indexOf(")", detectBrowser.begin) + 2;
			}
			detectBrowser.version = navigator.userAgent.substring(detectBrowser.begin, detectBrowser.end);
			return true;
		} else {
			return false;
		}
	},
	
	isSafari: function() {
		if(navigator.appName == "Netscape" && navigator.userAgent.indexOf("Safari") > 0) {
			detectBrowser.begin = navigator.userAgent.indexOf("Safari") + "Safari".length + 1;
			detectBrowser.end = navigator.userAgent.length;
			detectBrowser.version = navigator.userAgent.substring(detectBrowser.begin, detectBrowser.end);
			return true;
		} else {
			return false;
		}
	},
	
	isChrome: function() {
		if(navigator.appName == "Netscape" && navigator.userAgent.indexOf("Chrome") > 0) {
			detectBrowser.begin = navigator.userAgent.indexOf("Chrome") + "Chrome".length + 1;
			detectBrowser.end = navigator.userAgent.indexOf("Safari");
			detectBrowser.version = navigator.userAgent.substring(detectBrowser.begin, detectBrowser.end);
			return true;
		} else {
			return false;
		}
	},
	
	detectBroswerType: function() {
		if(detectBrowser.isFirefox()) {
			alert("You are using Firefox v" + detectBrowser.version);
		} else if(detectBrowser.isIE()) {
			alert("You are using Internet Explorer v" + detectBrowser.version);
		} else if(detectBrowser.isChrome()) {
			alert("You are using Google Chrome v" + detectBrowser.version);
		} else if(detectBrowser.isOpera()) {
			alert("You are using Opera v" + detectBrowser.version);
		} else if(detectBrowser.isSafari()) {
			alert("You are using Safari v" + detectBrowser.version);
		} else {
			alert("You are using an Unknown browser");
		}
	}
};

Core.start(detectBrowser);
