<script language="JavaScript">
<!--
/*
このファイルの中身は、NTT オープンソースライセンス　バージョン 1.0（「本
契約」という）の適用を受けます。
本契約を遵守しない限り、このファイルを使用してはなりません。
本契約のコピーは、次のＵＲＬから入手できます。
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

本契約に基づき頒布されるソフトウェアは、現状のまま、明示又は黙示のあらゆ
る種類の保証なしで、頒布されます。本契約に基づく権利及び制限を律する特定
の文言については、本契約を参照してください。

「オリジナルコード」は、 NTT Cyber Space Laboratories Code です。 
「オリジナルコード」の「初期開発者」は、日本電信電話株式会社です。  
日本電信電話株式会社により創作された部分は、Copyright (C) 2004 
日本電信電話株式会社 です。
全ての権利が留保されます。 
「コントリビュータ」：_____________________________________ 


The contents of this file are subject to the NTT Opensource License
Version 1.0 (the License); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

Software distributed under the License is distributed on an AS IS
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.

The Original Code is NTT Cyber Space Laboratories Code .

The Initial Developer of the Original Code is NIPPON TELEGRAPH AND 
TELEPHONE CORPORATION.
Portions created by the NIPPON TELEGRAPH AND TELEPHONE CORPORATION 
are Copyright (C) 2004 NIPPON TELEGRAPH AND TELEPHONE CORPORATION. 
All Rights Reserved.

Contributor(s) ______________________________________.
*/
//-->

