<!--//
	/*
	 ◆◆◆ 表示非表示切り替え ◆◆◆=========================================================================================
		
		※使用については、CSSでopen、close定義が必要となります。
		
		 例） .open    { display       : block;  }
			  .close   { display       : none;   }
		 */
		
		// 【◆基本版 】//////////////////////////////////////////////////////////////////////////////////////////////////////
			/*
			  $name			…表示制御するDIVのID名
			  $i			…連番(上記3つを1セットとし複数生成する場合の連番)
			  $state		…切り替えたい状態('open' or 'close')
			  
			  例)
				●切替制御部
				…………………………………………………………………………………………………………………………………………………
				<span onclick="valid(menu, 1)"><img src="/img/b_plus.png">地域</b></span>
			
				●表示制御部分
				…………………………………………………………………………………………………………………………………………………
				<div id="menu1" class="close">
					<ul>
						<li>大阪</li>
						<li>東京</li>
					</ul>
				</div>
			 */
			
			function valid($name, $i, $state){
				if ($state == 'open'){
					document.getElementById($name+$i).className = "open";
				}else{
					document.getElementById($name+$i).className = "close";
				}
			}


		// 【◆メニュー版 】/////////////////////////////////////////////////////////////////////////////////////////////////
			/*
			  $i			…連番(上記3つを1セットとし複数生成する場合の連番)
			  $state		…切り替えたい状態('open' or 'close')
			  
			  例)
				●切替制御部
				…………………………………………………………………………………………………………………………………………………
				<div id="menu_t0" class="close">
					<span onclick="valid_menu(0, 'open')">
						<img src="/img/b_plus.png"> <b>ユーザー管理</b>
					</span>
					<br>
				</div>
				<div id="menu_b0" class="open">
					<span onclick="valid_menu(0, 'close')">
						<img src="/img/b_minus.png"> <b>ユーザー管理</b>
					</span>
					<ul>
						<li>
							<img src="/img/branch.gif" width="20" height="20">
							<a href="/">
								<img src="/img/icon.gif" width="12" height="12"> ユーザー一覧
							</a>
						</li>
					</ul>
				</div>
			 */
			
			function valid_menu($i, $state){
				if ($state == 'open'){
					document.getElementById('menu_t'+$i).className = "close p5";
					document.getElementById('menu_b'+$i).className = "open p5";
				}else{
					document.getElementById('menu_t'+$i).className = "open p5";
					document.getElementById('menu_b'+$i).className = "close p5";
				}
			}

		// 【◆拡張版 】//////////////////////////////////////////////////////////////////////////////////////////////////////
			/*
			  $from_name	…チェックボックスのID名
			  $to_name		…表示制御するDIVのID名
			  $value_name	…値を入れるテキストボックスのID名
			  $i			…連番(上記3つを1セットとし複数生成する場合の連番)
			  
			  例)
				●切替制御部（チェックボックス）
				…………………………………………………………………………………………………………………………………………………
				<input type = "checkbox" id="site1" name = "site[1]" onClick="check_valid(site,link,url,1)" value = "1">大阪　
				<input type = "checkbox" id="site2" name = "site[2]" onClick="check_valid(site,link,url,2)" value = "2">東京　
			
				●表示制御部分
				…………………………………………………………………………………………………………………………………………………
				<div id="link1" class="close">
					<input type="text" id="url1" name="url[1]" value="">(大阪)
				</div>
				<div id="link2" class="close">
					<input type="text" id="url2" name="url[2]" value="">(東京)
				</div>
			*/
			
			function check_valid($from_name, $to_name, $value_name, $i){
				if (document.getElementById($from_name+$i).checked){
					document.getElementById($to_name+$i).className = "open";		/* 展開 */
					document.getElementById($value_name+$i).value = "";				/* テキストボックスの値クリア */
				}else{
					document.getElementById($value_name+$i).value = "";				/* テキストボックスの値クリア */
					document.getElementById($to_name+$i).className = "close";		/* 収納 */
				}
			}

	/*
	 ◆◆◆ 値クリア ◆◆◆==================================================================================================
		  $name			…表示制御するDIVのID名
		  $i			…連番(複数生成する場合の連番)
		  
		  例)
			●切替制御部
			…………………………………………………………………………………………………………………………………………………
			<span onclick="valueclear(url, 1)"><img src="/img/b_plus.png">URL</b></span>
			
			●表示制御部分
			…………………………………………………………………………………………………………………………………………………
			<input type="text" id="url1" name="url[1]" value="">
		 */
			function valueclear($name, $i){
				document.getElementById($name+$i).value = "";
			}

	/*
	 ◆◆◆ メッセージ表示 ◆◆◆==================================================================================================
		  $id			…表示制御するDIVのID名
		  $msg			…メッセージ
		  
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="text" id="url1" name="url[1]" value="" onFocus="innerMsg('url1','メッセージ')">
		 */
			function innerMsg( $id , $msg ){
				document.getElementById( $id ).innerHTML = $msg;
			}

	/*
	 ◆◆◆ Focusによるデザイン変更 ◆◆◆==================================================================================================
		  $bg			･･･背景色の変更
		  
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="text" id="url1" name="url[1]" value="#FFFFFF" onFocus="focusBg('url1','#FFFACD')" onblur="focusBg('url1','#FFFFFF')">
		 */
			function focusBg( $id , $bg ){
				document.getElementById( $id ).style.background = $bg;
			}

	/*
	 ◆◆◆ テキストボックスのON・OFF ◆◆◆==================================================================================================
		  $bg			･･･背景色の変更
		  
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="radio" name="select_link" value="1" onClick="textEnable( 'form1' , 'url' , true )">
			URL：<input type="text" name="url" id="url" value="">
		 */
			function textEnable( $form , $name , $flg )
			{
				if( $flg == true )
				{
					document.forms[$form].elements[$name].disabled = false;
					//document.forms[$form].elements[$name].value = "";					/* テキストボックスの値クリア */
					document.forms[$form].elements[$name].style.background = '#FFFFFF';	/* テキストボックスの背景色 */
				}
				else
				{
					document.forms[$form].elements[$name].disabled = true;
					//document.forms[$form].elements[$name].value = "";					/* テキストボックスの値クリア */
					document.forms[$form].elements[$name].style.background = '#F5F5F5';	/* テキストボックスの背景色 */
				}
			}
			

	/*
	 ◆◆◆ テキストの挿入 ◆◆◆==================================================================================================
		  @$form		･･･ フォーム名
		  @$name		･･･ 値を書き変えたいタグのname
		  @$val			･･･ 値
		  @$message		･･･ 実行の確認メッセージ
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="button" value="雛型挿入" onClick="txtInsert( 'form1' , 'url' , 'あああああ' )">
		 */
			function txtInsert( $form , $name , $val , $message )
			{
				if( $form )
				{
					if( $name )
					{
						if( $message )
						{
							answer = confirm( $message );
							if ( answer == true )
							{
								//OK
								document.forms[$form].elements[$name].value = $val;
							}
							else
							{
								//NG
								alert("キャンセルしました。");
							}
						}
						else
						{
							document.forms[$form].elements[$name].value = $val;
						}
					}
				}
			}

	/*
	 ◆◆◆ テキストクリア ◆◆◆==================================================================================================
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="radio" name="select_link" value="1" onClick="txtClear( 'form1' , 'url' )">
			URL：<input type="text" name="url" id="url" value="">
		 */
			function txtClear( $form , $name )
			{
				document.forms[$form].elements[$name].value = "";					/* テキストボックスの値クリア */
			}
			

	
	/*
	 ◆◆◆ フォーム送信 ◆◆◆==================================================================================================
		  @$form_name	･･･ フォーム名
		  @$name		･･･ 値を書き変えたいタグのname
		  @$val			･･･ 値
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<a href="javascript:submit( 'form1' , 'hina_type' , '1' )">
		 */
			function submit_valset( $form_name , $name , $val )
			{
				if( $name )
				{
					document.forms[$form_name].elements[$name].value = $val;
				}
				// ◆送信
				document.forms[$form_name].submit();
			}

	/*
	 ◆◆◆ フォーム送信 ◆◆◆==================================================================================================
		  @$name		･･･ フォーム名
		  @$page		･･･ ページ番号
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<a href="javascript:form_submit( 'form1' , '1' )">
		 */
			function form_submit( $name , $page )
			{
				if( $page )
				{
					// ◆ページャー用のページ番号
					document.forms[$name].page.value = $page;
				}
				
				// ◆送信
				document.forms[$name].submit();
			}


	/*
	 ◆◆◆ フォーム送信（ファイルチェック有） ◆◆◆==================================================================================================
		  @$name		･･･ フォーム名
		  @$page		･･･ ページ番号
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<a href="javascript:form_submit( 'form1' , '1' )">
		 */
			function form_submit_file( $name , $page )
			{
				if( $page )
				{
					// ◆ページャー用のページ番号
					document.forms[$name].page.value = $page;
				}
				
				try 
				{
					// ◆送信
					document.forms[$name].submit();
				}
				catch ( e )
				{
					alert('存在しないファイルが指定されました。');
					return false;
				}
	
				return true;
			}


	/*
	 ◆◆◆ 送信前確認 ◆◆◆==================================================================================================
		  @$message		･･･ フォーム名
		  @$name		･･･ ページ番号
		  @$page		･･･ ページ番号
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<a href="javascript:confirm_submit( '送信しますがよろしいですか？' , 'form1' , '1' )">
		 */
			function confirm_submit( $message , $name , $page )
			{
				answer = confirm( $message );
				
				// 選択結果で分岐
				if ( answer == true )
				{
					// OKなら送信
					form_submit( $name , $page );
				}
				else
				{
					alert("キャンセルされました。");
				}
			}
			
			
	/*
	 ◆◆◆ チェックボックスのチェックを制御する ◆◆◆==================================================================================================
		  @$form		･･･ フォーム名
		  @$name		･･･ チェックボックス名
		  @$flg			･･･ TRUE:チェックをつける  FALSE:チェックをはずす
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="text" name="sort_id" onchange="checkEdit('form1', 'id', true)">
		 */
			function checkEdit( $form , $name, $flg )
			{
				document.forms[$form].elements[$name].checked = $flg;
			}

	/*
	 ◆◆◆ テキストボックスのON・OFF ◆◆◆==================================================================================================
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<select name="" onChange="IptBoxOn( this.options.value ,'2', this.forms ,'url')">
				<option value="1">○○
				<option value="2">□□
			</select>
			URL：<input type="text" name="url" id="url" value="">
		 */
			function IptBoxOn( select_name , target_val , form_obj , input_name, flg )
			{
				var this_val;
	
				var select_obj = form_obj.elements[select_name];
				for (var i = 0; i < select_obj.length; i++)
				{
					if(select_obj.options[i].selected)
					{
						this_val = select_obj.options[i].value;
						break;
					}
				}
	
				if (flg == null) flg = true;
				if (flg)
				{
					$chk_flg = (this_val == target_val);
				}
				else
				{
					$chk_flg = (this_val != target_val);
				}

				if( $chk_flg )
				{
					form_obj.elements[input_name].disabled = true;
					// form_obj.elements[input_name].value = "";					/* テキストボックスの値クリア */
					form_obj.elements[input_name].style.background = '#F5F5F5';		/* テキストボックスの背景色 */
				}
				else
				{
					form_obj.elements[input_name].disabled = false;
					// document.forms[form_name].elements[input_name].value = "";	/* テキストボックスの値クリア */
					form_obj.elements[input_name].style.background = '#ffffff';		/* テキストボックスの背景色 */
				}
			}

	/*
	 ◆◆◆ 納期変更を制御する ◆◆◆==================================================================================================
		  @$form		･･･ フォーム名
		  @$name		･･･ チェックボックス名
		  @$flg			･･･ TRUE:チェックをつける  FALSE:チェックをはずす
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="text" name="sort_id" onchange="checkEdit('form1', 'id', true)">
		 */
			function chgDate( $form , $name, $url )
			{
				location.href = $url + "/" + document.forms[$form].elements[$name].value; 
			}


	/*
	 ◆◆◆ 下の関数で使用 ◆◆◆==================================================================================================
			*/
			var $cnt = 1; // サブオプション行数
			function cntup()
			{
				$cnt++;
			}

	/*
	 ◆◆◆ サブオプション入力行を追加する ◆◆◆==================================================================================================
		  @$name		･･･ テーブル名
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="button" name="sort_id" onclick="addInputRow('tbl1')">
		 */
			function addInputRow( $t_name )
			{
				var oTr = document.getElementById($t_name).insertRow(-1);

				var oTd1 = oTr.insertCell(-1); // 削除
				oTd1.innerText = ' ';

				var oTd2 = oTr.insertCell(-1); // サブオプション名
				var val2 = document.getElementById($t_name + '_2').innerHTML;
				val2 = val2.replace('sub_name[1]',  'sub_name[' + $cnt + ']');
				val2 = val2.replace('sub_name_1',   'sub_name_' + $cnt);
				val2 = val2.replace('sub_id[1]',    'sub_id[' + $cnt + ']');
				val2 = val2.replace('sub_id_1',     'sub_id_' + $cnt);
				oTd2.innerHTML = val2;
				document.getElementById('sub_id_' + $cnt).value = '';
				document.getElementById('sub_name_' + $cnt).value = '';
	
				var oTd3 = oTr.insertCell(-1); // 基本料金
				var val3 = document.getElementById($t_name + '_3').innerHTML;
				val3= val3.replace('base_charge[1]',  'base_charge[' + $cnt + ']');
				val3= val3.replace('base_charge_1',   'base_charge_' + $cnt);
				oTd3.innerHTML = val3;
				document.getElementById('base_charge_' + $cnt).value = '';
				
				var oTd4 = oTr.insertCell(-1); // 部数単価
				var val4 = document.getElementById($t_name + '_4').innerHTML;
				val4= val4.replace('unit_price[1]',  'unit_price[' + $cnt + ']');
				val4= val4.replace('unit_price_1',  'unit_price_' + $cnt);
				oTd4.innerHTML = val4;
				document.getElementById('unit_price_' + $cnt).value = '';

				$cnt++;
			}

	/*
	 ◆◆◆ サブオプションの入力制御 ◆◆◆==================================================================================================
		  @$name		･･･ テーブル名
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="button" name="sort_id" onclick="addInputRow('tbl1')">
		 */
			function subOptionEnable( $form, $flg )
			{
				for (var i = 1; i < $cnt; i++)
				{
					textEnable($form,'sub_name_' + i, $flg);
					textEnable($form,'base_charge_' + i, $flg);
					textEnable($form,'unit_price_' + i, $flg);
				}
			}

	/*
	 ◆◆◆ 日付選択 ◆◆◆==================================================================================================
		 */
			function setYMD( name, year, month, day )
			{
				document.getElementById(name + '_y').value = year;
				document.getElementById(name + '_m').value = month;
				document.getElementById(name + '_d').value = day;
			}

	/*
	 ◆◆◆ カレンダー年月移動処理 ◆◆◆==================================================================================================
		 */
			function movePage( form_name, year, month )
			{
				document.forms[form_name].elements['year'].value = year;
				document.forms[form_name].elements['month'].value = month;
				document.forms[form_name].submit();
			}

	/*
	 ◆◆◆ 下の関数で使用 ◆◆◆==================================================================================================
			*/
			var $cnt_order_detail = 1; // 注文詳細行数
			function orderDetailCntup()
			{
				$cnt_order_detail++;
			}

