var msg = new validateMessage("error");

var Admin = {
	CheckResult : function (pValue)
	{
		if (pValue.resultCode == RT_OK)
		{
			var g = Common.getGroupID();

			location.href= Common.getRoot() + "admin/adminmain";
		}
		else if (pValue.resultCode == RT_WARNING)
		{
			//OrgAdmin._createBackGround();
			OrgAdmin.viewCodeDiv(pValue);
		}
		else
		{
			validCheck.setMessage(pValue);
			$("admin_id").focus();
		}
	},

	Login : function (pId, pPassword, pSave)
	{
		var temp;
		if (pId.indexOf("@") > 0)
		{
			temp = pId.split("@");
			pId = temp[0];
		}

		if (!validCheck.patternCheck("require|between_length", pId, DOMAIN_MINLEN, 50))
			return validCheck.setMessage("ERROR_ID_REQUIRE", "admin_id", false);
		if (!validCheck.patternCheck("require", pPassword))
			return validCheck.setMessage("ERROR_PASSWORD_REQUIRE", "admin_pass", false);

		var param = $H({'userid' : pId, 'password' : pPassword, 'remember' : pSave});

		getAjaxData(Common.getRoot() + 'admin/adminhome/Login', param, Admin.CheckResult);
	},

	Enter : function(pEvent)
	{
		if (pEvent.keyCode==13) Admin.Login($('admin_id').value, $('admin_pass').value);
	}
}

