
var send_flag = false;

//-------------------------------------------------------------------------------
//	指定アイテムにフォーカスを当てる
//-------------------------------------------------------------------------------
function mySetFocus( item )
{
	document.forms[0].elements[item].select();
	document.forms[0].elements[item].focus();
}
//-------------------------------------------------------------------------------
//	「削除」時、隠しフィールドに'go'を格納してサブミットする
//-------------------------------------------------------------------------------
function myDeleteCheck(item, secflg, secno)
{
	if (send_flag) {
		alert("処理中です。しばらくお待ちください。");
	}
	else {
		if ( confirm('削除してよろしいですか？') ){
			if ( secflg==true ){
				if ( CheckSecpass(secno)==false ){	//セキュリティパスワード入力＆チェック
					event.returnValue = false;
					return false;
				}
				event.returnValue = false;
			}
			item.value = 'go';
			send_flag = true;
			document.forms[0].submit();
			return true;
		}
	}
	return false;
}
//-------------------------------------------------------------------------------
//	「実行」時、隠しフィールドに'go'を格納してサブミットする
//-------------------------------------------------------------------------------
function myExecute(item)
{
	if (send_flag) {
		alert("処理中です。しばらくお待ちください。");
		return false;
	}
	else {
		item.value = 'go';
		send_flag = true;
		document.forms[0].submit();
//		return true;
	}
}
//-------------------------------------------------------------------------------
//	「Enter-key」入力時、隠しフィールドに'go'を格納してサブミットする
//-------------------------------------------------------------------------------
function myEnterExecute(item)
{
	if ( event.keyCode!=13 ){
//		alert(event.keyCode);
		return false;
	}

	event.returnValue = false;
	if (send_flag) {
		alert("処理中です。しばらくお待ちください。");
		return false;
	}
	else {
		len = document.all["jan"].value.length;
		if ( len!=8 && len!=10 && len!=13 ){
			alert('ISBN/JANコードは8,10,13桁のいずれかで入力してください。' );
			return false;
		}
//		alert('?????????? Check the length='+document.all["jan"].value.length );
		item.value = 'go';
		send_flag = true;
		document.forms[0].submit();
		return false;
	}
}
//-------------------------------------------------------------------------------
//	棚番の隠しフィールドに値、名称フィールドに名称をセットする
//-------------------------------------------------------------------------------
function mySetTanaban( name )
{
	document.all["tananame"].value = name;
}

//-------------------------------------------------------------------------------
//暗証番号入力画面呼び出し
//-------------------------------------------------------------------------------
function CheckSecpass(pwmd5)
{
	var ret = false;
	document.all["acd"].value = '';

	if ( pwmd5.length==0 ) {
		ret = true;
	}
	else {
		var result = window.showModalDialog("./mn0701.php",
					window,
					"status:false;dialogWidth:350px;dialogHeight:180px;status:no;help:no"
				);

		if ( result!=void(0) && result.indexOf("ENTER:",0) == 0 ){
			var code = result.substr(6,10);
			if ( passchk( pwmd5,code ) ){
				document.all["acd"].value = code;
				ret = true;
			}
			else {
				ret = false;
			}
		}
		else {
			ret = false;
		}
	}
	return ret;
}

function passchk(pwmd5,pwin) {
	var pw;

	pw = pwin;
//	  pw = utf16to8(pw);
	pw = MD5_hexhash(pw);
	if(pw == pwmd5){
		return true;
	}
	else {
		alert("パスワードが違います");
		return false;
	}
}
/* md5.js - MD5 Message-Digest
 * Copyright (C) 1999,2002 Masanao Izumo <iz@onicos.co.jp>
 * Version: 2.0.0
 * LastModified: May 13 2002
 *
 * This program is free software.  You can redistribute it and/or modify
 * it without any warranty.  This library calculates the MD5 based on RFC1321.
 * See RFC1321 for more information and algorism.
 */

/* Interface:
 * md5_128bits = MD5_hash(data);
 * md5_hexstr = MD5_hexhash(data);
 */