/*
	 ◆◆◆ 注文詳細入力行を追加する ◆◆◆==================================================================================================
		  @$name		･･･ テーブル名
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="button" name="sort_id" onclick="addInputRow('tbl1')">
		 */
			function addInputRowDetail( from_t_name, to_t_name )
			{
				var oTr = document.getElementById(to_t_name).insertRow(-1);
				var oTd = oTr.insertCell(-1); // 追加
				var val = document.getElementById(from_t_name).innerHTML;
				val = val.replace(/{rownum}/g, $cnt_order_detail);
				val = val.replace(/disabled/g, '');
				oTd.innerHTML = val;

				orderDetailCntup();
			}

	/*
	 ◆◆◆ 下の関数で使用 ◆◆◆==================================================================================================
			*/
			var $cnt_order_detail_op = new Array(); // 注文詳細オプション行数
			function orderDetailCntupOp(id)
			{
				if ($cnt_order_detail_op[id] == undefined)
				{
					$cnt_order_detail_op[id] = 1;
				}
				$cnt_order_detail_op[id]++;
			}

			function getDetailCnt(id)
			{
				if ($cnt_order_detail_op[id] == undefined)
				{
					$cnt_order_detail_op[id] = 1;
				}
				return $cnt_order_detail_op[id];
			}

