// ---------------------------------------------------------
//
// Get the UserAgent Infomation.
// ---------------------------------------------------------
var PF_info = new Object();
var USERAGENT = navigator.userAgent.toUpperCase();
var OSTYPE = new Object();
OSTYPE['W95'] = new PF_setOS('Windows 95','win','WINDOWS 95,WIN95');
OSTYPE['W98'] = new PF_setOS('Windows 98','win','WINDOWS 98,WIN98');
OSTYPE['WME'] = new PF_setOS('Windows 98','win','WINDOWS ME,WINME');
OSTYPE['WNT'] = new PF_setOS('Windows NT','win','WINDOWS NT;');
OSTYPE['W2K'] = new PF_setOS('Windows 2000','win','WINDOWS NT 5.0,WIN2000');
OSTYPE['WXP'] = new PF_setOS('Windows XP','win','WINDOWS NT 5.1,WINDOWS XP');
OSTYPE['WIN'] = new PF_setOS('Windows','win','WIN');
OSTYPE['MAC'] = new PF_setOS('Macintosh','mac','MAC');
OSTYPE['LNX'] = new PF_setOS('Linux','lnx','LINUX');
OSTYPE['X11'] = new PF_setOS('UNIX','x11','X11');
OSTYPE['OSX'] = new PF_setOS('Mac OS X','osx','OSX');
OSTYPE['ZZZ'] = new PF_setOS('Unknown','def','none');
var BROWSERS = new Object();
BROWSERS['MZ'] = new PF_setBrowser('Mozilla','mz','GECKO');
BROWSERS['IE'] = new PF_setBrowser('Internet Explorer','ie','MSIE');
BROWSERS['AO'] = new PF_setBrowser('AOL','ao','AOL');
BROWSERS['SF'] = new PF_setBrowser('Safari','sf','SAFARI');
BROWSERS['OP'] = new PF_setBrowser('Opera','op','OPERA');
BROWSERS['OW'] = new PF_setBrowser('OmniWeb','ow','OMNIWEB');
BROWSERS['IC'] = new PF_setBrowser('iCab','ic','ICAB');
BROWSERS['NS'] = new PF_setBrowser('Netscape','ns','NETSCAPE,NETSCAPE6');
BROWSERS['NN'] = new PF_setBrowser('Netscape Navigator','nn','NSC');
BROWSERS['ZZ'] = new PF_setBrowser('Unknown','def','UNDEFINED');
USERSYSTEM = new PF_setUserSystem(PF_getUserOS(),PF_getUserAgent());