<!--
//
//	グループの登録画面表示
//
//		変更履歴
//			2004.01.08 新規作成  Yoshida
//
//	機能
//
//	G03画面第一ペインのツリーを表示させます。
//

	SelectId='';

	rootidpath='[[idpath]]';
	NS4 = (document.layers) ? 1 : 0;
	IE4 = (document.all) ? 1 : 0;
	ver4 = (NS4 || IE4) ? 1 : 0;

	if (ver4) {
		with (document) {
			write("<STYLE TYPE='text/css'>");
			if (NS4) {
				write(".parent {position:absolute; visibility:visible}");
				write(".child {position:absolute; visibility:visible}");
				write(".regular {position:absolute; visibility:visible}")
			}
			else {
				write(".child {display:none}")
			}
			write("</STYLE>");
		}
	}

	function getIndex(el) {
		ind = null;
		for (i=0; i<document.layers.length; i++) {
			whichEl = document.layers[i];
			if (whichEl.id == el) {
				ind = i;
				break;
			}
		}
		return ind;
	}

	function arrange() {
		nextY = document.layers[firstInd].pageY +document.layers[firstInd].document.height;
		for (i=firstInd+1; i<document.layers.length; i++) {
			whichEl = document.layers[i];
			if (whichEl.visibility != "hide") {
				whichEl.pageY = nextY;
				nextY += whichEl.document.height;
			}
		}
	}

	function initIt(searchFlag, tvType, userID, childrenURL){
		if (!ver4) return;
		if (NS4) {
			for (i=0; i<document.layers.length; i++) {
				whichEl = document.layers[i];
				if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
			}
			arrange();
		}
		else {
			divColl = document.all.tags("DIV");
			for (i=0; i<divColl.length; i++) {
				whichEl = divColl(i);
				if (whichEl.className == "child") whichEl.style.display = "none";
			}
		}

		// ここにタイムアウト処理を記述
		setTimeout("SearchSubGroup('" + searchFlag + "','" + tvType + "','" + userID + "','" + childrenURL + "')", 1000);
	}

	function expand(GR) {
		var GRChild=GR+"Child";
		var whichEl = document.all(GRChild);

		if (!ver4) return;
		if (IE4) {
			if (whichEl.style.display == "block") {
				whichEl.style.display = "none";
			}
			else {
				whichEl.style.display = "block";
			}
		}
		else {
			whichEl = eval("document." + el + "Child");
			if (whichEl.visibility == "show") {
				whichEl.visibility = "hide";
			}
			else {
				whichEl.visibility = "show";
			}

			arrange();
		}
	}

	function SearchSubGroup(searchFlag, tvType, userID, childrenURL)
	{

		var tmp = "<%= strprm %>";

// 検索系機能よりコンテナ又はLO検索時、第１ペイン(LOツリー)に検索対象LOを
// ハイライト表示させるロジックが組まれていた。ハイライト表示させない為削除する。

		if(tmp == ""){
			return true;
		}

		str = new Array( <%= strprm %> );
		var GR_L = "";

		// 検索フラグが設定されていた場合はツリーパスを元にツリーを展開します。
		if((searchFlag) || (searchFlag=="on")) {
			// 展開管理オブジェクトを初期化します
			// ツリータイプによって取得するオブジェクトを変えます
			if( tvType == '<%= GROUP_TYPE %>') {
				parent.parent.nodemanager.objOpenManagerGroup.init();
			}
			else if( tvType == '<%= LO_TYPE %>') {
				parent.parent.nodemanager.objOpenManagerLo.init();
			}
			for (ix=0 ; ix < str.length  ; ix++)
			{
				GR_L = GR_L + "/" + str[ix];

// 検索系機能よりコンテナ又はLO検索時、第１ペイン(LOツリー)に検索対象LOを
// ハイライト表示させるロジックが組まれていた。ハイライト表示させない為削除する。

				getSubGroup( GR_L , str[ix], '', tvType, userID, childrenURL );
			}
		}
		// ツリーパスが設定されていない場合は展開管理オブジェクトに基づいてツリーを展開します
		else {
			// ノード展開管理オブジェクトの取得
			// ツリータイプによって取得するオブジェクトを変えます
			var objOpenManager;
			if( tvType == '<%= GROUP_TYPE %>') {
				objOpenManager = parent.parent.nodemanager.objOpenManagerGroup;
			}
			else if( tvType == '<%= LO_TYPE %>') {
				objOpenManager = parent.parent.nodemanager.objOpenManagerLo;
			}
			// ロード時は必ずルート直下は展開する
			// ルートパスがノード展開管理オブジェクトに含まれてる場合
				getSubGroup( "/" + str[0], str[0], '', tvType, userID, childrenURL );
		}
// 検索系機能よりコンテナ又はLO検索時、第１ペイン(LOツリー)に検索対象LOを
// ハイライト表示させるロジックが組まれていた。ハイライト表示させない為削除する。
		return true;
	}

	function getSubGroup(GR, parendID, matType, tvType, userID, childrenURL)
	{
		// ノード展開管理オブジェクトの取得
		// ツリータイプによって取得するオブジェクトを変えます
		var objOpenManager;
		if( tvType == '<%= GROUP_TYPE %>') {
			objOpenManager = parent.parent.nodemanager.objOpenManagerGroup;
		}
		else if( tvType == '<%= LO_TYPE %>') {
			objOpenManager = parent.parent.nodemanager.objOpenManagerLo;
		}

		var GRChild=GR+"Child";
		var strChild1 = new Array();

		var strReplace = GR;

		var groupinfo;
		var innerstr="";
		var thisObj = document.all(GRChild);
		if (thisObj == null)
		{
			return;
		}
		var strImgFile = "";
		var intEndImgNum = "";
		if( document.all(GR) != null ) {
			if (!document.all(GR).src.match(/_o.gif/) &&
			!document.all(GR).src.match(/_h.gif/)){
				return;
			}
			//フォルダが開いているときは、配下を非表示にする。

			// 閉じたツリーイメージに変更する。
			if (document.all(GR).src.match(/_o.gif/)){

				strImgFile = document.all(GR).src;
				intEndImgNum = strImgFile.indexOf("_o.gif");
				strImgFile = strImgFile.substr(0,intEndImgNum);
				strImgFile = strImgFile + "_h.gif";
				document.all(GR).src=strImgFile;

				thisObj.style.display = "none";

				// ノード展開管理オブジェクトからノード削除
				objOpenManager.delOpenInfo( GR );

				return;
			}
			else {
				// ノード展開管理オブジェクトにノード追加
				objOpenManager.addOpenInfo( GR );
			}
		}
		else {
			return;
		}

		var strXML = '';
			strXML = document.WbtApplet.getChildList(parendID, userID);

		strChild1 = SearchChild(strXML);

		if(strReplace=="/")
		{
			strReplace="";
		}

		for (var i=1; i<=strChild1.length; i++)
		{
			groupinfo=strChild1[i-1].split(",");
			innerstr=innerstr+getHtml(strReplace, groupinfo, tvType, userID, childrenURL);
		}
		if( innerstr != '' ) {
			thisObj.innerHTML=innerstr;
		}

		// ノード展開管理オブジェクトに下位のノードが含まれていたらgetSubGroupメソッドを再帰呼び出しします
		for (var i=1; i<=strChild1.length; i++)
		{
			var groupinfoTemp=strChild1[i-1].split(",");
			if( objOpenManager.contain( strReplace+"/"+groupinfoTemp[0] ) ) {
				var path = '';
					path = strReplace + '/' + groupinfoTemp[0];
				getSubGroup( path, groupinfoTemp[0],'', tvType, userID, childrenURL );
			}


		}
		//フォルダが閉じているときは、配下を表示にする。

		// 開いたツリーイメージに変更する。
		strImgFile = document.all(GR).src;
		intEndImgNum = strImgFile.indexOf("_h.gif");
		strImgFile = strImgFile.substr(0,intEndImgNum);
		strImgFile = strImgFile + "_o.gif";
		document.all(GR).src=strImgFile;

		if( innerstr != '' ) {
			expand(GR);
		}

	}

	p_id = "";

	function changecolor1(id)
	{
		if (id==p_id){
			document.all(id).style.backgroundColor= 'c2e8fe';
		}
		else if (document.all(id).style.backgroundColor!= 'c2e8fe'){
			document.all(id).style.backgroundColor= 'c2e8fe';
			changecolor2(p_id);
			select(id);
		}

	}

	function changecolor2(id)
	{
		if (id!=""){
			if (document.all(id).style.backgroundColor!= ''){
				document.all(id).style.backgroundColor= '';
			}
		}
	}

	function select(str)
	{
		p_id=str;
	}

	function getHtml(GR, groupinfo, tvType, userID, childrenURL)
	{

		var nGR="m"+GR;
		var ss=nGR.split("/");
		var parentID = groupinfo[0];

		var gifwidth= 0;
		if( nGR.indexOf(":") >= 0 ) {

			gifwidth = (ss.length-4)*<%= TREE_INDENT01 %> + <%= INDENT_G03ROOT %>;

		}
		else {

			gifwidth = (ss.length-2)*<%= TREE_INDENT01 %> + <%= INDENT_G03ROOT %>;

		}


		// 表示するアイコンの取得を行います
		var iconGif = getIcon( groupinfo[2], groupinfo[3] );
		GR = GR + '/' + groupinfo[0];

		var TdID = "";			//クリックされたテーブルのID
		var P_TdID = "";		//前にクリックされたテーブルのID

		TdID = "SelectedTargetID"+ GR;

		var htmlStr="<table cellspacing = '<%= ICON_PITCH %>'  cellpadding = '<%= ICON_PITCH %>'><tr><td><IMG src=../../../image/xmo/Base/jpn/<%= IMG_SPACE_o %> width="+gifwidth+" height=5></td><td><IMG src='<%= TREE_GIF_ICON_PATH %>" + iconGif + "' name='"+GR+"' onclick=\"getSubGroup('"+GR+"','"+parentID+"','','" + tvType + "','" + userID + "','" + childrenURL + "');  return false\"  class=\"hand\"></td><td ID='" + TdID + "'><label onclick=changecolor1('" + TdID + "')><A href='" + childrenURL + "parentID=" + parentID + "&treepath=" + GR + "&type=" + groupinfo[2] + "'  onclick='return fncIsExitMain()' target='main'>" + "<%= ICON_SPACE %>"+"<font size='<%=DISPLAY_FONT_SIZE%>'>"+groupinfo[1]+"</font></a></label></td></tr></table>";


		P_TdID = TdID;

		htmlStr=htmlStr+"<DIV class=child id="+GR+"Child ></DIV>";

		return htmlStr;

	}

	function getIcon( icon, type ) {
		var iconGif = "";
		var strType = "";
		var i = 0;
		strType = type.split("^");
		//グループのアイコン取得
		if( icon == 'group' && strType[strType.length - 1] != 'L' ) {
			iconGif = "icon_group_type_" + strType[0] + "_h.gif"
			return iconGif;
		}
		//グループ(最終レコード)のアイコン取得
		else if( icon == 'group' && strType[strType.length - 1] == 'L' ) {
			iconGif = "icon_group_type_" + strType[0] + "_l_h.gif"
			return iconGif;
		}
		//ユーザー(男性)のアイコン取得
		else if( icon == 'person' && strType[0] == '1' && strType[strType.length - 1] != 'L' ) {
			iconGif = '<%= IMG_MAN_DISP %>' + strType[1] + "_f.gif"
			return iconGif;
		}
		//ユーザー(男性 最終レコード)のアイコン取得
		else if( icon == 'person' && strType[0] == '1' && strType[strType.length - 1] == 'L' ) {
			iconGif = '<%= IMG_MAN_DISP %>' + strType[1] + "_l_f.gif"
			return iconGif;
		}
		//ユーザーの（女性）アイコン取得
		else if( icon == 'person' && strType[0] == '2' && strType[strType.length - 1] != 'L' ) {
			iconGif = '<%= IMG_WOMEN_DISP %>' + strType[1] + "_f.gif"
			return iconGif;
		}
		//ユーザーの（女性 最終レコード）アイコン取得
		else if( icon == 'person' && strType[0] == '2' && strType[strType.length - 1] == 'L' ) {
			iconGif = '<%= IMG_WOMEN_DISP %>' + strType[1] + "_l_f.gif"
			return iconGif;
		}
		//ユーザー(性別未設定)のアイコン取得
		else if( icon == 'person' && strType[0] == '3' && strType[strType.length - 1] != 'L' ) {
			iconGif = '<%= IMG_UNKNOWN_DISP %>' + strType[1] + "_f.gif"
			return iconGif;
		}
		//ユーザー(性別未設定 最終レコード)のアイコン取得
		else if( icon == 'person' && strType[0] == '3' && strType[strType.length - 1] == 'L' ) {
			iconGif = '<%= IMG_UNKNOWN_DISP %>' + strType[1] + "_l_f.gif"
			return iconGif;
		}

		//教材のアイコン取得（コンテナ）
		else if( icon == 'container' ){
			iconGif = "icon_lo_type_" + type + "_h.gif"
			return iconGif;
		}
		//コンテナ外
		else if(icon == 'course'){
			//SCO(WBT)教材の場合
			iconGif = "icon_lo_type_" + type + "_f.gif"
			return iconGif;
		}
		// ブロックの場合
		else if(icon == 'block') {
			iconGif = "icon_block_type_" + type + "_h.gif"
			return iconGif;
		}
		// AUの場合
		else if(icon == 'au') {
			iconGif = "icon_au_type_" + type + "_f.gif"
			return iconGif;
		}
	}

	function SearchChild(strXML)
	{
		var strChild = new Array();
		strLine = new Array();
		strParts = new Array();
		var strSex = "";

		if(strLine = strXML.match(/<child\s.+/g))
		{

			for (i=0; i<strLine.length; i++)
			{
				strParts = strLine[i].split(/\"/);
				for (j=0; j<strParts.length; j++){
					if (strParts[j].match(/title/)){
						strTitle = strParts[j+1];
					}
					if (strParts[j].match(/iconid/)){
						striconID = strParts[j+1];
					}
					if (strParts[j].match(/id/)){
						strid = strParts[j+1];
					}
					if (strParts[j].match(/type/)){
						strSex = strParts[j+1];
					}
				}
				strChild[i] = strid + "," + strTitle + "," + striconID + "," + strSex;
			}
		}
		return strChild;
	}

	function grouphref(topURL, iniMenu)
	{
		parent.location.href=topURL + "1&ini_menu=" + iniMenu;
	}

	function curriculumhref(topURL, iniMenu)
	{
		parent.location.href=topURL + "2&ini_menu=" + iniMenu;
	}

	function fncIsExitMain() {
		objMain = parent.parent.body_main.body.document.all( "main" );
		if(objMain == null) {
			return false;
		}
		else {
			return true;
		}
	}
// -->
</script>