/*
	 ◆◆◆ 注文詳細オプション入力行を追加する ◆◆◆==================================================================================================
		  @$name		･･･ テーブル名
	
		  例)
			●使用例
			…………………………………………………………………………………………………………………………………………………
			<input type="button" name="sort_id" onclick="addInputRow('tbl1')">
		 */
			function addInputRowOption( from_t_name, to_t_name, id )
			{
				var oTr = document.getElementById(to_t_name).insertRow(-1);

				for (var i = 1; i <= 8; i++)
				{
					var oTd = oTr.insertCell(-1); // 追加
					var val = document.getElementById(from_t_name + '_' + i).innerHTML;
					val = val.replace(/{id}{cnt}/g,  '[' + id + '][' + getDetailCnt(id) + ']');
					val = val.replace(/{_id_cnt}/g,  '_' + id + '_' + getDetailCnt(id));
					val = val.replace(/{rownum}/g,  getDetailCnt(id));
					val = val.replace(/disabled/g, '');
					oTd.innerHTML = val;
					
					// for IE
					var atrClass = document.getElementById(from_t_name + '_' + i).getAttribute('className');
					oTd.setAttribute('className', atrClass);
					// for Firefox
					var atrClass = document.getElementById(from_t_name + '_' + i).getAttribute('class');
					oTd.setAttribute('class', atrClass);
					var atrstyle = document.getElementById(from_t_name + '_' + i).style.cssText;
					oTd.style.cssText = atrstyle;
				}

				orderDetailCntupOp(id);
			}