var OrgAdmin = {
	setLeftMenu : function (pFlag)
	{
		if (typeof(pFlag) == "object")
		{
			pFlag = menuFlag;
			OrgAdmin.clearMenuSelect();
		}
		else
			this.clearMenuSelect();

		var iconID = "mnu_icon_" + pFlag;
		var txtID = "mnu_txt_" + pFlag;

		try
		{
			$(iconID).innerHTML = "<img src='" + Common.getImageRoot() + "common/icon/admin_icon02.gif'>";
			$(txtID).style.color = "#EC5F00";
		}
		catch (e)
		{

		}
	},

	clearMenuSelect : function()
	{
		$("mnu_icon_userlist").innerHTML = "";
		$("mnu_icon_constnode").innerHTML = "";
		$("mnu_icon_groupnode").innerHTML = "";

		$("mnu_txt_userlist").style.color = "#4B4B4B";
		$("mnu_txt_constnode").style.color = "#4B4B4B";
		$("mnu_txt_groupnode").style.color = "#4B4B4B";

		try
		{
			$("mnu_icon_queuelist").innerHTML = "";
			$("mnu_txt_queuelist").style.color = "#4B4B4B";
		}
		catch (e)
		{

		}
	},

	linkLeftMenu : function(pFlag)
	{
		if (pFlag == null) pFlag = "userlist";

		switch(pFlag)
		{
			case "userlist" : document.location.href = Common.getRoot() + 'admin/Orgmain/userList';
				break;
			case "queuelist" : document.location.href = Common.getRoot() + 'admin/Orgmain/queueList';
				break;
			case "constnode" : document.location.href = Common.getRoot() + "admin/Orgmanage/ConstNode";
				break;
			case "groupnode" : document.location.href = Common.getRoot() + "admin/Orgmanage/GroupNode";
				break;
		}
	},

	lastOrderField : "registdate",
	lastOrder : "asc",
	lastOrderIndex : 6,
	headerBuffer : new Array(9),

	Order : function (pField, pIndex)
	{
		var tableObj = $("readyList");
		var headerRow = tableObj.rows[0];
		var orderIcon = "";

		if (this.lastOrderField != pField)
		{
			this.lastOrder = "asc";
			orderIcon = "▲";
			this.lastOrderField = pField;
		}
		else
		{
			this.lastOrder = (this.lastOrder == "asc") ? "desc" : "asc";
			orderIcon = (this.lastOrder == "asc") ? "▲" : "▼";
			this.lastOrderField = pField;
		}

		this.setInit();

		headerRow.cells[pIndex].innerHTML = headerRow.cells[pIndex].innerHTML + orderIcon;

		this.orderField(pField, this.lastOrder);
	},

	setInit : function()
	{
		var tableObj = $("readyList");
		var tdObj = tableObj.rows[0].cells;

		for(i=0 ; i<tdObj.length ; ++i)
			tdObj[i].innerHTML = OrgAdmin.headerBuffer[i];
	},

	initHeader : function()
	{
		var tableObj = $("readyList");
		var tdObj = tableObj.rows[0].cells;

		for(i=0 ; i<tdObj.length ; ++i)
			OrgAdmin.headerBuffer[i] = tdObj[i].innerHTML;

		tableObj.rows[0].cells[OrgAdmin.lastOrderIndex].innerHTML = tableObj.rows[0].cells[OrgAdmin.lastOrderIndex].innerHTML + "▲";
	},

	orderField : function (pField, pOrder)
	{
		var param = $H({'page' : 1, 'listcount': 20, 'keyword' : $("keyword").value, 'order' : pOrder, 'field' : pField, 'code' : '', 'searchField' : ''});
		getAjaxData(Common.getRoot() + "admin/Orgmain/userList2", param, OrgAdmin.rowAppend);
	},

	rowAppend : function(pValue)
	{
		objTable.insertRow(pValue);

		$("readyCountNum").innerHTML = objTable.m_nTotal;
	},

	goPage : function(pPage)
	{
		var param;

		if (objTable.m_oParam == null)
			param = $H({'page' : pPage, 'listcount': 20, 'keyword' : $("search_word").value, 'order' : '', 'field' : '', 'code' : '', 'searchField' : ''});
		else
		{
			param = $H(eval("(" + objTable.m_oParam + ")"));
			param = param.merge({'page' : pPage});
		}

		getAjaxData(Common.getRoot() + "admin/Orgmain/userList2", param, OrgAdmin.rowAppend);
	},

	searchList : function()
	{
		if ($("search_word").value == "")
		{
			alert("검색어를 입력해 주세요");
			$("search_word").focus();
			return;
		}
		param = $H({'page' : 1, 'listcount': 20, 'keyword' : $("search_word").value, 'order' : '', 'field' : '', 'code' : '', 'searchField' : $("field").value});
		getAjaxData(Common.getRoot() + "admin/Orgmain/userList2", param, OrgAdmin.rowAppend);
	},

	initReadyTable : function()
	{
		location.reload();
		param = $H({'page' : 1, 'listcount': 20, 'keyword' : '', 'order' : '', 'field' : '', 'code' : '', 'searchField' : ''});
		getAjaxData(Common.getRoot() + "admin/Orgmain/userList2", param, OrgAdmin.rowAppend);
	},

	MemberDelete : function (pUserID)
	{
		var param = $H({'mailid' : pUserID});
		getAjaxData(Common.getRoot() + "admin/Orgmain/deleteMember", param, OrgAdmin.deleteMemberResult);
		OrgAdmin.closeAttachedDiv('InfoDiv');
	},

	deleteMemberResult : function(pValue)
	{
		alert(pValue.message);

		if (pValue.resultCode == RT_OK)
			OrgAdmin.initReadyTable();
	},

	Enter : function(pEvent)
	{
		if (pEvent.keyCode==13) this.searchList();
	},

	_createBackGround : function()
	{
		var oAlphaDiv = null;

		if (!$("alphaDiv"))
		{
			oAlphaDiv = document.createElement("iframe");
			oAlphaDiv.setAttribute("id", "alphaDiv");
		}
		else
			oAlphaDiv = $("alphaDiv");

		oAlphaDiv.frameborder = "0";
		oAlphaDiv.frameBorder = "0";

		oAlphaDiv.style.height = document.body.clientHeight + "px";
		oAlphaDiv.style.width = "100%";
		oAlphaDiv.style.display = "inline-block";
		oAlphaDiv.style.opacity = "0.6";

		document.getElementById("outline").appendChild(oAlphaDiv);

		$("alphaDiv").setStyle({filter:'alpha(opacity=100)','-moz-opacity':'60%','opacity':'0.6'});
	},

	requestCodeDiv : function(pValue)
	{
		this.drawPopupLoading();
		getAjaxData(Common.getRoot() + "admin/Orgmain/getSetCodeInfo/" + pValue, "", OrgAdmin.viewCodeDiv);
	},

	viewCodeDiv : function(pValue)
	{
		OrgAdmin.drawPopupLayer(pValue.result);
	},

	closeAttachedDiv : function(pValue)
	{
		if ($(pValue)) $(pValue).parentNode.removeChild($(pValue));
		if ($("alphaDiv"))
		{
			$("alphaDiv").style.display = "none";
			$("alphaDiv").parentNode.removeChild($("alphaDiv"));
		}
	},

	requestMailSpace : function(pNo)
	{
		getAjaxData(Common.getRoot() + "admin/Orgmain/getMailSpaceInfo/" + pNo, "", OrgAdmin.viewMailSpace);
	},

	requestWebhardSpace : function(pNo)
	{
		getAjaxData(Common.getRoot() + "admin/Orgmain/getWebhardSpaceInfo", "", OrgAdmin.viewMailSpace);
	},

	setWebardSize : function()
	{
		if ($("webhardflagN") && $("webhardflagY"))
		{
			if ($("webhardflagN").checked) $("webhardsize").disabled = true;
			if ($("webhardflagY").checked) $("webhardsize").disabled = false;
		}
	},

	viewMailSpace : function(pValue)
	{
		OrgAdmin._createBackGround();

		var oInfoDiv = document.createElement("div");
		oInfoDiv.setAttribute("id", "InfoDiv");
		document.getElementById("outline").appendChild(oInfoDiv);

		$("InfoDiv").style.height = "500px";

		//$("InfoDiv").style.top = parseInt((($("outline").clientHeight - $("InfoDiv").offsetWidth) / 3), 10) + "px";
		$("InfoDiv").toCenter();
		$("InfoDiv").setStyle({filter:'alpha(opacity=100)','-moz-opacity':'100%','opacity':'1.0'});

		if (pValue.resultCode == RT_OK)
			$("InfoDiv").innerHTML = pValue.result;
		else
		{
			$("InfoDiv").innerHTML = pValue.message;
			this.closeAttachedDiv("InfoDiv");
		}
	},

	hiddenSelectBox : function()
	{
		return;
		/*
		if ($("position") && $("job"))
		{
			if ($("position").style.display == "")
			{
				$("position").style.display = "none";
				$("job").style.display = "none";
			}
			else
			{
				$("position").style.display = "";
				$("job").style.display = "";
			}
		}
		*/
	},

	requestGroupConst : function()
	{
		var oParam = "";
		var oGroupTexts = new Array();
		var oGroupValues = new Array();
		var groupIndex = 0;

		var oConstTexts = new Array();
		var oConstValues = new Array();
		var constIndex = 0;

		var oHiddens = document.getElementsByTagName("input");

		for (i=0 ; i<oHiddens.length ; ++i)
		{
			if (oHiddens[i].type == "hidden")
			{
				if (oHiddens[i].id.substring(0, 8) == "gc_temp_")
				{
					if (oHiddens[i].id.substring(8, 13) == "group")
					{
						var oTemp = oHiddens[i].value.split(",");
						oGroupTexts[groupIndex] = oTemp[0];
						oGroupValues[groupIndex] = oTemp[1];
						groupIndex++;
					}
					else if (oHiddens[i].id.substring(8, 13) == "const")
					{
						var oTemp = oHiddens[i].value.split(",");
						oConstTexts[constIndex] = oTemp[0];
						oConstValues[constIndex] = oTemp[1];
						constIndex++;
					}
				}
			}
		}

		if (groupIndex > 0 || constIndex > 0)
			oParam = $H({"groupTexts[]" : oGroupTexts, "groupValues[]" : oGroupValues, "constTexts[]" : oConstTexts, "constValues[]" : oConstValues});

		this.drawPopupLoading();

		getAjaxData(Common.getRoot() + "admin/Orgmain/getConstGroup/", oParam, OrgAdmin.viewConstGroupDiv);
	},

	viewConstGroupDiv : function (pValue)
	{
		if (pValue.resultCode != RT_OK)
		{
			alert(pValue.message);
			return;
		}

		OrgAdmin.drawPopupLayer(pValue.result);
	},

	insertSelectNode : function(pID)
	{
		var szMenu = (pID == 'group')? "그룹" : "조직";

		if ($("tree_" + pID + "Tree_frame").innerHTML.length < 10)
		{
			alert(szMenu + " Data가 존재하지 않습니다.");
			return false;
		}
		var oCurrentNode = (pID == "group")?groupTree.getCurrentNodeObject() : constTree.getCurrentNodeObject();

		if (pID == "group")
		{
			if (oCurrentNode.getGubun() == "C")
			{
				alert("그룹 구분은 추가할 수 없습니다.");
				return;
			}
		}
		else
		{
			if (!this.checkRootOnly(pID, oCurrentNode)) return;
		}

		for (i=0 ; i<$(pID).options.length ; ++i)
		{
			if ($(pID).options[i].value == oCurrentNode.getNo())
			{
				alert("이미 추가된 " + szMenu + " 입니다.");
				return false;
			}
		}

		var selectOption = new Option(oCurrentNode.getName(), oCurrentNode.getNo());
		$(pID).options.add(selectOption);
	},

	checkRootOnly : function (pID, pNode)
	{
		if ($(pID).options.length == 1)
		{
			if ($(pID).options[0].value == 1)
			{
				alert($(pID).options[0].text + " 조직은 다른 조직과 중복되게 소속될 수 없습니다.");
				$(pID).remove(0);
			}
		}

		if ($(pID).options.length > 0)
		{
			if (pNode.getNo() == 1)
			{
				alert(pNode.getName() + " 조직은 다른 조직과 중복되게 소속될 수 없습니다.");
				return false;
			}
		}

		return true;
	},

	deleteSelectNode : function(pID)
	{
		var szMenu = (pID == 'group')? "그룹" : "조직";

		if ($(pID).options.length > 0)
		{
			if ($(pID).selectedIndex > -1)
				$(pID).remove($(pID).selectedIndex);
			else
			{
				alert("선택되어진 " + szMenu + "이 없습니다.");
				return;
			}
		}
	},

	setConstGroup : function()
	{
		var objConstOption = $("const").options;
		var objGroupOption = $("group").options;

		var objConstTable = $("constTable");
		var objGroupTable = $("groupTable");

		for(i=objConstTable.rows.length-1 ; i>0 ; --i)
			objConstTable.deleteRow(i);

		for(i=objGroupTable.rows.length-1 ; i>0 ; --i)
			objGroupTable.deleteRow(i);

		for(i=0 ; i<objConstOption.length ; ++i)
			this.addConstGroupRow("constTable", objConstOption[i], i);

		for(i=0 ; i<objGroupOption.length ; ++i)
			this.addConstGroupRow("groupTable", objGroupOption[i], i);
	},

	addConstGroupRow : function(pTableID, pOption, pIndex)
	{
		var row = $(pTableID).insertRow(-1);
		var c1 = row.insertCell(-1);
		var c2 = row.insertCell(-1);
		var c3 = row.insertCell(-1);
		var szMenu = (pTableID == "groupTable") ? "group" : "const";

		c1.className = "td1";
		c2.className = "td2";
		c3.className = "td2";

		c1.innerHTML = pOption.text + "<input type=\"hidden\" id=\"gc_" + szMenu + pIndex + "\" value=\"" + pOption.value + "\"><input type=\"hidden\" id=\"gc_temp_" + szMenu + pIndex + "\" value=\"" + pOption.text + "," + pOption.value + "\">";
		c2.innerHTML = "<input type=\"checkbox\" id=\"" + szMenu + "_admin_" + pIndex + "\" style=\"border:none;\">";
		c3.innerHTML = "<input type=\"checkbox\" id=\"" + szMenu + "_master_" + pIndex + "\" style=\"border:none;\">";
	},

	setSelectedConstGroup : function ()
	{
		var oHiddens = document.getElementsByTagName("input");
		alert(oHiddens.length);
		for(i=0 ; i<oHiddens.length ; ++i)
		{
			if (oHiddens[i].id.substring(0, 3) == "gc_")
			{
				alert(oHiddens[i].id.substring(3, 5));
			}
		}
	},

	CheckResult : function (pValue)
	{
		if(pValue.resultCode == "SUCCESS")
		{
			$("check_id_key").value ="Y";
		}else
		{
			$("check_id_key").value = "";
		}

		validCheck.setMessage(pValue);
	},

	IDChange : function ()
	{
		if ($("check_id_key").value != "Y")
		{
			alert("중복확인을 해주시기 바랍니다.");
		}else
		{
			$('userid').disable();
			$('userid').style.background = "#EEEEEE";
			$('submit_btn').style.filter = "alpha(opacity=50)";
			$('submit_btn').style.cursor = "";
			$('submit_btn').onclick = "";

			var param = $H({'user_no':$("user_no").value.strip(), 'org_id': $('org_id').value.strip(), 'new_id' : $("userid").value.strip()});
			getAjaxData(Common.getRoot() + "admin/Orgmain/changeMailID", param, OrgAdmin.IDChangeResult.bind(OrgAdmin, $("user_no").value.strip()));

			$('spIDChangeAlertMes').innerHTML = "<div style=\"color:red;\">* ID변경은 서버 상태에 따라 시간이 걸릴 수 있습니다. \n\n잠시 기다려주시기 바랍니다.</div>";
		}
	},

	IDChangeResult: function(user_no, data)
	{
		alert(data.message);
		document.location.href = Common.getRoot() + "admin/Orgmain/MemberModify/" + user_no;
	},

	GroupIDChange : function()
	{
		var pass = "";
		var t = "";
		var n = "";

		if (idType == "U") t = HID2hid;
		else if (idType == "S") t = hid2hid;

		if ($("check_id_key").value != "Y")
		{
			alert("ID 중복확인을 해주시기 바랍니다.");
			$("userid").focus();
			return;
		}

		if ($("user_name"))
		{
			if (!validCheck.patternCheck("require|between_length", $("user_name").value, 2, 30))
			{
				alert("이름은 꼭 입력해 주셔야 합니다.");
				$("user_name").focus();
				return;
			}
			n = $("user_name").value;
		}

		if ($("pass1"))
		{
			if (!validCheck.patternCheck("require|between_length|alpha_numeric", $("pass1").value, 8, 16))
			{
				alert("비밀번호는 8~16자리의 영문소문자, 숫자만 가능합니다.");
				$("pass1").focus();
				return;
			}
			if ($("pass1").value != $("pass2").value)
			{
				alert("비밀번호가 다릅니다.");
				$("pass2").focus();
				return;
			}

			pass = $("pass1").value;
		}

		$('userid').disable();
		$('userid').style.background = "#EEEEEE";
		$('submit_btn').style.filter = "alpha(opacity=50)";
		$('submit_btn').style.cursor = "";
		$('submit_btn').onclick = "";

		var param = $H({'userno':$("user_no").value.strip(), 'data' : $("userid").value.strip(), "type" : t, "pass" : pass, "name" : n});
		getAjaxData(Common.getRoot() + "admin/Orgmain/acceptRequest", param, OrgAdmin.GroupIDChangeResult);

		$('spIDChangeAlertMes').innerHTML = "<div style=\"color:red;\">* ID변경은 서버 상태에 따라 시간이 걸릴 수 있습니다. \n\n잠시 기다려주시기 바랍니다.</div>";
	},

	GroupIDChangeResult : function(pValue)
	{
		if (pValue.resultCode != RT_OK)
		{
			alert(pValue.message);
			return;
		}
		alert(pValue.message);
		document.location.href = Common.getRoot() + "admin/Orgmain/MemberModify/" + pValue.result;
	},

	CheckID : function ()
	{
		var minLength = GROUP_MINLEN;
		if (pathHelper.getInfo("URLTYPE") == "D") minLength = DOMAIN_MINLEN;

		if ($("userid").value.charAt(0) == "_" || $("userid").value.charAt(0) == ".")
			return validCheck.setMessage("ERROR_ID_INVALID", "userid", false);

		if (validCheck.patternCheck("require|between_length|emailid", $("userid").value, minLength, 16))
		{
			var param = $H({'userid' : $("userid").value});
			getAjaxData(Common.getRoot() + 'accountrequest/CheckID', param, OrgAdmin.CheckResult);
		}
		else
			return validCheck.setMessage("ERROR_ID_INVALID", "userid", false);
	},

	CheckName : function()
	{
		if (!validCheck.patternCheck("require|between_length", $("username").value, 2, 30))
			return validCheck.setMessage("ERROR_NAME_REQUIRE", "username", false);
		else return true;
	},

	CheckEmail : function ()
	{
		if (!validCheck.patternCheck("valid_email", $("private_email").value))
			return validCheck.setMessage("ERROR_EMAIL_INVALID", "private_email", false);
		else return true;
	},

	CheckPassword : function(obj, obj2, mail_id)
	{
		if (obj == undefined)
		{
			if (!$("password")) return true;
			obj = $('password');
		}

		if (obj2 == undefined)    obj2    = $("repassword");
		if (mail_id == undefined) mail_id = $('userid');

		var minlen = 8;

		if (pathHelper.getInfo("URLTYPE") == "D")
		{
			minlen = 6;

			if (!validCheck.patternCheck("repeat_pattern", obj.value, 4))
				return validCheck.setMessage("ERROR_PASSWORD_REPEAT_PATTERN", obj, false);
			if (validCheck.patternCheck("numeric", obj.value))
				return validCheck.setMessage("ERROR_PASSWORD_NUMERIC_ONLY", obj, false);
			if (obj.value == mail_id.value)
				return validCheck.setMessage("ERROR_PASSWORD_SAME_ID", obj, false);
		}

		if (obj.value.indexOf("\"") >= 0 || obj.value.indexOf("'") >= 0)
		{
			alert(msg.getMessage("ERROR_PASSWORD_INVALID_LENGTH"));
			return false;
		}

		if (!validCheck.patternCheck("require|between_length", obj.value, minlen, 16))
			return validCheck.setMessage("ERROR_PASSWORD_INVALID_LENGTH", obj, false);
		if (obj.value != obj2.value)
			return validCheck.setMessage("ERROR_PASSWORD_NOT_MATCH_RE", obj2, false);

		return true;
	},

	CheckMailSize : function()
	{
		if ($("mailsizeY") && $("mailsizeN"))
		{
			if ($("mailsizeY").checked)
			{
				if(parseInt($("old_mail_size").value, 10) != parseInt($("mailsize").value, 10) || $("old_regist").value == "N")
				{
					if (parseInt($("mailsize").value, 10) < parseInt($("std_mail_size").value, 10))
						return validCheck.setMessage("ERROR_MAILSIZE_INVALID", "mailsize", false);
				}
			}
		}
		return true;
	},

	CheckUseMail : function()
	{
		if ($("mailsizeY") && $("mailsizeN"))
		{
			if ($("mailsizeN").checked)
			{
				$("mailsize").disabled = "true";
				$("mailsize").value = "0";
			}
			else
			{
				$("mailsize").disabled = "";
				$("mailsize").value = $("std_mail_size").value;
			}
		}
	},

	CheckPhone : function (pValue)
	{
		if (!validCheck.patternCheck("allphone", $(pValue).value))
			return validCheck.setMessage("ERROR_PHONE_INVALID", pValue, false);
		else return true;
	},

	submitConfirm : function()
	{
		var param = null;

		if ($("mailsizeY"))
		{
			if ($("mailsizeY").checked)
				param = $H({"mode" : "C", "mailsize" : $("mailsize").value});
			else
				param = $H({"mode" : "C", "mailsize" :0});
		}
		else
		{
			if ($("old_regist").value == "N")
				param = $H({"mode" : "C", "mailsize" : 0});
			else
				param = $H({"mode" : "U", "mailsize" :0});
		}

		getAjaxData(Common.getRoot() + "admin/Orgmain/getMemberModifyAlert", param, OrgAdmin.viewConfirm);
	},

	checkAdminCount : function()
	{
		getAjaxData(Common.getRoot() + "admin/Orgmain/checkAdminCount", null, OrgAdmin.resultAdminCount);
	},

	resultAdminCount : function(pValue)
	{
		if (pValue.resultCode != RT_OK)
		{
			alert(pValue.message);
			return;
		}

		if (parseInt(pValue.result, 10) == 1 && $("old_admin_flag").value == "Y")
		{
			alert("관리자는 최소 1명은 존재 해야 합니다.");
			$("adminY").checked = true;
			return false;
		}
		else if (parseInt(pValue.result, 10) >= 3 && $("old_admin_flag").value == "N")
		{
			alert("관리자는 최대 3명까지 입니다.\n현재 3명이 등록되어 있습니다.");
			$("adminN").checked = true;
			$("adminY").checked = false;
			return false;
		}
		else if ($("adminN").checked)
		{
			$("admin_flag").value = "N";
		}
		else if ($("adminY").checked)
		{
			$("admin_flag").value = "Y";
		}
		else
		{
			$("read").checked = true;
			$("write").checked = true;
			$("delete").checked = true;
			alert("'관리자'는 그룹웹하드의 모든 사용 권한을 갖고 있어야 합니다.");

			$("admin_flag").value = "Y";
		}
	},

	adminCheck : function()
	{
		OrgAdmin.checkAdminCount();
	},

	checkAdminPermission : function (pObj)
	{
		if ($("adminY").checked)
		{
			if (pObj.checked) return;
			else
			{
				pObj.checked = true;
				alert("'관리자는 그룹웹하드의 모든 사용권한을 갖고 있어야 합니다.");
			}
		}
	},

	setWebhardPermission : function()
	{
		/*
		delete 1, read : 2, write : 4
		*/
		if ($("webhard_permission") && $("webhardsize"))
		{
			var p = parseInt($("webhard_permission").value, 10);
			var deleteFlag = 1;
			var readFlag = 2;
			var writeFlag = 4;

			if ( (deleteFlag & p) == deleteFlag) $("delete").checked = true;
			else $("delete").checked = false;
			if ( (readFlag & p) == readFlag) $("read").checked = true;
			else $("read").checked = false;
			if ( (writeFlag & p) == writeFlag) $("write").checked = true;
			else $("write").checked = false;
		}
	},

	calcWebhardPermission : function()
	{
		if ($("webhard_permission") && $("webhardsize"))
		{
			var result = 0;

			if ($("delete").checked) result += 1;
			if ($("read").checked) result += 2;
			if ($("write").checked) result += 4;

			return result;
		}

		return 0;
	},

	Submit : function()
	{
		var minlen = GROUP_MINLEN;

		if (pathHelper.getInfo("URLTYPE") == "D") minlen = DOMAIN_MINLEN;

		if (!this.CheckName()) return false;

		if ($("check_id_key").value != "Y")
			return validCheck.setMessage("ERROR_ID_CHECK_REQUIRE", "userid", false);

		if (!validCheck.patternCheck("require|between_length|emailid", $("userid").value, minlen, 20))
			return validCheck.setMessage("ERROR_ID_INVALID", "userid", false);

		if (!this.CheckPassword()) return false;
		if (!this.CheckMailSize()) return false;

		if ($("private_email").value != "")
			if (!this.CheckEmail()) return false;
/*
		if ($("tel").value != "")
			if (!this.CheckPhone("tel")) return false;
*/
		if ($("cellphone").value != "")
			if (!this.CheckPhone("cellphone")) return false;

		if ($("jobdate").value != "")
			if (!validCheck.patternCheck("isdate", $("jobdate").value)) return validCheck.setMessage("ERROR_DATEFORMAT_INVALID", "jobdate", false);

		if ($("b_year").value != "" || $("b_month").value != "" || $("b_day").value != "")
		{
			var b_date = $("b_year").value + "-" + $("b_month").value + "-" + $("b_day").value;

			if (!validCheck.patternCheck("isdate", b_date)) return validCheck.setMessage("ERROR_DATEFORMAT_INVALID", "b_year", false);

			$("birthday").value = b_date;
		}

		if ($("sun").checked) $("birth_flag").value = "S";
		else $("birth_flag").value = "M";

		if ($("address") == "")
			return validCheck.setMessage("ERROR_ADDRESS_INVALID", "address", false);

		if ($("picture").value != "")
			if (!validCheck.patternCheck("extension", $("picture").value, "gif,jpg")) return validCheck.setMessage("ERROR_FILE_EXTENSION_INVALID", "picture", false);

		this._makeConstGroupValue();

		if ($("webhardsize"))
		{
			$("webhard_permission").value = this.calcWebhardPermission();
			var temp = parseInt($("webhard_avariable_size").value.replace(",",""), 10);

			if ($("old_regist").value == "Y")
			{
				if ( (parseInt($("old_webhard_size").value, 10) < parseInt($("webhardsize").value, 10)) && (parseInt($("webhardsize").value, 10) > temp) )
				{
					alert("허용 가능한 웹 하드 용량이 아닙니다.");
					$("webhardsize").focus();
					return; } else if ( (parseInt($("old_webhard_size").value, 10) > parseInt($("webhardsize").value, 10)) && (parseInt($("webhardsize").value, 10) < BASIC_WEBHARD_SIZE) ) { alert("기본 웹하드 용량은 " + BASIC_WEBHARD_SIZE + "MB입니다."); $("webhardsize").focus(); return; } } else { if ($("webhardflagY").checked) { if (parseInt($("webhardsize").value, 10) > temp) { alert("허용 가능한 웹하드 용량이 부족하여 할당을 할 수 없습니다."); $("webhardsize").focus(); return; } if (parseInt($("webhardsize").value, 10) < BASIC_WEBHARD_SIZE) { alert("기본 웹하드 용량은 " + BASIC_WEBHARD_SIZE + "MB입니다."); $("webhardsize").focus(); return; } } } if ($("webhardflagY").checked) $("webhard_flag").value = "use"; } else $("webhard_flag").value = ""; if ($("mailsize")) { if ($("mailsizeY").checked) { if ($("old_regist").value == "Y") { if ( (parseInt($("old_mail_size").value, 10) < parseInt($("mailsize").value, 10)) && ((parseInt($("mailsize").value, 10) - parseInt($("old_mail_size").value, 10)) > parseInt($("mail_avariable_size").value, 10)) ) { alert("허용 가능한 메일 용량이 아닙니다."); $("mailsize").focus(); return; } } else { if (parseInt($("mail_avariable_size").value, 10) < parseInt($("std_mail_size").value, 10)) { alert("허용 가능한 메일 용량이 부족하여 할당을 할 수 없습니다."); $("mailsize").focus(); return; } if (parseInt($("mailsize").value, 10) < parseInt($("std_mail_size").value, 10)) { alert("기본 메일 용량은 " + $("std_mail_size").value + "MB입니다."); $("mailsize").focus(); return; } } } if ($("mailsizeY").checked) $("mail_flag").value = "use"; } this.submitConfirm(); }, check_direct_add: function(form) { if (form.name.value == '' || form.name.value == '이름') { alert('이름을 입력하십시오.'); form.name.value = ''; form.name.focus(); return false; } if (form.mail_id.value == '' || form.mail_id.value == 'ID') { alert('ID를 입력하십시오.'); form.mail_id.value = ''; form.mail_id.focus(); return false; }
		if (form.pwd.value == '' || form.pwd.value == '비밀번호')
		{
			alert('비밀번호를 입력하십시오.');
			form.pwd.value = '';
			form.pwd.focus();
			return false;
		}

		var minlen = GROUP_MINLEN;

		if (pathHelper.getInfo("URLTYPE") == "D") minlen = DOMAIN_MINLEN;

		if (!validCheck.patternCheck("require|between_length|emailid", form.mail_id.value, minlen, 20))
		{
			return validCheck.setMessage("ERROR_ID_INVALID", form.mail_id, false);
		}

		if (!this.CheckPassword(form.pwd, form.pwd, form.mail_id)) return false;
		if (confirm('사용자를 추가하시겠습니까?') === false) return false;

		this.drawPopupLoading();

		var params = new Object();
		params.id     = form.mail_id.value;
		params.passwd = form.pwd.value;
		params.name   = form.name.value;

		getAjaxData(Common.getRoot() + 'admin/Orgmain/addMemberDirect', params, function(item)
		{
			if (typeof item != 'object')
			{
				alert('통신 오류가 발생했습니다.');
				OrgAdmin.destructPopup();
				return;
			}

			if (item.resultCode != RT_OK)
			{
				alert('통신 오류가 발생했습니다.');
				OrgAdmin.destructPopup();
				return;
			}

			if (item.resultCode2 != RT_OK)
			{
				alert(item.message);
				OrgAdmin.destructPopup();
				return;
			}

			OrgAdmin.destructPopup();

			var form = document.forms['frmDirectAdd'];
			form.reset();

			if (item.user_data.regist == 'N')
			{
				alert('사용자 등록 중 오류가 발생하여 승인 대기자 목록으로 이동되었습니다.');
			}
			else
			{
				AdminOrgUserList.addItem(item.user_data, 0);
				AdminOrgUserList.revertBackground(item.user_data.no);
			}
		});

		return false;
	}




	/**
	 * ajax 팝업 레이어 로딩 화면 출력
	 */
	,drawPopupLoading: function()
	{
		if ($('InfoDiv') != undefined) return;

		OrgAdmin._createBackGround();

		var InfoDiv = document.createElement('DIV');
		InfoDiv.setAttribute('id', 'InfoDiv');

		$('outline').appendChild(InfoDiv);

		var img = document.createElement('IMG');
		img.src = '/assets/images/common/progress/ajax_loading_il.gif';

		$('InfoDiv').style.textAlign = 'center';
		$('InfoDiv').style.paddingTop = '100px';
		$('InfoDiv').style.paddingLeft = '0px';
		$('InfoDiv').style.backgroundColor = 'transparent';
		$("InfoDiv").style.top = (document.documentElement.scrollTop || document.body.scrollTop) + 'px';

		$('InfoDiv').appendChild(img);
	}



	/**
	 * ajax 팝업 레이어 내용 출력
	 */
	,drawPopupLayer: function(innerHTML)
	{
		if ($('InfoDiv') == undefined) AdminOrgTreeManager.drawPopupLoading();

		$('InfoDiv').style.textAlign  = 'left';
		$('InfoDiv').style.paddingTop = '0px';
		$('InfoDiv').style.paddingLeft = '0px';
		$('InfoDiv').innerHTML = innerHTML;
	}



	/**
	 * ajax 팝업 레이어 관련 객체 삭제
	 */
	,destructPopup: function()
	{
		if ($('InfoDiv') != null)  $('InfoDiv').parentNode.removeChild($('InfoDiv'));
		if ($('alphaDiv') != null) $('alphaDiv').parentNode.removeChild($('alphaDiv'));
		// alphaDiv 제거되지 않는 경우가 있어서 2번 호출함
		if ($('alphaDiv') != null) $('alphaDiv').parentNode.removeChild($('alphaDiv'));
	},


	_makeConstGroupValue : function()
	{
		var oInputs = document.getElementsByTagName("input");
		var resultGroup = "";
		var resultConst = "";

		for(i=0 ; i<oInputs.length ; ++i)
		{
			if (oInputs[i].type == "hidden")
			{
				if (oInputs[i].id.substring(0, 3) == "gc_")
				{
					if (oInputs[i].id.substring(3, 8) == "const")
					{
						var tempIndex = oInputs[i].id.substring(8, oInputs[i].id.length);
						resultConst += oInputs[i].value + "," + (($("const_admin_" + tempIndex).checked)?"Y" : "N") + "," + (($("const_master_" + tempIndex).checked)?"Y" : "N") + "#";
					}
					else if (oInputs[i].id.substring(3, 8) == "group")
					{
						var tempIndex = oInputs[i].id.substring(8, oInputs[i].id.length);
						resultGroup += oInputs[i].value + "," + (($("group_admin_" + tempIndex).checked)?"Y" : "N") + "," + (($("group_master_" + tempIndex).checked)?"Y" : "N") + "#";
					}
				}
			}
		}

		$("const_value").value = resultConst;
		$("group_value").value = resultGroup;
	},

	registMember : function (pNo, pID)
	{
		var webhardObj = $(pNo + "_webhardsize");
		var mailObj = $(pNo + "_mailsize");

		if ($("webhardsize"))
		{

			if (webhardObj.value < BASIC_WEBHARD_SIZE && parseInt(webhardObj.value, 10) > 0)
			{
				alert(msg.getMessage("ERROR_WEBHARDSIZE_INVALID"));
				return;
			}

			if (parseInt(webhardObj.value, 10) > parseInt($("webhard_avariable_size").value.replace(",", ""), 10) && parseInt(webhardObj.value, 10) > 0)
			{
				alert("남은 웹하드 용량보다 더 크게 설정할 수 없습니다.\n남은 용량은 " + $("webhard_avariable_size").value + "MB 입니다.");
				return;
			}
		}

		if (parseInt(mailObj.value, 10) < parseInt($("std_mail_size").value, 10) && mailObj.disabled == false && parseInt(mailObj.value, 10) > 0)
		{
			alert("메일의 기본 용량은 " + $("std_mail_size").value + "MB입니다.");
			return;
		}

		if((mailObj.value > availableMailSize) && parseInt(mailObj.value, 10) > 0)
		{
			alert("남은 메일 용량보다 더 크게 설정할 수 없습니다.\n남은 용량은 " + availableMailSize + "MB 입니다.");
			return;
		}

		if($("webhardsize"))
		{
			var param = $H({'no' : pNo, 'mailid' : pID, "mailsize" : mailObj.value, "webhard_size" : (webhardObj.value)});
		}else
		{
                        var param = $H({'no' : pNo, 'mailid' : pID, "mailsize" : mailObj.value });
		}
		getAjaxData(Common.getRoot() + "admin/Orgmain/registMember", param, OrgAdmin.registMemberResult);
	},

	requestConfirm : function()
	{
		var minLength = GROUP_MINLEN;
		if (pathHelper.getInfo("URLTYPE") == "D") minLength = DOMAIN_MINLEN;

		if ($("userid").type != "hidden")
		{
			if (!validCheck.patternCheck("require|between_length|emailid", $("userid").value, minLength, 20))
				return validCheck.setMessage("ERROR_ID_REQUIRE", "userid", false);
		}

		if (!this.CheckName()) return false;

		if ($("password"))
			if ($("password").value != "") if (!this.CheckPassword()) return false;

		if (!this.CheckMailSize()) return false;

		if ($("private_email").value != "")
			if (!this.CheckEmail()) return false;
/*
		if ($("tel").value != "")
			if (!this.CheckPhone("tel")) return false;
*/
		if ($("cellphone").value != "")
			if (!this.CheckPhone("cellphone")) return false;

		if ($("jobdate").value != "")
			if (!validCheck.patternCheck("isdate", $("jobdate").value)) return validCheck.setMessage("ERROR_DATEFORMAT_INVALID", "jobdate", false);

		if ($("b_year").value != "" || $("b_month").value != "" || $("b_day").value != "")
		{
			var b_date = $("b_year").value + "-" + $("b_month").value + "-" + $("b_day").value;

			if (!validCheck.patternCheck("isdate", b_date)) return validCheck.setMessage("ERROR_DATEFORMAT_INVALID", "b_year", false);

			$("birthday").value = b_date;
		}

		if ($("sun").checked) $("birth_flag").value = "S";
		else $("birth_flag").value = "M";

		if ($("address") == "")
			return validCheck.setMessage("ERROR_ADDRESS_INVALID", "address", false);

		if ($("picture").value != "")
			if (!validCheck.patternCheck("extension", $("picture").value, "gif,jpg")) return validCheck.setMessage("ERROR_FILE_EXTENSION_INVALID", "picture", false);

		this._makeConstGroupValue();

		if ($("webhardsize"))
		{
			$("webhard_permission").value = this.calcWebhardPermission();
			var temp = parseInt($("webhard_avariable_size").value.replace(",",""), 10);

			if (parseInt($("used_hard_size").value, 10) > parseInt($("webhardsize").value, 10))
			{
				alert("웹하드를 사용중인 용량보다 적게 할당 할 수 없습니다.\n사용자의 사용량은 [사용현황] > [웹하드 사용현황] 메뉴에서 확인 하실 수 있습니다.");
				return;
			}

			if (parseInt($("used_hard_size").value, 10) > 0 && ( (parseInt($("webhardsize").value, 10) <= 0) || $("webhardflagN").checked) )
			{
				if (!confirm("웹하드를 사용하지 않음으로 했을 경우에 업로드 하셨던 모든 파일이 사라집니다.\n계속 하시겠습니까?"))
					return;
			}

			if ($("old_regist").value == "Y")
			{
				if ($("webhardflagY").checked)
				{
					if ( (parseInt($("old_webhard_size").value, 10) < parseInt($("webhardsize").value, 10)) && (parseInt($("webhardsize").value, 10) > temp) )
					{
						alert("허용 가능한 웹 하드 용량이 아닙니다.");
						$("webhardsize").focus();
						return;
					}
					else if ( (parseInt($("old_webhard_size").value, 10) > parseInt($("webhardsize").value, 10)) && (parseInt($("webhardsize").value, 10) < BASIC_WEBHARD_SIZE) )
					{
						alert("기본 웹하드 용량은 " + BASIC_WEBHARD_SIZE + "MB입니다.");
						$("webhardsize").focus();
						return;
					}
				}
			}
			else
			{
				if ($("webhardflagY").checked)
				{
					if (parseInt($("webhardsize").value, 10) > temp)
					{
						alert("허용 가능한 웹하드 용량이 부족하여 할당을 할 수 없습니다.");
						$("webhardsize").focus();
						return;
					}
					if (parseInt($("webhardsize").value, 10) < BASIC_WEBHARD_SIZE)
					{
						alert("기본 웹하드 용량은 " + BASIC_WEBHARD_SIZE + "MB입니다.");
						$("webhardsize").focus();
						return;
					}
				}
			}
			if ($("webhardflagY").checked) $("webhard_flag").value = "use";
		}
		else $("webhard_flag").value = "";

		if ($("mailsize"))
		{
			if (parseInt($("used_mail_size").value, 10) > 0 && parseInt($("mailsize").value, 10) <= 0)
			{
				alert("메일의 사용량이 0인 경우에만 메일 사용 안함으로 변경할 수 있습니다.\n[사용현황] > [메일 사용현황] 메뉴에서 '비우기' 기능을 통해서\n메일 내용을 비우신 후 처리 해 주시기 바랍니다.");
				return;
			}

			if ($("mailsizeY").checked)
			{
				if ($("old_regist").value == "Y")
				{
					if ( (parseInt($("old_mail_size").value, 10) < parseInt($("mailsize").value, 10)) && ((parseInt($("mailsize").value, 10) - parseInt($("old_mail_size").value, 10)) > parseInt($("mail_avariable_size").value, 10)) )
					{
						alert("허용 가능한 메일 용량이 부족하여 할당을 할 수 없습니다.");
						$("mailsize").focus();
						return;
					}
					else if ( (parseInt($("old_mail_size").value, 10) != parseInt($("mailsize").value, 10)) && (parseInt($("mailsize").value, 10) < parseInt($("std_mail_size").value, 10)) )
					{
						alert("기본 메일 용량은 " + $("std_mail_size").value + "MB입니다.");
						$("mailsize").focus();
						return;
					}
					else if (parseInt($('old_mail_size').value, 10) != parseInt($('mailsize').value, 10) && parseInt($('used_mail_size').value, 10) > parseInt($('mailsize').value, 10))
					{
						alert("메일의 사용량보다 적은 용량으로 할당할 수 없습니다.\n [사용현황] > [메일 사용현황] 메뉴에서 현재 사용량을 확인하신 후 변경하시기 바랍니다.");
						return;
					}
				}
				else
				{
					if (parseInt($("mail_avariable_size").value, 10) < parseInt($("std_mail_size").value, 10))
					{
						alert("허용 가능한 메일 용량이 부족하여 할당을 할 수 없습니다.");
						$("mailsize").focus();
						return;
					}

					if (parseInt($("mailsize").value, 10) < parseInt($("std_mail_size").value, 10))
					{
						alert("기본 메일 용량은 " + $("std_mail_size").value + "MB입니다.");
						$("mailsize").focus();
						return;
					}
				}
				if ($("mailsizeY").checked) $("mail_flag").value = "use";
			}
		}

		$("webhard_permission").value = this.calcWebhardPermission();

		if ($("password"))
		{
			if ($("password").value != "")
			{
				if (!confirm("사용자의 비밀번호가 변경됩니다. 계속 하시겠습니까.?"))
				{
					$("password").focus();
					return;
				}
				if (!this.CheckPassword()) return false;
			}
		}

		var param = null;

		if ($("mailsizeY"))
		{
			if ($("mailsizeY").checked)
				param = $H({"mode" : ($("old_regist").value == "N")?"C":"", "mailsize" : $("mailsize").value});
			else
				param = $H({"mode" : ($("old_regist").value == "N")?"C":"", "mailsize" :0});
		}
		else
			param = $H({"mode" : ($("old_regist").value == "N")?"C":"", "mailsize" :0});

		getAjaxData(Common.getRoot() + "admin/Orgmain/getMemberModifyAlert", param, OrgAdmin.viewConfirm);
	},

	viewConfirm : function(pValue)
	{
		OrgAdmin._createBackGround();

		var oInfoDiv = document.createElement("div");
		oInfoDiv.setAttribute("id", "InfoDiv");
		document.getElementById("outline").appendChild(oInfoDiv);

		$("InfoDiv").style.height = "500px";

		$("InfoDiv").style.top = parseInt((($("outline").clientHeight - $("InfoDiv").offsetWidth) / 3), 10) + "px";
		$("InfoDiv").setStyle({filter:'alpha(opacity=100)','-moz-opacity':'100%','opacity':'1.0'});

		if (pValue.resultCode == RT_OK)
		{
			$("InfoDiv").innerHTML = pValue.result;

			OrgMemberDataCheck.checkData();
		}
		else
		{
			$("InfoDiv").innerHTML = pValue.message;
			this.closeAttachedDiv("InfoDiv");
		}
	},

	registMemberConfirm : function()
	{
		if ($("mode").value == "C")
		{
			$("frmAccount").action = Common.getRoot() + "admin/Orgmain/InsertAccount";
			$("frmAccount").submit();
		}
		else
		{
			$("frmAccount").action = Common.getRoot() + "admin/Orgmain/UpdateAccount";
			$("frmAccount").submit();
		}
		return;
	},

	registMemberResult : function(pValue)
	{
		alert(pValue.message);

		if (pValue.resultCode == RT_OK)
			OrgAdmin.initReadyTable();
	},

	deleteMember : function (pNo)
	{
		var param = $H({'mailid' : pNo});
		getAjaxData(Common.getRoot() + "admin/Orgmain/deleteMember", param, OrgAdmin.registMemberResult);
	},
	
	showDesc: function(flag, e) {
		if(!$('helpDiv')){
			var oDec = document.createElement("div");
			oDec.id = "helpDiv";
			$('outline').appendChild(oDec);
		}	
		$('helpDiv').style.top = (Event.pointerY(e)+10) + 'px';
		$('helpDiv').style.left = (Event.pointerX(e)-15) + 'px';
		var message = "";
		switch(flag){
			case "MAIL_SETTING": 
				message = "메일의 사용량보다 적은 용량으로 할당할 수 없습니다.<br />[사용현황] > [메일 사용현황] 메뉴에서 현재 사용량을 확인하신 후 변경하시기 바랍니다.";
		}
		$('helpDiv').innerHTML = message;
		$('helpDiv').style.display = "block";
	},

	hideDesc: function(){
		$('helpDiv').style.display = "none";
	}
}

