// File Name: BrowserCheck.js
// Purpose: To check the client browser and it's version.
//			Some problems encountered for certain browser versions.
//			This script is included on every entry page of the Tecmark's
//			 member site.
// Browser Analysis: Supported browser versions
//	IE: 6.0 and up
//  Safari:
//  Firefox: 1.0 and up i.e. all
//  AOL: the latest AOL 9.0 release seems to be working fine with the website
//			but some intermittent releases of AOL 9.0 are not working alright.
//			So show the warning window for all AOL users.
//	Netscape: 4.8 and up
//
var mySupport = "";
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "UNKNOWN";
		this.browser = this.browser.toLowerCase();
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "UNKNOWN";
			
		var dblVersion = this.version;
		if(this.browser == 'explorer' || this.browser == 'aol')
		{
			var idxSC = this.version.indexOf(';');
			dblVersion = this.version.substring(0,idxSC);
		}
		//alert(mySupport);
		if(mySupport == "NO")
		{
			alert('You are using ' + this.browser + ' version ' + dblVersion + '.\nIf you experience difficulty using this webpage, please upgrade your browser. We support multiple internet browsers; however, your version may not be fully compatible.' );
		}	
		else if(mySupport == "UNKNOWN")
		{
			alert('Your browser - ' + navigator.userAgent + '\n  If you experience difficulty using this webpage, please use different browser. We support multiple internet browsers; however, your browser may not be fully compatible.' );
		}
		/*else
		{
			alert("Yahoo!! Your browser is fully compatible");
		}*/
		
	},
	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)
				{
					mySupport = data[i].support;
					return data[i].identity;
				}
			}
			else if (dataProp)
				{
					mySupport = data[i].support;
					return data[i].identity;
				}
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return dataString.substring(index+this.versionSearchString.length+1);
		//return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb",
			support: "UNKNOWN"
		},
		{
			string: navigator.userAgent,
			subString: "AOL",
			identity: "AOL",
			support: "NO"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			support: "ALL"
		},
		{
			prop: window.opera,
			identity: "Opera",
			//changed from "UNKNOWN" to "ALL"
			support: "ALL"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab",
			support: "UNKNOWN"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror",
			support: "UNKNOWN"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox",
			support: "ALL"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino",
			support: "UNKNOWN"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape",
			support: "ALL"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE",
			support: "ALL"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv",
			support: "ALL"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla",
			support: "ALL"
		}
	]

};
BrowserDetect.init();

/*	Check for older versions of AOL
	var is_aol   = (agt.indexOf("aol") != -1);
    var is_aol3  = (is_aol && is_ie3);
    var is_aol4  = (is_aol && is_ie4);
    var is_aol5  = (agt.indexOf("aol 5") != -1);
    var is_aol6  = (agt.indexOf("aol 6") != -1);

*/