/* ChangeLog
 * 2002/05/13: Version 2.0.0 released
 * NOTICE: API is changed.
 * 2002/04/15: Bug fix about MD5 length.
 */


//	  md5_T[i] = parseInt(Math.abs(Math.sin(i)) * 4294967296.0);
var MD5_T = new Array(0x00000000, 0xd76aa478, 0xe8c7b756, 0x242070db,
			  0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613,
			  0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1,
			  0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e,
			  0x49b40821, 0xf61e2562, 0xc040b340, 0x265e5a51,
			  0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681,
			  0xe7d3fbc8, 0x21e1cde6, 0xc33707d6, 0xf4d50d87,
			  0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9,
			  0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122,
			  0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60,
			  0xbebfbc70, 0x289b7ec6, 0xeaa127fa, 0xd4ef3085,
			  0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8,
			  0xc4ac5665, 0xf4292244, 0x432aff97, 0xab9423a7,
			  0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d,
			  0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314,
			  0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb,
			  0xeb86d391);

var MD5_round1 = new Array(new Array( 0, 7, 1), new Array( 1,12, 2),
			   new Array( 2,17, 3), new Array( 3,22, 4),
			   new Array( 4, 7, 5), new Array( 5,12, 6),
			   new Array( 6,17, 7), new Array( 7,22, 8),
			   new Array( 8, 7, 9), new Array( 9,12,10),
			   new Array(10,17,11), new Array(11,22,12),
			   new Array(12, 7,13), new Array(13,12,14),
			   new Array(14,17,15), new Array(15,22,16));

var MD5_round2 = new Array(new Array( 1, 5,17), new Array( 6, 9,18),
			   new Array(11,14,19), new Array( 0,20,20),
			   new Array( 5, 5,21), new Array(10, 9,22),
			   new Array(15,14,23), new Array( 4,20,24),
			   new Array( 9, 5,25), new Array(14, 9,26),
			   new Array( 3,14,27), new Array( 8,20,28),
			   new Array(13, 5,29), new Array( 2, 9,30),
			   new Array( 7,14,31), new Array(12,20,32));

var MD5_round3 = new Array(new Array( 5, 4,33), new Array( 8,11,34),
			   new Array(11,16,35), new Array(14,23,36),
			   new Array( 1, 4,37), new Array( 4,11,38),
			   new Array( 7,16,39), new Array(10,23,40),
			   new Array(13, 4,41), new Array( 0,11,42),
			   new Array( 3,16,43), new Array( 6,23,44),
			   new Array( 9, 4,45), new Array(12,11,46),
			   new Array(15,16,47), new Array( 2,23,48));

var MD5_round4 = new Array(new Array( 0, 6,49), new Array( 7,10,50),
			   new Array(14,15,51), new Array( 5,21,52),
			   new Array(12, 6,53), new Array( 3,10,54),
			   new Array(10,15,55), new Array( 1,21,56),
			   new Array( 8, 6,57), new Array(15,10,58),
			   new Array( 6,15,59), new Array(13,21,60),
			   new Array( 4, 6,61), new Array(11,10,62),
			   new Array( 2,15,63), new Array( 9,21,64));

function MD5_F(x, y, z) { return (x & y) | (~x & z); }
function MD5_G(x, y, z) { return (x & z) | (y & ~z); }
function MD5_H(x, y, z) { return x ^ y ^ z; 		 }
function MD5_I(x, y, z) { return y ^ (x | ~z);		 }

var MD5_round = new Array(new Array(MD5_F, MD5_round1),
			  new Array(MD5_G, MD5_round2),
			  new Array(MD5_H, MD5_round3),
			  new Array(MD5_I, MD5_round4));

function MD5_pack(n32) {
  return String.fromCharCode(n32 & 0xff) +
	 String.fromCharCode((n32 >>> 8) & 0xff) +
	 String.fromCharCode((n32 >>> 16) & 0xff) +
	 String.fromCharCode((n32 >>> 24) & 0xff);
}

