// open popup window
function windowOpen(url, popupname, hasScroll, width, height) {
	var w = width;
	var h = height;
	var x = (screen.availWidth - w) / 2;
	var y = (screen.availHeight - h) / 2;

	// 팝업로그인용으로 파라미터를 붙여준다.
	var deli = url.indexOf("?")>-1 ? "&popWin=Y" : "?popWin=Y";
	url = url + deli;

	var newwin = window.open(url, popupname == undefined ? "" : popupname,
			"toolbar=0, status=0, scrollbars=" + (hasScroll?"yes":"no") + ", location=0, menubar=0, width=" + w + ", height=" + h + ", left=" + x + ", top=" + y);
	if ( newwin ) newwin.focus();
	return newwin;
}

// open resizable popup window
function windowOpenResizable(url, popupname, hasScroll, width, height) {
	var w = width;
	var h = height;
	var x = (screen.availWidth - w) / 2;
	var y = (screen.availHeight - h) / 2;

	// 팝업로그인용으로 파라미터를 붙여준다.
	var deli = url.indexOf("?")>-1 ? "&popWin=Y" : "?popWin=Y";
	url = url + deli;

	var newwin = window.open(url, popupname == undefined ? "" : popupname,
			"toolbar=0, status=0, scrollbars=" + (hasScroll?"yes":"no") + ", location=0, menubar=0, width=" + w + ", height=" + h + ", left=" + x + ", top=" + y + ",resizable=yes");
	if ( newwin ) newwin.focus();
	return newwin;
}

// resize frame itself
function resizeFrameItself(fDoc, fWin, fHeight) {
	var flexibleHeight = 0;
	if (!isNaN(parseInt(fHeight)))
		flexibleHeight = parseInt(fHeight);
	var newHeight = fDoc.body.scrollHeight + flexibleHeight;
	fWin.frameElement.height = newHeight;
}

// resize frame external
function resizeFrameExternal(fObj, fHeight) {
	var flexibleHeight = 0;
	if (!isNaN(parseInt(fHeight)))
		flexibleHeight = parseInt(fHeight);
	var newHeight = fObj.contentWindow.document.body.scrollHeight
			+ flexibleHeight;
	fObj.contentWindow.frameElement.height = newHeight;
}

/*
 * Modal Dialog - jquery 필수
 */