var OrgManage = {
	lastOrderField : "ui.name",
	lastOrder : "asc",
	lastOrderIndex : 1,
	headerBuffer : new Array(12),

	Order : function (pField, pIndex)
	{
		var tableObj = $("userList");
		var headerRow = tableObj.rows[0];
		var orderIcon = "";

		if (this.lastOrderField != pField)
		{
			this.lastOrder = "asc";
			orderIcon = "▲";
			this.lastOrderField = pField;
		}
		else
		{
			this.lastOrder = (this.lastOrder == "asc") ? "desc" : "asc";
			orderIcon = (this.lastOrder == "asc") ? "▲" : "▼";
			this.lastOrderField = pField;
		}

		this.setInit();

		headerRow.cells[pIndex].innerHTML = headerRow.cells[pIndex].innerHTML + orderIcon;

		this.orderField(pField, this.lastOrder);
	},

	setInit : function()
	{
		var tableObj = $("userList");
		var tdObj = tableObj.rows[0].cells;

		for(i=0 ; i<tdObj.length ; ++i)
			tdObj[i].innerHTML = OrgAdmin.headerBuffer[i];
	},

	initHeader : function()
	{
		var tableObj = $("userList");
		var tdObj = tableObj.rows[0].cells;

		for(i=0 ; i<tdObj.length ; ++i)
			OrgAdmin.headerBuffer[i] = tdObj[i].innerHTML;

		tableObj.rows[0].cells[OrgManage.lastOrderIndex].innerHTML = tableObj.rows[0].cells[OrgManage.lastOrderIndex].innerHTML + "▲";
	},

	orderField : function (pField, pOrder)
	{
		var param = $H({'page' : 1, 'listcount': 20, 'keyword' : $("keyword").value, 'order' : pOrder, 'field' : pField, 'code' : '', 'searchField' : '', 'active' : $("active").value, 'mail' : $("mail").value});

		getAjaxData(Common.getRoot() + "admin/Orgmain/getManageUserList", param, OrgAdmin.rowAppend);
	},

	rowAppend : function(pValue)
	{
		objTable.insertRow(pValue);

		$("readyCountNum").innerHTML = objTable.m_nTotal;
	},

	goPage : function(pPage)
	{
		var param;

		if (objTable.m_oParam == null)
			param = $H({'page' : pPage, 'listcount': 20, 'keyword' : $("keyword").value, 'order' : '', 'field' : '', 'code' : '', 'searchField' : '', 'active' : $("active").value, 'mail' : $("mail").value});
		else
		{
			param = $H(eval("(" + objTable.m_oParam + ")"));
			param = param.merge({'page' : pPage});
		}

		getAjaxData(Common.getRoot() + "admin/Orgmain/getManageUserList", param, OrgAdmin.rowAppend);
	},

	searchList : function()
	{
		if ($("keyword").value == "")
		{
			alert("검색어를 입력해 주세요");
			$("keyword").focus();
			return;
		}
		this.requestTable();
	},

	Enter : function(pEvent)
	{
		if (pEvent.keyCode==13) this.searchList();
	},

	requestTable : function()
	{
		param = $H({'page' : 1, 'listcount': 20, 'keyword' : $("keyword").value, 'order' : '', 'field' : '', 'code' : '', 'searchField' : $("field").value, 'active' : $("active").value, 'mail' : $("mail").value});
		getAjaxData(Common.getRoot() + "admin/Orgmain/getManageUserList", param, OrgAdmin.rowAppend);
	},

	setMailOption : function()
	{
		for(i=$("mail").options.length ; i>0 ; --i)
			$("mail").remove(i);

		if ($("active").value == "A")
		{
			var op1 = new Option("사용", "0");
			var op2 = new Option("사용(정지)", "1");
			var op3 = new Option("미사용", "2");

			$("mail").options.add(op1);
			$("mail").options.add(op2);
			$("mail").options.add(op3);
		}
		else if ($("active").value == "Y")
		{
			var op1 = new Option("사용", "0");
			var op2 = new Option("미사용", "2");

			$("mail").options.add(op1);
			$("mail").options.add(op2);
		}
		else if ($("active").value == "N")
		{
			var op1 = new Option("사용(정지)", "1");
			var op2 = new Option("미사용", "2");

			$("mail").options.add(op1);
			$("mail").options.add(op2);
		}

		this.requestTable();
	},

	MemberView : function (pNo)
	{
		document.location.href = Common.getRoot() + "admin/Orgmain/MemberView/" + pNo;
	},

	MemberModify : function (pNo)
	{
		document.location.href = Common.getRoot() + "admin/Orgmain/MemberModify/" + pNo;
	},

	MemberDelete : function (pUserID)
	{
		var param = $H({'mailid' : pUserID});
		getAjaxData(Common.getRoot() + "admin/Orgmain/deleteMember", param, OrgManage.registMemberResult);
		OrgAdmin.closeAttachedDiv('InfoDiv');
	},

	registMemberResult : function(pValue)
	{
		alert(pValue.message);

		if (pValue.resultCode == RT_OK)
			OrgManage.requestTable();
	},

	requestMemberDeleteDiv : function(pValue, pFlag)
	{
		if (pFlag == "Y")
		{
			alert("관리자는 삭제할 수 없습니다.\n관리자 권한을 해제 한 후 삭제 하시기 바랍니다.");
			return;
		}
		getAjaxData(Common.getRoot() + "admin/Orgmain/getMemberDeleteAlert/" + pValue, "", OrgManage.viewMemberDeleteDiv);
	},

	viewMemberDeleteDiv : function(pValue)
	{
		OrgAdmin._createBackGround();

		var oInfoDiv = document.createElement("div");
		oInfoDiv.setAttribute("id", "InfoDiv");
		document.getElementById("outline").appendChild(oInfoDiv);

		$("InfoDiv").style.height = "500px";

		$("InfoDiv").style.top = parseInt((($("outline").clientHeight - $("InfoDiv").offsetWidth) / 3), 10) + "px";
		$("InfoDiv").setStyle({filter:'alpha(opacity=100)','-moz-opacity':'100%','opacity':'1.0'});

		if (pValue.resultCode == RT_OK)
			$("InfoDiv").innerHTML = pValue.result;
		else
		{
			alert(pValue.message);
			this.closeAttachedDiv("InfoDiv");
		}
	},

	requestWaitingDeleteDiv : function (pValue)
	{
		getAjaxData(Common.getRoot() + "admin/Orgmain/getWaitingDeleteAlert/" + pValue, "", OrgManage.viewMemberDeleteDiv);
	},

	acceptRequest : function(pType, pUserNo, pRqno)
	{
		var vms = parseInt($("valid_mail_size").innerHTML.replace(",", ""), 10);
		var vhs = parseInt($("valid_webhard_size").innerHTML.replace(",", ""), 10);
		var o = (($(pRqno + "_newdata"))?$(pRqno + "_newdata") : null);

		if (o == null)
		{
			alert("값을 설정하는데 문제가 발생 했습니다.");
			return;
		}

		switch(pType)
		{
			case CHANGE_MAIL_SIZE :
				if (vms < parseInt(o.value, 10))
				{
					alert("사용가능한 메일 용량보다 더 크게 설정할 수 없습니다.");
					return;
				}
				if (parseInt(o.value, 10) < parseInt(basicMailSize, 10))
				{
					alert("메일의 최소 할당 용량은 " + $("std_mail_size").value + "MB 입니다.");
					return;
				}
				break;
			case CHANGE_HARD_SIZE :
				if (vhs < parseInt(o.value, 10))
				{
					alert("사용가능한 웹하드 용량보다 더 크게 설정할 수 없습니다.");
					return;
				}
				if (parseInt(o.value, 10) < parseInt(basicWebhardSize, 10))
				{
					alert("웹하드의 최소 할당 용량은 " + basicWebhardSize + "MB 입니다.");
					return;
				}

				break;
		}
		var param = $H({"rqno" : pRqno, "userno" : pUserNo, "type" : pType, "data" : o.value});
		getAjaxData(Common.getRoot() + "admin/Orgmain/acceptRequest", param, OrgManage.acceptResult);
	},

	denyRequest : function(pType, pUserNo, pRqno)
	{
		if (confirm("요청을 거부 하시겠습니까.?"))
		{
			var param = $H({"rqno" : pRqno});
			getAjaxData(Common.getRoot() + "admin/Orgmain/denyRequest", param, OrgManage.acceptResult);
		}
	},

	acceptResult : function(pValue)
	{
		if (pValue.resultCode != RT_OK)
		{
			alert(pValue.message);
			return;
		}
		alert(pValue.message);
		document.location.href = Common.getRoot() + "admin/Orgmain/requestList";
	}
}