function MD5_unpack(s4) {
  return  s4.charCodeAt(0)		  |
	 (s4.charCodeAt(1) <<  8) |
	 (s4.charCodeAt(2) << 16) |
	 (s4.charCodeAt(3) << 24);
}

function MD5_number(n) {
  while (n < 0)
	n += 4294967296;
  while (n > 4294967295)
	n -= 4294967296;
  return n;
}

function MD5_apply_round(x, s, f, abcd, r) {
  var a, b, c, d;
  var kk, ss, ii;
  var t, u;

  a = abcd[0];
  b = abcd[1];
  c = abcd[2];
  d = abcd[3];
  kk = r[0];
  ss = r[1];
  ii = r[2];

  u = f(s[b], s[c], s[d]);
  t = s[a] + u + x[kk] + MD5_T[ii];
  t = MD5_number(t);
  t = ((t<<ss) | (t>>>(32-ss)));
  t += s[b];
  s[a] = MD5_number(t);
}

function MD5_hash(data) {
  var abcd, x, state, s;
  var len, index, padLen, f, r;
  var i, j, k;
  var tmp;

  state = new Array(0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476);
  len = data.length;
  index = len & 0x3f;
  padLen = (index < 56) ? (56 - index) : (120 - index);
  if(padLen > 0) {
	data += "\x80";
	for(i = 0; i < padLen - 1; i++)
	  data += "\x00";
  }
  data += MD5_pack(len * 8);
  data += MD5_pack(0);
  len  += padLen + 8;
  abcd = new Array(0, 1, 2, 3);
  x    = new Array(16);
  s    = new Array(4);

  for(k = 0; k < len; k += 64) {
	for(i = 0, j = k; i < 16; i++, j += 4) {
	  x[i] = data.charCodeAt(j) |
		(data.charCodeAt(j + 1) <<	8) |
		(data.charCodeAt(j + 2) << 16) |
		(data.charCodeAt(j + 3) << 24);
	}
	for(i = 0; i < 4; i++)
	  s[i] = state[i];
	for(i = 0; i < 4; i++) {
	  f = MD5_round[i][0];
	  r = MD5_round[i][1];
	  for(j = 0; j < 16; j++) {
	MD5_apply_round(x, s, f, abcd, r[j]);
	tmp = abcd[0];
	abcd[0] = abcd[3];
	abcd[3] = abcd[2];
	abcd[2] = abcd[1];
	abcd[1] = tmp;
	  }
	}

	for(i = 0; i < 4; i++) {
	  state[i] += s[i];
	  state[i] = MD5_number(state[i]);
	}
  }

  return MD5_pack(state[0]) +
	 MD5_pack(state[1]) +
	 MD5_pack(state[2]) +
	 MD5_pack(state[3]);
}

function MD5_hexhash(data) {
	var i, out, c;
	var bit128;

	bit128 = MD5_hash(data);
	out = "";
	for(i = 0; i < 16; i++) {
	c = bit128.charCodeAt(i);
	out += "0123456789abcdef".charAt((c>>4) & 0xf);
	out += "0123456789abcdef".charAt(c & 0xf);
	}
	return out;
}
//-------------------------------------------------------------------------------
//	ファイルのダウンロード
//
//	fn_client	クライアント側の保存ファイル名
//	fn_linux	サーバ側のファイル名
//-------------------------------------------------------------------------------
function fldl( fn_client, fn_linux )
{
	location.href = 'mn0801.php?a=' + fn_client + '&b=' + fn_linux;
}
//-------------------------------------------------------------------------------
//	ファイルのダウンロード（店舗在庫ＣＳＶダウンロード）
//
//-------------------------------------------------------------------------------
function fldl2()
{
//ADD_S 2007.04.09 CommonProducts
	//「ダウンロードメッセージ」==>表示
	var elem = document.getElementById( 'csvmsg' );
	elem.style.display = "block";
//ADD_E 2007.04.09 CommonProducts

	location.href = 'mn0802.php';
}

