var addressbookAlert = new validateMessage("userselect");
var FROM_DEFAULT = FROM_MAIL = 0;
var FROM_SMS = FROM_NOMAIL = 1;
var FROM_MEMO = FROM_BILL = FROM_EA = FROM_BOARD_ADMIN = 2;
var FROM_CALL = 4;

var PRIVATE_TAB = 0;
var SHARED_TAB = 1;
var CONSTRUCT_TAB = 2;
var GROUP_TAB = 3;

var addressbook = {
	currentTab : 0,
	_callee : null,           // 피호출자
	leftValue : null,
	page : 1,
	_clickTab : false,
	_searchFlag : false,
	_lastSearchKeyword : "",
	_from : null,
	_initFunc : null,
	_applyFunc : null,
	_closeFunc : null,
	_viewFile : null,
	_subFlag : true,
	_nodeClickFunc : null,
	_useMenu : "",

	closeApply : function()
	{
try {
		if (addressbook._applyFunc)
		{
			var func = eval(addressbook._applyFunc);

			if (addressbook._viewFile != null && addressbook._viewFile.indexOf("div_ea") >= 0)
			{
				if (!func.call())
				{
					return;
				}
			}
			else func.call();
		}
} catch(E)
{
	alert(E);
}
		addressbook.closeAddressbook();
	},

	btnApply : function()
	{
try {
		if (addressbook._applyFunc)
		{
			var func = eval(addressbook._applyFunc);
			func.call();
		}
} catch(E)
{
	alert(E);
}
	},

	getAddressbook : function(pFrom, pInitFunc, pApplyFunc, pView)
	{
		Common._createBackGround();
		Common._createProgress();

		addressbook._from = pFrom;

		if (pView) addressbook._viewFile = pView;

		if (pInitFunc) addressbook._initFunc = pInitFunc;
		if (pApplyFunc) addressbook._applyFunc = pApplyFunc;

		var param = $H({"pTab" : PRIVATE_TAB, "pFrom" : pFrom, "pTarget" : "ALL", "pValue" : "", "pKeyword" : "", "pField" : "", "pView" : pView});
		getAjaxData(Common.getRoot() + "userselector", param, function(pData) {
			if (typeof(pData) != "object" || pData.resultCode != RT_OK)
			{
				alert(addressbookAlert.getMessage("REQUEST_ERROR"));

				Common._closeBackGround();
				return;
			}

			if (pData.resultCode == RT_OK)
			{
				if ($("popupBaseA"))
					$("popupBaseA").parentNode.removeChild($("popupBaseA"));
try {
				var popupBaseA = document.createElement("div");
				popupBaseA.setAttribute("id", "popupBaseA");
				popupBaseA.style.width = "790px";
				if (addressbook._viewFile != null && addressbook._viewFile.indexOf("div_ea") >= 0){
					if(addressbook._viewFile.indexOf("div_ea_eadoc_org_refer") >= 0){
						popupBaseA.style.width = "600px";
						popupBaseA.style.height = "420px";
					}
					else{
						popupBaseA.style.height = "480px";
					}
				}
				else if(addressbook._viewFile != null && addressbook._viewFile.indexOf("div_call") >= 0){
					popupBaseA.style.width = "600px";
					popupBaseA.style.height = "420px";
				}
				else{
					popupBaseA.style.height = "500px";
				}

				popupBaseA.innerHTML = pData.result;

				document.getElementById("outline").appendChild(popupBaseA);
				$("popupBaseA").toCenter();

				Common._closeProgress();

				if (addressbook._from == FROM_MEMO)
					addressbook.setTab(0);

				if (addressbook._initFunc)
				{
					var func = eval(addressbook._initFunc);
					func.call();
				}

				if(addressbook._viewFile && addressbook._viewFile.indexOf("div_ea_eadoc_org_refer_view") < 0){
					$$("#searchP #keyword")[0].focus();
				}
} catch(E)
{
	alert(E);
}
			}
			else Common._closeBackGround();
		});
	},

	closeAddressbook : function()
	{
		if ($("popupBaseA"))
		{
			$("popupBaseA").style.display = "none";
			$("popupBaseA").parentNode.removeChild($("popupBaseA"));
		}

		Common._closeBackGround();

		if (addressbook._closeFunc)
		{
			var func = eval(addressbook._closeFunc);
			func.call();
		}
	},

	/**
	 * 피호출자 설정
	 */
	setCallee : function(obj)
	{
		this._callee = obj;
	},

	/**
	 * 피호출자 가져오기
	 */
	getCallee : function()
	{
		return this._callee;
	},

	Collapse : function()
	{
		this._toggle($('treeDiv'), 'collapse');
	},

	_toggle : function(parent, force)
	{
		if (parent.lastChild.nodeName == 'UL')
		{
			var max = parent.lastChild.childNodes.length;

			for (var i = 0; i < max; i++)
			{
				var obj = parent.lastChild.childNodes[i];
				this.getCallee().ToggleTree(obj, force);
				this._toggle(obj, force);
			}
		}
	},

	tabOver : function(pIndex)
	{
		if (this.currentTab == pIndex) return;

		$("selectorTab").children[pIndex].className = "TabOver";
	},

	tabOut : function(pIndex)
	{
		if (this.currentTab != pIndex)
			$("selectorTab").children[pIndex].className = "";
	},

	setTab : function(pIndex)
	{
		//if (this.currentTab == pIndex) return;

		$("searchMessage").style.display = "none";
		$("searchCount").innerHTML = "";
		//$("selectorTab").children[this.currentTab].className = "";
		$$("#selectorTab li").each(function(i, v)
		{
			i.className = "";
		});
		$("selectorTab").children[pIndex].className = "TabOver";

		this.currentTab = pIndex;

		$("searchField").selectedIndex = 0;
		$$("#searchP #keyword")[0].value = "";

		this.click_menuTab();
	},

	_createProgress : function(pFlag)
	{
		switch(pFlag)
		{
			case "ALL" :
				this._leftProgressDiv();
				this._rightProgressDiv();

				break;
			case "RIGHT" : this._rightProgressDiv();
				break;
			case "LEFT" : this._leftProgressDiv();
				break;
		}
	},

	_closeProgress : function()
	{
		var Tab = parseInt(this.currentTab, 10) + ((parseInt(addressbook._from, 10) == FROM_MEMO)?2 : 0);
		switch (Tab)
		{
			case PRIVATE_TAB :
			case SHARED_TAB : $("leftList").style.display = "";
				break;

			case CONSTRUCT_TAB :
			case GROUP_TAB :
				if (!addressbook._searchFlag) $("treeDiv").style.display = "";
		}

		$("rightList").style.display = "";

		$("leftProgressDiv").style.display = "none";
		$("rightProgressDiv").style.display = "none";
	},

	_leftProgressDiv : function()
	{
		$("leftList").style.display = "none";
		$("treeDiv").style.display = "none";
		$("leftProgressDiv").style.display = "";
	},

	_rightProgressDiv : function()
	{
		$("rightList").style.display = "none";
		$("rightProgressDiv").style.display = "";
	},

	click_menuTab : function()
	{
		this._createProgress("ALL");

		addressbook._clickTab = true;
		addressbook._searchFlag = false;
		addressbook.leftValue = "";

		var Tab = parseInt(this.currentTab, 10) + ((parseInt(addressbook._from, 10) == FROM_MEMO)?2 : 0);

		switch(Tab)
		{
			case PRIVATE_TAB :
				var param = $H({"pTab" : Tab, "pFrom" : addressbook._from, "pTarget" : "ALL", "pValue" : "", "pKeyword" : "", "pField" : ""});
				if(addressbook._from == FROM_CALL) $("leftDiv").style.display = "none";
				this._getAddressData(param);
				break;

			case SHARED_TAB :
				var param = $H({"pTab" : Tab, "pFrom" : addressbook._from, "pTarget" : "ALL", "pValue" : "", "pKeyword" : "", "pField" : ""});
				if(addressbook._from == FROM_CALL) $("leftDiv").style.display = "none";
				this._getAddressData(param);
				break;

			case CONSTRUCT_TAB :
				var param = $H({"pTab" : Tab, "pFrom" : addressbook._from, "pTarget" : "ALL", "pValue" : "", "pKeyword" : "", "pField" : "", "pView" : addressbook._viewFile});
				if(addressbook._from == FROM_CALL) $("leftDiv").style.display = "inline-block";
				this._getTreeAddressData(param);
				break;

			case GROUP_TAB :
				var param = $H({"pTab" : Tab, "pFrom" : addressbook._from, "pTarget" : "ALL", "pValue" : "", "pKeyword" : "", "pField" : ""});
				if(addressbook._from == FROM_CALL) $("leftDiv").style.display = "inline";
				this._getTreeAddressData(param);
				break;
		}
		if(addressbook._viewFile == null || addressbook._viewFile != "div_ea_eadoc_org_refer_view") $$("#searchP #keyword")[0].focus();

	},

	paging : function(pPage)
	{
		addressbook.page = pPage;

		var Tab = parseInt(this.currentTab, 10) + ((parseInt(addressbook._from, 10) == FROM_MEMO)?2 : 0);
		switch(Tab)
		{
			case PRIVATE_TAB : this.click_privateTag($("leftList"), false, pPage);
				break;
			case SHARED_TAB : this.click_sharedTag($("leftList"), false, pPage);
				break;
			case GROUP_TAB :
			case CONSTRUCT_TAB : this.click_const($("leftList"), false, pPage);
				break;
		}
	},

	click_leftList : function(pObj)
	{
		var Tab = parseInt(this.currentTab, 10) + ((parseInt(addressbook._from, 10) == FROM_MEMO)?2 : 0);
		switch(Tab)
		{
			case PRIVATE_TAB : this.click_privateTag(pObj);
				break;
			case SHARED_TAB : this.click_sharedTag(pObj);
				break;
			case GROUP_TAB :
			case CONSTRUCT_TAB : this.click_const(pObj);
				break;
		}
	},

	click_sharedTag : function(pObj, pSearchFlag)
	{
		if (pSearchFlag) this.leftValue = "";
		else
			this.leftValue = (pObj.selectedIndex > -1)?pObj.value : "";

		var param = $H({"pTab" : this.currentTab, "pFrom" : addressbook._from, "pTarget" : ((pSearchFlag)?"ALL" : "RIGHT"), "pValue" : this.leftValue, "pKeyword" : Common.trim($$("#searchP #keyword")[0].value), "pField" : $$("#searchP #searchField")[0].value, "pPage" : this.page});

		this._createProgress("RIGHT");
		this._getAddressData(param);
	},

	click_privateTag : function(pObj, pSearchFlag)
	{
		if (pSearchFlag) this.leftValue = "";
		else
			this.leftValue = (pObj.selectedIndex > -1)?pObj.value : "";

		var keyword = "";
		if (Common.trim($$("#searchP #keyword")[0].value) != "") keyword = Common.trim($$("#searchP #keyword")[0].value);
		else
		{
			if ($("searchMessage").style.display != "none")
				keyword = addressbook._lastSearchKeyword;
		}

		var param = $H({"pTab" : this.currentTab, "pFrom" : addressbook._from, "pTarget" : ((pSearchFlag)?"ALL" : "RIGHT"), "pValue" : this.leftValue, "pKeyword" : keyword, "pField" : $$("#searchP #searchField")[0].value, "pPage" : this.page});

		this._createProgress("RIGHT");
		this._getAddressData(param);
	},

	click_const : function(pObj, pSearchFlag, pPage)
	{
		var Tab = parseInt(this.currentTab, 10) + ((parseInt(addressbook._from, 10) == FROM_MEMO)?2 : 0);

		if (pPage == undefined) this.page = 1;
		else this.page = pPage;

		addressbook._subFlag = true;

		if ($("searchMessage").style.display != "none")
			this.leftValue = pObj.value;
		else
		{
			this.leftValue = pObj.parentNode.parentNode.id.replace(/addressTreeNode_/ig, "");

			if (!addressbook._searchFlag)
			{
				if ($("noentry"))
				{
					$$("#noentry li")[0].className = "";
				}

				$$("#treeDiv strong").each(function(value, index) {
					value.className = "";
				});

				if ($("noentryNode")) $("noentryNode").className = "";
				pObj.className = "selectedNode";
			}
			//alert(pObj.parentNode.parentNode.childNodes.length);
		}

		var param = null;
		var keyword = "";
		if (Common.trim($$("#searchP #keyword")[0].value) != "") keyword = Common.trim($$("#searchP #keyword")[0].value);
		else
		{
			if ($("searchMessage").style.display != "none")
				keyword = addressbook._lastSearchKeyword;
		}

		if (pSearchFlag)
		{
			$("treeDiv").innerHTML = "";
			param = $H({"pTab" : Tab, "pFrom" : addressbook._from, "pTarget" : "ALL", "pValue" : "", "pKeyword" : keyword, "pField" : $$("#searchP #searchField")[0].value, "pPage" : this.page, "pSubFlag" : false, "pView" : addressbook._viewFile});
			//param = $H({"pTab" : Tab, "pFrom" : addressbook._from, "pTarget" : "ALL", "pValue" : "", "pKeyword" : keyword, "pField" : $("searchField").value, "pPage" : this.page, "pSubFlag" : (($("leftList").style.display == "none")?true:false)});
		}
		else
		{
			if (addressbook._subFlag)
				addressbook._subFlag = ($("searchMessage").style.display == "none")?true:false;
			if (Tab == GROUP_TAB) addressbook._subFlag = false;

			param = $H({"pTab" : Tab, "pFrom" : addressbook._from, "pTarget" : "RIGHT", "pValue" : this.leftValue, "pKeyword" : keyword, "pField" : $$("#searchP #searchField")[0].value, "pPage" : this.page, "pSubFlag" : addressbook._subFlag, "pView" : addressbook._viewFile});
		}
		if(this._viewFile == "div_ea_admin_line_view"){
			if(!pSearchFlag){
				$('lorg_no_temp').value = this.leftValue;
				$('line_part_temp').value = pObj.firstChild.data;
			}
		}
		this._createProgress("RIGHT");
		this._getAddressData(param);
	},

	/**
	 * obj 노드의 펼치기 / 닫기 상태를 전환
	 */
	ToggleTree : function(obj, force)
	{
		if (obj.nodeName == 'IMG')
		{
			img = obj;
			obj = img.parentNode.parentNode;
		}
		else
		{
			if (obj.childNodes.length < 1) return;
			else if (obj.firstChild.nodeName != 'DIV') return;
			else if (obj.firstChild.firstChild.nodeName != 'IMG') return;

			var img = obj.firstChild.firstChild;
		}

		if (force == 'collapse')    mode = 'collapse';
		else if (force == 'expand') mode = 'expand';
		else mode = (img.src.indexOf('tree_m') > 0) ? 'collapse' : 'expand';

		// 닫기
		if (mode == 'collapse')
		{
			img.src = img.src.replace('tree_m', 'tree_p');
			obj.lastChild.style.display = 'none';
		}
		// 펼치기
		else
		{
			img.src = img.src.replace('tree_p', 'tree_m');
			obj.lastChild.style.display = '';
		}
	},

	selectNode : function(pNode)
	{
		this.click_const(pNode);
	},

	_getTreeAddressData : function(pParam)
	{
		getAjaxData(Common.getRoot() + "userselector/getright", pParam, function(pData) {
			if (typeof(pData) != "object" || pData.resultCode != RT_OK)
			{
				alert(addressbookAlert.getMessage("REQUEST_ERROR"));
				return;
			}

			if (pData.resultCode == RT_OK)
			{
				$("treeDiv").innerHTML = "";
try {
				var tree = new OrgTree();
				tree.setCallee('addressbook');
				tree.setMaxDepth(pData.MAX_DEPTH);
				tree.setRootNode($('treeDiv'));
				tree.setRootFunc($('addressbook'));
				tree.setPrefixNode('addressTreeNode');
				tree.setPrefixFunc('addressTreeFunc');
				tree.setTreeData(pData.LEFT);
				tree.draw();

				tree.setManagerCallback(addressbook);
				addressbook.Collapse();

				tree.ToggleTree($('treeDiv').lastChild.firstChild.firstChild.firstChild, 'expand'); // 첫 탭 열기

				$("leftList").style.display = "none";
				$("treeDiv").style.display = "";

				addressbook._setRightList(pData.RIGHT);

				if (pData.RIGHT["CONDITION"])
				{
					nLength = $$("#searchP #searchField")[0].options.length;
					for(var i=nLength ; i>= 0 ; --i)
						$("searchField").remove(i);

					for(var i=0 ; i<pData.RIGHT["CONDITION"].length ; ++i)
					{
						var oOption = new Option(pData.RIGHT["CONDITION"][i].TEXT, pData.RIGHT["CONDITION"][i].VALUE);

						if (pData.RIGHT["CONDITION"][i].VALUE == pData.RIGHT["OLD_COND"]) oOption.selected = true;

						$$("#searchP #searchField")[0].options.add(oOption);
					}
					$("searchP").style.display = "block";
				}
				else
					$("searchP").style.display = "none";

				if (addressbook._nodeClickFunc)
				{
					var func = eval(addressbook._nodeClickFunc);
					func.call();
				}

				// 최초 로딩시 최상위 조직 선택 표시.
				if ($("treeDiv").firstChild.firstChild.id){
					$("treeDiv").firstChild.firstChild.firstChild.lastChild.className = "selectedNode";

					if(addressbook._viewFile == "div_ea_admin_line_view" && MODIFY_LINE_NO == 0){
						$('line_part_temp').value = $("treeDiv").firstChild.firstChild.firstChild.lastChild.firstChild.data
						$('lorg_no').value = $("treeDiv").firstChild.firstChild.id.replace(/addressTreeNode_/ig, "")
					}
				}
} catch(E)
{
	alert(E + " - 2");
}
			}
		});

		addressbook._clickTab = false;
		addressbook._closeProgress();
	},

	_getAddressData : function(pParam)
	{
		getAjaxData(Common.getRoot() + "userselector/getright", pParam, function(pData) {
			if (typeof(pData) != "object" || pData.resultCode != RT_OK)
			{
				alert(addressbookAlert.getMessage("REQUEST_ERROR"));
				return;
			}
try {
			if (pData.resultCode == RT_OK)
			{
				var Tab = parseInt(addressbook.currentTab, 10) + ((parseInt(addressbook._from, 10) == FROM_MEMO)?2 : 0);

				if (parseInt(pData.RIGHT["TOTAL_PAGE"], 10) == 0 && addressbook._searchFlag)
				{
					if ($("searchCount").innerHTML == "" || Common.trim($$("#searchP #keyword")[0].value) != addressbook._lastSearchKeyword)
					{
						alert(Common.trim($$("#searchP #keyword")[0].value) + addressbookAlert.getMessage("NO_DATA"));
						$$("#searchP #keyword")[0].value = "";
						addressbook.setTab(addressbook.currentTab);

						if ($("searchMessage").style.display == "none") addressbook._searchFlag = false;
						return;
					}
				}

				if (addressbook._searchFlag && pData.LEFT.length <= 0)
				{
					if (Tab < CONSTRUCT_TAB)
					{
						var nLength = $("leftList").options.length;
						for(var i=nLength ; i>=0 ; --i)
							$("leftList").remove(i);
					}

					var nRLength = $("rightList").options.length;
					for(var i=nRLength ; i>=0 ; --i)
						$("rightList").remove(i);
				}

				if (pData.LEFT.length == 0 && pData.RIGHT.RESULT == null && addressbook.leftValue == "")
				{
					var nLength = $("leftList").options.length;
					for(var i=nLength ; i>=0 ; --i)
						$("leftList").remove(i);

					var nRLength = $("rightList").options.length;
					for(var i=nRLength ; i>=0 ; --i)
						$("rightList").remove(i);

					var oOption1 = new Option("등록된 Data가 없습니다.", "-1");
					var oOption2 = new Option("등록된 Data가 없습니다.", "-1");
					$("leftList").options.add(oOption1);
					$("rightList").options.add(oOption2);

					return;
				}

				if (pData.LEFT.length > 0 && Tab < CONSTRUCT_TAB)
				{
					var nLength = $("leftList").options.length;
					for(var i=nLength ; i>=0 ; --i)
						$("leftList").remove(i);

					// 왼쪽 내용은 조직/그룹/태그 검색일 경우만.
					if ($("searchField").value != "name" || addressbook._clickTab)
					{
						nLength = pData.LEFT.length;
						for(var i=0 ; i<nLength ; ++i)
						{
							var t = (pData.LEFT[i].extend_string && pData.LEFT[i].extend_string != "")?pData.LEFT[i].text_string + " (" + pData.LEFT[i].extend_string + ")" : pData.LEFT[i].text_string;
							var oOption = new Option(t, pData.LEFT[i].value_string);

							if (pData.LEFT[i].title_string && pData.LEFT[i].title_string != "")
								oOption.title = pData.LEFT[i].title_string;

							$("leftList").options.add(oOption);
						}

						if ($("leftList").options[0].value != "" && $("leftList").selectedIndex < 0)
							$("leftList").selectedIndex = 0;

						if ($("leftList").style.display == "none")
						{
							$("leftList").style.display = "";
							$("treeDiv").style.display = "none";
						}
					}
				}
				// 조직, 그룹에서 조직이름으로 검색을 했을 경우.
				else if (pData.LEFT.length > 0 && Tab >= CONSTRUCT_TAB)
				{
					var nLength = $("leftList").options.length;
					for(var i=nLength ; i>=0 ; --i)
						$("leftList").remove(i);

					if ($$("#searchP #searchField")[0].value != "name" || addressbook._clickTab)
					{
						if ($$("#searchP #searchField")[0].value != "name")
						{
							nLength = pData.LEFT.length;

							for(var i=0 ; i<nLength ; ++i)
							{
								var t = (pData.LEFT[i].extend_string && pData.LEFT[i].extend_string != "")?pData.LEFT[i].text_string + " (" + pData.LEFT[i].extend_string + ")" : pData.LEFT[i].text_string;
								var oOption = new Option(pData.LEFT[i].name + " (" + pData.LEFT[i].ct + ")", pData.LEFT[i].node_id);

								$("leftList").options.add(oOption);
							}
						}
						if ($("leftList").style.display == "none")
							$("leftList").style.display = "";

						$("treeDiv").style.display = "none";
					}

				}

				if (addressbook._searchFlag) addressbook._displaySearchResult_const(pData.RIGHT["TOTAL"]);

				if ($("leftList").options.length > 0 && $("leftList").options[0].value > 0 && $("leftList").options[0].value != "" && $("leftList").selectedIndex < 0) $("leftList").selectedIndex = 0;

				addressbook._setRightList(pData.RIGHT);

			//	addressbook._clickTab = false;
			}

			if (addressbook._clickTab)
			{
				nLength = $$("#searchP #searchField")[0].options.length;
				for(var i=nLength ; i>= 0 ; --i)
					$("searchField").remove(i);

				if (pData.RIGHT["CONDITION"])
				{
					for(var i=0 ; i<pData.RIGHT["CONDITION"].length ; ++i)
					{
						var oOption = new Option(pData.RIGHT["CONDITION"][i].TEXT, pData.RIGHT["CONDITION"][i].VALUE);
						$$("#searchP #searchField")[0].options.add(oOption);
					}
					$("searchP").style.display = "block";
				}
				else
					$("searchP").style.display = "none";
			}


/*
			if (addressbook._searchFlag && $("rightList").options.length == 1)
			{
				$("rightList").selectedIndex = 0;
				addressbook.copyOption('selTO');
			}
*/
} catch(E)
{
	alert(E + " -- 1");
}
		});

		addressbook._closeProgress();
	},

	_setRightList : function(pData, pSearchFlag, pConstAdmin)
	{
		var nLength = $("rightList").options.length;
		for(var i=nLength ; i>=0 ; --i)
			$("rightList").remove(i);

		if (addressbook._searchFlag == true && addressbook.currentTab < CONSTRUCT_TAB)
		{
			if ($("leftList").options.length == 0 && $("searchField").value == "tag") return;
		}
		if (!pData["RESULT"]) return;
		if (pData["RESULT"].length <= 0) return;

		if (pData["RESULT"].length > 0)
		{
			nLength = pData["RESULT"].length;
			for(var i=0 ; i<nLength ; ++i)
			{
				var oOption = new Option(pData["RESULT"][i].text_string, pData["RESULT"][i].value_string);
				if (pData["RESULT"][i].title_string && pData["RESULT"][i].title_string != "")
					oOption.title = pData["RESULT"][i].title_string;

				if (addressbook._searchFlag) oOption.selected = true;
				$("rightList").options.add(oOption);
			}
		}

		var totalPage = parseInt(pData["TOTAL_PAGE"], 10);

		if (totalPage == 1) $("pagingP").innerHTML = "";

		if (totalPage > 1 && parseInt(addressbook.page, 10) == 1)
		{
			$("pagingP").innerHTML = "";

			if (pConstAdmin == undefined)
			{
				var szBuffer = "<select class=\"pageSelect\" onchange=\"addressbook.paging(this.value);\">";
				for(var i=1 ; i<=totalPage ; ++i)
				{
					if (i == parseInt(pData["PAGE"], 10))
						szBuffer += "<option value=\"" + i + "\" selected>" + i + "</option>";
					else
						szBuffer += "<option value=\"" + i + "\">" + i + "</option>";
				}
				szBuffer += "</select>";
				szBuffer += " / <span>" + totalPage + "</span>";
			}
			else
			{
				var szBuffer = "<select class=\"pageSelect\" onchange=\"constManage.getOutofEntry(this.value);\">";
				for(var i=1 ; i<=totalPage ; ++i)
				{
					if (i == parseInt(pData["PAGE"], 10))
						szBuffer += "<option value=\"" + i + "\" selected>" + i + "</option>";
					else
						szBuffer += "<option value=\"" + i + "\">" + i + "</option>";
				}
				szBuffer += "</select>";
				szBuffer += " / <span>" + totalPage + "</span>";
			}

			$("pagingP").innerHTML = szBuffer;
		}
		//else $("pagingP").innerHTML = "";
	},

	click_rightSelect : function(pType)
	{
		var bValue = (pType == "select")?true : false;

		for(var i=0 ; i<$("rightList").options.length ; ++i)
			$("rightList").options[i].selected = bValue;
	},

	click_searchBtn : function()
	{
		if (Common.trim($$("#searchP #keyword")[0].value) == "")
		{
			alert(addressbookAlert.getMessage("INVALID_KEYWORD"));
			$$("#searchP #keyword")[0].focus();
			return;
		}

		addressbook._searchFlag = true;

		if ($$("#searchP #searchField")[0].value == "name") addressbook._subFlag = true;

		var Tab = parseInt(this.currentTab, 10) + ((parseInt(addressbook._from, 10) == FROM_MEMO)?2 : 0);
		switch(Tab)
		{
			case PRIVATE_TAB : this.click_privateTag($("leftList"), true);
				break;
			case SHARED_TAB : this.click_sharedTag($("leftList"), true);
				break;
			case GROUP_TAB :
			case CONSTRUCT_TAB : this.click_const($("leftList"), true);
				break;
		}

		$$("#searchP #keyword")[0].focus();
	},

	_displaySearchResult_const : function(pResultCount)
	{
		$("searchMessage").style.display = "block";

		if (Common.trim($$("#searchP #keyword")[0].value) != "")
			addressbook._lastSearchKeyword = Common.trim($$("#searchP #keyword")[0].value);

		$("searchKeyword").innerHTML = "\"" + addressbook._lastSearchKeyword + "\" " + $$("#searchP #searchField")[0].options[$$("#searchP #searchField")[0].selectedIndex].text;

		var nTotal = 0;

		if ($("searchField").value == "name")
		{
			if (pResultCount) nTotal = pResultCount;
			else
			{
				for(var i=0 ; i<$("leftList").options.length ; ++i)
				{
					var oTemp = $("leftList").options[i].text.match(/\((\d+)\)$/i);
					nTotal += parseInt(oTemp[1], 10);
				}
			}
		}
		else nTotal = $("leftList").options.length;

		$("searchCount").innerHTML = nTotal;

		$$("#searchP #keyword")[0].value = "";
	},

	copyOption : function(pID)
	{
		if ($("rightList").selectedIndex > -1)
		{
			for(var i=0 ; i<$("rightList").options.length ; ++i)
			{
				if ($("rightList").options[i].selected)
				{
					var nCheck = 0;

					if ($(pID).options.length > 0)
					{
						for(var j=0 ; j<$(pID).options.length ; ++j)
						{
							if ($(pID).options[j].value == $("rightList").options[i].value)
							{
								++nCheck;
								break;
							}
						}
					}
try {
					if (nCheck == 0)
					{
						var oOption = new Option($("rightList").options[i].text, $("rightList").options[i].value);
						oOption.title = $("rightList").options[i].title;

						$(pID).options.add(oOption);

						switch (pID)
						{
							case "selTO" : addressbook._increaseCount("spselTO");
								break;
							case "selCC" : addressbook._increaseCount("spselCC");
								break;
							case "selBCC" : addressbook._increaseCount("spselBCC");
								break;
						}
					}
} catch(E)
{
	alert(E);
}
				}
			}
		}
		else alert(addressbookAlert.getMessage("NOT_SELECTED_ADDRESS"));
	},

	_increaseCount : function(pID)
	{
		var c = parseInt($(pID).innerHTML, 10);

		$(pID).innerHTML = ++c;
	},

	_decreaseCount : function(pID)
	{
		var c = parseInt($(pID).innerHTML, 10);

		if (c > 0) $(pID).innerHTML = --c;
	},

	removeOption : function(pID)
	{
		if ($(pID).selectedIndex > -1)
		{
			for(var i=($(pID).options.length-1) ; i>=0 ; --i)
			{
				if ($(pID).options[i].selected)
				{
					$(pID).remove(i);

					switch (pID)
					{
						case "selTO" : addressbook._decreaseCount("spselTO");
							break;
						case "selCC" : addressbook._decreaseCount("spselCC");
							break;
						case "selBCC" : addressbook._decreaseCount("spselBCC");
							break;
					}
				}
			}
		}
	}
};

