var browser = browsercheck();
/*
var str = "";
(function(obj){
	for(var i in obj){
		str += i + " : ";
		if(typeof obj[i] == "object"){
			arguments.callee(obj[i]);
		}
		else{
			str += obj[i] + "\n";
		}
	}
})(browser)
alert(str);
*/

function browsercheck(){
	
	function getUserAgent(){
		return navigator.userAgent;
	}
	
	function compareVersion(ver1,ver2){
		
		var ret = true;
		var v1 = ver1.split(".");
		var v2 = ver2.split(".");
		var L = Math.min(v1.length,v2.length);
		
		for(var i=0 ; i<L ; i++){
			if(ret != true) break;
			
			if(v1[i] > v2[i]){
				ret = ver1;
			}
			else if(v1[i] < v2[i]){
				ret = ver2;
			}
		}
		
		if(i == L){
			if(v1.length > v2.length){
				ret = ver1;
			}
			else if(v1.length < v2.length){
				ret = ver2;
			}
		}
		
		return ret;
	}
	
	function client(){
		
		var str = null;
		var UA = getUserAgent();
		
		// MSIE
		if(UA.toUpperCase().indexOf("MSIE") != -1){
			str = "MSIE";
		}
		// safari
		else if(UA.toUpperCase().indexOf("SAFARI") != -1){
			str = "Safari";
		}
		// fx
		else if(UA.toUpperCase().indexOf("FIREFOX") != -1){
			str = "Firefox";
		}
		// netscape
		else if(
			UA.toUpperCase().indexOf("NETSCAPE") != -1 || 
			(
				UA.toUpperCase().indexOf("MOZILLA/4") != -1 && 
				UA.toUpperCase().indexOf("MSIE") == -1
			)
		){
			str = "Netscape";
		}
		// opera
		else if(UA.toUpperCase().indexOf("OPERA") != -1){
			str = "Opera";
		}
		
		return str;
	}
	
	function platform(){
		
		var str = {
			major : null,
			minor : null
		};
		var UA = getUserAgent();
		
		// windows
		if(UA.toUpperCase().indexOf("WINDOWS") != -1){
			str["major"] = "Windows";
			if(UA.toUpperCase().indexOf("NT 6.") != -1){
				str["minor"] = "Vista";
			}
			else if(UA.toUpperCase().indexOf("NT 5.1") != -1){
				str["minor"] = "XP";
			}
			else if(UA.toUpperCase().indexOf("NT 5.0") != -1){
				str["minor"] = "2000";
			}
			else if(
				UA.toUpperCase().indexOf("WINDOWS 95") != -1 || 
				UA.toUpperCase().indexOf("WIN 95") != -1
			){
				str["minor"] = "95";
			}
			else if(
				UA.toUpperCase().indexOf("WINDOWS 98") != -1 || 
				UA.toUpperCase().indexOf("WIN 98") != -1
			){
				str["minor"] = "98";
			}
			else if(UA.toUpperCase().indexOf("WIN 9X 4.90") != -1){
				str["minor"] = "ME";
			}
			
		}
		// mac os
		else if(UA.toUpperCase().indexOf("MAC") != -1){
			var pattern = new RegExp("MSIE ([0-9\.]+)");
			var match   = UA.match(pattern)
			
			
			if(
				UA.toUpperCase().indexOf("MAC OS X") != -1 || 
				(
					match != null && 
					match[1] - 0 >= 5.1
				)
			){
				str["major"] = "MacOSX";
			}
			else{
				str["major"] = "Mac";
			}
		}
		else if(UA.toUpperCase().indexOf("X11") != -1){
			str["major"] = "unix";
		}
		
		return str;
	}
	
	function version(){
		
		var str = {
			major : null,
			minor : null
		}
		var Cl = client();
		var Pl = platform().major;
		var UA = getUserAgent();
		
		// MSIE
		if(Cl == "MSIE"){
			var pattern = new RegExp("MSIE ([0-9\.]+)");
			var match = UA.match(pattern);
			if(match != null){
				str["major"] = match[1].charAt(0);
				str["minor"] = match[1];
			}
		}
		// safari
		if(Cl == "Safari"){
			var pattern = new RegExp("Safari/([0-9\.]+)");
			var match = UA.match(pattern);
			if(match != null){
				var v = match[1] - 0;
				if(compareVersion(v.toString(),"312.6") == true || compareVersion(v.toString(),"312.6") == "312.6"){
					str["major"] = 1;
				}
				else if(
					(compareVersion(v.toString(),"412") == v) && 
					(compareVersion(v.toString(),"419.3") == true || compareVersion(v.toString(),"419.3") == "419.3")
				){
					str["major"] = 2;
				}
				else if(compareVersion(v.toString(),"522") == v){
					str["major"] = 3;
				}
				str["minor"] = match[1];
			}
		}
		// fx
		if(Cl == "Firefox"){
			var pattern = new RegExp("Firefox/([0-9\.]+)");
			var match = UA.match(pattern);
			if(match != null){
				str["major"] = match[1].charAt(0);
				str["minor"] = match[1];
			}
		}
		// netscape
		if(Cl == "Netscape"){
			var pattern = new RegExp("Netscape/([0-9\.]+)");
			var match = UA.match(pattern);
			if(match != null){
				str["major"] = match[1].charAt(0);
				str["minor"] = match[1];
			}
			else{
				var pattern = new RegExp("Mozilla/([0-9\.]+)");
				var match = UA.match(pattern);
					if(match != null){
						str["major"] = match[1].charAt(0);
						str["minor"] = match[1];
					}
			}
		}
		// opera
		if(Cl == "Opera"){
			var pattern = new RegExp("Opera/([0-9\.]+)");
			var match = UA.match(pattern);
			if(match != null){
				str["major"] = match[1].charAt(0);
				str["minor"] = match[1];
			}
		}
		
		return str;
	}
	
	return {
		plf : platform(),
		nav : client(),
		ver : version()
	}
}






































/*
Browser checking script Ver.4.0.0
2007.12.21.
*/