//ADD_S 2006.11.20 Comnet(樋渡)
//-------------------------------------------------------------------------------
//	ファイルのダウンロード（新刊リストＣＳＶダウンロード）
//-------------------------------------------------------------------------------
function fldl3()
{
	location.href = 'mn0803.php';
}
//ADD_E 2006.11.20 Comnet(樋渡)
//-------------------------------------------------------------------------------
//	「五十音表」サブ画面表示用
//-------------------------------------------------------------------------------
var	targetElem=null;

function myFocusIn( elem) {
	if ( targetElem!=null ){
		targetElem.className = "outfocus";
	}
	elem.className = "onfocus";
	targetElem = elem;
}
function myFocusOut(elem) {
	targetElem.className = "outfocus";
	/*targetElem = null;*/
}

//-------------------------------------------------------------------------------
// 	「あいうえお」画面表示
//-------------------------------------------------------------------------------
var WinAiueo=null;

function OpenAiueo(){
	if ( WinAiueo!=null ){
		if ( WinAiueo.closed ) WinAiueo = null;
		else {
			WinAiueo.focus();
			return;
		}
	}
	x = y = 0;
	if ( is_ie5_5up ){
		x = event.screenX - 540;
		y = event.screenY + 70;
	}
	if ( is_nav4up ){
		x = window.screenX;
		y = window.screenY + 250;
	}
	WinAiueo = window.open(	"./templates/aiueo.html",
							"aiueo",
							"top=" + y
							+ ",left=" + x
							+ ",width=540,height=240,toolvar=no,location=no,directories=no,status=no,menubar=no,scrollvars=no,resizable=no"
						);
	WinAiueo.focus();
}

//-------------------------------------------------------------------------------
// 	ターゲットテキストに文字を追加する（親ウィンドゥ）
//-------------------------------------------------------------------------------
function appendChar( c ){
	if ( targetElem==null ) return;
	targetElem.value += c;
}
//-------------------------------------------------------------------------------
// 	ターゲットテキストの文字をすべて削除する（親ウィンドゥ）
//-------------------------------------------------------------------------------
function delAllChar(){
	if ( targetElem==null ) return;
	targetElem.value = '';
}
//-------------------------------------------------------------------------------
// 	親Winに文字を渡す
//-------------------------------------------------------------------------------
function ps(str){
	if ( is_opener() ){
		window.opener.appendChar(str);
	}
	else {
		window.close();	//閉じているので当Winも閉じる
	}
}
//-------------------------------------------------------------------------------
// 	「タイトルで検索」画面表示
//-------------------------------------------------------------------------------
var WinTitleSearch=null;

function OpenTitleSearch(){
	if ( WinTitleSearch!=null ){
		if ( WinTitleSearch.closed ) WinTitleSearch = null;
		else {
			WinTitleSearch.focus();
			return;
		}
	}
	x = y = 0;
	if ( is_ie5_5up ){
		x = ( screen.width	- 800 ) / 2;
		y = ( screen.height - 520 ) / 2;
	}
	if ( is_nav4up ){
		x = window.screenX;
		y = window.screenY + 250;
	}
	WinTitleSearch = window.open(	"mn1302.php",
							"タイトルで検索",
							"top=" + y
							+ ",left=" + x
							+ ",width=800,height=520,toolvar=no,location=no,directories=no,status=no,menubar=no,scrollvars=no,resizable=no"
						);
	WinTitleSearch.focus();
}
var	targetElem2=null;
function myFocusIn2( elem) {
//	if ( targetElem2!=null ){
//		targetElem2.style.backgroundColor = "white";
//	}
//	elem.style.backgroundColor = "cyan";
	targetElem2 = elem;
}
//-------------------------------------------------------------------------------
// 	ターゲットテキストに文字をセットする（親ウィンドゥ）
//-------------------------------------------------------------------------------
function setChar( c ){
	if ( targetElem2==null ) return;
	targetElem2.value = c;
}
//-------------------------------------------------------------------------------
// 	親Winに文字を渡す
//-------------------------------------------------------------------------------
function ps2(str){
	if ( is_opener() ){
		window.opener.setChar(str);
	}
	else {
		window.close();	//閉じているので当Winも閉じる
	}
}
//-------------------------------------------------------------------------------
// 	親Winの文字を削除する
//-------------------------------------------------------------------------------
function pda(){
	if ( is_opener() ){
		window.opener.delAllChar();
	}
	else {
		window.close();	//閉じているので当Winも閉じる
	}
}
//-------------------------------------------------------------------------------
// 	親Winは開いている？
//-------------------------------------------------------------------------------
function is_opener() {
	var ua = navigator.userAgent
	if( !!window.opener )
		if( ua.indexOf('MSIE 4')!=-1 && ua.indexOf('Win')!=-1 )
			return !window.opener.closed
		else return typeof window.opener.document == 'object'
	else return false
}
//-------------------------------------------------------------------------------
// 	親WinにFocusを移す
//-------------------------------------------------------------------------------
function SetFocusOpener() {
	if ( is_opener() ){
		window.opener.focus();
	}
}

