
/*	
	
*/
(
	function() {
		
		/*---------------------------------------------------------------------------------------------------------
			コンストラクタ
		--------------------------------------------------------------------------------------------------------- */
		$.myDialog = function(){};
		$.myDialog.prototype = $.extend({}, $.superDialog.prototype, {
			
			
		});
		
		$P = $.myDialog.prototype;
		$P.U = new $.superUtil();
		
		//
		//	ログイン画面を表示
		//	2010.02.04
		//
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */

		$P.openLoginDialog = function() {
			
			var me = this;
			var node = "";			
			
			node += "<div id='D_Login_mail' class='dialog_formline clearfix'><div class='dialog_formtitle'>メールアドレス：</div><div class='dialog_forminput'><input value=''></input></div></div>";
			node += "<div id='D_Login_pass' class='dialog_formline clearfix'><div class='dialog_formtitle'>パスワード：</div><div class='dialog_forminput'><input value='' type='password'></input></div></div>";
			
		
			
			if($.isDebug) {
				$("#D_Login_mail input").val("katsumi@pivot-design.com");
				$("#D_Login_pass input").val("katsumi");
			}
			
			
			////////////////
			
			this.makeDialog("ログイン", node);
			this.makeBtn_submit();
			this.upDialog();
			
			//閉じるボタントル
			this.closeBtnToggle();
			
			//
			setBtnAction();
			
			/*---------------------------------------------------------------------------------------------------------
				setBtnAction
			--------------------------------------------------------------------------------------------------------- */
			function setBtnAction() {
				
				//
				$("#btnSubmit button").unbind("click").bind("click", function(e) { e.preventDefault(); e.stopPropagation();
				
					$(this).unbind("click");					
					
					
					var umail = $("#D_Login_mail input").val();
					var upass = $("#D_Login_pass input").val();
					
					//ログインにトライ
					$.login.doLogin(umail, upass, function(d) {
						
						if(d.type == "ok"){
							//alert("ユーザ「"+username+"」を追加しました");
							me.closeDialog();
							
						} else if(d.alertStr){
							alert(d.alertStr);
							setBtnAction();
						} else if(d.type == "nodata") {
							alert("未登録アドレスです");
							setBtnAction();
						} else if(d.type == "wrongpass") {
							alert("パスワードが違います");
							setBtnAction();
						} else {
							alert(d.type);
							setBtnAction();
						}
						
					});
				
				});
			}
				
			
		}
		
		
		//
		//	修正モジュールを追加するダイアログ
		//
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openModuleSelectDialog = function(bugid) {
			
			var me = this;
			var node = "";
			node += "<div id='dialogBase'>";
				node += "<div id='dialogHolder'>";
				
					node += "<div id='dialogReserve'>";
						node += "<p id='dialogTitle'>バグ「"+bugid+"」に修正モジュールを追加します</p>";
						
						node += "<div id='moduleEdit'>";
							node += "<div id='moduleList'></div>";
							
							node += "<div id='addModule'></div>";
							
							
							
							/*node += '<p id="confidential_level">権限';
							node += '<select>';
								node += '<option value="9">管理者</option>';
								node += '<option value="1">一般</option>';
							node += '</select></p>';
							*/
							
							node += "<p id='btnOK'><button id='btnAdd' type='button'>追加</button></p>";
							
							node += "<p id='btnAddModule'><a href='javascript:void(0);'>新規にモジュールリストに登録</a></p>";
							node += "<p id='btnRemoveModule'><a href='javascript:void(0);'>モジュールリストに登録したものを削除</a></p>";
							node += "<p><button id='dialogClose' type='button'>閉じる</button></p>";
						node += "</div>";
					node += "</div>";
		
				node += "</div>";
			node += "</div>";
			
			this.makeDialog(node);
			this.upDialog();
			
			updateList(function(){
				initInputAddModuleArea();
			});
			
			
			
			//追加ボタン
			$("#btnAdd").unbind("click").bind("click", function() {
				
				var moduleid = $("#PD_moduleList select").val();
				$.IF.IFaddBugModule(bugid, moduleid, function(d) {
					
					if(d.type == "ok") {
						
						//リスト更新
						updateList();
						
						
						
					}else if(d.type == "existError") {
						alert("すでに登録済です");
					} else {
						alert("モジュール追加ができませんでした");
					}
		
				});
			});
			
			
			//新規モジュール追加ボタン
			function initInputAddModuleArea(){
				
				//新規登録
				$("#btnAddModule a").unbind("click").bind("click", function() {
					
					
					$("#moduleEdit").hide();
					
					var node = "<div id='registModule'>";
						node += "<p>新規にモジュールを登録し、プルダウンから選べるようになります</p>";
						node += "<p><input></p>";
						node += "<p id='btnAddModule_btn_submit'><button>新規モジュール登録</button></p>";
						node += "<p id='btnAddModule_btn_close'><a href='javascript:void(0);'>もどる</a></p>";
					node += "</div>";
					$("#registModule").remove();
					$("#moduleEdit").after(node);
					
					//新規に追加
					$("#btnAddModule_btn_submit button").unbind("click").bind("click", function() {
					
						//var url = $("#registModule input").val();
						var url = $.trim($("#registModule input").val());
						if(url == "") return;
		
						$.IF.IFaddModule(url, function(d) {
							
							if(d.type == "ok") {
								alert("モジュール「"+url+"」を登録しました");
								
								//リスト更新
								updateList();
								
								
								
							}else if(d.type == "existError") {
								alert("すでに登録済です");
							} else {
								alert("モジュール追加ができませんでした");
							}
		
						});
					});
			
					//登録終了ボタン
					$("#btnAddModule_btn_close a").unbind("click").bind("click", function() {
						$("#registModule").remove();
						
						$("#moduleEdit").show();
						
						
						updateList(function(){
							initInputAddModuleArea();
						});
					});
				});
				
				
				//削除
				$("#btnRemoveModule a").unbind("click").bind("click", function() {
					
					
					$("#moduleEdit").hide();
				
					
					
					var node = "<div id='removeModule'>";
						node += "<p>モジュールを削除</p>";
						node += "<p id='PD_removeModule'>"+getPD()+"</p>";
						node += "<p id='btnRemoveModule_btn_submit'><button>モジュール削除</button></p>";
						node += "<p id='btnRemoveModule_btn_close'><a href='javascript:void(0);'>もどる</a></p>";
					node += "</div>";
					$("#removeModule").remove();
					$("#moduleEdit").after(node);
					
					//削除
					$("#btnRemoveModule_btn_submit button").unbind("click").bind("click", function() {
					
						var moduleid = $("#removeModule select").val();
		
						$.IF.IFdeleteModule(moduleid, function(d) {
							
							if(d.type == "ok") {
								
								
								
								updateAndgetPD(function(PDnode){
					
									$("#PD_removeModule").empty().append(PDnode);
									
									//リスト更新
									updateList();
								
								});
				
							
								
								alert("モジュール「"+Bug.getModuleDataFromModuleID(moduleid).url+"」を削除しました");
								
								
							} else if(d.type == "noExistError") {
								alert("モジュールみつからない");
							} else {
								
								alert("モジュール削除にしっぱい");
							}
		
						});
					});
			
					//登録終了ボタン
					$("#btnRemoveModule_btn_close a").unbind("click").bind("click", function() {
						$("#removeModule").remove();
						
						$("#moduleEdit").show();
						
						
						updateList(function(){
							initInputAddModuleArea();
						});
					});
				});
			}
			
			//updateList
			function updateList(callback){
				
				updateAndgetPD(function(PDnode){
					
					var node = "<div id='PD_moduleList'>";
					node += "<p>モジュールリストから選択して追加しよう</p>";
					node += PDnode;
					node += "</div>";
					
					$("#PD_moduleList").remove();
					$("#btnOK").before(node);
					
					//moduleList
					$.IF.IFgetBugModule(bugid, function(d) {
						
						var ary = d.ary;
						
						var node = "";
						if(ary.length > 0){
							node = "<ul>";
							for(var i=0; i<ary.length; i++) {
								node += "<div moduleid='"+ary[i].module_id+"' class='modulelistLine clearfix'>";
								
									node += "<div class='modulelistL'>"+Bug.getModuleDataFromModuleID(ary[i].module_id).url+"</div>";
									node += "<div class='modulelistR'><a href='javascript:void(0);'>del</a></div>";
								node += "</div>";
							}
							node += "</ul>";
						
							
						} else {
							node += "<ul><li>とうろくなし</li></ul>";
						}
						$("#moduleList").empty().append(node);
						$("#moduleList .modulelistLine:odd").css("background-color", "#404040");
						
						//削除ボタン
						$(".modulelistR a").unbind("click").bind("click", function(evt) {
							var moduleid = $(evt.target).parents(".modulelistLine").attr("moduleid");
							$.IF.IFdeleteBugModule(bugid, moduleid, function(d) {
								
								if(d.type == "ok") {
									
									//リスト更新
									updateList();
									
								}else if(d.type == "noExistError") {
									alert("データがみつからないぜ");
								} else {
									alert("モジュール削除ができませんでした");
								}
		
							});
						});
						
						if(callback) callback();
						
					});
					
				});
						
				
			}
			
			//getPD
			function getPD(){
				var ary = Bug.moduleList;
				var node = "";
				node += "<select>";
				for(var i=0; i<ary.length; i++) {
					node += "<option value='"+ary[i].id+"'>"+ary[i].url+"</option>";
				}
				node += "</select>";
				return node;
			}
			
			//updateAndgetPD
			function updateAndgetPD(callback){
				Bug.updateModuleList(function() {
					callback(getPD());
				});
			}
		}
		
		
		
			
		//
		//	ユーザーを追加するダイアログ
		//	※アカウントの種類を追加
		//
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openAddUserDialog = function() {
			
			var me = this;
			var node = "";
			
			node += "<div>";
				
				////
				node += "<div id='D_adduser_name' class='dialog_formline clearfix'><div class='dialog_formtitle'>ユーザ名：</div><div class='dialog_forminput'><input value=''></input></div></div>";
				node += "<div id='D_adduser_mail' class='dialog_formline clearfix'><div class='dialog_formtitle'>メール：</div><div class='dialog_forminput'><input value=''></input></div></div>";
				node += "<div id='D_adduser_pass' class='dialog_formline clearfix'><div class='dialog_formtitle'>パスワード：</div><div class='dialog_forminput'><input value=''></input type='password'></div></div>";
				
				
				node += "<div id='D_adduser_level' class='dialog_formline clearfix'>";
					node += "<div class='dialog_formtitle'>権限：</div>";
					node += "<div class='dialog_forminput'>";
					
						node += '<select>';
							node += '<option value="9">管理者</option>';
							node += '<option value="1">一般</option>';
						node += '</select>';
					node += "</div>";
				node += "</div>";

							
			
			node += "</div>";
			
						
			this.makeDialog("ユーザ追加します", node);
			this.makeBtn_submit();
			this.upDialog();
			
			$.U.setDatePicker();
			
			//
			setBtnAction();
			
			/*---------------------------------------------------------------------------------------------------------
				setBtnAction
			--------------------------------------------------------------------------------------------------------- */
			function setBtnAction() {
				
				//
				$("#btnSubmit button").unbind("click").bind("click", function(e) { e.preventDefault(); e.stopPropagation();
				
					$(this).unbind("click");					
					
					var username = $("#D_adduser_name input").val();
					var umail = $("#D_adduser_mail input").val();
					var upass = $("#D_adduser_pass input").val();
					var confidential_level = $("#D_adduser_level option:selected").val();
			
					$.IF.IFaddUser(username, umail, upass, confidential_level, function(d) {
						
						if(d.type == "ok"){
							//alert("ユーザ「"+username+"」を追加しました");
							$.A.updateAll(function() {
								me.closeDialog();
							});
							
						} else if(d.alertStr){
							alert(d.alertStr);
							setBtnAction();
						} else if(d.type == "existError") {
							alert("そのアドレスはすでに登録済みなので使えません");
							setBtnAction();
						} else {
							alert(d.type);
							setBtnAction();
						}
			
					});
				});
			}
		}
		
		//
		/*---------------------------------------------------------------------------------------------------------
			タスクを追加・編集するダイアログ
			corneridがあれば指定コーナーに固定
			taskidがあれば編集
		--------------------------------------------------------------------------------------------------------- */
		$P.openEditTaskDialog = function(cornerid, taskid) {
			
			var me = this;
			var node = "";
			
			var uid;
			if($.DB.loginName) uid = $.U.getUserID($.DB.loginName);
			
			var pdid = null;
			var taskD = null;
			if(taskid) {
				taskD = $.DB.getData("task", taskid);
				cornerid = taskD.cornerid;
			}
			
			//コーナー
			node += "<div id='D_addtask_corner' class='dialog_formline clearfix'>";
				node += "<div class='dialog_formtitle'>コーナー：</div>";
				node += "<div class='dialog_forminput'>";
				
					if(cornerid){
						node += "「"+$.U.getCornerName(cornerid)+"」";
					} else {
						node += $.PD.getPullDownHTML_Corner();
					}

				node += "</div>";
			node += "</div>";					
				
			//区分
			node += "<div id='D_addtask_kbn' class='dialog_formline clearfix'>";
				node += "<div class='dialog_formtitle'>区分：</div>";
				node += "<div class='dialog_forminput'>";
					
					pdid = "";
					if(taskD) pdid = taskD.kbn;
					node += $.PD.getPullDownHTML_TaskKbn(pdid);
				node += "</div>";
			node += "</div>";		
			
			/*---------------------------------------------------------
				タスク名
			----------------------------------------------------------*/
			var taskname = "無題";
			if(taskD) taskname = taskD.taskname;
			node += "<div id='D_addtask_taskname' class='dialog_formline clearfix'><div class='dialog_formtitle'>タスク名：</div><div class='dialog_forminput'><input value='"+taskname+"'></input></div></div>";
			
			/*---------------------------------------------------------
				期限
			----------------------------------------------------------*/
			var deadline = "";
			if(taskD) deadline = $.U.dateForHTML(taskD.deadline);
			else deadline = $.U.getTodayStr("/");
			node += "<div id='D_addtask_deadline' class='dialog_formline clearfix'><div class='dialog_formtitle'>期限：</div><div class='dialog_forminput'><input  class='datepicker' value='"+deadline+"'></input></div></div>";
			
			/*---------------------------------------------------------
				タスク名
			----------------------------------------------------------*/
			var priority = "";
			if(taskD) priority = taskD.priority;
			node += "<div id='D_addtask_priority' class='dialog_formline clearfix'>";
				node += "<div class='dialog_formtitle'>優先度：</div>";
				node += "<div class='dialog_forminput'>";
					node += $.PD.getPullDownHTML_Priority(priority);
				node += "</div>";
			node += "</div>";
									
			
			/*---------------------------------------------------------
				内容
			----------------------------------------------------------*/
			var des = "";
			if(taskD) des = taskD.des;
			node += "<div id='D_addtask_des' class='dialog_formline clearfix'><div class='dialog_formtitle'>内容：</div><div class='dialog_forminput'><textarea>"+des+"</textarea></div></div>";
			
				
			/*---------------------------------------------------------
				ステータス
			----------------------------------------------------------*/
			var state = "";
			if(taskD) state = taskD.state;
			
			node += "<div id='D_addtask_status' class='dialog_formline clearfix'>";
				node += "<div class='dialog_formtitle'>ステータス：</div>";
				node += "<div class='dialog_forminput'>";
					node += $.PD.getPullDownHTML_State(state);
				node += "</div>";
			node += "</div>";	
			
			/*---------------------------------------------------------
				担当
			----------------------------------------------------------*/
			var tanto = "";
			if(taskD) tanto = taskD.tanto;
			else tanto = uid;
			node += "<div id='D_addtask_tanto' class='dialog_formline clearfix'>";
				node += "<div class='dialog_formtitle'>担当：</div>";
				node += "<div class='dialog_forminput'>";
					node += $.PD.getPullDownHTML_User(tanto);
				node += "</div>";
			node += "</div>";	
			
			/*---------------------------------------------------------
				登録者
			----------------------------------------------------------*/
			var inputter = "";
			if(taskD) inputter = taskD.inputter;
			else inputter = uid;
			node += "<div id='D_addtask_inputter' class='dialog_formline clearfix'>";
				node += "<div class='dialog_formtitle'>登録者：</div>";
				node += "<div class='dialog_forminput'>";
					node += $.PD.getPullDownHTML_User(inputter);
				node += "</div>";
			node += "</div>";						
			
			//公開レベル　confidential_level
			//　※0で全員に公開　9で管理者にのみ公開
			/*---------------------------------------------------------
				タスク名
			----------------------------------------------------------*/
			var confidentiallevel = 1;
			if(taskD) confidentiallevel = taskD.confidentiallevel;
			node += "<div id='D_addtask_confidentialLevel' class='dialog_formline clearfix'>";
				node += "<div class='dialog_formtitle'>公開レベル：</div>";
				node += "<div class='dialog_forminput'>";
					node += $.PD.getPullDownHTML_confidential_level(confidentiallevel);
				node += "</div>";
			node += "</div>";	
			
			var title = "タスク追加します";
			var btnTitle_submit = "追加";
			if(taskid) {
				title = "タスク更新します";		
				btnTitle_submit = "更新";
			}
			
			this.makeDialog(title, node);
			this.makeBtn_submit(btnTitle_submit);
			this.makeBtn_delete();
			this.upDialog();
			
			$.U.setDatePicker();
			
				//
			setBtnAction();
			
			/*---------------------------------------------------------------------------------------------------------
				setBtnAction
			--------------------------------------------------------------------------------------------------------- */
			function setBtnAction() {
				
				/*---------------------------------------------------------------------------------------------------------
					送信ボタン
				--------------------------------------------------------------------------------------------------------- */

				$("#btnSubmit button").unbind("click").bind("click", function(e) { e.preventDefault(); e.stopPropagation();
				
					$(this).unbind("click");					
					
					if(!cornerid) cornerid = parseInt($("#D_addtask_corner option:selected").val(),10);
					var taskkbn = parseInt($("#D_addtask_kbn option:selected").val(),10);
					
					
					var taskname = $("#D_addtask_taskname input").val();
					
					var deadline = $.U.dateForDB($("#D_addtask_deadline input").val());
					var priority = parseInt($("#D_addtask_priority option:selected").val(),10);
					var des = $("#D_addtask_des textArea").val();
					var state = parseInt($("#D_addtask_status option:selected").val(),10);
					var tanto = parseInt($("#D_addtask_tanto option:selected").val(),10);
					var inputter = parseInt($("#D_addtask_inputter option:selected").val(),10);
					var confidentiallevel = parseInt($("#D_addtask_confidentialLevel option:selected").val(),10);

					if(taskD){
					/*---------------------------------------------------------------------------------------------------------
						更新だね
					--------------------------------------------------------------------------------------------------------- */
						var sendData = {};
						sendData.cornerid = cornerid;
						sendData.kbn = taskkbn;
						sendData.taskname = taskname;
						
						sendData.deadline = deadline;
						sendData.priority = priority;
						sendData.des = des;
						sendData.state = state;
						sendData.tanto = tanto;
						sendData.inputter = inputter;
						sendData.confidentiallevel = confidentiallevel;
						
						
						$.IF.IFupdateTask(taskid, sendData, function() {
							$.A.updateAll();
							me.closeDialog();
						});
						
					} else {
					/*---------------------------------------------------------------------------------------------------------
						新規だね
					--------------------------------------------------------------------------------------------------------- */
						$.IF.IFaddTask(cornerid, taskkbn, taskname, deadline, priority, des, state, tanto, inputter, confidentiallevel, function(d) 
						{
							$(this).unbind("click");					
	
							if(d.type == "ok"){
								//alert("ユーザ「"+username+"」を追加しました");
								$.A.updateAll(function() {
									me.closeDialog();
								});
								
							} else if(d.alertStr){
								alert(d.alertStr);
								setBtnAction();
							} else if(d.type == "existError") {
								alert("そのアドレスはすでに登録済みなので使えません");
								setBtnAction();
							} else {
								alert(d.type);
								setBtnAction();
							}
	
						});
					}//if
									
				});//btnSbumit
				
				/*---------------------------------------------------------------------------------------------------------
					削除ボタン
				--------------------------------------------------------------------------------------------------------- */
				$("#btnDelete button").unbind("click").bind("click", function(e) { e.preventDefault(); e.stopPropagation();
					$(this).unbind("click");
					
					var delcon = me.DelConfirm();
					
					var title = $.U.getCornerName(cornerid);
					delcon.setTitle("「"+title+"」のタスク"+$.U.keta(taskid,3)+"を削除しますか？");
					//キャンセル時
					delcon.onCancel = function(){
						setBtnAction();
					};
					//OK時
					delcon.onOK = function(){
						
						$.IF.IFdeleteTask(taskid, function() {
							
							me.closeDialog(function(){
							
								$.U.onComplete("タスクの削除完了");
								
								$.A.updateAll();
							});
							
							
							
							
						});
					};
					
				});//btnDelete
				
			}//setBtnAction
			
			
			
		}
		
		
		
		
		//区分を追加するダイアログ
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openAddTaskKbnDialog = function() {
			
			var me = this;
			var node = "";
			
			node += "<div>";
			
			node += "<ul id='cornerList'>";
			for(var i=0; i<$.DB.table.taskkbn.length; i++) {
				node += "<li>・"+$.DB.table.taskkbn[i].kbnname+"</li>";
			}
			node += "</ul>";
			node += "<div id='D_kbn' class='dialog_formline clearfix'><div class='dialog_formtitle'>区分名：</div><div class='dialog_forminput'><input value=''></input></div></div>";
							
			
			node += "</div>";
			
						
			this.makeDialog("区分を追加します", node);
			this.makeBtn_submit();
			this.upDialog();
			
			$.U.setDatePicker();
			
			//
			setBtnAction();
			
			/*---------------------------------------------------------------------------------------------------------
				setBtnAction
			--------------------------------------------------------------------------------------------------------- */
			function setBtnAction() {
				
				//
				$("#btnSubmit button").unbind("click").bind("click", function(e) { e.preventDefault(); e.stopPropagation();
				
					$(this).unbind("click");					
					
					
					var kbnname = $("#D_kbn input").val();
			
					$.IF.IFaddTaskKbn(kbnname, function(d)
					{
						if(d.type == "ok"){
							//alert("区分「"+kbnname+"」を追加しました");
							$.A.updateAll(function() {
								me.closeDialog();
							});
							
						} else if(d.alertStr){
							alert(d.alertStr);
							setBtnAction();
						} else {
							alert(d.type);
							setBtnAction();
						}
					});
				});
			}
		}
		
		
		//バグを消去するダイアログ
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openEditBugDialog = function(bugid) {
			
			var me = this;
			var node = "";
			var bugD = $.DB.getData("bug",bugid);
			
			/*---------------------------------------------------------
				作業名
			----------------------------------------------------------*/
			var title = "";
			if(bugD) title = bugD.title;
			node += "<div id='' class='dialog_formline clearfix'><div class='dialog_formtitle'>作業名：</div><div class='dialog_forminput'>"+title+"</div></div>";
			
			/*---------------------------------------------------------
				内容
			----------------------------------------------------------*/
			var des = "";
			if(bugD) des = bugD.des;
			node += "<div id='' class='dialog_formline clearfix'><div class='dialog_formtitle'>内容：</div><div class='dialog_forminput'>"+des+"</div></div>";
			
			
			
			this.makeDialog("作業項目&ensp;"+$.U.keta(bugid, 3), node);
			//this.makeBtn_submit();
			this.makeBtn_delete();
			this.upDialog();
						
			//
			setBtnAction();
			
			/*---------------------------------------------------------------------------------------------------------
				setBtnAction
			--------------------------------------------------------------------------------------------------------- */
			function setBtnAction() {
				
				
				
				/*---------------------------------------------------------------------------------------------------------
					削除ボタン
				--------------------------------------------------------------------------------------------------------- */
				$("#btnDelete button").unbind("click").bind("click", function(e) { e.preventDefault(); e.stopPropagation();
					$(this).unbind("click");
					
					var delcon = me.DelConfirm();
					
					var title = "作業項目&ensp;"+$.U.keta(bugid,3)+"を削除しますか？";
					delcon.setTitle(title);
					//キャンセル時
					delcon.onCancel = function(){
						setBtnAction();
					};
					//OK時
					delcon.onOK = function(){
						
						$.IF.IFdeleteBug(bugid, function(d)
						{
							if(d.type == "ok"){
								//alert("区分「"+kbnname+"」を追加しました");
								me.closeDialog(function(){
								
									$.U.onComplete("作業項目の削除完了");
									
									$.A.updateAll();
								});

							} else if(d.alertStr){
								alert(d.alertStr);
								setBtnAction();
							} else {
								alert(d.type);
								setBtnAction();
							}
						});
					
					};
					
				});//btnDelete
			}
			
		}
		
		//タスクを消去するダイアログ
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openDeleteTaskDialog = function(ary) {
		
			var me = this;
			var node = "";
			node += "<div id='dialogBase'>";
				node += "<div id='dialogHolder'>";
				
					node += "<div id='dialogReserve'>";
					node += "<p id='dialogTitle'>タスクを削除しちゃうよ</p>";
					
					node += "削除するタスク番号";
					node += "<select id='select_delTaskNum'>";
					for(var i=0; i<ary.length; i++) {
						var no = ary[i];
						node += "<option value='"+no+"'>"+no+"</option>";
					}
					node += "</select>"; 
				
						
					node += "<p id='btnOK'><button type='button'>削除さ</button></p>";
					node += "<p><button id='dialogClose' type='button'>閉じる</button></p>";
					node += "</div>";
		
				node += "</div>";
			node += "</div>";
			
			this.makeDialog(node);
			$("#dialogHolder").css("background", "#645879");
			$("#dialogHolder").css("margin-top", $(document).scrollTop()+300);
			
			this.upDialog();
			
			$("#btnOK button").bind("click", function() {
				$(this).unbind("click");
				var taskid = $("#select_delTaskNum").val();
				var cornerid = $("#taskID_"+taskid).parents(".taskList").attr("id");
				//cornerid = cornerid.replace("cornerID_", "");
				
				if(!taskid) {
					alert("タスク番号をいれてください");
					return;
				}
		
				$.IF.IFdeleteTask(taskid, function() {
				
					$.U.onComplete("タスクの削除完了", function() {
						me.closeDialog();
					});
					$.A.updateAll();
					
				});
		
			});
		}
		
		
		//タスクの公開レベルを変更するダイアログ
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openChangeLevelTaskDialog = function(ary) {
		
			var me = this;
			var node = "";
			node += "<div id='dialogBase'>";
				node += "<div id='dialogHolder'>";
				
					node += "<div id='dialogReserve'>";
					node += "<p id='dialogTitle'>タスクの公開レベルを変更できます</p>";
					
					node += "<div id='changeLevelTaskDialog_list'>";
					for(var i=0; i<ary.length; i++) {
						var no = ary[i];
						var taskdata = $.A.getTaskDataFromID(no);
						var btn = "<button>一般に変更</button>";
						var id = "level_normal";
						if(taskdata.confidential_level < 9) {
							btn = "<button>管理者に変更</button>";
							id = "level_admin";
						}
						node += "<p id='"+id+"'>タスク番号&ensp;<b>"+no+"</b>&emsp;"+taskdata.taskname+"&ensp;"+btn+"</p>";
					}
					node += "</div>"; 
				
						
					node += "<p><button id='dialogClose' type='button'>閉じる</button></p>";
					node += "</div>";
		
				node += "</div>";
			node += "</div>";
			
			this.makeDialog(node);
			$("#dialogHolder").css("background", "#645879");
			$("#dialogHolder").css("margin-top", $(document).scrollTop()+300);
			
			this.upDialog();
			
			$("#changeLevelTaskDialog_list button").bind("click", function() {
				 
				var taskid = $(this).parent().find("b").html();
				var id = $(this).parent().attr("id");
				
				var level = 0;
				if(id == "level_admin") {
					level = 9;
				} else if(id == "level_normal") {
					level = 1;
				}
				
				$.IF.IFupdateTask({taskid:taskid, confidential_level:level}, function() {
					$.A.updateAll();
					me.closeDialog();
				});
		
			});
		}
		
		
		//コーナーを追加するダイアログ
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openAddCornerDialog = function() {
			
			var me = this;
			var node = "";
		
			node += "<div>";
			
			node += "<ul id='cornerList'>";
			for(var i=0; i<$.DB.table.corner.length; i++) {
				node += "<li>・"+$.DB.table.corner[i].cornername+"</li>";
			}
			node += "</ul>";
			node += "<div id='D_cornername' class='dialog_formline clearfix'><div class='dialog_formtitle'>コーナー名：</div><div class='dialog_forminput'><input value=''></input></div></div>";
							
			
			node += "</div>";
		
		
			this.makeDialog("コーナーを追加します", node);
			this.makeBtn_submit();
			this.upDialog();
			
			//
			setBtnAction();
			
			/*---------------------------------------------------------------------------------------------------------
				setBtnAction
			--------------------------------------------------------------------------------------------------------- */
			function setBtnAction() {
				
				//
				$("#btnSubmit button").unbind("click").bind("click", function(e) { e.preventDefault(); e.stopPropagation();
				
					$(this).unbind("click");
					
					var cornernamejp = $("#D_cornername input").val();
			
					$.IF.IFaddCorner(cornernamejp, function(d) {
						
						if(d.type == "ok"){
							//リスト更新
							$.A.updateAll(function() {
								me.closeDialog();
							});
							
						} else if(d.alertStr){
							alert(d.alertStr);
							setBtnAction();
						} else {
							alert(d.type);
							setBtnAction();
						}
					});
				});
			}
		
			
		}
		
		//タスクの表示を変更するダイアログ
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openChangeTaskVisibleDialog = function(ary) {
			
			var me = this;
			$.IF.IFgetTask(null, [], null, 1, function(data)
			{
				var ary = data.ary;
				makeList(ary);
			});
				
			function makeList(ary) {
				
				var node = "";
				node += "<div id='dialogBase'>";
					node += "<div id='dialogHolder'>";
					
						node += "<div id='dialogReserve'>";
						node += "<p id='dialogTitle'>非表示タスクを表示させることができます</p>";
						
						node += "<div id='changeLevelTaskDialog_list'>";
						for(var i=0; i<ary.length; i++) {
							var taskdata = ary[i];
							node += "<p id=''>タスク番号&ensp;<b>"+taskdata.id+"</b>&emsp;"+taskdata.cornernamejp+"「"+TaskList.getHTMLFromParamName("taskname", taskdata)+"」&emsp;<button>表示させる</button></p>";
						}
						node += "</div>"; 
					
							
						node += "<p><button id='dialogClose' type='button'>閉じる</button></p>";
						node += "</div>";
			
					node += "</div>";
				node += "</div>";
				
				me.makeDialog(node);
				$("#dialogHolder").css("background", "#645879");
				$("#dialogHolder").css("margin-top", $(document).scrollTop()+300);
				
				me.upDialog();
				
				$("#changeLevelTaskDialog_list button").bind("click", function() {
					 
					var taskid = $(this).parent().find("b").html();
					
					
					$.IF.IFupdateTask({taskid:taskid, hidden:0}, function() {
						$.A.updateAll();
						me.closeDialog();
					});
			
				});
			}
		}
		
		
		//メモ
		/*---------------------------------------------------------------------------------------------------------
			
		--------------------------------------------------------------------------------------------------------- */
		$P.openMemoDialog = function(cname) {
			
			var cdata = $.CM.getCornerData(cname);
			
			var currentmemo = cdata.memo;//アンドゥ用に保持
			var me = this;
			var node = "";
			node += "<div id='dialogBase'>";
				node += "<div id='dialogHolder'>";
				
					node += "<div id='dialogMemo'>";
					node += "<p id='dialogTitle'>Memo about 「"+cdata.cornernamejp+"」</p>";
					
					node += "<div id='memo'>";
						node += "<textarea>"+cdata.memo+"</textarea>";
						node += "<p id='btnReset'><button type='button'>もどす</button></p>";
					node += "</div>"; 
				
						
					node += "<p id='btnOK'><button type='button'>更新</button></p>";
					
					node += "<p><button id='dialogClose' type='button'>閉じる</button></p>";
					node += "</div>";
		
				node += "</div>";
			node += "</div>";
			
			this.makeDialog(node);
			$("#dialogHolder").css("background", "#649879").css("width", "90%");
			$("#dialogHolder").css("margin-top", $(document).scrollTop()+50);
			
			this.upDialog();
			
			//更新
			$("#btnOK button").bind("click", function() {
				var memo = $("#memo textarea").val();
				var cornerid = cdata.id;
				//cornerid = cornerid.replace("cornerID_", "");
				
				
		
				$.IF.IFupdateCorner(cornerid, "", "", memo, function() {
					$.U.onComplete("更新完了");
					//currentmemo = memo;
				});
		
			});
			
			//もどす
			$("#btnReset button").bind("click", function() {
				$("#memo textarea").val(currentmemo);
				
			});
		
			
			
		}
		
////////////////////////////////////////////////////////////////////////////////
	
	}
)();


