
/*	
	IFベースクラス
*/
(
	function() {
		
		$.superDialog = function() { //コンストラクタ
			
			this.U = new $.superUtil();
			
			
		}
		
		$.superDialog.prototype = {
			
			U : {}, //ユーティリティ
			
			/*--------------------
			　送信ボタン
			-------------------- */
			makeBtn_submit : function(title) {
			
				var btnTitle = "送信";
				if(title) btnTitle = title;
				
				var btn = $("<div id='btnSubmit'><button>"+btnTitle+"</button></div>");
				btn.appendTo($("#dialogUI_btnArea"));
				
				return btn;
				
				
			},
			
			
			/*--------------------
			　削除ボタン
			-------------------- */
			makeBtn_delete : function(title) {
			
				var btnTitle = "削除";
				if(title) btnTitle = title;
				
				//ボタン
				var btn = $("<div id='btnDelete'><button>"+btnTitle+"</button></div>");
				btn.appendTo($("#dialogUI_btnArea"));
				
				return btn;
			},

			/*--------------------
			　UIにカバーかける
			-------------------- */
			coverUI : function() {
				
				$("#dialogUI").append("<div id='dialogUICover'></div><div id='dialogUIDelConfirmUI'></div>");
				var cover = $("#dialogUICover");
				var UI = $("#dialogUIDelConfirmUI");

				return {cover:cover, UI:UI};
			},
			
			/*--------------------
			　削除確認オブジェクト
			-------------------- */
			DelConfirm : function() {
				
				var c  = this.coverUI();
				var UI = c.UI;
								//タイトル
				UI.append("<p id='dialogUICover_Title'></p>");
				
				UI.append("<div id='dialogUICover_BtnHolder' class='clearfix'></div>");
				//OKボタン
				$("#dialogUICover_BtnHolder").append("<button id='btn_DelTaskConfirm_OK'>OK</button>");
				//OKボタン
				$("#dialogUICover_BtnHolder").append("<button id='btn_DelTaskConfirm_Cancel'>Cancel</button>");
				
				var delcon = {
					ui : UI,
					setTitle : function(str){
						$("#dialogUICover_Title").append(str);
					},
					remove : function(){
						$("#dialogUICover").remove();
						$("#dialogUIDelConfirmUI").remove();
					},
					onCancel : function(){
					
					},
					onOK : function(){
					
					}
				};
				
				/*-------------------------------------------------------
					キャンセル
				-------------------------------------------------------*/
				$("#btn_DelTaskConfirm_Cancel").unbind("click").bind("click",function(e){ e.preventDefault(); e.stopPropagation();
					delcon.remove();
					delcon.onCancel();
					delcon = null;
				});
				
				/*-------------------------------------------------------
					OK
				-------------------------------------------------------*/
				$("#btn_DelTaskConfirm_OK").unbind("click").bind("click",function(e){ e.preventDefault(); e.stopPropagation();
					delcon.remove();
					delcon.onOK();
					delcon = null;
				});
				
				return delcon;
			},

			/*--------------------
			　ダイアログをつくる
			-------------------- */
			makeDialog : function(title, node) {
				
				if($("#dialogBG").length > 0) return;
				
				$("body").append("<div id='dialogBG'></div>");//BGをひくよ
				$("body").append("<div id='dialogHolder'><div id='dialogUI'></div></div>");
				
				$("#dialogUI").css("opacity", "0");//UIボックス
				//コンテンツエリア
				$("#dialogUI").append("<div id='dialogUI_contArea'><div id='dialog_Title'>"+title+"</div><div id='dialog_Cont'>"+node+"</div></div>");
				//ボタンエリア
				$("#dialogUI").append("<div id='dialogUI_btnArea' class='clearfix'><div id='btnCloseDialog'><button>とじる</button></div></div>");
				
				
				//BG
				$("#dialogBG").css("opacity", "0.6");
				$("#dialogHolder").css("margin-top", 50);
				
				
			},
			/*--------------------
			　ダイアログを閉じる
			-------------------- */
			closeDialog : function(callBack) {
				
				var me = this;
				$("#dialogBG").remove();
				
				var U = this.U;
				var browser = U.getBlowser();
				if(browser == "IE8" || browser == "normal"){
					$("#dialogHolder").animate({opacity:0}, {duration: "fast", complete: function(){
						$("#dialogHolder").remove();
						
						me.setResizeEvent(false);
						if(callBack) callBack();
					}});
				} else {
					$("#dialogBase").remove();
					me.setResizeEvent(false);
				}
				
				me.setKeyDownEvent(false);
			},
			
			
			/*--------------------
			　閉じるボタン トグルで表示
			-------------------- */
			closeBtnToggle : function() {
				$("#btnCloseDialog").toggle();
			},
			
			/*--------------------
			　ダイアログを閉じる
			-------------------- */
			quickDelete : function() {
				$("#dialogBG").remove();
				$("#dialogHolder").remove();
			},
			
			/*--------------------
			　ダイアログを開く
			-------------------- */
			upDialog : function(openFunc) {
				
				
				var me = this;
				var U = this.U;
				
				var browser = U.getBlowser();
				if(browser == "IE8" || browser == "normal"){
					$("#dialogUI").animate({opacity:1}, {duration: "fast", complete: function(){
						if(openFunc) openFunc();
					}});
				}
		
				//this.setResizeEvent(true);
				
				//閉じるボタン
				$("#btnCloseDialog button").bind("click", function() {
					me.closeDialog();
				});
				
				me.setKeyDownEvent(true);
			
			},
			
			/*---------------------------------------
			　リサイズイベント
			--------------------------------------- */
			setResizeEvent : function(flg) {
				
				if(flg){
					//$(window).resize(function(){
					$(window).bind("resize", this.resizeCover);
					this.resizeCover();
				} else {
					$(window).unbind("resize");
				}
			},
		
			/*---------------------------------------
			　カバー
			--------------------------------------- */
			resizeCover : function() {
				var w = $(window).width();
				var h = $(document).height();
				$("#dialogBG").css("width", w);
				$("#dialogBG").css("height", h);
			},

			
			/*---------------------------------------
			　キーダウンイベント
			--------------------------------------- */
			setKeyDownEvent : function(flg) {
				
				var me = this;
				if(flg){
					//キーダウン
					$(window).unbind("keydown").bind("keydown", function(e){
						console.log("e.keyCode "+e.keyCode);
						if(e.keyCode == 27){
							me.closeDialog();
						}
					});
				} else {
					//キーダウン
					$(window).unbind("keydown");
				}
			}
			
		}//superDialog
		

	}
)();