//**************************************************************************************************
//	動作環境取得
//**************************************************************************************************
//	原文＝＝＞http://www.mozilla-japan.org/docs/web-developer/sniffer/browser_type_oo.html
//<!--
// 究極の JavaScript クライアント判別 バージョン 3.03
// (C) Netscape Communications 1999-2001.  再利用と変更を認めます。
// 修正 17 May 99 :  is_nav5up と is_ie5up を追加(後述).
// 修正 20 Dec 00 :  is_gecko を追加、 is_nav5up を is_nav6up に変更
//					 IE5.5 Opera4&5 HotJava3 AOLTV のサポートも追加
// 修正 22 Feb 01 :  IE 5.x, Opera 4, の JavaScript 判断を修正
//					 Opera 5 の判断を修正
//					 winME と win2k のサポートを追加
//					 browser-type-oo.js と同期
//			 [訳註]  非オブジェクト指向バージョンを修正していったあと最後にオブジェクト指向バージョン
//					 にも変更点を纏めて一気に反映させた、ということではないかと予想します。(^^;
// 修正 26 Mar 01 :  Opera の判断を修正
// 修正 02 Oct 01 :  IE6 の判断を追加
//
// JavaScript クライアントについて知りたいがなかなか聞けないもの全て。
//
// 生成する "is_" 変数が示すのは以下の通り:
// (1) ブラウザベンダ:
//	   is_nav, is_ie, is_opera, is_hotjava, is_webtv, is_TVNavigator, is_AOLTV
//
// (2) ブラウザージョン番号:
//	   is_major (integer indicating major version number: 2, 3, 4 ...)
//	   is_minor (float	 indicating full  version number: 2.02, 3.01, 4.04 ...)
//
// (3) ブラウザベンダとメジャーバージョン
//
//	   is_nav2, is_nav3, is_nav4, is_nav4up, is_nav6, is_nav6up, is_gecko, is_ie3,
//	   is_ie4, is_ie4up, is_ie5, is_ie5up, is_ie5_5, is_ie5_5up, is_ie6, is_ie6up, is_hotjava3, is_hotjava3up,
//	   is_opera2, is_opera3, is_opera4, is_opera5, is_opera5up
//
// (4) JavaScript バージョン番号:
//	   is_js (float indicating full JavaScript version number: 1, 1.1, 1.2 ...)
//
// (5) OS プラットフォームとバージョン:
//	   is_win, is_win16, is_win32, is_win31, is_win95, is_winnt, is_win98, is_winme, is_win2k
//	   is_os2
//	   is_mac, is_mac68k, is_macppc
//	   is_unix
//	   is_sun, is_sun4, is_sun5, is_suni86
//	   is_irix, is_irix5, is_irix6
//	   is_hpux, is_hpux9, is_hpux10
//	   is_aix, is_aix1, is_aix2, is_aix3, is_aix4
//	   is_linux, is_sco, is_unixware, is_mpras, is_reliant
//	   is_dec, is_sinix, is_freebsd, is_bsd
//	   is_vms
//

