<!-- #include file="../../include.asp" -->

<%
'<!--
'################################################
'	名称	:生徒会社選択
'	作成日	:2009/4/24
'	作成者	:小野
'	目的	:模擬実践演習における生徒と会社の結び付けを行う。
'	概要	:
'################################################
'-->
%>
<%
main()
Sub main()
	If Not(SessionCheck()) Then
		Exit Sub
	End If


	Dim Cnt


	Dim	EnshuName
	Dim UserID , UserName , GroupCD
	Dim RouteType
	Dim DataCnt
	Dim SiteiYMD
	SiteiYMD = Request("SiteiYMD")
	If SiteiYMD = "" Then
		SiteiYMD = Date()
	End If

	Dim Query
	Dim Content

	UserID = Request("UserID")
	UserName = Request("UserName")
	GroupCD = Request("GroupCD")

	RouteType = Request("RouteType")

	Dim Message
	Message = Request("Message")
	If Message = "" Then
		Message = "生徒の選択会社を設定します。"
	End If

'演習名称GET
	Query = "exec SPM演習取得 '" & GB_SystemCD & "','" & EnshuCD & "'"
	Set Content = OpenQuery(Query)
	If Not(Content.BOF Or Content.EOF) Then
		EnshuName = Content.Fields("演習名称")
	End If


	'選択可能会社配列作成
	Dim KaishaCD
	Dim KaishaMei
	ReDim KaishaCD(0)
	ReDim KaishaMei(0)
	Query = "exec SPV選択可能会社一覧 '" & GB_SystemCD & "','" & EnshuCD & "', '" & GakuseiNo & "', '1'"	'1で全て取得
	Set Content = OpenQuery(Query)
	Do While Not(Content.BOF Or Content.EOF)
		'学生番号がNULL若しくは生徒の自社設定会社なら表示する。
		If "" & Content.Fields("学生番号") = "" Or "" & Content.Fields("自社フラグ") = "1" Then
			ReDim PreServe KaishaCD(UBound(KaishaCD) + 1)	'配列+1
			ReDim PreServe KaishaMei(UBound(KaishaCD))
			KaishaCD(UBound(KaishaCD)) = Content.Fields("会社CD")
			KaishaMei(UBound(KaishaCD)) = Content.Fields("会社名称")
		End If
		Content.MoveNext
	Loop


	'未選択項目に表示する文字列
	Dim KaishaMisentaku
	KaishaMisentaku = "<<<会社は選択されていません>>>"

%>
<html>
<% = HtmlHeader("") %>
<SCRIPT LANGUAGE="JavaScript">
<!--
	SpreadRowColorMode = false;	//選択行の色を変える動作を停止(090624小野)

	HomeAlias = "<% = HomeAlias %>";
	HomeAliasSL = "<% = HomeAliasSL %>";
	ExitFlg = 1;
-->
</SCRIPT>


<body onkeydown="if(ExitFlg==2)ExitFlg=3;" onBeforeUnload="if(ExitFlg!=0)window.event.returnValue = ExitMsg(ExitFlg)" bgcolor="#5C70B6" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form OnKeyDown="FormKeyDown(this)" method="POST" name="form1" action="fm_enshu_user_bin.asp" >
<input type="hidden" name="EnshuCD" value="<% = EnshuCD %>">
<input type="hidden" name="SendValue" value="">
<input type="hidden" name="Action" value="4">
<input type="hidden" name="RouteType" value="<% = RouteType %>">