//-->

/*
	 ◆◆◆ 注文詳細の小計/合計/内消費税を計算する ◆◆◆==================================================================================================
		  @$name		･･･ テーブル名
		 */
			function calcOrderAmount( )
			{
				var $total = 0;
				var $sub_total = 0;
				var tmp_num;
				var $carriage = 0;
				var $commision = 0;
				
				for (var i = 1; i <= $cnt_order_detail - 1; i++)
				{
					tmp_num = document.getElementById('amount_' + i).value;
					if (!isNaN(tmp_num) && tmp_num>0) $sub_total += eval(tmp_num);

					for (var j = 1; j <= getDetailCnt(i) -1; j++)
					{
						tmp_num = document.getElementById('op_amount_' + i + '_' + j).value;
						if (!isNaN(tmp_num) && tmp_num>0) $sub_total += eval(tmp_num);
					}
				}
				document.getElementById('subTotal').innerHTML = $sub_total.split3();
				tmp_num = document.getElementById('carriage').value;
				if (!isNaN(tmp_num)) $carriage  = tmp_num ? eval(tmp_num) : 0 ;

				tmp_num = document.getElementById('commision').value;
				if (!isNaN(tmp_num)) $commision  = tmp_num ? eval(tmp_num) : 0 ;
				$total = $sub_total + $carriage + $commision;
				document.getElementById('total').innerHTML = $total.split3();
	
				$tax = $total * 5 / 105
				document.getElementById('tax').innerHTML = Math.floor($tax).split3();
			}