var OrgMemberDataCheck = {
	allInput : document.getElementsByTagName("input"),

	checkData : function()
	{
		if (parseInt($("mailsize").value, 10) != parseInt($("old_mail_size").value, 10) || $("mode").value == "C")
		{
			$("mailAccount").innerHTML = $("userid").value + "@" + $("domain").value;
			$("changeQuotaSize").innerHTML = $("mailsize").value + "M";
			$("confQuotaSize").innerHTML = $("old_mail_size").value + "M";
			$("changeMailLayer").style.display = "";
		}

		this._checkConstGroup("const");
		this._checkConstGroup("group");
	},

	_checkConstGroup : function (pFlag)
	{
		var newNos = new Array();
		var newNames = new Array();
		var oldNos = null;
		var oldNames = null;
		var result = "";

		var nLoopCount = 0;
		var addLoopCount = 0;
		var delLoopCount = 0;

		var delNames = new Array();
		var delNos = new Array();
		var addNames = new Array();
		var addNos = new Array();

		if ($("old_" + pFlag + "_nos").value == "")
		{
			oldNos = new Array();
			oldNames = new Array();
		}
		else
		{
			oldNos = $("old_" + pFlag + "_nos").value.split(",");
			oldNames = $("old_" + pFlag + "_names").value.split(",");
		}

		try
		{
			for(i=0 ; i<this.allInput.length ; ++i)
			{
				if (this.allInput[i].type == "hidden" && this.allInput[i].id.indexOf("gc_" + pFlag) >= 0)
				{
					newNos[nLoopCount] = this.allInput[i].value;
					var temp = $(this.allInput[i].id.replace("gc_", "gc_temp_")).value.split(",");
					newNames[nLoopCount] = temp[0];
					++nLoopCount;
				}
			}

			if (newNos.length == 0)
			{
				delNames = oldNames;
				delNos = oldNos;
				delLoopCount = oldNames.length;
			}
			else
			{
				for (i=0 ; i<oldNos.length ; ++i)
				{
					for(j=0 ; j<newNos.length ; ++j)
					{
						if (oldNos[i] == newNos[j]) break;

						if ( (j+1) == newNos.length)
						{
							delNames[delLoopCount] = oldNames[i];
							delNos[delLoopCount] = oldNos[i];
							++delLoopCount;
						}
					}
				}
			}

			if (oldNos.length == 0)
			{
				addNames = newNames;
				addNos = newNos;
				addLoopCount = newNos.length;
			}
			else
			{
				for (i=0 ; i<newNos.length ; ++i)
				{
					for(j=0 ; j<oldNos.length ; ++j)
					{
						if (newNos[i] == oldNos[j]) break;

						if ( (j+1) == oldNos.length)
						{
							addNames[addLoopCount] = newNames[i];
							addNos[addLoopCount] = newNos[i];
							++addLoopCount;
						}
					}
				}
			}

			if (delLoopCount == 0)
			{
				$(pFlag + "_del_names").innerHTML = "탈퇴된 " + ((pFlag == "const")?"조직":"그룹") + "없음";
				$(pFlag + "_del_content").style.display = "none";
			}
			else
			{
				var temp = "";

				for(i=0 ; i<delNames.length ; ++i)
					temp += delNames[i] + ",";

				temp = temp.substr(0, temp.length-1);

				$(pFlag + "_del_names").innerHTML = temp;
			}

			if (addLoopCount == 0)
			{
				$(pFlag + "_add_names").innerHTML = "추가된 " + ((pFlag == "const")?"조직":"그룹") + "없음";
				$(pFlag + "_add_content").style.display = "none";
			}
			else
			{
				var temp = "";

				for(i=0 ; i<addNames.length ; ++i)
					temp += addNames[i] + ",";

				temp = temp.substr(0, temp.length-1);

				$(pFlag + "_add_names").innerHTML = temp;
			}
		}
		catch(E)
		{
			alert(E);
		}
	}

}