<%
	Response.Write(HtmlDesign(1))

	Response.Write(HttpL1(4))

	If RouteType = "Sousa" Then
		If GB_Admin = 1 Then
			Response.Write(HttpL2("運用管理メニュー" ,"tblbtn( '/" & HomeAlias & "/admin/admenu_w.asp')", "演習管理", "tblbtn( '/" & HomeAlias & "/admin/enshu/fm_enshu_ichiran.asp?EnshuCD=" & EnshuCD & "')", "演習コントロール", "tblbtn( '/" & HomeAlias & "/admin/enshu/fm_enshucontrol.asp?EnshuCD=" & EnshuCD & "')", "生徒選択会社", "", "", "", "", ""))	
		Else
			Response.Write(HttpL2("運用管理メニュー" ,"tblbtn( '/" & HomeAlias & "/admin/admenu_w.asp')", "演習管理", "tblbtn( '/" & HomeAlias & "/admin/enshu/fm_enshu1_view.asp?EnshuCD=" & EnshuCD & "')", "演習コントロール", "tblbtn( '/" & HomeAlias & "/admin/enshu/fm_enshucontrol.asp?EnshuCD=" & EnshuCD & "')", "生徒選択会社", "", "", "", "", ""))	
		End If
	Else
		Response.Write(HttpL2("運用管理メニュー" ,"tblbtn( '/" & HomeAlias & "/admin/admenu_w.asp')", "演習管理", "tblbtn('/" & HomeAlias & "/admin/enshu/fm_enshu1_view.asp?EnshuCD=" & EnshuCD & "')", "生徒選択会社解除", "", "", "", "", "", "", ""))
	End If

	Response.Write(HttpL3_2("戻る", "tblbtn('fm_enshu_view_user.asp?EnshuCD=" & EnshuCD & "&RouteType=" & RouteType & "')", "", "", "", "", "", "", "", ""))

	Response.Write(HttpL3("", "" ,"", "", "", "", "", "", "", "", "", "", "", "", "", ""))

	Response.Write(HttpL3_1("&nbsp;更新内容を保存する&nbsp;", "SubmitCheck()", "", "", "", "", "", "", "", ""))

	Response.Write(HttpL4("生徒会社選択", ""))

	Response.Write(HttpL5(Message))

%>


<div id="L0" style="position: absolute; visibility: hidden; left: 0px; top: -2000px;">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="5">
	<tr>
		<td valign="top">
			<table border="0" cellpadding="5" cellspacing="0" width="100%" height="100%">
				<tr>
					<td align="CENTER" valign="MIDDLE">
						<TABLE BORDER="0" CELLSPACING="5" CELLPADDING="15" BGCOLOR="#FFFFFF" STYLE="BORDER:1px solid #000000" WIDTH="680" HEIGHT="100%">
							<TR>
								<TD ALIGN="CENTER" BACKGROUND="/<% = HomeAlias %>/images/window_bk.gif?<% = GB_STU %>">
									<TABLE WIDTH="600" BORDER="0" CELLSPACING="0" CELLPADDING="0" HEIGHT="100%">
										<tr><td HEIGHT="14" class="tx1416" onMouseOver="this.focus();this.focus();">
											生徒の選択した会社を解除する場合は、右側の「選択会社」のメニュー項目から<br>最上段の<b><% = KaishaMisentaku %></b>を選択し保存ボタンを押してください。
										</td></tr>	<!-- スプレッドシートオフフォーカスのためのダミーテーブル -->
<% If GB_IEmode = "1" Then %>
										<TR>
											<TD ALIGN="center" VALIGN="middle" WIDTH="620" height="100%">
												<table width="600" height="100%" border="0" cellspacing="0" cellpadding="0">
													<tr>
														<td valign="top" class="tx1214">
															<object classid="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
																<param name="lpkpath" value="spread6.lpk">
															</object>
															<object width="656" height="100%" onMouseOver="SubmitFlg=1" classid="clsid:41f841c1-ae16-11d5-8817-0050da6ef5e5" codebase="/<% = HomeAlias %>/binx/spr32x60.cab" id="vaSpread1" border="0">
															</object>
														</td>
													</tr>
												</table>
											</TD>
										</TR>
<% Else %>
<%
	Dim WidthCell1, WidthCell2, WidthCell3, WidthCell4, WidthCell5, WidthCell6, WidthCell7, WidthCell8, WidthCell9, WidthParent
	Dim HeightCell
	HeightCell = 23
	WidthCell1 = 160
	WidthCell2 = 210
	WidthCell3 = 300
	WidthCell4 = 58
	WidthCell5 = 58
	WidthCell6 = 58
	WidthParent = 694
