//----------------------------------------------------------
// 機能：タスクフォルダーのモード変更（タスクパネル）
// 引数：in_Obj		選択オブジェクト
//
//----------------------------------------------------------
function changeTaskFolderMode(in_Obj) {

	//　選択フォルダのアイコンを変更
	//　子フォルダーを展開
	var liObj = in_Obj.parentNode;
	var strIds = liObj.id.split("-");
	var ulObj , ulChildObj;
	
	var objs;
	var strId;
	if(strIds.length == 2) {	//1階層目をクリックしたとき
		num = parseInt(strIds[1]);
		strId = "root" + (num-1);
		ulObj = document.getElementById(strId);
	} else {					//2階層目以降をクリックした時
		strId = strIds[0];		//liのidがtaskList-1-1だったらtaskList-1-0がstrIdに入るようにする
		for(i=1; i<strIds.length-1; i++){
			strId = strId + "-" + strIds[i];
		}
		strId = strId + "-0";
		ulObj = document.getElementById(strId);
		ulChildObj = document.getElementById(liObj.id + "-0");
	}
	
	if(liObj.className == "closeFolder") {		
		if(strIds.length == 2){
			liObj.className = "openFolder";
			ulObj.className = "rootLevel";
		} else if(strIds.length == 3) {	//2階層目のとき
			num = parseInt(strIds[1]);
			strId = "root" + (num-1);
			ulObj = document.getElementById(strId);
			if(ulObj.className != "rootClose") {
				liObj.className = "openFolder";
				ulChildObj.className = "display singleFolder";
			}
		} 
		if(strIds.length == 4) {
			liObj.className = "openFolder";
			ulChildObj.className = "display singleFolder";
			ulObj.className = "display openFolder";
		}
		
	} else {
		liObj.className = "closeFolder";
		if(strIds.length == 2){
			ulObj.className = "rootClose";
			for(i=0;;i++){
				strId = strIds[0] + "-" + strIds[1] + "-" + i;
				liObj = document.getElementById(strId);
				if(liObj == null) break;
				if(liObj.className == "openFolder"){
					liObj.className = "closeFolder";
					ulChildObj = document.getElementById(liObj.id + "-0");
					ulChildObj.className = "none singleFolder";
				}
			}
		} else {
			ulChildObj.className = "none singleFolder";
		}
		
	}

}


//----------------------------------------------------------
// 機能：タスクの選択（タスク）
// 引数：in_Obj		選択オブジェクト
//
//----------------------------------------------------------
function selectTaskItem(in_Obj) {


	// 選択されていたオブジェクトを全て非選択
	deselectAll(in_Obj);

	// 選択されたオブジェクトを設定
	this.gPreSelectedObj = in_Obj;

	// 選択に設定
	in_Obj.parentNode.className= "active";
}

//----------------------------------------------------------
// 機能：ツリー全体を非選択 (ルート検索バージョン)
// 引数：in_Obj		アクセスポイント
//
//----------------------------------------------------------
function deselectAll(in_Obj) {
	var root = null;
	// ルートを検索する
	forLoop: for (;;) {
		in_Obj = in_Obj.parentNode;
		if (in_Obj.className == "rootLevel") {
			root = in_Obj; // 発見成功
			break;
		}
		switch (in_Obj.nodeName) {
			case "A":
			case "UL":
			case "LI":
				continue forLoop; // OK タグ
			default: // その他：NG タグ（STOP）
				root = null; // 発見失敗
				break forLoop;
		} // switch
	} // for

	if (root != null) {
		recursiveDeselect(root.childNodes);
	}
} // function deselectAll

//----------------------------------------------------------
// 機能：ツリーの一部を非選択 (再起バージョン)
// 引数：children	検索するnodeList
//
//----------------------------------------------------------
function recursiveDeselect(children) {
	for(var i=0; i<children.length; i++){
		var ch = children.item(i);
		if (ch.className == "active" && ch.nodeName == "LI") {
			return ch.className = "normal"; // 発見成功。即非選択
		}
		recursiveDeselect(ch.childNodes);
	} // for
} // function recursiveDeselect


//ブラウザ判定
function isIE(){
	var ua = navigator.userAgent.toLowerCase();
	if(ua.indexOf('msie')!=-1){
		return true;
	}
    return false;
}