// init modal dialog
function initDialogEffect(msg, cancel) {
		msg = msg.replace(/\n/g, '<br/>'); // new line을 <br> 로 대체

		var h = $(document.body).height();
		var okCancelBtn;
		var xBtn;

		$(document.body).append("<div id=\"blockScreenDiv\" " +
				"style=\"display:none; position:absolute; background:#E7E7E7;" +
				"width:100%; height:" + h +"px; left:0; top:0; opacity:0.5; " +
				"filter:alpha(opacity=50); z-index:1002;\">&nbsp;</div>");

		if(cancel == null){
			okCancelBtn = "<td height=\"16\" colspan=\"2\"><center><a href=\"#\" class=\"okClass\"><img src=\"/images/common/layer_btn_ok.gif\" width=\"71\" height=\"16\"></a></center></td>";
			xBtn = "<td valign=\"top\" height=\"20\"><a href=\"#\" class=\"okClass\"><img src=\"/images/common/btn_closed3.gif\" width=\"6\" height=\"6\" /></a></td>";
		}else{
			okCancelBtn = "<td height=\"16\" colspan=\"2\"><center><a href=\"#\" class=\"okClass\"><img src=\"/images/common/layer_btn_ok.gif\" width=\"71\" height=\"16\"></a> <a href=\"#\" class=\"cancelClass\"><img src=\"/images/common/layer_btn_cancel.gif\" width=\"71\" height=\"16\"></a></center></td>";
			xBtn = "<td valign=\"top\" height=\"20\"><a href=\"#\" class=\"cancelClass\"><img src=\"/images/common/btn_closed3.gif\" width=\"6\" height=\"6\" /></a></td>";
		}

		$(document.body).append(
		"<div id=\"dialogMsgDiv\" style=\"display:none; position:absolute; z-index:1005; background-color:#E7E7E7; \">" +
		"<table width=\"291\" height=\"167\"  bordercolor=\"#e3e3e3\" border=\"4\" style=\"border-collapse:collapse; background-color:#ffffff;\" cellspacing=\"0\" cellpadding=\"0\">" +
		  "<tr>" +
		    "<td><table width=\"291\" height=\"167\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" +
		      "<tr>" +
		        "<td width=\"21\"></td>" +
		        "<td width=\"270\" height=\"21\"></td>" +
		      "</tr>" +
		      "<tr>" +
		        "<td width=\"21\"></td>" +
		        "<td height=\"9\"><img src=\"/images/common/layer_title.gif\" width=\"70\" height=\"18\" /></td>" +
		      "</tr>" +
		      "<tr>" +
		        "<td width=\"21\"></td>" +
		        "<td height=\"8\"></td>" +
		      "</tr>" +
		      "<tr>" +
		        "<td height=\"89\" colspan=\"2\"><p><center><div style=\"width:250px;\" id=\"dialogMsgSpan\">" +
		        "</div></center></td>" +
		        "</tr>" +
		      "<tr>" +
		        okCancelBtn +
		      "</tr>" +
		      "<tr>" +
		        "<td height=\"23\" colspan=\"2\"><table width=\"291\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" +
		          "<tr>" +
		            "<td width=\"271\" height=\"23\" rowspan=\"2\"></td>" +
		            "<td width=\"20\" height=\"3\"></td>" +
		          "</tr>" +
		          "<tr>" +
		            xBtn +
		          "</tr>" +
		        "</table></td>" +
		        "</tr>" +
		    "</table></td>" +
		  "</tr>" +
		"</table>" +
		"</div>");

		$("#dialogMsgDiv a.okClass").click(hideDialogEffectOk);
		$("#dialogMsgDiv a.cancelClass").click(hideDialogEffectCancel);

	$("#dialogMsgSpan").html(msg);
	setDialogEffectPos();
}
function setDialogEffectPos() {
	var msgDiv = $("#dialogMsgDiv");
	var winW = $(window).width();
	var winH = $(window).height();
	var divW = msgDiv.width();
	var divH = 200; //msgDiv.height();
	msgDiv.get(0).style.left = ((winW-divW)/2) + "px";
	msgDiv.get(0).style.top = $(window).scrollTop() + ((winH-divH)/2) + "px";
}
// show modal dialog
var okFunc;
var cancelFunc;

function showDialogEffect(msg, ok, cancel) {
	initDialogEffect(msg, cancel);

	okFunc = ok;
	cancelFunc = cancel;

	// TODO : key 이벤트
	$(window).bind("resize", setDialogEffectPos);
	$(window).bind("scroll", setDialogEffectPos);

	setSelectBoxVisible(false);

	$("#blockScreenDiv").show();
	$("#dialogMsgDiv").show();

}
function hideDialogEffectCommon(){
	// TODO : key 이벤트
	$(window).unbind("resize", setDialogEffectPos);
	$(window).unbind("scroll", setDialogEffectPos);

	$("#blockScreenDiv").remove();
	$("#dialogMsgDiv").remove();

	setSelectBoxVisible(true);
}
// select box가 최상위로 오는 버그 관련 처리.
function setSelectBoxVisible(isShow) {
	var list;
	var checkClass = "showEffectClass";
	if(isShow) {
		list = $("select:hidden." + checkClass);
		list.removeClass(checkClass);
		list.show();
	} else {
		list = $("select:visible");
		list.addClass(checkClass);
		list.hide();
	}
}
// hide modal dialog
function hideDialogEffectOk() {
	hideDialogEffectCommon();
	if(okFunc)	okFunc();
	return false;
}
function hideDialogEffectCancel() {
	hideDialogEffectCommon();
	if(cancelFunc)	cancelFunc();
	return false;
}