// ユーザエージェント文字列の詳細については次を参照してください。

// http://www.it97.de/JavaScript/JS_tutorial/bstat/navobj.html

// http://www.it97.de/JavaScript/JS_tutorial/bstat/Browseraol.html

//

// 注: 新しいブラウザがリリースされてもNav4 や IE4 のコードを"首"に
// したりはしたくないでしょうから、条件分岐する際、将来のバージョン
// でも動作して欲しいコードでは、is_ie5 や is_opera5 ではなく
// is_ie5up (IE5以降)や is_opera5up (Opera5.0 以降) を使用してください。

	// テストを簡単にするために全文字列を小文字に変換

	var agt=navigator.userAgent.toLowerCase();

	// *** ブラウザージョン ***
	// 注: IE5 ではこの値で 4 が返されるので IE5 の判断には is_ie5up を使用する。

	var is_major = parseInt(navigator.appVersion);
	var is_minor = parseFloat(navigator.appVersion);

	// 注: Opera と WebTV は Navigator のマネをしますが、厳密に判断します。
	// マネをするのを認めるなら、opera と webtv のコードを除外してください。

	var is_nav	= ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
				&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
				&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
	var is_nav2 = (is_nav && (is_major == 2));
	var is_nav3 = (is_nav && (is_major == 3));
	var is_nav4 = (is_nav && (is_major == 4));
	var is_nav4up = (is_nav && (is_major >= 4));

	var is_navonly	= (is_nav && ((agt.indexOf(";nav") != -1) ||
					  (agt.indexOf("; nav") != -1)) );

	var is_nav6 = (is_nav && (is_major == 5));
	var is_nav6up = (is_nav && (is_major >= 5));

	var is_gecko = (agt.indexOf('gecko') != -1);

	var is_ie	  = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
	var is_ie3	  = (is_ie && (is_major < 4));
	var is_ie4	  = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
	var is_ie4up  = (is_ie && (is_major >= 4));
	var is_ie5	  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
	var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
	var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
	var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
	var is_ie6	  = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
	var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);


	// 既知のバグ: AOL4 では IE3 が組み込まれている場合や最初に開かれたブラウザ
	// ウィンドウである場合には false を返します。であるから、is_aol, is_aol3,
	// is_aol4 は 100% 信頼できるものではありません。

	var is_aol	 = (agt.indexOf("aol") != -1);
	var is_aol3  = (is_aol && is_ie3);
	var is_aol4  = (is_aol && is_ie4);
	var is_aol5  = (agt.indexOf("aol 5") != -1);
	var is_aol6  = (agt.indexOf("aol 6") != -1);

	var is_opera = (agt.indexOf("opera") != -1);
	var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
	var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
	var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
	var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
	var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);

	var is_webtv = (agt.indexOf("webtv") != -1);


	var is_TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1));

	var is_AOLTV = is_TVNavigator;


	var is_hotjava = (agt.indexOf("hotjava") != -1);
	var is_hotjava3 = (is_hotjava && (is_major == 3));
	var is_hotjava3up = (is_hotjava && (is_major >= 3));

	// *** JAVASCRIPT バージョン ***

	var is_js;

	if (is_nav2 || is_ie3) is_js = 1.0;
	else if (is_nav3) is_js = 1.1;
	else if (is_opera5up) is_js = 1.3;
	else if (is_opera) is_js = 1.1;
	else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;
	else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;
	else if (is_hotjava3up) is_js = 1.4;
	else if (is_nav6 || is_gecko) is_js = 1.5;

	// 注: 将来的には、新しいバージョンのJSが出たらこのコードを更新します。
	// 今のところ、将来のバージョンの Nav や IE が"少なくとも" JS 1.x 互換
	// であることを示します。JS バージョン互換のチェックには常に > や >=
	// を使用するようにしてください。

	else if (is_nav6up) is_js = 1.5;

	// 注: マックでの ie5up は 1.4

	else if (is_ie5up) is_js = 1.3


	// HACK: 他のブラウザは分かりません。JS バージョンチェックは > や>= で。

	else is_js = 0.0;


	// *** プラットフォーム ***

	var is_win	 = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );

	// 注: Opera 3.0 では Win32 環境全てでユーザエージェント文字列に "Windows 95/NT4"
	// が含まれており、Win95 と WinNT の区別が出来ません。

	var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));


	// 16 bit バージョンと思われる。

	var is_win16 = ((agt.indexOf("win16")!=-1) ||
			   (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) ||
			   (agt.indexOf("windows 16-bit")!=-1) );

	var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
					(agt.indexOf("windows 16-bit")!=-1));

	var is_winme = ((agt.indexOf("win 9x 4.90")!=-1));

	var is_win2k = ((agt.indexOf("windows nt 5.0")!=-1));

	// 注: Win98 の信頼できる判断法は存在しないようです。次のようだから:
	//		- Nav4.x 以前ではユーザエージェントで "Windows" だけしか得られない。
	//		- Win98 上の Mercury では 32 bit バージョンは "Win98" を返すが、
	//		  16 bit バージョンは "Win95" を返す。

	var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));

	var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));

	var is_win32 = (is_win95 || is_winnt || is_win98 ||
					((is_major >= 4) && (navigator.platform == "Win32")) ||
					(agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));


	var is_os2	 = ((agt.indexOf("os/2")!=-1) ||
					(navigator.appVersion.indexOf("OS/2")!=-1) ||
					(agt.indexOf("ibm-webexplorer")!=-1));

	var is_mac	  = (agt.indexOf("mac")!=-1);

	// hack: マックでの ie5 の JavaScript バージョン

	if (is_mac && is_ie5up) is_js = 1.4;

	var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) || (agt.indexOf("68000")!=-1)));

	var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) || (agt.indexOf("powerpc")!=-1)));


	var is_sun	 = (agt.indexOf("sunos")!=-1);

	var is_sun4  = (agt.indexOf("sunos 4")!=-1);

	var is_sun5  = (agt.indexOf("sunos 5")!=-1);

	var is_suni86= (is_sun && (agt.indexOf("i86")!=-1));

	var is_irix  = (agt.indexOf("irix") !=-1);	  // SGI

	var is_irix5 = (agt.indexOf("irix 5") !=-1);

	var is_irix6 = ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1));

	var is_hpux  = (agt.indexOf("hp-ux")!=-1);

	var is_hpux9 = (is_hpux && (agt.indexOf("09.")!=-1));

	var is_hpux10= (is_hpux && (agt.indexOf("10.")!=-1));

	var is_aix	 = (agt.indexOf("aix") !=-1);	   // IBM

	var is_aix1  = (agt.indexOf("aix 1") !=-1);

	var is_aix2  = (agt.indexOf("aix 2") !=-1);

	var is_aix3  = (agt.indexOf("aix 3") !=-1);

	var is_aix4  = (agt.indexOf("aix 4") !=-1);

	var is_linux = (agt.indexOf("inux")!=-1);

	var is_sco	 = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);

	var is_unixware = (agt.indexOf("unix_system_v")!=-1);

	var is_mpras	= (agt.indexOf("ncr")!=-1);

	var is_reliant	= (agt.indexOf("reliantunix")!=-1);

	var is_dec	 = ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) ||
					(agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) ||
					(agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1));

	var is_sinix = (agt.indexOf("sinix")!=-1);

	var is_freebsd = (agt.indexOf("freebsd")!=-1);

	var is_bsd = (agt.indexOf("bsd")!=-1);

	var is_unix  = ((agt.indexOf("x11")!=-1) || is_sun || is_irix || is_hpux ||
				 is_sco ||is_unixware || is_mpras || is_reliant ||
				 is_dec || is_sinix || is_aix || is_linux || is_bsd || is_freebsd);


	var is_vms	 = ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1));


// JavaScript隠蔽終了 -->