function PF_setUserSystem(os,ua) {
	this.osLongName = OSTYPE[os].longName;
	this.osShortName = OSTYPE[os].shortName;
	this.browserLongName = BROWSERS[ua].longName;
	this.browserShortName = BROWSERS[ua].shortName;
	this.browserVersion = PF_getUserAgentVersion(ua);
}
function PF_setOS(longName,shortName,keyWord) {
	this.longName = longName;
	this.shortName = shortName;
	this.keyword = keyWord.split(",");
}
function PF_setBrowser(longName,shortName,keyWord) {
	this.longName = longName;
	this.shortName = shortName;
	this.keyword = keyWord.split(",");
}
// Get OS Data
function PF_getUserOS() {
	var chkX11=null;
	var myPlugin = navigator.plugins;
	for (var i in OSTYPE) {
		for (var k=0;k<OSTYPE[i].keyword.length;k++){
			if (USERAGENT.indexOf(OSTYPE[i].keyword[k]) != -1) {
				if (i == "MAC") {
					// Serch OS X
					for (var j=0; j<myPlugin.length; j++) {
						if(typeof(myPlugin[j].filename)!="undefined"){
							if ((myPlugin[j].filename.indexOf("QuickTime") != -1) && (myPlugin[j].filename.indexOf(".plugin") != -1)) {
								return 'OSX';
							}
							if ((myPlugin[j].filename.indexOf("OmniWeb") != -1) && (myPlugin[j].filename.indexOf(".app") != -1)) {
								return 'OSX';
							}
						}
					}
				}
				// Check UNIX
				if(i!='X11'){
					return i;
				}else{
					chkX11=i;
				}
			}
		}
	}
	if(chkX11!=null){
		return chkX11;
	}
	return 'ZZZ';
}
// Get Browser Name.
function PF_getUserAgent(){
	var i,k,ie_gecko=null;
	for (i in BROWSERS) {
		for (k=0;k<BROWSERS[i].keyword.length;k++){
			if (USERAGENT.indexOf(BROWSERS[i].keyword[k] + " ") != -1 || USERAGENT.indexOf(BROWSERS[i].keyword[k] + "/") != -1) {
				// False IE Check
				if(i!="IE"&&BROWSERS[i].keyword[k]!="GECKO"){
					return i;
				}else{
					ie_gecko=i;
				}
			}
		}
	}
	if(ie_gecko!=null){
		return ie_gecko;
	}
	// Serch Communicator
	if (navigator.appName.toUpperCase().indexOf("NETSCAPE") != -1) {
		return 'NN';
	}
	return 'ZZ';
}
// Get Browser Version
function PF_getUserAgentVersion() {
	var version = 0;
	var key = PF_getUserAgentVersion.arguments[0];
	var bwsName = USERAGENT + ";";
	if(PF_getUserAgentVersion.arguments.length<=0){
		key = PF_getUserAgent();
	}
	for (var k=0;k<BROWSERS[key].keyword.length;k++){
		var checkStr = BROWSERS[key].keyword[k] + " ";
		checkStr = (bwsName.indexOf(checkStr) != -1) ? checkStr : BROWSERS[key].keyword[k] + "/";
		// Mozilla
		if(key=="MZ") checkStr = "RV:";
		var findStart = bwsName.indexOf(checkStr);
		var vStart = findStart + checkStr.length;
		if (findStart != -1) {
			var findEnd1 = bwsName.indexOf(";",vStart);
			var findEnd2 = bwsName.indexOf(" ",vStart);
			var findEnd3 = bwsName.indexOf(")",vStart);
			var vEnd = Math.min(findEnd1,findEnd2);
			var vEnd = Math.min(vEnd,findEnd3);
			if (vEnd < 0) {
				vEnd = findEnd1;
			}
			version = bwsName.substring(vStart, vEnd);
		}
	}
	var realVersion = parseFloat(version);
	realVersion = (isNaN(realVersion)) ? version : realVersion;
	//return realVersion;
	return version;
}
// Check Plug-In
function PF_PluginCheck(pluginName) {
	var keyWords = pluginName + " ";
	var s = 0;
	var e = 0;
	var serchStr = '';
	var pluginObj = new Object();
	
	if (navigator.plugins && navigator.plugins.length > 0) {
	for (i=0; i<navigator.plugins.length; i++) {
		serchStr = navigator.plugins[i].description;
		if (serchStr.indexOf(keyWords)>=0) {
			s = serchStr.indexOf(keyWords);
			s += keyWords.length;
			e = serchStr.indexOf(" ", s);
			pluginObj['version'] = serchStr.substring(s, e);
			keyWords = "r";
			s = serchStr.indexOf(keyWords);
			s += keyWords.length;
			pluginObj['revision'] = serchStr.substring(s, serchStr.length);
			return pluginObj;
		}
	}
	} else {
		return false;
	}
}
function PF_getSearchVars(myName){
	myStr=location.search;
	myLen=myStr.length;
	myData="undefined";
	myStr=myStr.substring(1,myLen)+"&";
	myName=myName+"=";
	start=myStr.indexOf(myName);
	if(start>=0){
		end=myStr.indexOf("&",start);
		myData=myStr.substring(start+myName.length,end);
	}
	return myData;
}
// ---------------------------------------------------------
// Cookie Logic
// ---------------------------------------------------------
// Write
function PF_setCookie() {
	var x,cName,cValue,cExpires,cPath,cDomain,cSecure;
	var arg=PF_setCookie.arguments;
	if(arg.length==0) return false;
	cName=arg[0];
	cValue=(typeof(arg[1])!="undefined")?arg[1]:"";
	cPath=(typeof(arg[3])!="undefined")?arg[3]:"";
	cPath=(cPath!="")?"Path="+cPath+"; ":"";
	cDomain=(typeof(arg[4])!="undefined")?arg[4]:"";
	cDomain=(cDomain!="")?"Domain="+cDomain+"; ":"";
	cSecure=(arg[5]>0)?" secure":"";
	if(arg[2]<0||cValue==""){
		cExpires="expires=Fri, 31-dec-1999 23:59:59 GMT" + "; ";
	}else if(arg[2]>0){
		var cTime=new Date();
		cTime.setTime(cTime.getTime() + (arg[2]*1000*60*60*24));
		cExpires="expires="+cTime.toGMTString() + "; ";
	}else{
		cExpires="";
	}
	x=cName+"="+escape(cValue)+"; "+cExpires+cPath+cDomain+cSecure;
	document.cookie = x;
	if(PF_getCookie(cName)!=cValue) return false;
	return true;
}
// Read
function PF_getCookie(cName) {
	var cData = null;
	var cStr = document.cookie + ";";
	var fStart = 0;
	
	cName += "=";
	fStart = cStr.indexOf(cName);
	if (fStart >= 0) {
		var fEnd = cStr.indexOf(";",fStart);
		cData = unescape(cStr.substring(fStart + cName.length, fEnd));
	}
	return cData;
}
// ---------------------------------------------------------
// DHTML Logic
// ---------------------------------------------------------
function PF_reloadPage(){
	PF_setCookie(ckName2,0,-1);
	location.reload();
	return false;
}
function PF_ExistObject(){
	var tgObj = PF_ExistObject.arguments[0];
	if(typeof(tgObj)!="string"){
		return tgObj;
	}
	if(document[tgObj]){
		return document[tgObj];
	}
	if(document.getElementById(tgObj)){
		return document.getElementById(tgObj);
	}
}
function PF_RollOver(){
	var tgObj,arg = PF_RollOver.arguments;
	document.PF_id = new Array();
	document.PF_path = new Array();
	for(var i=0;i<(arg.length-2);i+=3){
		tgObj=PF_ExistObject(arg[i]);
		if(tgObj.disabled==true) return;
		tgObj.src=arg[i+1];
		document.PF_id[i] = arg[i];
		document.PF_path[i] = arg[i+2];
	}
}
function PF_RollOut(){
	var tgObj;
	for(var i=0;i<(document.PF_id.length);i++){
		tgObj=PF_ExistObject(document.PF_id[i]);
		tgObj.src=document.PF_path[i];
	}
}
function PF_PreLoad(){
	var i,j=0
	if(typeof(PF_pl)!="undefined") {
		var arg=PF_pl;
		document.PF_preImg = new Array();
		for(var i=0;i<(arg.length);i++){
			document.PF_preImg[j] = new Image;
			document.PF_preImg[j++].src = arg[i];
			window.status = j+'images Loading...';
		}
		window.status = "May I help you ?";
	}
}
// ---------------------------------------------------------
// Window Logic
// ---------------------------------------------------------
function PF_openTheWindow() {
	var winOption='', arg=PF_openTheWindow.arguments;
	winOption += "toolbar=" + arg[0];
	winOption += ",location=" + arg[1];
	winOption += ",directories=" + arg[2];
	winOption += ",status=" + arg[3];
	winOption += ",menubar=" + arg[4];
	winOption += ",scrollbars=" + arg[5];
	winOption += ",resizable=" + arg[6];
	winOption += ",width=" + arg[7];
	winOption += ",height=" + arg[8];
	winOption += ",top=" + arg[9];
	winOption += ",left=" + arg[10];
	winOption += ",screenY=" + arg[9];
	winOption += ",screenX=" + arg[10];
	PF_info[arg[12]] = window.open(arg[11],arg[12],winOption);
	PF_info[arg[12]].focus();
}
function PF_setWindow(w,h,t,l) {
	moveTo(t,l);
	resizeTo(w,h);
}
function PF_backPage(){
	if(!window.opener.closed){
		window.close();
		return false;
	}
	return true;
}
function PF_frameCheck() {
	if(top != self){
		if(self.location.href.indexOf("flyman_jp.php")<0){
			top.location.href=self.location.href;
		}
	}
}
// ---------------------------------------------------------
// Data
// ---------------------------------------------------------
function number_format(Num){
	var x,y,figure=3,rtnstr='';
	var numstr=""+Num;
	var zeroup=(numstr.split("."))[0];
	var zeroud=(numstr.split("."))[1];
	var len=zeroup.length;
	var tmp=len;
	if(len<4) return numstr;
	rtnstr=zeroup;
	while(tmp>3){
		tmp-=figure;
		x=rtnstr.substr(0,tmp);
		y=rtnstr.substr(tmp,len);
		rtnstr=x+","+y;
		len=rtnstr.length;
		tmp=rtnstr.indexOf(",");
	}
	if(typeof(zeroud)!="undefined") rtnstr=rtnstr+"."+zeroud;
	return rtnstr;
}
function PF_windowStatus(mesg){
	window.status=mesg;
}
// ---------------------------------------------------------
// Error Routin
// ---------------------------------------------------------
function error(mesg){
	alert(mesg);
}