/*  ◆◆◆ NAVI Tree の処理 ◆◆◆================================================================================================== */

var xmlhttp;

function httpHandler() {
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		// 特に何もしない
	}
}

function onTreeClick(id, flg) {
	
	// 開閉の制御
	valid_menu(id, flg);

	try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				processRequest(xmlhttp);
			}
		}
	}
	catch (e) {
		xmlhttp = new XMLHttpRequest();
		xmlhttp.onload = function() {
			processRequest(xmlhttp);
		}
	}

	xmlhttp.onreadystatechange = httpHandler;
	xmlhttp.open("GET", "/manager/navi/index/" + id + "/" + flg);
	xmlhttp.send(null);
}

function processRequest(xmlhttp) {
// 	alert(xmlhttp.responseText);
}

/*  ◆◆◆ ページトップへ戻る処理 ◆◆◆================================================================================================== */
function backToTop() {
	var x1 = x2 = x3 = 0;
	var y1 = y2 = y3 = 0;
	if (document.documentElement) {
		x1 = document.documentElement.scrollLeft || 0;
		y1 = document.documentElement.scrollTop || 0;
	}
	if (document.body) {
		x2 = document.body.scrollLeft || 0;
		y2 = document.body.scrollTop || 0;
	}
	x3 = window.scrollX || 0;
	y3 = window.scrollY || 0;
	var x = Math.max(x1, Math.max(x2, x3));
	var y = Math.max(y1, Math.max(y2, y3));
	window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));
	if (x > 0 || y > 0) {
		window.setTimeout("backToTop()", 25);
	}
}










//-->

