var browserCheckResult= false;
if(((typeof(window.navigator) == 'object') || (typeof(window.navigator) == 'function')) && (window.navigator != null)) {
	var platform= '';
	if((typeof(window.navigator.platform) == 'string') && (window.navigator.platform != '')) {
		platform= window.navigator.platform.toLowerCase();
	}
	var allowedBrowsers= {
							"MSIE" : {
										"versionLocation" : "right",
										"versions" : ['>5.5000']
							},
							"FIREFOX" : {
										"versionLocation" : "right",
										"versions" : ['>2.0.0.1']
							},
							"OPERA" : {
										"versionLocation" : "right",
										"versions" : ['>9']
							},
							"SAFARI" : {
										"versionLocation" : ((platform == 'win32')? "left": "right"),
										"versions" : [((platform == 'win32')? '>3.1': '>400')]
							},
							"CHROME" : {
										"versionLocation" : "right",
										"versions" : ['>0.3.154']
							}
	};
	
	var antiLoop;
	var browser= '';
	var displacement= 0;
	var index= 0;
	var nextSymbol= true;
	var version= '';
	var userAgent= window.navigator.userAgent;
	if((typeof(userAgent) == 'string') && (userAgent != '')) {
		for(browserName in allowedBrowsers) {
			index= userAgent.toUpperCase().indexOf(browserName);
			if(index > -1) {
				antiLoop= 10;
				version= '';
				browser= browserName;
				if((typeof(allowedBrowsers[browserName].versionLocation) == 'string') && (allowedBrowsers[browserName].versionLocation != '')) {
					if(allowedBrowsers[browserName].versionLocation.toLowerCase() == 'left') {
						displacement= -1;
					}
					else if(allowedBrowsers[browserName].versionLocation.toLowerCase() == 'right') {
						displacement= 1;
						index+= browserName.length- displacement;
					}
					else {
						displacement= 1;
						index+= browserName.length- displacement;
					}
				}
				else {
					displacement= 1;
					index+= browserName.length- displacement;
				}
				
				while(((userAgent.charAt((index+ displacement)) == ' ') || (userAgent.charAt((index+ displacement)) == '/') || (userAgent.charAt((index+ displacement)) == '.') || ((typeof((userAgent.charAt((index+ displacement))* 1)) == 'number') && ((userAgent.charAt((index+ displacement))* 1) >= 0))) && (antiLoop > 0) && (userAgent.length >= (index+ displacement))) {
					--antiLoop;
					if((userAgent.charAt((index+ displacement)) != ' ') && (userAgent.charAt((index+ displacement)) != '/') && ((userAgent.charAt((index+ displacement)) == '.') || ((typeof((userAgent.charAt((index+ displacement))* 1)) == 'number') && ((userAgent.charAt((index+ displacement))* 1) >= 0)))) {
						if(displacement > 0) {
							version+= userAgent.charAt((index+ displacement));
						}
						else {
							version= userAgent.charAt((index+ displacement))+ version;
						}
					}
					index+= displacement;
				}
			}
		}
		if((browser != '') && (version != '') && (allowedBrowsers[browser])) {
			browserCheckResult= checkVersion(version, allowedBrowsers[browser].versions);
		}
	}
}

if(!browserCheckResult) {
	window.location.href= '/usbrowser.html';
}

function checkVersion(version, versions) {
	var maxLength= 0;
	var _version= normalizeVersion(version);
	if(((typeof(versions) == 'object') || (typeof(versions) == 'function')) && (versions != null)) {
		var versionsArrayLength= versions.length;
		var allowedVersion= '';
		var _allowedVersion= '';
		var bigger, smaller;
		for(var i= 0; i < versionsArrayLength; i++) {
			allowedVersion= versions[i];

			bigger= ((allowedVersion.indexOf('>') == 0)? true: false); 
			smaller= (((allowedVersion.indexOf('<') == 0)? true: false));
			if(bigger || smaller) {
				for(var i= 1; i < allowedVersion.length; i++) {
					_allowedVersion+= allowedVersion.charAt(i);
				}
				allowedVersion= _allowedVersion;
			}
			allowedVersion= normalizeVersion(allowedVersion);
			maxLength= ((_version.length > allowedVersion.length)? _version.length: allowedVersion.length);
			for(var i= _version.length; i < maxLength; i++) {
				_version+= '0';
			}
			for(var i= allowedVersion.length; i < maxLength; i++) {
				allowedVersion+= '0';
			}
			if(bigger) {
				if(_version >= allowedVersion) {
					return true;
				}
			}
			else if(smaller) {
				if(_version < allowedVersion) {
					return true;
				}
			}
			else if(_version == allowedVersion) {
				return true;
			}
		}
	}
	else if((typeof(versions) == 'string') && (versions != '')) {
		var allowedVersion= normalizeVersion(versions);
		maxLength= ((_version.length > allowedVersion.length)? _version.length: allowedVersion.length);
		for(var i= _version.length; i < maxLength; i++) {
			_version+= '0';
		}
		for(var i= allowedVersion.length; i < maxLength; i++) {
			allowedVersion+= '0';
		}
		if(_version == allowedVersion) {
			return true;
		}
	}
	return false;
}

function normalizeVersion(version) {
	if((typeof(version) == 'string') && (version != '')) {
		var versionArray= version.split('.');
		var normalizedPartlength= 4;
		var normalizedVersion= '';
		var versionArrayLength= versionArray .length;
		var versionPartLength= 0;
		
		for(var i= 0; i < versionArrayLength; i++) {
			if((typeof(versionArray[i]) == 'string') && (versionArray[i] != '')) {
				versionPartLength= versionArray[i].length;
				if((normalizedPartlength- versionPartLength) > 0) {
					for(var j= 0; j < (normalizedPartlength- versionPartLength); j++) {
						versionArray[i]= '0'+ versionArray[i];
					}
				}
			}
			normalizedVersion+= versionArray[i];
		}
		return normalizedVersion;
	}
	return '0';
}