// ====================================================================================================
//
// Author  : mashimonator
// Create  : 2009/04/18
// Update  : 2009/04/18
// Description : UserAgentを使用せずにブラウザを判別する
//
// ====================================================================================================


var discernBrowser = {
	
	isIE : function() {
		IE='\v'=='v';
		if(IE){
			return true;
		}else{
			return false;
		}
	},
	
	isIE5 : function() {
		var md = window.showModelessDialog;
		var ns = document.namespaces;
		var im = document.implementation;
		if(discernBrowser.isIE()){
			if( !window.XMLHttpRequest && ( (md && ns && !im) || (md && !ns && !im) ) ){
				return true;
			} else if (discernBrowser.isIEQuirks()) {
				return true;
			} else {
				return false;
			}
		}else{
			return false;
		}
	},
	
	isIE6 : function() {
		var md = window.showModelessDialog;
		var ns = document.namespaces;
		var im = document.implementation;
		if(discernBrowser.isIE()){
			if(!window.XMLHttpRequest && (md && ns && im) ){
				return true;
			} else {
				return false;
			}
		}else{
			return false;
		}
	},
	
	isIE7 : function() {
		if(discernBrowser.isIE()){
			if(window.XMLHttpRequest){
				if(!document.documentMode){
					return true;
				} else if (document.documentMode && document.documentMode == '7') {
					return true;
				} else {
					return false;
				}
			} else {
				return false;
			}
		}else{
			return false;
		}
	},
	
	isIEQuirks : function() {
		if(discernBrowser.isIE()){
			if(window.XMLHttpRequest){
				if(document.documentMode && document.documentMode == '5'){
					return true;
				} else {
					return false;
				}
			} else {
				return false;
			}
		}else{
			return false;
		}
	},
	
	isEmulateIE7 : function() {
		if(discernBrowser.isIE()){
			if(window.XMLHttpRequest){
				if(document.documentMode && document.documentMode == '7'){
					return true;
				} else {
					return false;
				}
			} else {
				return false;
			}
		}else{
			return false;
		}
	},
	
	isIE8 : function() {
		if(discernBrowser.isIE()){
			if(document.documentMode && !discernBrowser.isEmulateIE7() && !discernBrowser.isIEQuirks()){
				return true;
			} else {
				return false;
			}
		}else{
			return false;
		}
	},
	
	isFirefox : function() {
		FF=/a/[-1]=='a';
		if(FF){
			return true;
		}else{
			return false;
		}
	},
	
	isFirefox2 : function() {
		FF2=(function x(){})[-6]=='x';
		if(FF2){
			return true;
		}else{
			return false;
		}
	},
	
	isFirefox3 : function() {
		FF3=(function x(){})[-5]=='x';
		if(FF3){
			return true;
		}else{
			return false;
		}
	},
	
	isSafari : function() {
		Saf=/a/.__proto__=='//';
		if(Saf){
			return true;
		}else{
			return false;
		}
	},
	
	isOpera : function() {
		Op=/^function \(/.test([].sort);
		if(Op){
			return true;
		}else{
			return false;
		}
	},
	
	isChrome : function() {
		Chr=/source/.test((/a/.toString+''));
		if(Chr){
			return true;
		}else{
			return false;
		}
	}
	
}