%>
				<TR> 
					<TD HEIGHT="<% = HeightCell %>" VALIGN="BOTTOM"> 
						<TABLE HEIGHT="<% = HeightCell %>" BORDER="1" CELLPADDING="0" CELLSPACING="0" BORDERCOLOR="#000000" BGCOLOR="#DDDDDD" CLASS="tx1416" STYLE="border-collapse: collapse">
							<TR ALIGN="CENTER" HEIGHT="<% = HeightCell %>"> 
								<TD WIDTH="<% = WidthCell1 %>">ユーザーID</TD>
								<TD WIDTH="<% = WidthCell2 %>">氏  名</TD>
								<TD WIDTH="<% = WidthCell3 %>">選 択 会 社</TD>
							</TR>
						</TABLE>
					</TD>
				</TR>
							<TR>
								<TD HEIGHT="1" VALIGN="BOTTOM"></TD><!--これがないと見出しのボトムラインが消える-->
							</TR>
				<TR> 
					<TD VALIGN="TOP"> 
						<DIV ID="Layer1" STYLE="position:relative; left:0px; top:-1px; width:<% = WidthParent %>px; height:100%; z-index:1; border: 1px none #000000; overflow: auto;"> 
							<TABLE ID="SyoukaiList" BORDER="1" CELLSPACING="0" CELLPADDING="0" BORDERCOLOR="#000000" BGCOLOR="#FFFFFF" CLASS="tx1416" STYLE="border-collapse: collapse">
							<%

	'スプレッドシート定義 ※全行共通なのでループ外
	Dim SpMaxRow
	Dim SpRowCnt
	Dim SpMaxCol
	SpRowCnt = 0
	SpMaxRow = SpRowCnt
	'フォーム名
	SpFormName = "SpCell" '
	'行定義
	SpRowHeight = HeightCell '高さ(pixel指定)
	SpRowCls = "" '行スタイルclass
	SpRowStyle = "" '行スタイル
	'列1定義
	SpCellType(1) = "2" '形式指定(0:日付・1:文字列・2:英数字・3:通貨)
	SpCellWidth(1) = WidthCell1 'セル幅(pixel指定) ※フォーム幅は自動計算
	SpCellCls(1) = "" 'セルスタイルclass
	SpCellStyle(1) = "border:1px solid #000000;" 'セルスタイル
	SpInputCls(1) = "Spread5Lro" 'フォームスタイルclass
	SpInputStyle(1) = "" 'フォームスタイル
	SpInputFocus(1) = "this.blur();" 'onFocusで作動させるスクリプト
	SpInputBlur(1) = "" 'onBlurで作動させるスクリプト
	SpInputChange(1) = "" 'onChangeで作動させるスクリプト
	SpInputRO(1) = "1" 'フォームreadonlyフラグ("1")
	'列2定義
	SpCellType(2) = "1" '形式指定(0:日付・1:文字列・2:英数字・3:通貨)
	SpCellWidth(2) = WidthCell2 'セル幅(pixel指定) ※フォーム幅は自動計算
	SpCellCls(2) = "" 'セルスタイルclass
	SpCellStyle(2) = "border:1px solid #000000;" 'セルスタイル
	SpInputCls(2) = "Spread5Lro" 'フォームスタイルclass
	SpInputStyle(2) = "" 'フォームスタイル
	SpInputFocus(2) = "this.blur();" 'onFocusで作動させるスクリプト
	SpInputBlur(2) = "" 'onBlurで作動させるスクリプト
	SpInputRO(2) = "1" 'フォームreadonlyフラグ("1")
	'列3定義
	SpCellType(3) = "9" '形式指定(0:日付・1:文字列・2:英数字・3:通貨 9:プルダウン)
	SpCellWidth(3) = WidthCell3 'セル幅(pixel指定) ※フォーム幅は自動計算
	SpCellCls(3) = "" 'セルスタイルclass
	SpCellStyle(3) = "border:1px solid #000000;" 'セルスタイル
	SpInputCls(3) = "Spread5L" 'フォームスタイルclass
	SpInputStyle(3) = "" 'フォームスタイル
	SpInputFocus(3) = "" 'onFocusで作動させるスクリプト
	SpInputBlur(3) = "" 'onBlurで作動させるスクリプト
	SpInputChange(3) = "" 'onChangeで作動させるスクリプト
	SpInputRO(3) = "" 'フォームreadonlyフラグ("1")

								Query = "exec SPM演習選択ユーザー一覧 '" & GB_SystemCD & "','" & EnshuCD & "'"
								Set Content = OpenQuery(Query)
							    Do While Not(Content.BOF Or Content.EOF)

	'スプレッドシート行生成 ※此処で値のみ代入
	SpRowCnt = SpRowCnt + 1 '行番号(フォーム名に反映)
	SpMaxRow = SpRowCnt
	SpInputValue(1) = Content.Fields("学生番号") 'フォーム初期値
	SpInputValue(2) = Content.Fields("氏名") 'フォーム初期値
	SpInputOption(3) = "" 'フォーム初期値(selectプルダウンのoptionタグ)
	SpInputOption(3) = SpInputOption(3) & "<option value=""""><<<会社は選択されていません>>></option>"' & vbCrLf
	For Cnt = 1 To UBound(KaishaCD)
		SpInputOption(3) = SpInputOption(3) & "<option value=""" & KaishaMei(Cnt) & """"
		If KaishaCD(Cnt) = "" & Content.Fields("選択会社CD") Then
			SpInputOption(3) = SpInputOption(3) & " selected"
		End If
		SpInputOption(3) = SpInputOption(3) & ">" & KaishaMei(Cnt) & "</option>"' & vbCrLf
	Next
	'Response.Write(SpreadRow(SpRowCnt)) '引数の行番号がフォーム名に付加される
	Call SpreadRow(SpRowCnt) '引数の行番号がフォーム名に付加される

									Content.MoveNext
								Loop

If 0=1 Then
	'スプレッドシートの空白行を発生させる
	SpInputValue(1) = "" 'フォーム初期値
	SpInputValue(2) = "" 'フォーム初期値
	SpInputOption(3) = "" 'フォーム初期値(selectプルダウンのoptionタグ)
	SpInputOption(3) = SpInputOption(3) & "<option value=""""><<<会社は選択されていません>>></option>"' & vbCrLf
	For Cnt = 1 To UBound(KaishaCD)
		SpInputOption(3) = SpInputOption(3) & "<option value=""" & KaishaMei(Cnt) & """>" & KaishaMei(Cnt) & "</option>"' & vbCrLf
	Next
	For Cnt = SpRowCnt + 1 To SpRowCnt + SpBlankRow
		'Response.Write(SpreadRow(SpRowCnt)) '引数の行番号がフォーム名に付加される
		Call SpreadRow(Cnt) '引数の行番号がフォーム名に付加される
		SpMaxRow = Cnt
	Next
End If

							%>
							</TABLE>
						</DIV>
					</TD>
				</TR>
<% End If %>
									</TABLE>
								</TD>
							</TR>
						</TABLE>
					</td>
				</tr>
			</table>
		</td>
	</tr>
</table>
</div>
<%

	'元選択会社CDをフォーム化する(bin側で変更の有無を判定するため)
	Query = "exec SPM演習選択ユーザー一覧 '" & GB_SystemCD & "','" & EnshuCD & "'"
	Set Content = OpenQuery(Query)
	Do While Not(Content.BOF Or Content.EOF)
		If "" & Content.Fields("選択会社CD") <> "" Then	'選択会社無しは除外
			Response.Write("<input type=""hidden"" name=""" & Content.Fields("学生番号") & """ value=""" & ConvKaisyaMeisyoDx(EnshuCD, Content.Fields("選択会社CD")) & """>" & vbCrLf)
		End If
		Content.MoveNext
	Loop
%>
</form>

</body>
<% = HtmlFooter %>
</html>



<% If GB_IEmode <> "1" Then %>
<SCRIPT LANGUAGE="JavaScript">


	SpMinRow = 1;
	SpMaxRow = <% = SpMaxRow %>;
<%
	'最大セル番号を取得
	SpMaxCol = 0
	For Cnt = 1 To UBound(SpCellType)
		If "" & SpCellType(Cnt) <> "" Then
			SpMaxCol = Cnt
		End If
	Next
%>
	SpMaxCol = <% = SpMaxCol %>;


	function SubmitCheck() {
		document.getElementById("BaseL5").innerHTML = "更新中です。しばらくお待ちください。";
		form1.SendValue.value = ""
		for (jj = SpMinRow; jj <= SpMaxRow; jj++) {
			Target = "SpCell" + jj + "_" //セル番号を除くフォーム名
			for (ii = 1; ii <= SpMaxCol; ii++) {
				var Text1;
				Text1 = form1[Target + ii].value;
				//文字型フィールドの半角カンマ・セミコロンを代替文字に変換する処理(070201小野)
				Text1 = ReplaceStr(Text1, ",", "CommammoC")
				Text1 = ReplaceStr(Text1, ";", "SemicolonolocimeS")
				form1.SendValue.value = form1.SendValue.value + Text1;
				form1.SendValue.value = form1.SendValue.value + ",";
			}
			form1.SendValue.value = form1.SendValue.value + ";"
		}
//alert(form1.SendValue.value);
//return;
		SubmitReal(form1);
		return true;
	}



window.onload = function() {

//	form1.SpCell<% = (SpRowCnt + 1) %>_1.focus();

}

</SCRIPT>



<% Else 'IEモード %>



<SCRIPT LANGUAGE="JavaScript">

	function SubmitCheck() {
		//送信文字列初期化
		form1.SendValue.value = "";
		//行ループ
		for (jj = 1; jj <= document.vaSpread1.MaxRows; jj++) {
			document.vaSpread1.Row = jj;
			var RowText = "";
			//列ループ
			for(ii = 1; ii <= document.vaSpread1.MaxCols; ii++) {
				document.vaSpread1.Col = ii;
				var Text1;
				Text1 = document.vaSpread1.Text;
				//文字型・適用型フィールドの半角カンマ・セミコロンを代替文字に変換する処理
				if(document.vaSpread1.ColID == 1 || document.vaSpread1.ColID == 18 || document.vaSpread1.ColID == 21 || document.vaSpread1.ColID == 22) {
					Text1 = ReplaceStr(Text1, ",", "CommammoC")
					Text1 = ReplaceStr(Text1, ";", "SemicolonolocimeS")
				}
				//カンマ区切りで列結合
				RowText = RowText + Text1;
				RowText = RowText + ",";
			}
			//セミコロン区切りで行結合
			form1.SendValue.value = form1.SendValue.value + RowText + ";";
		}
		SubmitReal(form1);
		return true;
	}



	function SpreadInit(fpSpread) {
		fpSpread.MaxRows = 0;
<%
		Dim ii
		ii = 0
		Query = "exec SPM演習選択ユーザー一覧 '" & GB_SystemCD & "','" & EnshuCD & "'"
		Set Content = OpenQuery(Query)
		Do While Not(Content.BOF Or Content.EOF)
			ii = ii + 1
			Response.Write("		SpreadAddItem(fpSpread);" & vbCrLf)
			Response.Write("		fpSpread.Row = " & ii & ";" & vbCrLf)
			Response.Write("		fpSpread.Col = 1;" & vbCrLf)
			Response.Write("		fpSpread.Text = """ & Content.Fields("学生番号") & """;" & vbCrLf)
			Response.Write("		fpSpread.Col = 2;" & vbCrLf)
			Response.Write("		fpSpread.Text = """ & Replace("" & Content.Fields("氏名"), "\", "\\") & """;" & vbCrLf)
			Response.Write("		fpSpread.Col = 3;" & vbCrLf)
			Dim TmpKaishaMeisho
			TmpKaishaMeisho = ConvKaisyaMeisyoDx(EnshuCD, Content.Fields("選択会社CD"))
			If TmpKaishaMeisho = "" Then
				TmpKaishaMeisho = KaishaMisentaku
			End If
			Response.Write("		fpSpread.Text = """ & TmpKaishaMeisho & """;" & vbCrLf)
			Response.Write("		fpSpread.Col = 0;" & vbCrLf)
			Response.Write("		fpSpread.Text = "" "";" & vbCrLf)
			Content.MoveNext
		Loop
%>
	}

</SCRIPT>

<SCRIPT FOR="vaSpread1" EVENT="KeyDown(KeyAsciiCode, KeyShift)" LANGUAGE="JavaScript">
//	SpreadKeyDown(this, KeyAsciiCode, KeyShift);
</SCRIPT>
<SCRIPT FOR="vaSpread1" EVENT="KeyUp(KeyAsciiCode, KeyShift)" LANGUAGE="JavaScript">
	SpreadKeyUp(this, KeyAsciiCode, KeyShift);
</SCRIPT>

<SCRIPT FOR="vaSpread1" EVENT="ScriptLeaveCell(ColNo, RowNo, NewColNo, NewRowNo, Cancel)" LANGUAGE="VBScript">
	Dim tmp
	tmp = SpreadChange(Me, ColNo, RowNo)
	If tmp = "ERR" Then
		Cancel = true
		SpreadReFocus(Me)
	End If
</SCRIPT>

<SCRIPT FOR="vaSpread1" EVENT="Click(ColNo, RowNo)" LANGUAGE="JavaScript">
//	ヘッダー列クリック時にソートしない場合にはコメントアウトする
	SpreadClick(this, ColNo, RowNo);
	this.Col = this.ActiveCol;
	this.Row = this.ActiveRow;
	this.EditMode = true;
	SpreadRowColor(this);	//選択行の色を変える(090624小野)
</SCRIPT>

<SCRIPT FOR="vaSpread1" EVENT="EditMode(Col, Row, Mode, ChangeMade)" LANGUAGE="JavaScript">
	this.Col = Col;
	this.Row = Row;
	if(this.CellType == 12)
	{
		if(!Mode)
		{
			this.TypeCurrencyLeadingZero = 2;
		}
	}
	this.focus();
</SCRIPT>

<SCRIPT FOR="window" EVENT="onload" LANGUAGE="JavaScript">
	if(typeof(form1.dummy) == "object")form1.dummy.focus();
	//	SpreadInit 第 3n + 1 引数 (nは整数)
	//	0:日付型 1:文字型 8:コンボボックス型 10:チェックボックス型 12:通貨型 13:数値型 21:勘定科目 22:摘要
	document.vaSpread1.Redraw = false;
	SpreadLoad(document.vaSpread1, "ユーザーID", 18, 18, "氏  名", 22, 24, "選 択 会 社", 8, 35);

	document.vaSpread1.ScriptEnhanced = true;
	//その他の Spread に関する設定はここに入れる
<%
	Dim KaishaList
	KaishaList = ""
	KaishaList = KaishaList & KaishaMisentaku
	Dim TmpCnt
	For TmpCnt = 1 To UBound(KaishaMei)
		KaishaList = KaishaList & "\t"
		KaishaList = KaishaList & KaishaMei(TmpCnt)
	Next
%>
	document.vaSpread1.Col = 3;
	document.vaSpread1.TypeComboBoxList = "<% = KaishaList %>";

	document.vaSpread1.Row = -1;
	document.vaSpread1.Col = 1;
	document.vaSpread1.BackColorStyle = 1;
	document.vaSpread1.BackColor = 0xEFEFEF;
	document.vaSpread1.Lock = true;
	document.vaSpread1.Col = 2;
	document.vaSpread1.BackColorStyle = 1;
	document.vaSpread1.BackColor = 0xEFEFEF;
	document.vaSpread1.Lock = true;

	document.vaSpread1.RetainSelBlock = false;

	SpreadInit(document.vaSpread1);
	document.vaSpread1.Redraw = true;

</SCRIPT>



<% End If %>



<%
End Sub
%>