// Y!Labs. 2005/6/23

// init
var xLBenv = {
	os : {
		name     : 'ﾉﾔﾌﾀ',
		code     : 'na'
	},
	browser : {
		name     : 'ﾉﾔﾌﾀ',
		version  : 0,
		code     : 'na'
	},
	flash : {
		isInstall : false,
		version   : 0
	},
	wmp : {
		isInstall : false,
		version   : 0
	},
	activex : {
		enable    : false
	}
};

// error
window.onerror = xLB_err;

// user agent
var xLBua   = navigator.userAgent;

// built-in object
var xLBdcap = document.all;
var xLBlcap = document.layers;
var xLBgcap = document.getElementById;
var xLBopr  = window.opera; //Opera

// browser
if (!xLBdcap && xLBgcap && !xLBopr) { //ns6.x ns7.x Gecko
	if (xLBua.indexOf('Netscape6') != -1 || xLBua.indexOf('Netscape/7') != -1) {
		xLBenv.browser.name = "Netscape Navigator";
		xLBtmp  = xLBua.split("/");
		xLBtmpc = xLBtmp[3].split(" ");
		xLBenv.browser.version = parseFloat(xLBtmpc[0]);
		xLBenv.browser.code = "ns6";
	} else if (xLBua.indexOf('KHTML') != -1) {
		xLBenv.browser.name = "Safari";
		xLBenv.browser.code = "safari";
	} else {
		xLBenv.browser.name = "Firefox､ﾊ､ﾉ､ﾎGeckoｷﾏ･ﾖ･鬣ｦ･ｶ";
		xLBenv.browser.code = "mozilla";
	}
}

if (xLBlcap) { //ns4.0x ns4.5x
	xLBenv.browser.name = "Netscape Navigator";
	xLBtmp  = xLBua.split("/");
	xLBtmpc = xLBtmp[1].split(" ");
	xLBenv.browser.version = parseFloat(xLBtmpc[0]);
	xLBenv.browser.code = "ns4";
}

if (xLBdcap && xLBgcap && !xLBopr) { //ie5.0x ie5.5 ie6.0
	xLBenv.browser.name = "Internet Explorer";
	xLBtmp  = xLBua.split("MSIE ");
	xLBtmpc = xLBtmp[1].split(";");
	xLBenv.browser.version = parseFloat(xLBtmpc[0]);
	xLBenv.browser.code = "ie5";

// for ie7 beta

if (xLBenv.browser.version >= 7.0) {
	xLBenv.browser.name = "ﾉﾔﾌﾀ";
	xLBenv.browser.code = "na";
	xLBenv.browser.version = 0;
}

}

if (xLBdcap && !xLBgcap) { //ie4.0x
	xLBenv.browser.name = "Internet Explorer";
	xLBtmp  = xLBua.split("MSIE ");
	xLBtmpc = xLBtmp[1].split(";");
	xLBenv.browser.version = parseFloat(xLBtmpc[0]);
	xLBenv.browser.code = "ie4";
}

if (xLBopr) { //Opera
		xLBenv.browser.name = "Opera";
		xLBenv.browser.code = "opera";
}

// OS
if (xLBua.indexOf('Win') != -1) {
	if (xLBua.indexOf('95') != -1)     { xLBenv.os.code = "win95";  xLBenv.os.name = "Windows 95"; }
	if (xLBua.indexOf('98') != -1)     { xLBenv.os.code = "win98";  xLBenv.os.name = "Windows 98"; }
	if (xLBua.indexOf('4.90') != -1)   { xLBenv.os.code = "win98";  xLBenv.os.name = "Windows ME"; }
	if (xLBua.indexOf('NT 4.0') != -1) { xLBenv.os.code = "winNT4"; xLBenv.os.name = "Windows NT 4.0"; }
	if (xLBua.indexOf('NT 5.0') != -1) { xLBenv.os.code = "winNT5"; xLBenv.os.name = "Windows 2000"; }
	if (xLBua.indexOf('NT 5.1') != -1) { xLBenv.os.code = "winNT5"; xLBenv.os.name = "Windows XP"; }
	if (xLBua.indexOf('SV1') != -1) { xLBenv.os.code = "winNT5s"; xLBenv.os.name = "Windows XP SP2"; }
	if (xLBua.indexOf('NT 6.0') != -1) { xLBenv.os.code = "winNT6"; xLBenv.os.name = "Windows Vista"; }
}
if (xLBua.indexOf('Mac') != -1){    // { xLBenv.os.code = "mac"; xLBenv.os.name = "MacOS"; }
	if (xLBua.indexOf('IE 5.2') != -1) { xLBenv.os.code = "MacOSX";  xLBenv.os.name = "MacOSX"; }
	else if(xLBua.indexOf('X') != -1) { xLBenv.os.code = "MacOSX";  xLBenv.os.name = "MacOSX"; }
	else { xLBenv.os.code = "MacOS9";  xLBenv.os.name = "MacOS9"; }
}




// Flash
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if (plugin) {
	xLBenv.flash.isInstall = true;
	xLBenv.flash.version = parseInt(plugin.description.substring(plugin.description.indexOf(".")-1));
} else if (xLBenv.browser.code.indexOf('ie') != -1 && xLBenv.os.code.indexOf('win') != -1) {

	document.write('<script language="VBScript"\> \n');
	document.write('Private i, x \n');
	document.write('Fvers = 0 \n');
	document.write('on error resume next \n');
	document.write('For i = 12 To 1 Step -1 \n');
	document.write('Set x = CreateObject("ShockwaveFlash.ShockwaveFlash." & i) \n');
	document.write('Fisinstall = IsObject(x) \n');
	document.write('If Fisinstall Then \n');
	document.write('Fvers = CStr(i) \n');
	document.write('Exit For \n');
	document.write('End If \n');
	document.write('Next \n');
	document.write('</script\> \n');

	xLBenv.flash.isInstall = Fisinstall;
	xLBenv.flash.version = Fvers;
}
if (isNaN(xLBenv.flash.version) || xLBenv.flash.version == 0) { xLBenv.flash.isInstall = false; }


// WindowsMediaPlayer
var wmplugin = (navigator.mimeTypes && navigator.mimeTypes["video/x-ms-asf"]) ? navigator.mimeTypes["video/x-ms-asf"].enabledPlugin : 0;
if (wmplugin) {
	xLBenv.wmp.isInstall = true;
	xLBenv.wmp.version = -1;
} else if (xLBenv.browser.code.indexOf('ie') != -1 && xLBenv.os.code.indexOf('win') != -1) {
	document.write('<object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" width="1" height="1" id="WMP6" viewastext></object>');
	document.write('<object classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="1" height="1" id="WMP7" viewastext></object>');

	document.write('<script language="VBScript"\> \n');
	document.write('on error resume next \n');
	document.write('WMP6obj = (WMP6.FileName = "") \n');
	document.write('WMP7obj = (WMP7.URL = "") \n');
	document.write('</script\> \n');

	if (WMP7obj) {
		xLBenv.activex.enable = true;
		xLBenv.wmp.isInstall = true;
		xLBenv.wmp.version = parseInt(WMP7.versionInfo);
	} else if(WMP6obj) {
		xLBenv.activex.enable = true;
		xLBenv.wmp.isInstall = true;
		xLBenv.wmp.version = 6;
	}
}
if (isNaN(xLBenv.wmp.version) || xLBenv.wmp.version == 0) { xLBenv.wmp.isInstall = false; }

// for WMP11 beta
if (xLBenv.wmp.version >= 11) {
	xLBenv.wmp.version = -1;
}

// error trap
function xLB_err() {
	return true;
}

