var nav = nav_check();
var plf = plf_check();
var ver = ver_check();

//hand made 'split' -> explode
function explode(separator,string){
	var return_arr = new Array();
	var stop_flag = false;
	
	while(stop_flag == false){
		if(string.indexOf(separator) != -1){
			var tmp = string.indexOf(separator);
			return_arr[return_arr.length] = string.substring(0,tmp);
			string = string.substring(tmp+separator.length,string.length);
		}
		else{
			stop_flag = true;
			return_arr[return_arr.length] = string;
		}
	}
	return return_arr;
}





// nav
function MSIE(){
	if(navigator.userAgent.indexOf("Opera") != -1) return false;
	if(navigator.userAgent.indexOf("Mac") != -1) return false;
	if(navigator.userAgent.indexOf("PowerPC") != -1) return false;
	if(navigator.userAgent.indexOf("PPC") != -1) return false;
	
	if(navigator.userAgent.indexOf("MSIE") != -1) return true;
	if(document.all) return true;
	return false;
}

function MacIE(){
	if(navigator.userAgent.indexOf("Opera") != -1) return false;
	if(navigator.userAgent.indexOf("Win") != -1) return false;
	
	if(navigator.userAgent.indexOf("MSIE") != -1) return true;
	if(document.all) return true;
	return false;
}

function Moz5(){
	if(navigator.userAgent.indexOf("Mozilla/5") != -1) return true;
	return false;
}

function NN7(){
	if(navigator.userAgent.indexOf("Mozilla/5") != -1 && navigator.userAgent.indexOf("Netscape") != -1) return true;
	return false;
}

function FF(){
	if(navigator.userAgent.indexOf("Mozilla/5") != -1 && navigator.userAgent.indexOf("FireFox") != -1) return true;
	return false;
}

function NN4(){
	if(document.layers) return true;
	if(navigator.userAgent.indexOf("Mozilla/2") != -1) return true;
	return false;
}

function Opera(){
	if(navigator.userAgent.indexOf("Opera") != -1) return true;
	return false;
}

function safari(){
	if(navigator.userAgent.indexOf("AppleWebKit") != -1) return true;
	if(navigator.userAgent.indexOf("safari") != -1) return true;
	return false;
}

function nav_check(){
	var str;
	
	if(NN4()){ // NN4
		str = "NN4";
	}
	else if(MSIE()){ // MSIE
		str = "MSIE";
	}
	else if(MacIE()){ // MacIE
		str = "MacIE";
	}
	else if(safari()){ // safari
		str = "safari";
	}
	else if(NN7()){ // NN7
		str = "NN7";
	}
	else if(FF()){ // FF
		str = "FF";
	}
	else if(Moz5()){ // Moz5
		str = "Moz5";
	}
	else if(Opera()){ // Opera
		str = "Opera";
	}
	else{
		str = "Unknown";
	}
	
	return str;
}





// platform
function plf_check(){
	var str;
	var age = navigator.userAgent;
	
	if(age.indexOf("Mac") != -1){
		if(age.indexOf("Mac OS X") != -1){
			str = "MacOSX";
		}
		else{
			str = "Mac";
		}
	}
	else if(age.indexOf("Win") != -1){
		str = "Win";
	}
	else{
		str = "other";
	}
	
	return str;
}





//version
function ver_check(){
	var str;
	var age = navigator.userAgent;
	
	if(nav_check() == "NN4"){
		str = age.substring(age.indexOf("/")+1,age.indexOf(" "));
	}
	else if(nav_check() == "NN7"){
		str = age.substring(age.indexOf("/")+1,age.indexOf(" "));
	}
	else if(nav_check() == "FF"){
		str = age.substring(age.indexOf("/")+1,age.indexOf(" "));
	}
	else if(nav_check() == "Moz5"){
		str = age.substring(age.indexOf("/")+1,age.indexOf(" "));
	}
	else if(nav_check() == "MSIE"){
		var MSIE_tmp = explode(" ",age)[3];
		str = MSIE_tmp.substring(0,MSIE_tmp.indexOf(";"));
		if(str.substring(0,1) < 4){
			str = str.substring(0,3);
		}
	}
	else if(nav_check() == "MacIE"){
		var MacIE_tmp = explode(" ",age)[3];
		str = MacIE_tmp.substring(0,MacIE_tmp.indexOf(";"));
	}
	else if(nav_check() == "Opera"){
		str = explode(" ",age)[8];
	}
	else if(nav_check() == "safari"){
		str = age.substring(age.indexOf("/")+1,age.indexOf(" "));
	}
	else{
		str = "0";
	}
	
	return str;
}


/*
plf -> Platform "Win","Mac","other"                                    string
nav -> Browser  "NN4","Moz5","MSIE","MacIE","Opera","safari","unknoun" string
ver -> Version  The numerical value to the third place of a decimal

the version number of safari is arranged with Moz5 for convenience.
it is effective at NN2 and IE3 and the higher version.
if you want lower version number, please give me NN1 or IE2 the whole platform :-)

Browser checking script Ver.3.0.2
2004.06.10.
*/
