//=====================================================================================================================
// ÆÄÀÏ : cCommon.js
// ¾ð¾î : JavaScript
// ¼³¸í : ´ëºÎºÐÀÇ ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÀÚ ÀÎÅÍÆäÀÌ½º¸¦ À§ÇØ »ç¿ëµÇ´Â ÇÔ¼öµé
// ¹öÀü : 2005.10.11(2005.06.10.SATIS)
//=====================================================================================================================
//**Start Encode**
// ¸ðµâ : ÄíÅ° °ü¸® (½ÃÀÛ)
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ÄíÅ° »ý¼º
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : MakeCookie("ÄíÅ°¸í", "ÄíÅ°°ª");
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function MakeCookie(vName, vVal)
{
	// Cookie°¡ 20 ÀÌ»óÀÌ¸é °æ°í
	var vCookie = document.cookie.split("; ");
	if (vCookie.length >= 20)
	{
		var vNameCheck = ChangeSeparator(vName, "@", "*");
		var vNewItem = true;
		for (var i = 0; i < vCookie.length; i++)
		{
			if (vNameCheck == vCookie[i].split("=")[0])
			{
				vNewItem = false;
				break;
			}
		}
		if (vNewItem)
			alert("(" + vName +") À» Cookie¿¡ Ãß°¡ÇÏ¸é\nÀÌ¹Ì µî·ÏµÈ ´Ù¸¥ Cookie°¡ »èÁ¦ µÉ ¼ö ÀÖ½À´Ï´Ù!");
	}

	vName = ChangeSeparator(vName, "@", "*");

	if (vVal == "") vVal = "err";

	var vNow = new Date();
	vNow.setDate(vNow.getDate() + 1);

	document.cookie =  vName + "=" + escape(vVal) + "; path=/; expires=" + vNow.toGMTString() + ";";

	MakeCookieSession(1);
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ÄíÅ° Á¶È¸
// ¹ÝÈ¯ : string, ÄíÅ° °ª
// ¿¹Á¦ : ReadCookie("ÄíÅ°¸í")
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function ReadCookie(vName)
{
	vName = "*" + ChangeSeparator(vName, "@", "*") + "*";

	var vFlag = document.cookie.indexOf(vName + "=");
	if (vFlag == -1) return "none";

	vFlag += vName.length + 1;
	var vEnd = document.cookie.indexOf(';', vFlag);
	if (vEnd == -1) vEnd = document.cookie.length;

	return unescape(document.cookie.substring(vFlag, vEnd));
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ¸ðµç ÄíÅ° »èÁ¦
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : ClearCookie(vName);
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function ClearCookie(vName)
{
	var vExpire = new Date();
	vExpire.setDate(vExpire.getDate() - 1000);
	document.cookie = vName + "=; path=/; expires=" + vExpire.toGMTString() + ";";
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ¸ðµç ÄíÅ° »èÁ¦
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : ClearAllCookie();
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function ClearAllCookie()
{
	if (document.cookie == "") return;

	var vName,vCookie;
	vCookie = document.cookie.split("; ");

	for (var i=0; i<vCookie.length; i++)
	{
		vName = vCookie[i].split("=")[0];
		ClearCookie(vName);
	}
}
//---------------------------------------------------------------------------------------------------------------------
// ¸ðµâ : ÄíÅ° °ü¸® (Á¾·á)
//=====================================================================================================================
// ¸ðµâ : À©µµ¿ì °ü¸® (½ÃÀÛ)
//---------------------------------------------------------------------------------------------------------------------
var vDwAttr = new Object();
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ¿äÃ»µÈ Url ÆäÀÌÁöÀÇ À©µµ¿ì¸¦ Open
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : Open(Url, "À©µµ¿ìÀÌ¸§", Left, Top, Width, Height, Áß¾Ó, °¢Á¾¹Ù, Å©±âº¯È¯, ÃÖ´ëÈ­);
//        Open(Url, "À©µµ¿ìÀÌ¸§", 0, 0, 1024, 768, true, 0, 1, 1);
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function Open(vUrl, vName, vLeft, vTop, vWidth, vHeight, vCenter, vBars, vResizing, vMaximize)
{
	if (vCenter)
	{
		vLeft = (screen.availWidth  - vWidth ) / 2;
		vTop  = (screen.availHeight - vHeight) / 2;
	}

	var vType = "left=" + vLeft + ",top=" + vTop + ",width=" + vWidth + ",height=" + vHeight
				 + ",toolbar=" + vBars + ",menubar=" + vBars + ",status=" + vBars + ",scrollbars=" + vBars
				 + ",resizable=" + vResizing + ",channelmode=" + vMaximize;

	if (vUrl.substr(0, 7) != "http://") vUrl = ReadCookie("RootUrl") + vUrl;
	var vWin = window.open(vUrl, vName, vType);
	if (vWin != null)
		vWin.focus();
	return vWin;
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ¿äÃ»µÈ Url ÆäÀÌÁöÀÇ À©µµ¿ì¸¦ Resizing ºÒ°¡´ÉÇÑ Modal FormÀ¸·Î Open
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : OpenModal("fwk/cEndApp.aspx", "", 300, 200);
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.12.20
//---------------------------------------------------------------------------------------------------------------------
function OpenModal(vUrl, vParam, vWidth, vHeight, vResize)
{
	if (vResize == null) vResize = false;
	var PosMSIE = window.navigator.userAgent.indexOf("MSIE");
	if (PosMSIE > 0 && window.navigator.userAgent.indexOf("SV1") > PosMSIE)
	{
		vHeight += 27;
	}
	var vLeft = (screen.width - vWidth) / 2;
	var vTop = (screen.height - vHeight) / 2;
	var vStyle = "dialogLeft:" + vLeft + ";dialogTop:" + vTop + ";dialogWidth:" + vWidth + "px;dialogHeight:" + vHeight + "px;help:no;scroll:no;status:no;resizable=" + (vResize ? "yes" : "no");
	if (vUrl.substr(0, 7) != "http://") vUrl = (vUrl.substr(0,1)=="/" ? "" : ReadCookie("RootUrl")) + vUrl + (vUrl.indexOf("?") < 0 ? "?" : "&") + "Modal=yes";
	return window.showModalDialog(vUrl, vParam, vStyle);
}
function OpenModeless(vUrl, vParam, vWidth, vHeight, vResize)
{
	if (vResize == null) vResize = false;
	var PosMSIE = window.navigator.userAgent.indexOf("MSIE");
	if (PosMSIE > 0 && window.navigator.userAgent.indexOf("SV1") > PosMSIE)
	{
		vHeight += 27;
	}
	var vLeft = (screen.width - vWidth) / 2;
	var vTop = (screen.height - vHeight) / 2;
	var vStyle = "dialogLeft:" + vLeft + ";dialogTop:" + vTop + ";dialogWidth:" + vWidth + "px;dialogHeight:" + vHeight + "px;help:no;scroll:no;status:no;resizable=" + (vResize ? "yes" : "no");
	if (vUrl.substr(0, 7) != "http://") vUrl = (vUrl.substr(0,1)=="/" ? "" : ReadCookie("RootUrl")) + vUrl + (vUrl.indexOf("?") < 0 ? "?" : "&") + "Modal=yes";
	return window.showModelessDialog(vUrl, vParam, vStyle);
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : Progress Ã¢À» Open ÇÏ°í ÁöÁ¤ÇÑ FunctionÀ» È£Ãâ
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : OpenProgress("", BatchProcess);
// ÀÛ¼º : ÇÑµ¿Áø - 2005.08.12
//---------------------------------------------------------------------------------------------------------------------
function OpenProgress(vTitle, vFunction, vArg1, vArg2, vArg3, vArg4, vArg5, vArg6, vArg7, vArg8, vArg9, vArg10, vArg11, vArg12, vArg13, vArg14, vArg15)
{
	var vParam = new Object();
	vParam.Title    = vTitle;
	vParam.Function = vFunction;
	vParam.Arg1     = vArg1;
	vParam.Arg2     = vArg2;
	vParam.Arg3     = vArg3;
	vParam.Arg4     = vArg4;
	vParam.Arg5     = vArg5;
	vParam.Arg6     = vArg6;
	vParam.Arg7     = vArg7;
	vParam.Arg8     = vArg8;
	vParam.Arg9     = vArg9;
	vParam.Arg10    = vArg10;
	vParam.Arg11    = vArg11;
	vParam.Arg12    = vArg12;
	vParam.Arg13    = vArg13;
	vParam.Arg14    = vArg14;
	vParam.Arg15    = vArg15;
	
	return OpenModal("fwk/cProgress.aspx", vParam, 240, 120, false);
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : À©µµ¿ì ÀÚ½ÅÀ» ´Ý±â
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : CloseSelf();
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function CloseSelf()
{
	self.opener = self;
	self.close();
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ÆË¾÷ À©µµ¿ì ´Ý±â
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : ClosePopup();
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function ClosePopup()
{
	window.close();
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ÇÁ·Î±×·¥ ´Ý±â (¸ÞÀÎÈ­¸éÀ¸·Î ÀüÈ¯)
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : ClosePage();
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.12.03
//---------------------------------------------------------------------------------------------------------------------
function ClosePage()
{
	if (typeof OnClose == "function")
	{
		OnClose();
		return;
	}

	switch (this.name)
	{
		case "frameMain":
		case "ifmMain0":
		case "ifmTree":
			return;
	}
	if (window.opener)
	{
		if (vDwAttr.IsChanged)
		{
			if (IsChanged(true)) return;
		}
		ClosePopup();
	}
	else
	{
		if (window.dialogTop)
		{
			if (vDwAttr.IsChanged)
			{
				if (IsChanged(true)) return;
			}
			ClosePopup();
		}
		else
		{
			if (vDwAttr.IsChanged)
			{
				if (IsChanged(true)) return;
			}
			open(ReadCookie("RootUrl") + "main/Loading.aspx", "_self");
			parent.CloseCurrWindow();
		}
	}
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : Å©±âº¯°æ ½Ã À§Ä¡ Á¶Á¤
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : DoResize();
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.12.03
//---------------------------------------------------------------------------------------------------------------------
function DoResize()
{
	var vLeft = document.body.clientWidth - (Form1.imgTitle ? parseInt(Form1.imgTitle.style.left) : 0);

	vLeft = MoveObject(Form1.btnClose, vLeft);
	vLeft = MoveObject(Form1.btnHelp, vLeft);
	vLeft = MoveObject(Form1.btnExcel, vLeft);
	vLeft = MoveObject(Form1.btnPrintOption, vLeft);
	vLeft = MoveObject(Form1.btnPrint, vLeft);
	vLeft = MoveObject(Form1.btnCancel, vLeft);
	vLeft = MoveObject(Form1.btnOk, vLeft);
	vLeft = MoveObject(Form1.btnUpdate, vLeft);
	vLeft = MoveObject(Form1.btnDelete, vLeft);
	vLeft = MoveObject(Form1.btnInsert, vLeft);
	vLeft = MoveObject(Form1.btnAppend, vLeft);
	vLeft = MoveObject(Form1.btnCopy, vLeft);
	vLeft = MoveObject(Form1.btnRetrieve, vLeft);
	vLeft = MoveObject(Form1.btnDetail, vLeft);
	vLeft = MoveObject(Form1.btnApply, vLeft);
	vLeft = MoveObject(Form1.btnUnselect, vLeft);
	vLeft = MoveObject(Form1.btnSelect, vLeft);
	vLeft = MoveObject(Form1.btnTrans, vLeft);
	vLeft = MoveObject(Form1.btnGen, vLeft);
	vLeft = MoveObject(Form1.btnProc, vLeft);
	vLeft = MoveObject(Form1.btnSum, vLeft);
	vLeft = MoveObject(Form1.btnSend, vLeft);
	vLeft = MoveObject(Form1.btnConfirm, vLeft);
	vLeft = MoveObject(Form1.btnDivision, vLeft);
	if (Form1.imgBackground)
	{
		Form1.imgBackground.style.top = document.body.clientHeight - 14;
		Form1.imgBackground.style.width = document.body.clientWidth;
	}
	document.recalc();
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ¹öÆ° ¼û±â±â
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : HideObjects("Append,Delete");
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.19
//---------------------------------------------------------------------------------------------------------------------
function HideButtons(vObjs)
{
	vObjs = vObjs.split(",");
	for (var i=0; i<vObjs.length; i++)
	{
		switch (TrimAll(vObjs[i].toLowerCase()))
		{
			case "close":
				if (Form1.btnClose) Form1.btnClose.style.visibility = "hidden";
				break;
			case "ok":
				if (Form1.btnOk) Form1.btnOk.style.visibility = "hidden";
				break;
			case "copy":
				if (Form1.btnCopy) Form1.btnCopy.style.visibility = "hidden";
				break;
			case "retrieve":
				if (Form1.btnRetrieve) Form1.btnRetrieve.style.visibility = "hidden";
				break;
			case "append":
				if (Form1.btnAppend) Form1.btnAppend.style.visibility = "hidden";
				break;
			case "insert":
				if (Form1.btnInsert) Form1.btnInsert.style.visibility = "hidden";
				break;
			case "delete":
				if (Form1.btnDelete) Form1.btnDelete.style.visibility = "hidden";
				break;
			case "update":
				if (Form1.btnUpdate) Form1.btnUpdate.style.visibility = "hidden";
				break;
			case "cancel":
				if (Form1.btnCancel) Form1.btnCancel.style.visibility = "hidden";
				break;				
			case "print":
				if (Form1.btnPrint) Form1.btnPrint.style.visibility = "hidden";
				break;
			case "excel":
				if (Form1.btnExcel) Form1.btnExcel.style.visibility = "hidden";
				break;
			case "help":
				if (Form1.btnHelp) Form1.btnHelp.style.visibility = "hidden";
				break;
			case "send":
				if (Form1.btnSend) Form1.btnSend.style.visibility = "hidden";
				break;
			case "select":
				if (Form1.btnSelect) Form1.btnSelect.style.visibility = "hidden";
				break;
			case "unselect":
				if (Form1.btnUnselect) Form1.btnUnselect.style.visibility = "hidden";
				break;
		}
	}
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ¹öÆ° º¸ÀÌ±â
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : MoveObject(Form1.btnExcel);
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.19
//---------------------------------------------------------------------------------------------------------------------
function ShowButtons(vObjs)
{
	vObjs = vObjs.split(",");
	for (var i=0; i<vObjs.length; i++)
	{
		switch (TrimAll(vObjs[i].toLowerCase()))
		{
			case "close":
				if (Form1.btnClose) Form1.btnClose.style.visibility = "visible";
				break;
			case "ok":
				if (Form1.btnOk) Form1.btnOk.style.visibility = "visible";
				break;
			case "copy":
				if (Form1.btnCopy) Form1.btnCopy.style.visibility = "visible";
				break;
			case "retrieve":
				if (Form1.btnRetrieve) Form1.btnRetrieve.style.visibility = "visible";
				break;
			case "append":
				if (Form1.btnAppend) Form1.btnAppend.style.visibility = "visible";
				break;
			case "insert":
				if (Form1.btnInsert) Form1.btnInsert.style.visibility = "visible";
				break;
			case "delete":
				if (Form1.btnDelete) Form1.btnDelete.style.visibility = "visible";
				break;
			case "update":
				if (Form1.btnUpdate) Form1.btnUpdate.style.visibility = "visible";
				break;
			case "cancel":
				if (Form1.btnCancel) Form1.btnCancel.style.visibility = "visible";
				break;				
			case "print":
				if (Form1.btnPrint) Form1.btnPrint.style.visibility = "visible";
				break;
			case "excel":
				if (Form1.btnExcel) Form1.btnExcel.style.visibility = "visible";
				break;
			case "help":
				if (Form1.btnHelp) Form1.btnHelp.style.visibility = "visible";
				break;
			case "send":
				if (Form1.btnSend) Form1.btnSend.style.visibility = "visible";
				break;
			case "select":
				if (Form1.btnSelect) Form1.btnSelect.style.visibility = "visible";
				break;
			case "unselect":
				if (Form1.btnUnselect) Form1.btnUnselect.style.visibility = "visible";
				break;
		}
	}
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : BackSpace Å° È°¼º/ºñÈ°¼º ¼³Á¤
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : IgnoreKeyBS(false);
// ÀÛ¼º : ÇÑµ¿Áø - 2005.08.19
//---------------------------------------------------------------------------------------------------------------------
var vIgnoreKeyBS = true;
function IgnoreKeyBS(vIgnore)
{
	if (vIgnore == null) vIgnore = true;
	vIgnoreKeyBS = vIgnore;
}
//---------------------------------------------------------------------------------------------------------------------
// ¸ðµâ : À©µµ¿ì °ü¸® (Á¾·á)
//=====================================================================================================================
// ¸ðµâ : Embeded SQL (½ÃÀÛ)
//---------------------------------------------------------------------------------------------------------------------
var vSqlID = "";
var vParam = new Object();
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : Embeded SQL ½ÇÇà ¿©ºÎ Ã¼Å©
// ¹ÝÈ¯ : boolean, SQL ½ÇÇà ¿©ºÎ (true:SQL ½ÇÇàÁß, false:Idle)
// ¿¹Á¦ : IsRunningSql();
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function IsRunningSql()
{
	if (vSqlID == "") return false;
	return true;
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : Embeded SQL ½ÇÇà (Á¶È¸¹®)
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : RunSql("SQL_ID", SQL¹®);
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.11.27
//---------------------------------------------------------------------------------------------------------------------
function RunSql()
{
	// (vSql {, vSqlcaID})
	if (arguments.length == 1 || (arguments.length == 2 && typeof arguments[1] == "number"))
	{
		return RunSqlSync(arguments[0], arguments[1]);
	}
	// (vID, vSql {, vSqlcaID})
	else
	{
		if (arguments[0].toLowerCase() == "@modal")
		{
			return RunSqlModal(arguments[1], arguments[2]);
		}
		else
		{
			return RunSqlAsync(arguments[0], arguments[1], arguments[2]);
		}
	}
}
/*
function RunSql()
{
	// (vSql {, vSqlcaID})
	if (arguments.length == 1 || (arguments.length == 2 && typeof arguments[1] == "number"))
	{
		vSql = arguments[0];
		if (arguments.length == 1)
			vSqlcaID = "";
		else
			vSqlcaID = arguments[1];

		if (IsRunningSql()) return;
		vSqlID = "sync";
		if (vDwAttr.Dw) SetDwRetrieving(true);
		vSql = vSql.replace(/&/g,"&amp;");
		vSql = vSql.replace(/</g,"&lt;");
		vSql = vSql.replace(/>/g,"&gt;");
		var vReturn = RequestDataServiceSync("ExecSql", vSql, vSqlcaID);
		if (vDwAttr.Dw) SetDwRetrieving(false);
		vSqlID = "";
		return vReturn;
	}
	// (vID, vSql {, vSqlcaID})
	else
	{
		vID = arguments[0];
		vSql = arguments[1];
		if (arguments.length == 2)
			vSqlcaID = "";
		else
			vSqlcaID = arguments[2];

		if (IsRunningSql()) return;
		if (vID.toLowerCase() == "@modal")
		{
			vSqlID = "sync";
			var vParam = new Object();
			vSql = vSql.replace(/&/g,"&amp;");
			vSql = vSql.replace(/</g,"&lt;");
			vSql = vSql.replace(/>/g,"&gt;");
			vParam.Sql = vSql;
			vParam.Type = "ExecSql";
			vParam.SqlcaID = vSqlcaID;
			var vReturn = OpenModal("fwk/cRetrieveSql.aspx", vParam, 240, 120);
			vSqlID = "";
			return vReturn;
		}
		vSqlID = vID;
		if (vDwAttr.Dw) SetDwRetrieving(true);
		vSql = vSql.replace(/&/g,"&amp;");
		vSql = vSql.replace(/</g,"&lt;");
		vSql = vSql.replace(/>/g,"&gt;");
		RequestDataService("ExecSql", vSql, vSqlcaID);
	}
}
*/
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : Embeded SQL ½ÇÇà (Ã³¸®¹®)
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : ExecSql("SQL_ID", SQL¹®);
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.12.08
//---------------------------------------------------------------------------------------------------------------------
function ExecSql()
{
	// (vSql {, vSqlcaID})
	if (arguments.length == 1 || (arguments.length == 2 && typeof arguments[1] == "number"))
	{
		vSql = arguments[0];
		if (arguments.length == 1)
			vSqlcaID = "";
		else
			vSqlcaID = arguments[1];

		if (IsRunningSql()) return;
		vSqlID = "sync";
		if (vDwAttr.Dw) SetDwRetrieving(true);
		vSql = vSql.replace(/&/g,"&amp;");
		vSql = vSql.replace(/</g,"&lt;");
		vSql = vSql.replace(/>/g,"&gt;");
		var vReturn = RequestDataServiceSync("ExecNonSql", vSql, vSqlcaID);
		if (vDwAttr.Dw) SetDwRetrieving(false);
		vSqlID = "";
		return vReturn;
	}
	// (vID, vSql {, vSqlcaID})
	else
	{
		vID = arguments[0];
		vSql = arguments[1];
		if (arguments.length == 2)
			vSqlcaID = "";
		else
			vSqlcaID = arguments[2];

		if (IsRunningSql()) return;
		vSqlID = vID;
		if (vDwAttr.Dw) SetDwRetrieving(true);
		vSql = vSql.replace(/&/g,"&amp;");
		vSql = vSql.replace(/</g,"&lt;");
		vSql = vSql.replace(/>/g,"&gt;");
		RequestDataService("ExecNonSql", vSql, vSqlcaID);
	}
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : SQL ½ÇÇà (Ã³¸®Áß Ã¢À» ¿­°í ½ÇÇàÇÔ. Procedure µîÀÇ Ã³¸®)
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : ExecProc(SQL¹®);
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.03
//---------------------------------------------------------------------------------------------------------------------
function ExecProc(vSql, vProc, vSqlcaID)
{
	if (vProc == null) vProc = false;
	if (vSqlcaID == null) vSqlcaID = "";

	vSql = vSql.replace(/&/g,"&amp;");
	vSql = vSql.replace(/</g,"&lt;");
	vSql = vSql.replace(/>/g,"&gt;");

	var vParam = new Object();
	vParam.Sql = vSql;
	vParam.Proc = vProc;
	vParam.SqlcaID = vSqlcaID;
	var vReturn = OpenModal("fwk/cProcedure.aspx", vParam, 240, 120);
	return vReturn;
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : Procedure ½ÇÇà (Out Parameter Æ÷ÇÔµÈ Procedure Ã³¸®)
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : ExecProcOut("SQL_ID", SQL¹®);
// ÀÛ¼º : ÇÑµ¿Áø - 2005.03.24
//---------------------------------------------------------------------------------------------------------------------
var vIsProcInit = false;
var vProcAttr = new Object();
vProcAttr.Name = new Array();
vProcAttr.InParams = new Array();
vProcAttr.OutParams = new Array();
vProcAttr.ID = new Array();
function ExecProcOut()
{
	var vInParams;
	var vOutParams;
	
	// (vSql, vInValues {, vSqlcaID})
	if (arguments.length == 2 || (arguments.length == 3 && typeof arguments[2] == "number"))
	{
		vSql = arguments[0];
		vInValues = arguments[1];
		if (arguments.length == 2)
			vSqlcaID = "";
		else
			vSqlcaID = arguments[2];

		if (IsRunningSql()) return;
		vSqlID = "sync";
		if (vDwAttr.Dw) SetDwRetrieving(true);

		// ÇÁ·Î½ÃÁ® µî·Ï
		if (!vIsProcInit)
		{
			InitProc();
			vIsProcInit = true;
		}
		// µî·ÏµÈ ÇÁ·Î½ÃÁ® °Ë»ö
		var vIndex = FindProc(vSql);
		if (vIndex < 0)
		{
			vSqlID = "";
			if (vDwAttr.Dw) SetDwRetrieving(false);
			return;
		}
		vInParams = vProcAttr.InParams[vIndex];
		vOutParams = vProcAttr.OutParams[vIndex];
		vSql = vProcAttr.Name[vIndex];

		vSql = vSql.replace(/&/g,"&amp;");
		vSql = vSql.replace(/</g,"&lt;");
		vSql = vSql.replace(/>/g,"&gt;");
		var vReturn = RequestDataServiceSync("ExecProcOut", vSql, vInParams, vInValues, vOutParams, vSqlcaID);
		if (vDwAttr.Dw) SetDwRetrieving(false);
		vSqlID = "";
		return vReturn;
	}
	// (vID, vSql, vInValues {, vSqlcaID})
	else
	{
		vID = arguments[0];
		vSql = arguments[1];
		vInValues = arguments[2];
		if (arguments.length == 3)
			vSqlcaID = "";
		else
			vSqlcaID = arguments[3];

		if (IsRunningSql()) return;
		if (vID.toLowerCase() == "@modal")
			vSqlID = "sync";
		else
			vSqlID = vID;
		if (vDwAttr.Dw) SetDwRetrieving(true);

		// ÇÁ·Î½ÃÁ® µî·Ï
		if (!vIsProcInit)
		{
			InitProc();
			vIsProcInit = true;
		}
		// µî·ÏµÈ ÇÁ·Î½ÃÁ® °Ë»ö
		var vIndex = FindProc(vSql);
		if (vIndex < 0)
		{
			vSqlID = "";
			if (vDwAttr.Dw) SetDwRetrieving(false);
			return;
		}
		vInParams = vProcAttr.InParams[vIndex];
		vOutParams = vProcAttr.OutParams[vIndex];
		vSql = vProcAttr.Name[vIndex];

		if (vID.toLowerCase() == "@modal")
		{
			var vParam = new Object();
			vSql = vSql.replace(/&/g,"&amp;");
			vSql = vSql.replace(/</g,"&lt;");
			vSql = vSql.replace(/>/g,"&gt;");
			vParam.Sql = vSql;
			vParam.InParams = vInParams;
			vParam.InValues = vInValues;
			vParam.OutParams = vOutParams;
			vParam.Type = "ExecProcOut";
			vParam.SqlcaID = vSqlcaID;
			var vReturn = OpenModal("fwk/cRetrieveSql.aspx", vParam, 240, 120);
			if (vDwAttr.Dw) SetDwRetrieving(false);
			vSqlID = "";
			return vReturn;
		}
		vSql = vSql.replace(/&/g,"&amp;");
		vSql = vSql.replace(/</g,"&lt;");
		vSql = vSql.replace(/>/g,"&gt;");
		if (!DataService.OraData) DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraData.asmx?WSDL", "OraData");
		if (DataService.OraData) DataService.OraData.callService(EndProcOut, "ExecProcOut", vSql, vInParams, vInValues, vOutParams, ReadCookie("Sqlca"+vSqlcaID));
	}
}
//---------------------------------------------------------------------------------------------------------------------
// ¸ðµâ : Embeded SQL (Á¾·á)
//=====================================================================================================================
// ¸ðµâ : ÀÏ¹Ý ÇÔ¼ö (½ÃÀÛ)
var vUseTranslation = false;
var vCurrentTranslation = "";
function SetTranslation(vTrans)
{
	vCurrentTranslation = vTrans;
	MakeCookie("@UserTrans@", vCurrentTranslation);
}
function ResetTranslation()
{
	vCurrentTranslation = "";
	ClearCookie("*UserTrans*");
}
function CheckTranslation()
{
	vCurrentTranslation = ReadCookie("UserTrans");		// »ç¿ëÀÚ ¾ð¾î ¼±ÅÃ
	if (UseTranslation || (vCurrentTranslation.length > 0 && vCurrentTranslation != "none"))
	{
		vUseTranslation = true;
		if (vCurrentTranslation.length <= 0)
			vCurrentTranslation = DefaultTranslation;
	}
	else
	{
		vUseTranslation = false;
	}
	return vUseTranslation;
}
function GetTranslation()
{
	return vCurrentTranslation;
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ¹è¿­ ÃÊ±âÈ­
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : ClearArray(vArray)
// ÀÛ¼º : ¿ìÀ±½Ä - 2004.12.28
//---------------------------------------------------------------------------------------------------------------------
function ClearArray(vArray)
{
	if (vArray) vArray.splice(0, vArray.length);
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ½Ã½ºÅÛ º¯¼ö »ý¼º
// ¹ÝÈ¯ : ¾øÀ½
// ¿¹Á¦ : SetSysInfo("º¯¼ö¸í", "º¯¼ö°ª");
// ÀÛ¼º : ÇÑµ¿Áø - 2005.06.04
//---------------------------------------------------------------------------------------------------------------------
function SetSysInfo(vName, vVal)
{
	var vSysInfo = ReadCookie("SysInfo");
	var vSysInfos = new Array();
	var vNewItem = true;
	if (vSysInfo != "none")
	{
		vSysInfos = vSysInfo.split("\t");
		for (var i = 0; i < vSysInfos.length; i++)
		{
			if (vName == vSysInfos[i].split("=")[0])
			{
				vSysInfos[i] = vName + "=" + escape(vVal);
				vNewItem = false;
				break;
			}
		}
	}
	if (vNewItem)
	{
		vSysInfos.push(vName + "=" + escape(vVal));
	}
	vSysInfo = vSysInfos.join("\t");
	MakeCookie("@SysInfo@", vSysInfo);
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ½Ã½ºÅÛ º¯¼ö Á¶È¸
// ¹ÝÈ¯ : string, º¯¼ö °ª
// ¿¹Á¦ : GetSysInfo("º¯¼ö¸í")
// ÀÛ¼º : ÇÑµ¿Áø - 2005.06.04
//---------------------------------------------------------------------------------------------------------------------
function GetSysInfo(vName)
{
	var vSysInfo = ReadCookie("SysInfo");
	if (vSysInfo == "none")
		return "";

	var vSysInfos = vSysInfo.split("\t");
	for (var i = 0; i < vSysInfos.length; i++)
	{
		if (vName == vSysInfos[i].split("=")[0])
		{
			return unescape(vSysInfos[i].split("=")[1]);
		}
	}
	return "";
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ È¸»ç ÄÚµå
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginComp()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.20
//---------------------------------------------------------------------------------------------------------------------
function SetLoginComp(vVal)
{
	return MakeCookie("@CompId@", vVal);
}
function GetLoginComp()
{
	return ReadCookie("CompId");
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ ºÎ¼­ ÄÚµå
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginDept()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.25
//---------------------------------------------------------------------------------------------------------------------
function SetLoginDept(vVal)
{
	return MakeCookie("@DeptId@", vVal);
}
function GetLoginDept()
{
	return ReadCookie("DeptId");
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ ºÎ¼­ ¸íÄª
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginDeptName()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.04.12
//---------------------------------------------------------------------------------------------------------------------
function SetLoginDeptName(vVal)
{
	return MakeCookie("@DeptName@", vVal);
}
function GetLoginDeptName()
{
	return ReadCookie("DeptName");
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ ÇÚµåÆù ¹øÈ£
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginCellNo()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.04.12
//---------------------------------------------------------------------------------------------------------------------
function SetLoginCellNo(vVal)
{
	return MakeCookie("@CellNo@", vVal);
}
function GetLoginCellNo()
{
	return ReadCookie("CellNo");
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ »ç¹ø
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginUserId()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.20
//---------------------------------------------------------------------------------------------------------------------
function SetLoginUserId(vVal)
{
	return MakeCookie("@UserId@", vVal);
}
function GetLoginUserId()
{
	return ReadCookie("UserId");
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ ¼º¸í
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginUserName()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.20
//---------------------------------------------------------------------------------------------------------------------
function SetLoginUserName(vVal)
{
	return MakeCookie("@UserName@", vVal);
}
function GetLoginUserName()
{
	return ReadCookie("UserName");
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ ¾ÆÀÌµð
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginId()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.20
//---------------------------------------------------------------------------------------------------------------------
function SetLoginId(vVal)
{
	return MakeCookie("@LoginId@", vVal);
}
function GetLoginId()
{
	return ReadCookie("LoginId");
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ »ç¾÷Àå (È¸°è Á¶È¸ °¡´É ¿©ºÎ¿¡ µû¸§)
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginAmComp()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.25
//---------------------------------------------------------------------------------------------------------------------
function GetLoginAmComp()
{
	if (ReadCookie("AmDept") == "1") return "%";
	return GetLoginComp();
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ ºÎ¼­ (È¸°è Á¶È¸ °¡´É ¿©ºÎ¿¡ µû¸§)
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginAmDept()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.25
//---------------------------------------------------------------------------------------------------------------------
function SetLoginAmDept(vVal)
{
	return MakeCookie("@AmDept@", vVal);
}
function GetLoginAmDept()
{
	if (ReadCookie("AmDept") == "3") return GetLoginDept();
	return "%";
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ·Î±×ÀÎ »ç¿ëÀÚÀÇ È¸°è ´ã´çÀÚ ¿©ºÎ
// ¹ÝÈ¯ : String
// ¿¹Á¦ : GetLoginAmUser()
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.01.25
//---------------------------------------------------------------------------------------------------------------------
function SetLoginAmUser(vVal)
{
	return MakeCookie("@AmUser@", vVal);
}
function GetLoginAmUser()
{
	return ReadCookie("AmUser");
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : ¼ýÀÚ¸¦ ÇÑ±Û·Î º¯È¯
// ¹ÝÈ¯ : String
// ¿¹Á¦ : NumToKor(1500)
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.03.11
//---------------------------------------------------------------------------------------------------------------------
function NumToKor(vNumber)
{
   if (vNumber == 0) return "";

   var vReturn = "";
   if (vNumber < 0)
   {
   	vReturn = "¡â ";
   	vNumber *= -1;
   }
   vNumber = vNumber.toString();

   var vHanNum = new Array("","ÀÏ","ÀÌ","»ï","»ç","¿À","À°","Ä¥","ÆÈ","±¸");
   var vHanUnit = new Array("","½Ê","¹é","Ãµ");
   var vHanUnit4 = new Array("","¸¸","¾ï","Á¶","°æ");
   var vLen = vNumber.length;
   var vNum, vDiv, vMod;

   for (var i=0; i<vLen; i++)
   {
      vNum = vNumber.substr(i, 1);
      vDiv = parseInt((vLen - i - 1) / 4);
      vMod = (vLen - i - 1) % 4;
      if (vNum == "0")
      {
         if (vMod == 0)
         {
            if (i < 4 || vNumber.substr(i - 3, 3) != "000") vReturn += vHanUnit4[vDiv];
         }
      }
      else
      {
         vReturn += vHanNum[vNum];
         vReturn += (vMod == 0 ? vHanUnit4[vDiv] : vHanUnit[vMod]);
      }
   }
   return vReturn;
}
//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : Post Event ¹ß»ý
// ¹ÝÈ¯ : ¾øÀ½, ExecPostEvent(vID) È£Ãâ
// ¿¹Á¦ : PostEvent("DblClick", Row, Name);
// ÀÛ¼º : ¿ìÀ±½Ä - 2005.03.17
//---------------------------------------------------------------------------------------------------------------------
function PostEvent(vID, vA, vB, vC, vD, vE, vF, vG, vH, vI, vJ)
{
	if (IsRunningSql()) return;
//	if (vDwAttr.Dw) SetDwRetrieving(true);
	vSqlID = vID;
	var vArg = new Array();
	vArg.push(vA == null ? "" : vA);
	vArg.push(vB == null ? "" : vB);
	vArg.push(vC == null ? "" : vC);
	vArg.push(vD == null ? "" : vD);
	vArg.push(vE == null ? "" : vE);
	vArg.push(vF == null ? "" : vF);
	vArg.push(vG == null ? "" : vG);
	vArg.push(vH == null ? "" : vH);
	vArg.push(vI == null ? "" : vI);
	vArg.push(vJ == null ? "" : vJ);
	RequestDataService("PostEvent", vArg);
}
function FileUpload(vMsg, vFileName)
{
	return OpenModal("fwk/cFileUpload.aspx?Msg=" + vMsg + "&File=" + vFileName, "Upload", 320, 140, true);
}
function FileUpload2(vMsg, vFileName,vSrcFile )
{
	return OpenModal("fwk/cFileUpload2.aspx?Msg=" + vMsg + "&File=" + vFileName+ "&srcFile=" + vSrcFile, "Upload", 320, 140, true);
}
function FileDownload(vFileName)
{
	Open("fwk/cFileDownload.aspx?File=" + vFileName, "Download", 0, 0, 150, 100, true, 0, 0, 0);
}
function FileDelete(vFileName)
{
	return OpenModal("fwk/cFileDelete.aspx?File=" + vFileName, "Delete", 240, 120, true);
}
function GetDownloadUrl(vFileName)
{
    return ReadCookie("RootUrl") + "fwk/cFileDownload.aspx?File=" + vFileName;
}
function HtmlUpload(vFile, vHtml)
{
	if (IsRunningSql()) return;
	vSqlID = "**Module-HtmlUpload**";
	if (vDwAttr.Dw) SetDwRetrieving(true);
	vHtml = vHtml.replace(/&/g,"&amp;");
	vHtml = vHtml.replace(/</g,"&lt;");
	vHtml = vHtml.replace(/>/g,"&gt;");
	if (!DataService.OraData) DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraData.asmx?WSDL", "OraData");
	if (DataService.OraData) DataService.OraData.callService(EndHtmlUpDown, "HtmlWrite", vFile, vHtml);
}
function HtmlDownload(vFile)
{
	if (IsRunningSql()) return;
	vSqlID = "**Module-HtmlDownload**";
	if (vDwAttr.Dw) SetDwRetrieving(true);
	if (!DataService.OraData) DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraData.asmx?WSDL", "OraData");
	if (DataService.OraData) DataService.OraData.callService(EndHtmlUpDown, "HtmlRead", vFile);
}
function HtmlDelete(vFile)
{
	if (IsRunningSql()) return;
	vSqlID = "**Module-HtmlDelete**";
	if (vDwAttr.Dw) SetDwRetrieving(true);
	if (!DataService.OraData) DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraData.asmx?WSDL", "OraData");
	if (DataService.OraData) DataService.OraData.callService(EndHtmlUpDown, "HtmlDelete", vFile);
}
//---------------------------------------------------------------------------------------------------------------------
// ¸ðµâ : ÀÏ¹Ý ÇÔ¼ö (Á¾·á)
//=====================================================================================================================
// ¸ðµâ : ³»ºÎ ÇÔ¼ö (½ÃÀÛ)
//---------------------------------------------------------------------------------------------------------------------
function RequestDataService(vFunc, vArg, vSqlcaID)
{
	if (!DataService.OraData) DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraData.asmx?WSDL", "OraData");
	switch (vFunc)
	{
		case "ExecSql":
			if (DataService.OraData) DataService.OraData.callService(EndSql, "ExecSql", vArg, ReadCookie("Sqlca"+vSqlcaID));
			break;
		case "ExecNonSql":
			if (DataService.OraData) DataService.OraData.callService(EndNonSql, "ExecNonSql", vArg, ReadCookie("Sqlca"+vSqlcaID));
			break;
		case "PostEvent":
			if (DataService.OraData) DataService.OraData.callService(EndPostEvent, "PostEvent", vArg);
			break;
	}
}
var _origOnload;
function _onload()
{
	// form name ÀÌ Form1 ÀÌ ¾Æ´Ò °æ¿ì Ã¹¹øÂ° form À» Form1 À¸·Î ÁöÁ¤
	if (typeof Form1 == "undefined")
		Form1 = document.forms[0];

	if (typeof DataService != "undefined")
	{
//		InitDataService();
//		if (_origOnload)
//			DataService.onserviceavailable = _origOnload;
		_InitDataServiceDW();
	}
	else
	{
		if (_origOnload) _origOnload();
	}
}
function _InitDataServiceDW()
{
	DataService.onserviceavailable = _InitDataServiceData;
	DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraDatawindow.asmx?WSDL", "OraDW");
}
function _InitDataServiceData()
{
	DataService.onserviceavailable = _InitDataServiceEnd;
	DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraData.asmx?WSDL", "OraData");
}
function _InitDataServiceEnd()
{
	DataService.onserviceavailable = null;
	if (_origOnload) _origOnload();
}
function InitDataService()
{
	if (typeof DataService == "undefined") return;
	//if (!DataService.OraData) DataService.useService(ReadCookie("RootUrl") + "fwk/Web References/DataService.OraData/OraData.wsdl", "OraData");
	if (!DataService.OraDW)   DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraDatawindow.asmx?WSDL", "OraDW");
	if (!DataService.OraData) DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraData.asmx?WSDL", "OraData");
}
function RequestDataServiceSync()
{
	vFunc = arguments[0];
	vSql = arguments[1];

	if (!DataService.OraData) DataService.useService(ReadCookie("DSvcUrl") + "DataService/OraData.asmx?WSDL", "OraData");
	switch (vFunc)
	{
		case "ExecSql":
			if (DataService.OraData)
			{
				var callObj;
				var headObj = new Object(); // SOAPHeader object
				callObj = DataService.createCallOptions(); // Create the call object
				callObj.async = false;
				callObj.params = new Array();
				callObj.params.sSql = vSql;
				callObj.params.sSqlca = ReadCookie("Sqlca"+arguments[2]);
				callObj.funcName = "ExecSql";
				callObj.SOAPHeader = new Array();
				callObj.SOAPHeader[0] = headObj;
				var vReturn = DataService.OraData.callService(callObj);
				return EndSqlSync(vReturn);
			}
			break;
		case "ExecNonSql":
			if (DataService.OraData)
			{
				var callObj;
				var headObj = new Object(); // SOAPHeader object
				callObj = DataService.createCallOptions(); // Create the call object
				callObj.async = false;
				callObj.params = new Array();
				callObj.params.sSql = vSql;
				callObj.params.sSqlca = ReadCookie("Sqlca"+arguments[2]);
				callObj.funcName = "ExecNonSql";
				callObj.SOAPHeader = new Array();
				callObj.SOAPHeader[0] = headObj;
				var vReturn = DataService.OraData.callService(callObj);
				return EndNonSqlSync(vReturn);
			}
			break;
		case "ExecProcOut":
			if (DataService.OraData)
			{
				var callObj;
				var headObj = new Object(); // SOAPHeader object
				callObj = DataService.createCallOptions(); // Create the call object
				callObj.async = false;
				callObj.params = new Array();
				callObj.params.sSql = vSql;
				callObj.params.sInParam = arguments[2];
				callObj.params.sInValue = arguments[3];
				callObj.params.sOutParam = arguments[4];
				callObj.params.sSqlca = ReadCookie("Sqlca"+arguments[5]);
				callObj.funcName = "ExecProcOut";
				callObj.SOAPHeader = new Array();
				callObj.SOAPHeader[0] = headObj;
				var vReturn = DataService.OraData.callService(callObj);
				return EndProcOutSync(vReturn);
			}
			break;
	}
}
function EndSqlSync(vReturn)
{
	if (vReturn.error)
	{
		var vErr = vReturn.errorDetail.string;
		vErr = vErr.substring(vErr.indexOf("ORA-"), vErr.length);
		if (vErr.indexOf("\n") > 0) vErr = vErr.substring(0, vErr.indexOf("\n"));
		alert(vErr);
		return;
	}
	else
	{
		return vReturn.value;
	}
}
function EndNonSqlSync(vReturn)
{
	var vErr = "";
	if (vReturn.error)
	{
		vErr = vReturn.errorDetail.string;
	}
	else
	{
		vErr = vReturn.value;
		if (vErr == null || vErr == "")
		{
			return "Ok";
		}
	}
	vErr = vErr.substring(vErr.indexOf("ORA-"), vErr.length);
	if (vErr.indexOf("\n") > 0) vErr = vErr.substring(0, vErr.indexOf("\n"));
	vErr += ". ";
	alert(vErr);
	return;
}
/*******************************************************************************
function InitProc()
{
	// Procedure µî·Ï : AddProc(vName, vInParams, vOutParams, vID)
	//                          vName      : DBÇÁ·Î½ÃÀú¸í
	//                          vInParams  : º¯¼ö¸í(in)
	//                          vOutParams : º¯¼ö¸í(out),º¯¼öÅ¸ÀÙ,ÀÚ¸´¼ö
	//                          vID        : ÇÁ·Î½ÃÀúID (»ý·«ÇÏ¸é DBÇÁ·Î½ÃÀú¸í »ç¿ë)

	// ÀüÇ¥ Ã¤¹ø
	AddProc("sp_get_junpyo",	"ar_date|ar_gubun", "ar_maxseq,number,7");			

	AddProc("sp_init_junpyo","ar_date|ar_gubun|ar_iogbn", "ar_maxno,number,5|"
														+"ar_inpcnf,varchar,1|"
														+"ar_jnpcrt,varchar,3|"
														+"ar_dyebi3,number,20");

	// ±â¼ö Á¤º¸
	AddProc("erpman.fun_get_dses", "arg_gbn|ref_ses",
				 "ref_yyyy,varchar,4|"
				+"ref_frdate,varchar,8|"
				+"ref_todate,varchar,8",
				"fun_get_dses_ses");

	AddProc("erpman.fun_get_dses", "arg_gbn|ref_yyyy", 
				 "ref_ses,number,4|"
				+"ref_frdate,varchar,8|"
				+"ref_todate,varchar,8",
				"fun_get_dses_yyyy");
}
*******************************************************************************/
function AddProc(vName, vInParams, vOutParams, vID)
{
	vProcAttr.Name.push(vName.toLowerCase());
	vProcAttr.InParams.push(vInParams);
	vProcAttr.OutParams.push(vOutParams);
	if (vID == null)
		vProcAttr.ID.push(vName.toLowerCase());
	else
		vProcAttr.ID.push(vID.toLowerCase());
}
function FindProc(vID)
{
	vID = vID.toLowerCase();
	for (var i=0; i<vProcAttr.ID.length; i++)
	{
		if (vProcAttr.ID[i] == vID)
		{
			//vInParams = vProcAttr.InParams[i];
			//vOutParams = vProcAttr.OutParams[i];
			return i;
		}
	}
	alert("½Ã½ºÅÛ ¿À·ù\nµî·ÏµÇÁö ¾ÊÀº ÇÁ·Î½ÃÁ®(" + vID + ")¸¦ È£ÃâÇß½À´Ï´Ù!\n½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇ ¹Ù¶ø´Ï´Ù.");
	return -1;
}
function EndProcOut(vReturn)
{
	var vID = vSqlID;
	if (vDwAttr.Dw) SetDwRetrieving(false);
	vSqlID = "";
	if (vReturn.error)
	{
		var vErr = vReturn.errorDetail.string;
		vErr = vErr.substring(vErr.indexOf("ORA-"), vErr.length);
		if (vErr.indexOf("\n") > 0) vErr = vErr.substring(0, vErr.indexOf("\n"));
		vErr += ". ";
		if (!CallSqlError(vID, vErr)) alert(vErr);
	}
	else
	{
		SqlResult(vID, vReturn.value);
	}
}
function EndProcOutSync(vReturn)
{
	if (vReturn.error)
	{
		var vErr = vReturn.errorDetail.string;
		vErr = vErr.substring(vErr.indexOf("ORA-"), vErr.length);
		if (vErr.indexOf("\n") > 0) vErr = vErr.substring(0, vErr.indexOf("\n"));
		vErr += ". ";
		alert(vErr);
		return;
	}
	else
	{
		return vReturn.value;
	}
}
function ChangeSeparator(vSource, vSC, vTC)
{
	var vResult = "";
	for (var i=0; i< vSource.length; i++)
	{
		if (vSource.substr(i,1) == vSC) vResult += vTC;
		else vResult += vSource.substr(i,1);
	}
	return vResult;
}
function MakeCookieSession(vKeep)
{
	var vNow = new Date();
	var vID = ReadCookie("JSESSIONID");

	vNow.setDate(vNow.getDate() + vKeep);
	document.cookie =  "JSESSIONID" + "=" + vID + "; path=/; expires=" + vNow.toGMTString() + ";";
}
function MoveObject(vObj, vLeft, vWidth)
{
	if (vObj)
	{
		if (vObj.style.visibility != "hidden")
		{
			vLeft -= parseInt(vObj.width);
			vObj.style.left = vLeft;
		}
	}
	return vLeft;
}
function CloseWindow(vWin)
{
	if (vDwAttr.IsChanged)
	{
		if (IsChanged())
		{
			parent.ChangeWindow(vWin);
			if (!confirm("ÀÚ·á°¡ º¯°æµÇ¾ú½À´Ï´Ù.\n±×·¡µµ Á¾·áÇÏ½Ã°Ú½À´Ï±î?")) return false;
		}
	}
	open(ReadCookie("RootUrl") + "main/Loading.aspx", "_self");
	parent.CloseWinPage(vWin);
	return true;
}
function RunSqlSync(vSql, vSqlcaID)
{
	if (IsRunningSql()) return;
	if (vSqlcaID == null) vSqlcaID = "";
	vSqlID = "sync";
	if (vDwAttr.Dw) SetDwRetrieving(true);
	vSql = vSql.replace(/&/g,"&amp;");
	vSql = vSql.replace(/</g,"&lt;");
	vSql = vSql.replace(/>/g,"&gt;");
	var vReturn = RequestDataServiceSync("ExecSql", vSql, vSqlcaID);
	if (vDwAttr.Dw) SetDwRetrieving(false);
	vSqlID = "";
	return vReturn;
}
function RunSqlModal(vSql, vSqlcaID)
{
	if (IsRunningSql()) return;
	if (vSqlcaID == null) vSqlcaID = "";
	vSqlID = "sync";
	var vParam = new Object();
	vSql = vSql.replace(/&/g,"&amp;");
	vSql = vSql.replace(/</g,"&lt;");
	vSql = vSql.replace(/>/g,"&gt;");
	vParam.Sql = vSql;
	vParam.Type = "ExecSql";
	vParam.SqlcaID = vSqlcaID;
	var vReturn = OpenModal("fwk/cRetrieveSql.aspx", vParam, 240, 120);
	vSqlID = "";
	return vReturn;
}
function RunSqlAsync(vID, vSql, vSqlcaID)
{
	if (IsRunningSql()) return;
	if (vSqlcaID == null) vSqlcaID = "";
	vSqlID = vID;
	if (vDwAttr.Dw) SetDwRetrieving(true);
	vSql = vSql.replace(/&/g,"&amp;");
	vSql = vSql.replace(/</g,"&lt;");
	vSql = vSql.replace(/>/g,"&gt;");
	RequestDataService("ExecSql", vSql, vSqlcaID);
}
function EndSql(vReturn)
{
	var vID = vSqlID;
	if (vDwAttr.Dw) SetDwRetrieving(false);
	vSqlID = "";
	if (vReturn.error)
	{
		var vErr = vReturn.errorDetail.string;
		vErr = vErr.substring(vErr.indexOf("ORA-"), vErr.length);
		if (vErr.indexOf("\n") > 0) vErr = vErr.substring(0, vErr.indexOf("\n"));
		vErr += ". ";
		if (!CallSqlError(vID, vErr)) alert(vErr);
	}
	else
	{
		SqlResult(vID, vReturn.value);
	}
}
function EndNonSql(vReturn)
{
	var vID = vSqlID;
	var vErr = "";
	if (vDwAttr.Dw) SetDwRetrieving(false);
	vSqlID = "";
	if (vReturn.error)
	{
		vErr = vReturn.errorDetail.string;
	}
	else
	{
		vErr = vReturn.value;
		if (vErr == null || vErr == "")
		{
			SqlResult(vID, "Ok");
			return;
		}
	}
	vErr = vErr.substring(vErr.indexOf("ORA-"), vErr.length);
	if (vErr.indexOf("\n") > 0) vErr = vErr.substring(0, vErr.indexOf("\n"));
	vErr += ". ";
	if (!CallSqlError(vID, vErr)) alert(vErr);
}
function EndPostEvent(vReturn)
{
//	if (vDwAttr.Dw) SetDwRetrieving(false);
	var vResult = vReturn.value;
	ExecPostEvent(vSqlID, vResult[0], vResult[1], vResult[2], vResult[3], vResult[4], vResult[5], vResult[6], vResult[7], vResult[8], vResult[9]);
	vSqlID = "";
}
function EndHtmlUpDown(vReturn)
{
	var vID = vSqlID;
	if (vDwAttr.Dw) SetDwRetrieving(false);
	vSqlID = "";
	if (vReturn.error)
	{
		alert(vReturn.errorDetail.string);
		return;
	}
	switch (vID)
	{
		case "**Module-HtmlDownload**":
			HtmlDownloadEnd(vReturn.value);
			break;
		case "**Module-HtmlUpload**":
			CallHtmlUploadEnd(vReturn.value);
			break;
		case "**Module-HtmlDelete**":
			CallHtmlDeleteEnd();
			break;
	}
}
function OnHelpText()
{
	if (!Form1.txtPageName) return;
	if (DefaultHelpPage == "") return;
	var vHelpPage = new Array();
	vHelpPage[0] = Form1.txtPageName.value;
	vHelpPage[1] = vHelpPage[0];
	vHelpPage[2] = ReadCookie("HelpEdit");
	OpenModal(ReadCookie("RootUrl") + DefaultHelpPage, vHelpPage, 740, 520,true);
}
function CommonMouseRBtnDown()
{
	return false;
}
function CommonKeyDown()
{
	//alert(event.keyCode);
	if (event.ctrlKey)
	{
		switch (event.keyCode)
		{
			case 65:		// A
			case 66:		// B
			case 68:		// D
			case 69:		// E
			case 72:		// H
			case 73:		// I
			case 74:		// J
			case 76:		// L
			case 78:		// N
			case 80:		// P
			case 82:		// R
			case 87:		// W
				event.returnValue = false;
				break;
		}
		return;
	}
	if (event.altKey)
	{
		switch (event.keyCode)
		{
			case 82:		// R
				if (Form1.btnRetrieve)
				{
					if (Form1.btnRetrieve.style.visibility == "visible") CallFunction("btnRetrieve");
				}
				break;
			case 65:		// A
				if (Form1.btnAppend)
				{
					if (Form1.btnAppend.style.visibility == "visible") CallFunction("btnAppend");
				}
				break;
			case 73:		// I
				if (Form1.btnInsert)
				{
					if (Form1.btnInsert.style.visibility == "visible") CallFunction("btnInsert");
				}
				break;
			case 68:		// D
				if (Form1.btnDelete)
				{
					if (Form1.btnDelete.style.visibility == "visible") CallFunction("btnDelete");
				}
				break;
			case 83:		// U
				if (Form1.btnUpdate)
				{
					if (Form1.btnUpdate.style.visibility == "visible") CallFunction("btnUpdate");
				}
				break;
			case 80:		// P
				if (Form1.btnPrint)
				{
					if (Form1.btnPrint.style.visibility == "visible") CallFunction("btnPrint");
				}
				break;
			case 81:		// Q
				ClosePage();
				break;
			default:
				return;
		}
		event.returnValue = false;
		return;
	}
}
function CommonKeyF1()
{
	event.returnValue = false;
}
function OnDocKeyDown()
{
	var vKey = event.keyCode;
	if (typeof DefaultHelpKey != "undefined" && vKey == DefaultHelpKey)
	{
		event.keyCode = 0;
		CallHelp();
		return false;
	}
	switch (vKey)
	{
		case 107:
			event.keyCode = 110;
			break;
		case 8:		// BS
			if (!vIgnoreKeyBS) break;
		case 112:	// F1
		case 113:	// F2
		case 114:	// F3
		case 115:	// F4
		case 116:	// F5
		case 117:	// F6
		case 118:	// F7
		case 119:	// F8
		case 120:	// F9
		case 121:	// F10
		case 122:	// F11
		case 123:	// F12
			//event.keyCode = 0; // DataWindow ·Î ÀÌº¥Æ® °è¼Ó Àü¼Û..
			CallFunctionKey(vKey);
			return false;
		default:
			CommonKeyDown();
			break;
	}
}
function OnScrollList(vKey)
{
	switch (vKey)
	{
		case 118:	// F7
		case 119:	// F8
			if (vDwAttr.Dw)
			{
				if (CanDwRetrieve()) CallScrollList(vKey-118);
			}
			break;
	}
}
function OnUnload() {}
function CallFunction(vButton)
{
	if (GetRetrieveID() == null)
	{
		switch (vButton)
		{
			case "btnRetrieve":
				if (typeof OnRetrieve == "function") OnRetrieve();
				break;
			case "btnAppend":
				if (typeof OnAppend == "function") OnAppend();
				break;
			case "btnInsert":
				if (typeof OnInsert == "function") OnInsert();
				break;
			case "btnDelete":
				if (typeof OnDelete == "function") OnDelete();
				break;
			case "btnUpdate":
				if (typeof OnUpdate == "function") OnUpdate();
				break;
			case "btnCancel":
				if (typeof OnCancel == "function") OnCancel();
				break;
			case "btnPrint":
				CallPrint();
				break;
			case "btnExcel":
				if (typeof OnExcel == "function") OnExcel();
				break;
			case "btnHelp":
				CallHelp();
				break;
		}
	}
}
function CallHelp()
{
	if (typeof OnHelp == "function")
		OnHelp();
	else
		OnHelpText();
}
function CallSqlError(vID, vErr)
{
	if (typeof SqlError == "function")
	{
		SqlError(vID, vErr);
		return true;
	}
	else
	{
		return false;
	}
}
function CallHtmlUploadEnd(vHtml)
{
	if (typeof HtmlUploadEnd == "function") HtmlUploadEnd(vHtml);
}
function CallHtmlDeleteEnd()
{
	if (typeof HtmlDeleteEnd == "function") HtmlDeleteEnd();
}
function CallDwButtonClicked(vDw, vName, vRow)
{
	if (typeof DwButtonClicked == "function") DwButtonClicked(vDw, vName, vRow);
}
function CallPrint()
{
	if (typeof OnPrint == "function")
		OnPrint();
	else if (typeof OnPrintPopup == "function")
		OnPrintPopup();
}
function CallDwRetrieveEnd(vID)
{
	switch (vID)
	{
		case "**Module-Report**":
		case "**Module-Composite**":
			if (typeof DwRetrieveReportEnd == "function") DwRetrieveReportEnd();
			break;
		default:
			if (typeof(DwRetrieveEnd) == "function") DwRetrieveEnd(vID);
			break;
	}
}
function CallDwRetrieveError(vID, vMsg)
{
	if (typeof(DwRetrieveError) == "function")
	{
		DwRetrieveError(vID, vMsg);
		return true;
	}
	else
	{
		return false;
	}
}
function CallTabPageSelecting(vOldTab, vNewTab)
{
	if (typeof(TabPageSelecting) == "function")
		return TabPageSelecting(vOldTab, vNewTab);
	else
		return true;
}
function CallScrollList(vKey)
{
	if (vKey)
	{
		if (typeof ScrollNextList == "function") ScrollNextList();
	}
	else
	{
		if (typeof ScrollPriorList == "function") ScrollPriorList();
	}
}
function CallFunctionKey(vKey)
{
	if (typeof OnPressFunctionKey == "function")
		OnPressFunctionKey(vKey);
	else
		OnScrollList(vKey);
}

//---------------------------------------------------------------------------------------------------------------------
// ±ÇÇÑ : Public
// ±â´É : MS ActiveX  º¯°æ¿¡ µû¸¥ ÇÔ¼ö º¯°æ
// ÀÛ¼º : 2006.03.01
//---------------------------------------------------------------------------------------------------------------------
function CreateObject(vObject)
{
   document.write(vObject.innerHTML);
   vObject.id = "";
}
//---------------------------------------------------------------------------------------------------------------------
// ¸ðµâ : ³»ºÎ ÇÔ¼ö (Á¾·á)
//=====================================================================================================================

