//'-------------------------------------DataTypeSettings
 var flexDTBoolean = 11;
 //'Const flexDTCurrency = 6
 //'Const flexDTDate = 7
 //'Const flexDTDecimal = 14
 //'Const flexDTDispatch = 9
var flexDTDouble = 5;
// 'Const flexDTEmpty = 0
// 'Const flexDTError = 10
var flexDTLong = 3;
// 'Const flexDTLong8 = 20 (&H14)
// 'Const flexDTNull = 1
// 'Const flexDTShort = 2
// 'Const flexDTSingle = 4
// 'Const flexDTString = 8
// 'Const flexDTStringC = 30 (&H1E)
 //'Const flexDTStringW = 31 (&H1F)
 //'Const flexDTUnknown = 13
 //'Const flexDTVariant = 12
//'------------------------------------- ColorSettings
var flexRed = 0x000000FF;
var flexGreen = 0x00008000;
var flexBlue = 0x00FF0000;
var flexBlack = 0xFF000000;
var flexRoyalBlue = 0x00E16941;
var flexWhite = 0x00FFFFFF;
var flexHongBlue =  0x00FF6633;
//'------------------------------------- CellTextStyleSettings
var flexTextFlat = 0;
var flexTextRaised = 1;
var flexTextInset = 2;
var flexTextRaisedLight = 3;
var flexTextInsetLight = 4;
//'------------------------------------- FocusRectSettings
var flexFocusNone = 0;
var flexFocusLight = 1;
var flexFocusHeavy = 2;
var flexFocusRaised = 4;
var flexFocusInset = 5;

//'------------------------------------- AutoSearchSettings
var flexSearchFromCursor = 2;
var flexSearchFromTop = 1;
var flexSearchNone = 0        ;
//'------------------------------------- AllowUserResizeSettings
var flexResizeBoth = 3;
var flexResizeBothUniform = 4;
var flexResizeColumns = 1;
var flexResizeNone = 0;
var flexResizeRows = 2    ;

//'------------------------------------- SelModeSettings
var flexSelectionByColumn = 2;
var flexSelectionByRow = 1;
var flexSelectionFree = 0;
var flexSelectionListBox = 3;

//'------------------------------------- OutlineBarSettings
var flexOutlineBarComplete = 1     ;
var flexOutlineBarCompleteLeaf = 4;
var flexOutlineBarNone = 0;
var flexOutlineBarSimple = 2;
var flexOutlineBarSimpleLeaf = 5;
var flexOutlineBarSymbols = 3;
var flexOutlineBarSymbolsLeaf = 6;

//'------------------------------------- CellPropertySettings ±¸¼º¿ø
var flexcpBackColor = 6;
var flexcpForeColor = 7;
var flexcpAlignment = 2;
	//'var flexcpChecked = 5
var flexcpFont = 10
var flexcpFontBold = 13;
var flexcpFontUnderline = 15

var flexcpFontName = 11
	//'var flexcpFontSize = 12
	//var flexcpHeight = 25;// (&H19)
	//'var flexcpPicture = 3
	//'var flexcpPictureAlignment = 4
	//'var flexcpRefresh = 27 (&H1B)
	//'var flexcpSort = 28 (&H1C)
var flexcpText = 0;
var flexcpTextDisplay = 19 ;//'(&H13)
var flexcpTextStyle = 1
	//'var flexcpTop = 23 (&H17)
	//'var flexcpValue = 18 (&H12)
	//'var flexcpVariantValue = 26 (&H1A)
var flexcpWidth = 24;// '(&H18)

//'------------------------------------- ExplorerBarSettings	turns or sets whether column headers are used to sort and/or move columns.
 	//'Const flexExMove = 2
 	//'Const flexExMoveRows = 8
 var flexExNone = 0;
 var flexExSort = 1
 var flexExSortAndMove = 3;
	 //'Const flexExSortShow = 5
	 //'Const flexExSortShowAndMove = 7

//'------------------------------------- AlignmentSettings
 	//'Const flexAlignLeftTop = 0
 var flexAlignLeftCenter = 1;
 	//'Const flexAlignLeftBottom = 2
 	//'Const flexAlignCenterTop = 3
 var flexAlignCenterCenter = 4;
 	//'Const flexAlignCenterBottom = 5
 	//'Const flexAlignRightTop = 6
 var flexAlignRightCenter = 7;
 	//'Const flexAlignRightBottom = 8
 	//'Const flexAlignGeneral = 9

//'-------------------------------------

// ------------------------------------- Editable property
var flexEDNone = 0;
var flexEDKbd = 1;
var flexEDKbdMouse = 2;
// --------------------------------------

var cntFONT_SIZE = 9;
var cntFONT_NAME = "áä?";
var cntCOLOR_NORMAL = 0x00000000;
var cntCOLOR_INSERT = 0x00FF80FF; //0x0000008B;	
var cntCOLOR_EDIT =   0x00FF6633;	//0x00C0C000;

var cntCOLOR_TOTAL1 =  0x00CC00;
var cntCOLOR_TOTAL2 =  0x000099;
var cntCOLOR_GRANDTOTAL = 0x009900;

// CellChanged event
//	cell data¸¦ Á÷Á¢ ÀÔ·ÂÇÏ°Å³ª script»ó¿¡¼­ °ªÀ» setÇÑ °æ¿ìµµ CellChanged event°¡ ¹ß»ýÇÑ´Ù
//	CellChanged event ¾È¿¡¼­ ¶Ç cell °ªÀ» ¹Ù²Ù¸é ¹«ÇÑ loop°¡ ¹ß»ýÇÒ¼ö ÀÖ´Ù
//	==> ±×·¡¼­ gblnCellChanging º¯¼ö·Î check
var gblnCellChanging = false;


function GridSetDefaults(fg)
{
	    fg.ScrollTrack = false;
        fg.ExplorerBar = flexExNone	;
        fg.AutoSearch = flexSearchNone;
        fg.AllowUserResizing = flexResizeNone;
        fg.SelectionMode = flexSelectionFree ;
        fg.OutlineBar = flexOutlineBarNone;
        //fg.OLEDragMode = flexOLEDragManual;
        //fg.OLEDropMode = flexOLEDropNone;
        fg.ScrollTips = false;
        fg.ToolTipText = "";
}

// »ç¿ë¿¹ : GridSetColor(fg, flexcpForeColor, cntCOLOR_EDIT, row, 1, row, fg.Cols-1);	

function GridSetColor(fg, acntForeBack, alngClr, alngRow1, alngCol1, alngRow2, alngCol2)
{
	fg.Cell(acntForeBack, alngRow1, alngCol1, alngRow2, alngCol2) = alngClr;
}

function GridCHKColIndex(fg)
{
	if( fg.ColIndex("EChkBox") < 0) alert("CheckBox not found");

	return fg.ColIndex("EChkBox");
}


function blnGridInsertedRow(fg, alngRow)
{
	if (fg.Cell(flexcpForeColor, alngRow, 1, alngRow, 1) == cntCOLOR_INSERT )
		return true;
    else
    	return false;
}

function blnGridEditableRow(fg, alngRow)
{
	if ( fg.IsSubtotal(alngRow) ) return false;
	if (	fg.Cell(flexcpForeColor, alngRow, 1, alngRow, 1) == cntCOLOR_NORMAL ||
		fg.Cell(flexcpForeColor, alngRow, 1, alngRow, 1) == cntCOLOR_INSERT ||
		fg.Cell(flexcpForeColor, alngRow, 1, alngRow, 1) == cntCOLOR_EDIT	 )
		return true;
        else
        	return false;
}

function GridChanged(fg, alngRow1, alngCol1)
{
	if (alngRow1< 1) return;
	if (fg.SelectionMode == flexSelectionByRow) return;	// Á¶È¸¿ë

	var lngCHKCol = GridCHKColIndex(fg);
	if ( !blnGridEditableRow(fg,alngRow1) )
	{
		fg.TextMatrix(alngRow1, lngCHKCol) = "0";
		return;
	}
	if (alngCol1 != lngCHKCol && fg.ColDataType(lngCHKCol) == flexDTBoolean) fg.TextMatrix(alngRow1, lngCHKCol) = "-1";

	if ( blnGridInsertedRow(fg,alngRow1) ) return;

        GridSetColor(fg, flexcpForeColor, cntCOLOR_EDIT, alngRow1, 1, alngRow1, fg.Cols - 1);
}

function GridAddRow(fg, astrInit)
{
	if (fg.Rows < 1) return;

	var lngRow1 = fg.Row;
	var lngRow2 = fg.RowSel;
	var lngRow = 0;

	if (lngRow1 < 1) lngRow1 = fg.Rows;
	if (lngRow2 < 1) lngRow2 = lngRow1;
	if (lngRow2 < lngRow1)
	{
		lngRow  = lngRow1;
		lngRow1 = lngRow2;
		lngRow2 = lngRow;
	}

	// Grid¿¡ »õ·Î¿î Row¸¦ Ãß°¡ÇÑ´Ù
	//lngRow = lngRow1;
	fg.AddItem(astrInit);
	/*
	//±×¸®µå¿¡ ·Î¿ì Ãß°¡ÀÎµ¥ È«ÁÖ°¡ ¸·¾Æ ³õ¾ÒÀ½
	//do
	//{
		//fg.AddItem(astrInit, lngRow);
	//	lngRow++;
	//}while(lngRow <= lngRow2);
    */

	fg.Row = lngRow1;
	//fg.Col = 1;
    //fg.SetFocus(); ¾ø´Â ¸Þ¼ÒµåÀÓ.

	// gridÀÇ hidden columnÀ» "I(Inserted)"·Î ¼¼ÆÃ
	//fg.ColHidden(1) = false;  // Hidden column¿¡´Â °ªÀÌ ¼¼ÆÃµÇÁö ¾Ê´Â´Ù
	fg.TextMatrix(fg.Row, 1) = "I";
	//fg.ColHidden(1) = true;  // ¿ø·¡´ë·Î

	// GridÀÇ Row Color¸¦ INSERT COLOR·Î ¹Ù²Û´Ù.
	GridSetColor(fg, flexcpForeColor, cntCOLOR_INSERT, fg.Rows-1, 1, fg.Rows-1, fg.Cols - 1);
	//Ãß°¡µÈ Çà¿¡ Ã¹¹øÀç ÄÃ·³¿¡ ¸¶¿ì½º Ä¿¼­ ¿À°ÔÇÔ.
	fg.Select(fg.Rows-1,1,fg.Rows-1,1);
	GridEnterCell(fg);
}

function GridDeleteRow(fg, alngRow1, alngRow2)
{	
	var lngRow1 = alngRow1;
	var lngRow2 = alngRow2;

	if (alngRow2 < alngRow1)
	{
		lngRow1 = alngRow2;
		lngRow2 = alngRow1;
	}
	do
	{
		fg.RemoveItem(lngRow2);
		lngRow2--;
	}while(lngRow1 <= lngRow2);
}

//
// Transaction FrameÀ¸·Î Àü´ÞµÇ¾î¾ßÇÏ´Â Grid Column°ªµéÀ» setÇÑ´Ù
// astrTran: SAVE, DELETE
function GridToInput(fg, frmBuild, astrTran)
{
	// º¯¼ö
	var strColIdx = "";	    //-- GridÀÇ Column Index
	var strInputIdx = "";	//-- Build FormÀÇ INPUT TAG Index
	var intColCount = 0;	//-- Build FormÀÇ INPUT TAG°ú Grid Column°ú MathµÇ´Â °¹¼ö


	//-- Build FormÀÇ INPUT TAGÁß GridÀÇ Column¿¡¼­ data¸¦ selectÇØ¾ß ÇÏ´Â INPUT TAG index¸¦ ±¸ÇÑ´Ù
	//-- ¶ÇÇÑ ÀÌ¿¡ ÇØ´çÇÏ´Â gridÀÇ Column Index ¸¦ ±¸ÇÑ´Ù
	var i = 0;
	var strColKeyNm = "";
	var lngColIdx = 0;
	while (i < frmBuild.elements.length)
	{
		strColKeyNm = frmBuild.elements[i].name;
		if (strColKeyNm.substring(0,2) == "GR")
		{
			lngColIdx = fg.ColIndex(strColKeyNm);
			if (lngColIdx == -1)
			{
				// column  index not found error!!
				alert(strColKeyNm + " is not found!!!");
				return false;
			}else{
				intColCount ++;
				strInputIdx = strInputIdx + "," + i ;
				strColIdx = strColIdx + "," + lngColIdx ;
			}

			frmBuild.elements[i].value = "";
		}
		i++;
	}

	if (intColCount > 0)
	{
		strInputIdx = strInputIdx.substring(1).split(",");
		strColIdx = strColIdx.substring(1).split(",");
	}

	// -- gridÀÇ column data¸¦ build formÀÇ ÇØ´ç input tag¿¡ set
	var lngRow = 0;
	var lngRow2 = fg.Rows;
	var lngCol = 0;
	var lngTotal = 0;
	var lngCHKCol = GridCHKColIndex(fg);

	var strCM_IDX ="";	// ´ë»ó row
	var strCM_OP_FLAG ="";	// op_flag
	//for(lngRow=1; lngRow < lngRow2; lngRow++)
	for(lngRow=lngRow2-1 ; lngRow > 0; lngRow--) // »èÁ¦¸¦ À§ÇØ¼­ ¸¶Áö¸· row ºÎÅÍ Ã³¸®
	{
		if ( fg.TextMatrix(lngRow, lngCHKCol) == "-1")
		{
            //alert ("row=" + lngRow +" checked");
			var strInitMsg = "..";	//

			// Operation flag (I,D,U)
			if (astrTran == "DELETE")
			{
				if ( blnGridInsertedRow(fg,lngRow) )
				{
					//GridDeleteRow(fg,lngRow,lngRow);
					continue;
				}
				strCM_OP_FLAG += "D" + '\t';
			}else{
				if ( blnGridInsertedRow(fg,lngRow) )
					strCM_OP_FLAG += "I" + '\t';
				else
					strCM_OP_FLAG += "U" + '\t';

				// ÇÊ¼öÀÔ·Â check 01.02.06
				for(lngCol=0; lngCol < intColCount; lngCol++)
				{
					if ( fg.Cell(flexcpFontBold, 0, strColIdx[lngCol], 0, strColIdx[lngCol]) )
					{
						var strColValue = fg.TextMatrix(lngRow, strColIdx[lngCol]);
						if ( strRtrim1(strColValue)=="" )
						{
							strInitMsg = "Input Data is not Valid.";
							break;
						}
					}
				}
			}

			// message cell clear
			fg.TextMatrix(lngRow,fg.ColIndex("CM_S_RESULT")) = strInitMsg;

			if ( strInitMsg != ".." )  continue;

			// ----------------------------------------------
			// T1 from¿¡ Àü¼ÛÇÒ data¸¦ ¸¸µç´Ù

			// ´ë»ó count Áõ°¡
			lngTotal ++;

			// ¼öÁ¤µÈ row°ª
			strCM_IDX += lngRow + '\t';

			//fg.Row = lngRow;
			// column °ª
			for(lngCol=0; lngCol < intColCount; lngCol++)
			{
				var strColValue = fg.TextMatrix(lngRow, strColIdx[lngCol]);

				var strComboList = fg.ColComboList(strColIdx[lngCol]);

				if (strComboList >' ' && strComboList.indexOf("#")== 0)
				{
					strColValue = GetComboCode(strColValue);

				}
				// rtrimÇÏ´Â°Å 01.02.06
				strColValue = strRtrim1(strColValue);
				frmBuild.elements[strInputIdx[lngCol]].value += strColValue + '\t';
			}
			// ----------------------------------------------
		}
	}

	//-- idx¿Í op_flag¸¦ setÇÑ´Ù
	frmBuild.CM_TOTAL.value = lngTotal;
	frmBuild.CM_TRAN.value = astrTran;
	frmBuild.CM_IDX.value = strCM_IDX;
	frmBuild.CM_OP_FLAG.value = strCM_OP_FLAG;
	return true;
}


//Transaction ¿Ï·á ÈÄ grid¿¡ °á°ú display
function GridSetResult(fg, alngRow, astrLog, astrResultChk, astrTran)
{
	var lngCHKCol = GridCHKColIndex(fg);
	fg.TextMatrix(alngRow,fg.ColIndex("CM_S_RESULT")) = astrLog;
	fg.TextMatrix(alngRow,lngCHKCol) = astrResultChk;
	if (fg.TextMatrix(alngRow,lngCHKCol) == "0")
	{
		if (astrTran == "DELETE")
			GridDeleteRow(fg,alngRow,alngRow);
		else if (astrTran == "INSERT")
			GridSetColor(fg, flexcpForeColor, cntCOLOR_INSERT, alngRow, 1, alngRow, fg.Cols - 1);
		else
			GridSetColor(fg, flexcpForeColor, cntCOLOR_NORMAL, alngRow, 1, alngRow, fg.Cols - 1);
	}
}

// InsertµÈ row»èÁ¦
function GridRemoveInserted(fg)
{
	var lngCHKCol = GridCHKColIndex(fg);
	var lngRow = 0;
	var lngRow2 = fg.Rows;
	for(lngRow=lngRow2-1 ; lngRow > 0; lngRow--) // »èÁ¦¸¦ À§ÇØ¼­ ¸¶Áö¸· row ºÎÅÍ Ã³¸®
	{
		if ( fg.TextMatrix(lngRow, lngCHKCol) == "-1")
		{
			if ( blnGridInsertedRow(fg,lngRow) ) GridDeleteRow(fg,lngRow,lngRow);
		}
	}
}

// Á¶È¸°ÇÀÌ insert´ë»óÀÏ¶§ color¸¦ insert color·Î ¹Ù²ãÁØ´Ù
function GridSetSatus(fg, alngRow, strOP_FLAG)
{
	if (strOP_FLAG == 'I')
	{
		GridSetColor(fg, flexcpForeColor, cntCOLOR_INSERT, alngRow, 1, alngRow, fg.Cols - 1);
	}
}

var gintPrevEditable = 0;//¼±ÅÃ checkbox click½Ã¿¡ Ã³¸®µÇ°Ô ÇÏ±âÀ§ÇØ¼­ 2001.05.16

function GridEnterCell(fg)
{
	var intEditable = 0;
	var strColKey = fg.ColKey(fg.Col);
	if ( blnGridEditableRow(fg,fg.Row) )
	{
		if ( 	(strColKey.substring(0,1) == 'A') || 	(strColKey.substring(0,1) == 'E' && blnGridInsertedRow(fg,fg.Row))	) {
			intEditable = 2;
		}
	}

	//-- code help 01.02.06
	//if(fg.ColComboList(fg.Col) == "...") fg.ColComboList(fg.Col) = "";
	//if (intEditable != 0 )
	//{
	//	var strTag = fg.Tag;
	//	if ( typeof strTag != "undefined")
	//		if ( strTag.indexOf(strColKey) >- 1 ) fg.ColComboList(fg.Col) = "...";
	//}

	//--
	//gintPrevEditable = fg.Editable;		//¼±ÅÃ checkbox click½Ã¿¡ Ã³¸®µÇ°Ô ÇÏ±âÀ§ÇØ¼­	2001.05.16
	//--
	fg.Editable = intEditable;
}

// ¼±ÅÃ checkbox click½Ã callµÈ´Ù (FG1_EnterCellÀÌ ¸ÕÀú ¹ß»ýµÇ°í click ÀÌº¥Æ®´Â ³ªÁß¿¡ ¹ß»ýµÈ´Ù)	2001.05.16
function GridCHKClick(fg)
{
	if (fg.Row < 1) return;
	if (fg.SelectionMode == flexSelectionByRow) return;	// Á¶È¸¿ë

	var lngCHKCol = GridCHKColIndex(fg);
	if ( !(fg.Col == lngCHKCol && fg.ColDataType(lngCHKCol) == flexDTBoolean) ) return;

	if (fg.Editable == 2 && gintPrevEditable == 0 )
	{
		if (fg.TextMatrix(fg.Row,lngCHKCol) == "0" || fg.TextMatrix(fg.Row,lngCHKCol) == "" )
			fg.TextMatrix(fg.Row,lngCHKCol) = "-1";
		else
			fg.TextMatrix(fg.Row,lngCHKCol) = "0";
		gintPrevEditable = fg.Editable ;
	}
}

//astrChk: ¸ðµÎ¼±ÅÃ½Ã "-1", ÇØÁ¦½Ã "0"
function GridAllSelect(fg, astrChk, alngRow1,alngRow2 )
{
	if ( !(astrChk=="-1" || astrChk=="0") )
	{
		alert("astrChk´Â -1 È¤Àº 0 ÀÌ¾î¾ß ÇÕ´Ï´Ù");
		return ;
	}
	var lngCHKCol = GridCHKColIndex(fg);
	if (lngCHKCol<0 || fg.Rows < 2) return;

	var lngRow1 = alngRow1;
	if (alngRow1 < 1) lngRow1 = 1;
	var lngRow2 = alngRow2;
	if (alngRow2 < 1) lngRow2 = fg.Rows - 1;

	for(var lngRow=lngRow1 ; lngRow <= lngRow2; lngRow++)
	{
		if ( blnGridEditableRow(fg,lngRow) )
		{
			fg.TextMatrix(lngRow,lngCHKCol) = astrChk;
//			if (astrChk == "0" && !blnGridInsertedRow(fg,lngRow) // »ö±ò ¹Ù²î´Â°Å ¸·±â. vanzitu 2001.10.31
//				GridSetColor(fg, flexcpForeColor, cntCOLOR_NORMAL, lngRow, 1, lngRow, fg.Cols - 1);
		}

	}
}



//astrChk: ¸ðµÎ¼±ÅÃ½Ã "-1", ÇØÁ¦½Ã "0"
function GridAllSelectNotHidden(fg, astrChk, alngRow1,alngRow2 )
{
	if ( !(astrChk=="-1" || astrChk=="0") )
	{
		alert("astrChk´Â -1 È¤Àº 0 ÀÌ¾î¾ß ÇÕ´Ï´Ù");
		return ;
	}
	var lngCHKCol = GridCHKColIndex(fg);
	if (lngCHKCol<0 || fg.Rows < 2) return;

	var lngRow1 = alngRow1;
	if (alngRow1 < 1) lngRow1 = 1;
	var lngRow2 = alngRow2;
	if (alngRow2 < 1) lngRow2 = fg.Rows - 1;

	for(var lngRow=lngRow1 ; lngRow <= lngRow2; lngRow++)
	{
		if ((blnGridEditableRow(fg,lngRow))  && (fg.RowHidden(lngRow)== false)  )
		{
			fg.TextMatrix(lngRow,lngCHKCol) = astrChk;
//			if (astrChk == "0" && !blnGridInsertedRow(fg,lngRow) // »ö±ò ¹Ù²î´Â°Å ¸·±â. vanzitu 2001.10.31
//				GridSetColor(fg, flexcpForeColor, cntCOLOR_NORMAL, lngRow, 1, lngRow, fg.Cols - 1);
		}

	}
}

function GridAggregate(fg,alngRow, alngCol, alngRow1, alngCol1, alngRow2, alngCol2)
{
	var lngRow = alngRow;
	if (alngRow < 1)
	{
		fg.Rows = fg.Rows + 1;
		lngRow = fg.Rows - 1;
	}
	GridSetColor(fg, flexcpForeColor, cntCOLOR_GRANDTOTAL, lngRow, 1, lngRow, fg.Cols - 1);
	fg.TextMatrix(lngRow, alngCol) = fg.Aggregate(2, alngRow1, alngCol1, alngRow2,alngCol2);
}

//** ÇÁ·Î±×·¥ ¼³¸í : ¿À¸¥ÂÊ °ø¹é »èÁ¦
function strRtrim1(strSrc)
{
	var i = 0;
	var limit = strSrc.length;

	for (i=0; i<limit; i++)
	{
		var index = limit-i-1;
		var data = strSrc.charAt(index);

		if (data == " ")
		{
			strSrc = strSrc.substring(0, index);
		} else
		{
			return strSrc;
		}
	}
	return strSrc;
}
//astrGubun: load½Ã¿¡´Â "" , ¼öÁ¤½Ã¿¡´Â "edit"
function GridSubtoal(fg, astrCols, astrGubun)
{
	//alert(astrCols.length);
	if (astrCols.length < 1) return;

	fg.Redraw = 0;

	if (astrGubun == "" ) fg.SubtotalPosition  = 0; //0: ÇÏ´Ü¿¡ Ç¥Çö, 1: »ó´Ü¿¡ Ç¥Çö


	//fg.Subtotal(1);		//'flexSTClear

	var blnMove = true;
	for (var i=0; i < astrCols.length; i++)
	{
		var intFidx = astrCols[i].indexOf("=");
		var lngCalcCol = astrCols[i].substring(0,intFidx);
		var lngBaseCol = astrCols[i].substring(intFidx+1);
		if (lngBaseCol != -1) blnMove = false;
		fg.Subtotal (2, lngBaseCol, lngCalcCol, null, null, cntCOLOR_GRANDTOTAL, 0);
	}

    	fg.Redraw = -1;

    	if ( !blnMove )fg.ExplorerBar = 1;	//sort¸¸°¡´É ÀÌµ¿ºÒ°¡ (±×·ìº° ÇÕ°èÃ³¸®±â ¶§¹®¿¡)

    	// fg.IsSubtotal(row)
	//' remove old totals, calculate new totals
	  //fg1.Subtotal ( 2, -1, 8, null,     null,  null ,         null,"ÃÑ°è");
     	//fg1.Subtotal 2, -1, 8, "#,###.00", null, RGB(255, 0, 0), True
     	//             |  |  |   ---------   ----  --------------  ----
	//             |  |  |       |         |                    |---  Font Bold
	//             |  |  |       |         |           |------------  ForGround Color
	//             |  |  |       |         |------------------------  BackGround Color
	//             |  |  |       |----------------------------------  Formate String
	//             |  |  |------------------------------------------  ±¸ÇÏ°íÀÚ ÇÏ´Â Colum °ª
	//             |  |---------------------------------------------  ±âÁØ Colum °ª. -1 ÀÌ¸é ÃÑ°è
	//             |------------------------------------------------  ±â´É 2 = ÇÕ°è

}

/*=========================================
strGridObj 	: Grid Obect Name
		"" = ¸ðµç frame¿¡ ÀÖ´Â grid ¸ðµÎ ´ë»óÀ¸·Î ÇÒ¶§
		"parent.frames('D1').FG1" => D1 fram¿¡ ÀÖ´Â Æ¯Á¤ FG1 grid ¸¸ ´ë»óÀ¸·Î ÇÒ¶§
strFileName	: File Name (ÀúÀåµÇ´Â file name)
		"" =>  µðÆúÆ®·Î c:\temp\¸Þ´º¸í+ÇÁ·¹ÀÓ¸í.txtÃ³¸®

GridDown( "", "");						// ¸ðµç frame¿¡ ÀÖ´Â grid ¸ðµÎ ´ë»óÀ¸·Î ÇÒ¶§
GridDown( "parent.frames('D1').document.FG1", "filename");	// D1 fram¿¡ ÀÖ´Â Æ¯Á¤ FG1 grid ¸¸ ´ë»óÀ¸·Î ÇÒ¶§
GridDown( "", "file name");
===========================================*/
function GridDown(strGridObj, strFileName)
{
	GridSavePrintPopUp(strGridObj, "", strFileName, null, null, "F");
}

/*===========================================
strGridObj 	: Grid Obect Name
		"" = ¸ðµç frame¿¡ ÀÖ´Â grid ¸ðµÎ ´ë»óÀ¸·Î ÇÒ¶§
		"parent.frames('D1').FG1" => D1 fram¿¡ ÀÖ´Â Æ¯Á¤ FG1 grid ¸¸ ´ë»óÀ¸·Î ÇÒ¶§
strGridName	: Grid Name (ÀÎ¼â½Ã¿¡ Ãâ·ÂµÇ´Â document name)
		"" =>  µðÆúÆ®·Î ¸Þ´º¸íÃ³¸®
		"doc name" => ÀÎ¼â½Ã Ãâ·ÂµÉdoc name
intShowDialog 	: ÀÎ¼â½Ã ÀÎ¼â dialog Ãâ·Â flag
		1 = Show Dialog, 0= invisible dialog
intOrientation	: ÀÎ¼â½Ã ¿ëÁö ¹æÇâ flag
		1 = Portrait mode, 2 = Landscape mode.

GridPrint( "", "", -1, 1);					// ¸ðµç frame¿¡ ÀÖ´Â grid ¸ðµÎ ´ë»óÀ¸·Î ÇÒ¶§
GridPrint( "parent.frames('D1').document.FG1", "docname",-1, 1);// D1 fram¿¡ ÀÖ´Â Æ¯Á¤ FG1 grid ¸¸ ´ë»óÀ¸·Î ÇÒ¶§
GridPrint( "", "doc name", -1, 1);
===========================================*/
function GridPrint(strGridObj, strDocName, intShowDialog, intOrientation)
{
	GridSavePrintPopUp(strGridObj, strDocName, "", intShowDialog, intOrientation, "P");
}

/*=========================================
Grid Save Pirnt popup call
=========================================*/
function GridSavePrintPopUp(strGridObj, strDocName, strFileName, intShowDialog, intOrientation, strGubun)
{
	if ( ( !(strGridObj==null || strGridObj == '') ) && typeof eval(strGridObj) == "undefined" )
	{
		alert(strGridObj + "= undefined");
		return;
	}

	if (strDocName== null || strDocName=='') strDocName = top.frames("topframe").MENU_NAME.value;

	var strUrl="../../Cm/Cm_GridSP_Popup.jsp"+
			"?GUBUN="+strGubun+
			"&GRID_OBJ=" + strGridObj +
			"&DocName=" + strDocName +
			"&FileName=" + strFileName +
			"&ShowDialog=" + intShowDialog +
			"&Orientation=" + intOrientation
			;

	var strParam = 'top=100,left=364,width=650,height=590,titlebar=no,scrollbars=auto,resizable=yes';
	var win = window.open(strUrl, "Save_Print", strParam);
	win.focus();
}

//¼±ÅÃ ¼öÁ¤(U) ÀÔ·Â(I) »èÁ¦(D)
/*
function GridSelectToHidden(fg, rcCount, astrTran)
{
	var strName = "";
	var chkRec = 0;
	var selRec = 0;
	for (var i=0; i < fg.Rows - 1;i++)
	{
	    if (fg.TextMatrix(i+1, 0) == -1 | fg.TextMatrix(i+1, 0) == 1)
	    {
            chkRec = chkRec + 1;

            //»èÁ¦ ¶§¹®¿¡ ¾ïÁö·Î ¶È°°Àº ·ÎÁ÷À» µÎ¹ø Àû¾úÀ½.
	        if (astrTran == "DELETE" && fg.TextMatrix(i+1, fg.Cols-1) == "R")
    	    {
    	        selRec = selRec + 1;

	            for (var j=0; j < fg.Cols - 2;j++)
    	        {
                    if (j == 0)
    	            {
    	               strName = strName + "D^" + fg.TextMatrix(i+1, j+1) + "^";
        	        } else if( j == fg.Cols - 3)
		            {
		                strName = strName + fg.TextMatrix(i+1, j+1);

		            } else
		            {
		                strName = strName + fg.TextMatrix(i+1, j+1) + "^";
    	            }
    	            strName = strName.replace(/,/ , "");// ¼ýÀÚÀÇ ÀÚ¸®¼ö¸¦ ³ªÅ¸³»´Â ,¸¦ Á¦°Å ÇÏ´Â ¸Þ¼ÒµåÀÓ.
	            }
	        } else if (astrTran == "SAVE") //InsertÀÎÁö UpdateÀÎÁö¸¦ ±¸ºÐÇÔ
    	    {
	            selRec = selRec + 1;

	            for (var j=0; j < fg.Cols - 2;j++)
	            {
                    if (j == 0)
	                {
    	                if (i+1 > rcCount)
        	            {
        	                strName = strName + "I^" + fg.TextMatrix(i+1, j+1) + "^";
        		        } else
        		        {
        		            strName = strName + "U^" + fg.TextMatrix(i+1, j+1) + "^";
        		        }
        		    } else if( j == fg.Cols - 3)
		            {
		                strName = strName + fg.TextMatrix(i+1, j+1);

		            } else
		            {
		                strName = strName + fg.TextMatrix(i+1, j+1) + "^";
    	            }
    	            strName = strName.replace(/,/ , "");// ¼ýÀÚÀÇ ÀÚ¸®¼ö¸¦ ³ªÅ¸³»´Â ,¸¦ Á¦°Å ÇÏ´Â ¸Þ¼ÒµåÀÓ.
    	        }
    	    }
    	    strName = strName + "\t"; //·Î¿ì ´ÜÀ§ ±¸ºÐ
        }
	}

	if (chkRec == 0 && selRec == 0)
	{
	    alert("ÇØ´ç µÇ´Â RowÀÇ Ã¼Å©¸¦ ¼±ÅÃ ÇÏ¼¼¿ä.");
	    return false;
	}else if (chkRec != 0 && selRec == 0)
	{
	    return false;
	}

	document.frmBuild.RC_TOTAL.value = selRec;
	document.frmBuild.CL_TOTAL.value = fg.COLS-1;
	document.frmBuild.RC_PARA.value = strName;

	//alert("·Î¿ìÀÇ ¼ö:" + document.frmBuild.RC_TOTAL.value);
	//alert("ÄÃ·³ÀÇ ¼ö(Insert or Update ±¸ºÐ ÄÃ·³ Æ÷ÇÔ):" + document.frmBuild.CL_TOTAL.value);
	//alert("ÆÄ¸®¹ÌÅÍÀÇ °ª:" + document.frmBuild.RC_PARA.value);
    return true;
}
*/

//¼±ÅÃ ¼öÁ¤(U) ÀÔ·Â(I) »èÁ¦(D)
function SettingToHidden(fg, rcCount, astrTran, refreshYN)
{
	var chkRec = 0;
	var selRec = 0;
	var strHTML = "";
	//var strName = "";
	//var strOrigin = "";

	for (var i=0; i < fg.Rows - 1;i++)
	{

	    if (fg.TextMatrix(i+1, 0) == -1 | fg.TextMatrix(i+1, 0) == 1)
	    {
            chkRec = chkRec + 1;

            //»èÁ¦ ¶§¹®¿¡ ¾ïÁö·Î ¶È°°Àº ·ÎÁ÷À» µÎ¹ø Àû¾úÀ½.
	        if (astrTran == "DELETE" && fg.TextMatrix(i+1, 1) == "R")
    	    {
    	        selRec = selRec + 1;

	            strHTML = strHTML + "<INPUT TYPE=hidden NAME=strKey VALUE=TRX></INPUT> " +
		                            "<INPUT TYPE=hidden NAME=strValue VALUE=D></INPUT> ";

                for (var j=1; j < fg.Cols - 1;j++)
    	        {
    	            strHTML = strHTML + "<INPUT TYPE=hidden NAME=strKey VALUE="+fg.TextMatrix(0,j+1)+"></INPUT> " +
    	                                "<INPUT TYPE=hidden NAME=strValue VALUE="+fg.TextMatrix(i+1,j+1)+"></INPUT></P> ";
                }
            }
			else if (astrTran == "SAVE") //InsertÀÎÁö UpdateÀÎÁö¸¦ ±¸ºÐÇÔ
    	    {
	            selRec = selRec + 1;

                if (i+1 > rcCount)
        	    {
                    strHTML = strHTML + "<INPUT TYPE=hidden NAME=strKey VALUE=TRX></INPUT> " +
		                                "<INPUT TYPE=hidden NAME=strValue VALUE=I></INPUT> ";
                } else
    	        {
    	            strHTML = strHTML + "<INPUT TYPE=hidden NAME=strKey VALUE=TRX></INPUT> " +
		                                "<INPUT TYPE=hidden NAME=strValue VALUE=U></INPUT> ";
                }

                for (var j=1; j < fg.Cols - 1;j++)
    	        {
    	            strHTML = strHTML + "<INPUT TYPE=hidden NAME=strKey VALUE="+fg.TextMatrix(0,j+1)+"></INPUT> " +
    	                                "<INPUT TYPE=hidden NAME=strValue VALUE="+fg.TextMatrix(i+1,j+1)+"></INPUT></P> ";
                }
            }
	    }
	}

	strHTML += "<input type=hidden  id=RC_TOTAL name=RC_TOTAL value='" + selRec + "'><input type=hidden  id=CL_TOTAL name=CL_TOTAL value='" + fg.COLS-1 + "'>";
	ScriptDiv.innerHTML = strHTML;

	if (chkRec == 0 && selRec == 0)
	{
	    alert("ÇØ´ç µÇ´Â RowÀÇ Ã¼Å©¸¦ ¼±ÅÃ ÇÏ¼¼¿ä.");
	    return false;
	}else if (chkRec != 0 && selRec == 0)
	{

	    //alert("ÇØ´ç µÇ´Â RowÀÇ Ã¼Å©¸¦ ¼±ÅÃ ÇÏ¼¼¿ä.");
	    return false;
	}

	//document.frmBuild.RC_TOTAL.value = selRec;
	//document.frmBuild.CL_TOTAL.value = fg.COLS-1;

  return true;
}


//ÀüÃ¼ ¼öÁ¤(U) ¹× ÀÔ·Â(I) ÇÔ¼öÀÎµ¥ ¾²Áö ¾ÊÀ½. ¹«Á¶°Ç ¼±ÅÃÇØ¼­ Ã³¸® ÇÏ±â·Î ÇßÀ½
function GridToHidden(fg, rcCount, astrTran)
{
	var strName = "";

	for (var i=0; i < fg.Rows - 1;i++)
	{
	    for (var j=0; j < fg.Cols - 1;j++)
	    {
	        if (j == 0)
	        {
	            if (i+1 > rcCount)
    	        {
    	            strName = strName + "I^" + fg.TextMatrix(i+1, j+1) + "^";

    		    } else
    		    {
    		        strName = strName + "U^" + fg.TextMatrix(i+1, j+1) + "^";
    		    }

    		} else if( j == fg.Cols - 2)
		    {
		        strName = strName + fg.TextMatrix(i+1, j+1);
		    } else
		    {
		        strName = strName + fg.TextMatrix(i+1, j+1) + "^";
            }

            strName = strName.replace(/,/ , "");
    	}

		strName = strName + "\t";
	}

	document.frmBuild.RC_TOTAL.value = fg.Rows - 1;
	document.frmBuild.CL_TOTAL.value = fg.COLS;
	document.frmBuild.RC_PARA.value = strName;

	return true;
}

/* ======================================================================== denial */

var vsSelectColOffset = 1; // Á¶È¸¿ë ±×¸®µå¿¡¼­ÀÇ ½ÇÁ¦ Ãâ·ÂµÇ´Â µ¥ÀÌÅÍ ½ÃÀÛÀ§Ä¡
var vsEditColOffset = 2; // ¼öÁ¤¿ë ±×¸®µå¿¡¼­ÀÇ ½ÇÁ¦ Ãâ·ÂµÇ´Â µ¥ÀÌÅÍ ½ÃÀÛÀ§Ä¡
var vsTempCheckedIndex; // doSuccess()¸¦ ¼öÇàÇÏ±â À§ÇØ ÀÓ½Ã·Î º¸°üÇÏ´Â CheckboxÀÇ checkµÈ ÇàÀÇ index
//var vsChekboxAlertOnce = false;  // Checkbox deselect½Ã °æ°íÃ¢À» ÇÑÆäÀÌÁö¿¡¼­ 1¹ø¸¸ º¸¿©ÁÖ±â À§ÇÑ flag

/* =================================denial
±×¸®µå¿¡¼­ ÇöÀç ¸¶¿ì½º°¡ ÀÖ´Â °÷ÀÇ °ªÀ» µ¹·ÁÁØ´Ù
===================================== */
function GridGetValue( fg )
{
	return fg.TextMatrix( fg.MouseRow, fg.MouseCol );
}

/* =================================denial
±×¸®µå¿¡¼­ ÇöÀç ¸¶¿ì½º°¡ ÀÖ´Â ÇàÀÇ Æ¯Á¤ ¿­ÀÇ °ªÀ» µ¹·ÁÁØ´Ù
===================================== */
function GridGetValue( fg, col )
{
	return fg.TextMatrix( fg.MouseRow, fg.col );
}

/* =================================denial
Æ¯Á¤ À§Ä¡ÀÇ °ªÀ» µ¹·ÁÁØ´Ù
===================================== */
function GridGetValue( fg, row, col )
{
	return fg.TextMatrix( fg.row, fg.col );
}

/* =================================denial
Æ¯Á¤ À§Ä¡ÀÇ °ªÀ» µ¹·ÁÁØ´Ù
===================================== */
function GridGetValueByKey( fg, key, col )
{
alert(		fg.ColIndex("E" + key) );
	if (header[1] == 'New') {
	} else if (header[1] == 'No') {
		fg.ColKey(relativeCol) = "O" + relativeCol
	} else if (header[1] == 'All') {
		fg.ColKey(relativeCol) = "A" + relativeCol
	} else if (header[1] == 'Hidden') {
		fg.ColHidden(relativeCol) = true;
	} else {
		fg.ColKey(relativeCol) = "N" + relativeCol  // uniqueÇÑ key°ªÀ» ¸¸µé±â À§ÇØ µÚ¿¡ lngColÀ» ºÙÀÓ
	}
	return fg.TextMatrix( fg.row, fg.col );
}

/* =================================denial
keyÀÇ Ä®·³ index°ªÀ» µ¹·ÁÁØ´Ù
===================================== */
function GridColIndex( fg, key )
{
	if ( fg.ColIndex("E" + key) != -1 )
		return fg.ColIndex("E" + key);
	else if ( fg.ColIndex("O" + key) != -1 )
		return fg.ColIndex("O" + key);
	else if ( fg.ColIndex("A" + key) != -1 )
		return fg.ColIndex("A" + key);
	else
		return -1;
}

/* =================================denial
±×¸®µå ÃÊ±âÈ­
===================================== */
function InitGrid(fgName, gridType, arrHeader)
{
	var fg = document.all(fgName);

	fg.ScrollTrack = false;
	fg.ExplorerBar = flexExNone	;
	fg.AutoSearch = flexSearchNone;
	fg.AllowUserResizing = flexResizeNone;
	fg.SelectionMode = flexSelectionFree ;
	fg.OutlineBar = flexOutlineBarNone;
	//fg.OLEDragMode = flexOLEDragManual;
	//fg.OLEDropMode = flexOLEDropNone;
	fg.ScrollTips = false;
	fg.ToolTipText = "";
	fg.FontName = cntFONT_NAME;
	fg.FontSize = cntFONT_SIZE;
	fg.AllowUserResizing = flexResizeBoth;	// cell Å©±âº¯°æ°¡´É
	//fg.ExtendLastCol = true;
	fg.FixedRows = 1;			// row header(1)
	fg.Rows = 1;
	fg.AutoSizeMode = 0;

	var lngColWidth = 0;
	var intLastCRCnt = 1;	// header text¿¡ CR Æ÷ÇÔ °¹¼ö
	var lngColOffset;

	if (gridType=="S") { // Á¶È¸¿ë grid
		fg.Editable = flexEDNone;
		fg.Cols = arrHeader.length + vsSelectColOffset;
		fg.ExplorerBar = flexExSortAndMove;	// sort, ÀÌµ¿°¡´É
		fg.AutoSearch = flexSearchFromCursor;
		lngColOffset = vsSelectColOffset;
		fg.ColKey(0) = "SHidden"; // Select Hidden
		fg.ColHidden(0) = true;
		fg.ColDataType(0) = flexDTBoolean;	// checkbox
		fg.FixedCols = 1;	// column header(1)
		//fg.SelectionMode = flexSelectionByRow;		//¿ë¿ì±â°¡ ÀÓ½Ã·Î ¸·¾ÒÀ½. ( µ¥¸ð¸¦ À§ÇØ¼­.. 2001-06-07)
	} else if (gridType=="E"){ // ¼öÁ¤¿ë grid
		fg.Editable = flexEDKbdMouse;
		fg.Cols = arrHeader.length + vsEditColOffset;	// ¼öÁ¤¿ëÀÏ¶§´Â checkbox Ä®·³°ú hidden ÄÃ·³ÀÌ ÇÏ³ª¾¿ ´õÀÖ´Ù.
		fg.ExplorerBar = flexExSort         // sort¸¸ °¡´É
		lngColOffset = vsEditColOffset;
		// fg.FixedCols = 0;	// column header(1)
		fg.ColKey(0) = "EHidden"; // Edit Hidden
		fg.ColHidden(0) = true;  // Cell ¼öÁ¤¿©ºÎ¸¦ ¼¼ÆÃÇÏ´Â Ä®·³À» ¼û±è
		fg.ColKey(1) = "EChkBox";
		fg.ColDataType(1) = flexDTBoolean;	// checkbox
		fg.ColWidth(1) = 300;
	} else if (gridType=="C"){ // ¼öÁ¤¿ë grid
	//	fg.Editable = flexEDKbdMouse;
		fg.Cols = arrHeader.length + vsEditColOffset-1;	// ¼öÁ¤¿ëÀÏ¶§´Â checkbox Ä®·³°ú hidden ÄÃ·³ÀÌ ÇÏ³ª¾¿ ´õÀÖ´Ù.
		fg.ExplorerBar = flexExSort         // sort¸¸ °¡´É
		lngColOffset = vsEditColOffset-1;
		// fg.FixedCols = 0;	// column header(1)
		//fg.ColKey(0) = "EHidden"; // Edit Hidden
		fg.ColHidden(0) = true;  // Cell ¼öÁ¤¿©ºÎ¸¦ ¼¼ÆÃÇÏ´Â Ä®·³À» ¼û±è
		fg.ColKey(1) = "EChkBox";
		// checkbox
		fg.ColWidth(1) = 300;
	} else {
		alert("GridType is E or S");
		return;
	}

	// Çì´õºÎºÐ Ã³¸®
	for(lngCol = 0; lngCol < arrHeader.length; lngCol++)
	{
		var header = arrHeader[lngCol];
		if ( header.length != 7) {
			alert("Invalid Init Parameters!! length must be 7");
			return;
		}
		var relativeCol = lngCol+lngColOffset;

		// header text
		fg.TextMatrix(0, relativeCol) = header[0];	// header text

		// Cell ¼öÁ¤¿©ºÎ ¼¼ÆÃ
		// New: »õ·Ó°Ô ÀÔ·ÂÇÑ °Í¸¸ °¡´É => nEw
		// No: ¼öÁ¤ ºÒ°¡ => nO
		// All: ¸ðµç °æ¿ì °¡´É => All
		// ±âº»°ª : ¼öÁ¤ ºÒ°¡
		// À§ÀÇ ³»¿ë¿¡ µû¶ó ÇØ´ç COLÀÇ Æ¯¼ºÀ» Àû¿ë ½ÃÅ´
		if (header[1] == 'New') {
			fg.ColKey(relativeCol) = "E" + header[0]
		} else if (header[1] == 'No') {
			fg.ColKey(relativeCol) = "O" + header[0]
		} else if (header[1] == 'All') {
			fg.ColKey(relativeCol) = "A" + header[0]
		} else {
			fg.ColKey(relativeCol) = "O" + header[0]
		}

		// Ä®·³ Å¸ÀÔ
		if (header[2] == 'Hidden') {
			fg.ColHidden(relativeCol) = true;
		}

		// ÄÃ·³Á¤·Ä
		if (header[3] == 'Left')	 {	// ¿É¼Ç
			intAlign = flexAlignLeftCenter;
		} else if (header[3] == 'Right') { 	// ÇÊ¼öÀÔ·Â
			intAlign = flexAlignRightCenter;
		} else if (header[3] == 'Center') {	// ¼û±è
			intAlign = flexAlignCenterCenter;
		} else {
			intAlign = flexAlignLeftCenter;
		}
		if( intAlign != -1 ) fg.ColAlignment(relativeCol) = intAlign;

		// ÄÃ·³ Æø
		if (header[4] > " ")	 {
			fg.ColWidth(relativeCol) = header[4] * 112 + 112 ;	// column width (default°¡ 900ÀÌ³×)

			/* maxlengthÃ³¸®ºÎºÐ 01.01.19
			var strMask="";
			for(var i = 0; i < header[4]; i++)
			{
				strMask += "&";
			}
			fg.ColEditMask(relativeCol) = strMask;	// default·Î ¹®ÀÚ editmask·Î ¼³Á¤ÇÑ´Ù.  */
		}

		lngColWidth += fg.ColWidth(relativeCol);

		// header text¿¡ CR Æ÷ÇÔ °¹¼ö¸¦ ±¸ÇÑ´Ù
		var intFIdx = -1;
		var intCRCnt = 1;
		while(header[0] >" ")
		{
			intFIdx = header[0].indexOf("\n", intFIdx+1);
			if (intFIdx >=0 ) intCRCnt ++;
			else break;
		}
		if (intCRCnt > intLastCRCnt) intLastCRCnt = intCRCnt;
	}// for

	//-- change fonts/Alignment on title Row
	//fg.Cell(flexcpFontSize, 0, 0, 0, fg.Cols - 1) = 12;
	fg.Cell(flexcpAlignment, 0, 0, 0, fg.Cols - 1) = flexAlignCenterCenter;
	if (intLastCRCnt > 1 ) fg.RowHeight(0) = fg.RowHeight(0) * intLastCRCnt;

	fg.BackColorBkg = 0xFFFFFF;	//¹é±×¶ó¿îµå¸¦ Èò»öÀ¸·Î ¼³Á¤
}

/* =================================denial
±×¸®µå¿¡ ÇÑÁÙ¾¿ ÀÔ·Â(Á¦ÀÏ ¸¶Áö¸·¿¡ »õ·Î¿î ÁÙÀ» ÇÏ³ª ¸¸µé°í ÀÔ·ÂÇÑ´Ù)
===================================== */
function setMatrix(fgName, headerVarName, arrRowContent)
{
	var fg = document.all(fgName);
    eval( "var header = " + headerVarName);

	fg.Rows++;
	var row = fg.Rows-1;

	var lngColOffset = 0;
	if ( fg.ColKey(0) == "EHidden" ) {
		lngColOffset = vsEditColOffset;
		// GridÀÇ hidden columnÀ» "R(Retrieved)"·Î ¼¼ÆÃ
		fg.TextMatrix(row, 0) = "R";
		// Checkbox¸¦ ÇØÁ¦
		fg.TextMatrix(row, 1) = 0;
	} else {
		lngColOffset = vsSelectColOffset;
		//fg.TextMatrix(rowNo, 0) = "view";
	}
	for ( var i = 0; i < arrRowContent.length; i++ ) {
		var relativeCol = i+lngColOffset;

		// ±ÛÀÚ»ö ¼¼ÆÃ
		var foreColor;
		if (header[i][6] == "") {
			foreColor = flexBlack;
		} else {
			foreColor = parseInt("0x00" + header[i][6]);
		}
		fg.Cell(flexcpForeColor, row, relativeCol, row, relativeCol) = foreColor;

		
		// Link Ç¥½Ã
		if (header[i][2] == 'Link') {
			fg.Cell(flexcpFontUnderline, row, relativeCol)= true;
		}

		fg.TextMatrix(row, relativeCol) = arrRowContent[i];
	}
	fg.Select(fg.Row, fg.Col);
	fg.FocusRect = 1;
}

/* =================================denial
±×¸®µå¿¡¼­ ÇÑÁÙÀ» Ãß°¡(¹«Á¶°Ç Á¦ÀÏ ¸¶Áö¸·ÁÙ¿¡ Ãß°¡ÇÑ´Ù)
===================================== */
function addRow(fgName, headerVarName)
{
	var fg = document.all(fgName);
    eval( "var header = " + headerVarName);

	fg.AddItem("");
	var row = fg.Rows-1;
	if ( fg.ColKey(0) == "EHidden" ) {
		fg.TextMatrix(row, 0) = "I"; // GridÀÇ hidden columnÀ» "I(Inserted)"·Î ¼¼ÆÃ
		fg.TextMatrix(row, 1) = 1; // GridÀÇ checkbox¸¦ check
		//±âº»°ª ¼¼ÆÃ
		for ( var i = 0; i < header.length; i++ ) {
			var relativeCol = i+vsEditColOffset;

			fg.TextMatrix(row, relativeCol) = header[i][5];
		}
		GridSetColor(fg, flexcpForeColor, cntCOLOR_INSERT, row, 1, row, fg.Cols-1);
		fg.ExplorerBar = flexExNone;
		fg.TopRow = fg.Rows - 1;
		//fg.Col = vsEditColOffset;
		//fg.FocusRect = 1;
	}
}

/* =================================denial
±×¸®µå¿¡¼­ ÇÑÁÙÀ» Ãß°¡(¹«Á¶°Ç Á¦ÀÏ ¸¶Áö¸·ÁÙ¿¡ Ãß°¡ÇÑ´Ù)
===================================== */
function addRowWithValue(fgName, arrContents)
{
	var fg = document.all(fgName);
	fg.AddItem("");
	var row = fg.Rows-1;
	if ( fg.ColKey(0) == "EHidden" ) {	
		fg.TextMatrix(row, 0) = "I";
		fg.TextMatrix(row, 1) = 1; // GridÀÇ checkbox¸¦ check		
		//±âº»°ª ¼¼ÆÃ
		for ( var i = 0; i < arrContents.length; i++ ) {		
			var relativeCol = i+vsEditColOffset;
			fg.TextMatrix(row, relativeCol) = arrContents[i];
		}
		GridSetColor(fg, flexcpForeColor, cntCOLOR_INSERT, row, 1, row, fg.Cols-1);	
		fg.ExplorerBar = flexExNone;
		fg.TopRow = fg.Rows - 1;
		//fg.Col = vsEditColOffset;
		//fg.FocusRect = 1;
	}
	
}

/* =================================vanzitu
checkedIndex¸¸ ±¸ÇÔ.
===================================== */
function getOnlyCheckedIndex(fg)
{	
	
	var checkedIndex = new Array();
		for (var i=1, j=0; i < fg.Rows; i++) {
			if(fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) {
				checkedIndex[j++] = i;
			}
		}				
		// save checkedIndex
		vsTempCheckedIndex = checkedIndex;
		return checkedIndex;	
}


/* =================================vanzitu
 gridÁß Æ¯Á¤ColumnÀÇ Value°¡  matchÀÎ rowÀÇ Index¸¦ Return 
===================================== */
function getRowIndexWithCol(fg,col,match)
{		
	var selectedIndex = new Array();	
	for (var i=1, j=0;i<fg.Rows ; i++)	{			
		if (fg.TextMatrix(i, col)== match)	{		
			selectedIndex[j++]= i;			
		} 			
	}
	return  selectedIndex;
}


function getCheckedIndex(fg, trxType)
{
	getCheckedIndex(fg, trxType,1);
}

function getCheckedIndexNoReturn(fg, trxType)
{
	getCheckedIndexNoReturn(fg, trxType,1);
}

/* =================================denial
checkedIndex¸¦ ±¸ÇÑ¸é¼­ ±âº»ÀûÀÎ Validation(Check ¿©ºÎ µî..)À»
ÇÏ°í vsTempCheckedIndex¿¡ checkedIndex¸¦ ÀúÀåÇÑ´Ù
===================================== */
function getCheckedIndex(fg, trxType,type)
{	
	if(trxType == "SAVE") {
		var checkedIndex = new Array();
		for (var i=1, j=0; i < fg.Rows; i++) {
			if(fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) {
				checkedIndex[j++] = i;
			}
		}

		if (type == null) {
			type=1;
		}
		if( checkedIndex.length == 0 && type == 1) {
			alert("ÄúÃ»ÓÐÑ¡ÔñÈÎºÎÐÐ");
			return;
			
		}
		
		// save checkedIndex
		vsTempCheckedIndex = checkedIndex;

		return checkedIndex;

	} else if(trxType == "DELETE") {
		var checkedIndex = new Array();
		var insertedRowIndex = new Array();
		var allCheckedCnt = 0;	
		for (var i=1, j=0, k=0; i < fg.Rows; i++) {
			if(fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) {
				allCheckedCnt++;				
				if(fg.TextMatrix(i,0) == "R")
					checkedIndex[j++] = i;
				else if ( fg.TextMatrix(i,0) == "I" )
					insertedRowIndex[k++] = i;
			}
		}

		if( allCheckedCnt == 0 ) {
			alert("»èÁ¦ ÇÏ°íÀÚ ÇÏ´Â ÇàÀ» ¼±ÅÃ ÇÏ¼¼¿ä.");
			return;
		}	
		if ( insertedRowIndex.length != 0) {			
			deleteRows(fg, insertedRowIndex);
			if ( checkedIndex.length == 0) {
				alert("»èÁ¦ÇÏ¿´½À´Ï´Ù!");
				return;
			}
		}

		// save checkedIndex
		vsTempCheckedIndex = checkedIndex;

		return checkedIndex;
	} else if (trxType == "INSERT")	 {// vanzitu Ãß°¡ 2001.10.11.  ¿ÀÁ÷ InsertµÇ´Â °Í¸¸ checkÇÏ±â À§ÇÏ¿©, 
		var checkedIndex = new Array();
		for (var i=1, j=0; i < fg.Rows; i++) {
			if ((fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) && (fg.TextMatrix(i, 0)=="I")) {
				checkedIndex[j++] = i;
			}
		}

		if( checkedIndex.length == 0 && type == 1) {
			alert("¾î¶² Çàµµ »õ·Ó°Ô ¼±ÅÃÇÏ½ÃÁö ¾Ê¾Ò½À´Ï´Ù.");
			return;
		}
		
		// save checkedIndex
		vsTempCheckedIndex = checkedIndex;

		return checkedIndex;
	}
}


/* =================================dhbaek Ãß°¡.
checkedIndex¸¦ ±¸ÇÑ¸é¼­ ¸®ÅÏÇÏÁö ¾Ê´Â´Ù. ±âº»ÀûÀÎ Validation(Check ¿©ºÎ µî..)À»
ÇÏ°í vsTempCheckedIndex¿¡ checkedIndex¸¦ ÀúÀåÇÑ´Ù
===================================== */
function getCheckedIndexNoReturn(fg, trxType,type)
{	
	if(trxType == "SAVE") {
		var checkedIndex = new Array();
		for (var i=1, j=0; i < fg.Rows; i++) {
			if(fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) {
				checkedIndex[j++] = i;
			}
		}

		if (type == null) {
			type=1;
		}
		
		// save checkedIndex
		vsTempCheckedIndex = checkedIndex;

		return checkedIndex;

	} else if(trxType == "DELETE") {
		var checkedIndex = new Array();
		var insertedRowIndex = new Array();
		var allCheckedCnt = 0;	
		for (var i=1, j=0, k=0; i < fg.Rows; i++) {
			if(fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) {
				allCheckedCnt++;				
				if(fg.TextMatrix(i,0) == "R")
					checkedIndex[j++] = i;
				else if ( fg.TextMatrix(i,0) == "I" )
					insertedRowIndex[k++] = i;
			}
		}

		if( allCheckedCnt == 0 ) {
			alert("»èÁ¦ ÇÏ°íÀÚ ÇÏ´Â ÇàÀ» ¼±ÅÃ ÇÏ¼¼¿ä.");
			return;
		}	
		if ( insertedRowIndex.length != 0) {			
			deleteRows(fg, insertedRowIndex);
			if ( checkedIndex.length == 0) {
				alert("»èÁ¦ÇÏ¿´½À´Ï´Ù!");
				return;
			}
		}

		// save checkedIndex
		vsTempCheckedIndex = checkedIndex;

		return checkedIndex;
	} else if (trxType == "INSERT")	 {// vanzitu Ãß°¡ 2001.10.11.  ¿ÀÁ÷ InsertµÇ´Â °Í¸¸ checkÇÏ±â À§ÇÏ¿©, 
		var checkedIndex = new Array();
		for (var i=1, j=0; i < fg.Rows; i++) {
			if ((fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) && (fg.TextMatrix(i, 0)=="I")) {
				checkedIndex[j++] = i;
			}
		}

		if( checkedIndex.length == 0 && type == 1) {
			alert("¾î¶² Çàµµ »õ·Ó°Ô ¼±ÅÃÇÏ½ÃÁö ¾Ê¾Ò½À´Ï´Ù.");
			return;
		}
		
		// save checkedIndex
		vsTempCheckedIndex = checkedIndex;

		return checkedIndex;
	}
}




/* =================================denial
Ã¼Å©µÈ ÁÙµéÀ» »èÁ¦
===================================== */

function doDelete(form, fg, divTagName, submitPageName)
{
	var checkedIndex = new Array();
	var insertedRowIndex = new Array();
	var allCheckedCnt = 0;
	for (var i=1, j=0, k=0; i < fg.Rows; i++) {
		if(fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) {
			allCheckedCnt++;
			if(fg.TextMatrix(i,0) == "R")
				checkedIndex[j++] = i;
			else if ( fg.TextMatrix(i,0) == "I" )
				insertedRowIndex[k++] = i;
		}
	}

	if( allCheckedCnt == 0 ) {
		alert("»èÁ¦ ÇÏ°íÀÚ ÇÏ´Â ÇàÀ» ¼±ÅÃ ÇÏ¼¼¿ä.");
		return;
	}
	if ( insertedRowIndex.length != 0) {
		var reverseInsertedRowIndex = insertedRowIndex.reverse();
		for ( var i=0; i < reverseInsertedRowIndex.length; i++ ) {
			fg.RemoveItem(reverseInsertedRowIndex[i]);
		}
		if ( checkedIndex.length == 0) {
			alert("»èÁ¦ÇÏ¿´½À´Ï´Ù!");
			return;
		}
	}

	setToScriptDiv(fg, "DELETE", checkedIndex, divTagName);
	vsTempCheckedIndex = checkedIndex;


	form.target = "procHiddenFrame";
	form.action = submitPageName;
	form.submit();
}


/* =================================denial
Grid¿¡¼­ index ¹è¿­·Î ÁÖ¾îÁø ÇàµéÀ» »èÁ¦ÇÑ´Ù(¿ª¼øÀ¸·Î Á¤·ÄÇÑ ÈÄ »èÁ¦)
===================================== */
function deleteRows(fg, rowIndex) {
	rowIndex.sort(helperCompareNumber);
	var reversedRowIndex = rowIndex.reverse();
	for ( var i=0; i < reversedRowIndex.length; i++ ) {
		//alert("¾ðÁ¦ ¿¡·¯?"+reversedRowIndex[i]);
		fg.RemoveItem(reversedRowIndex[i]);
	}
}


/* =================================denial
Array sort½Ã stringÀ¸·Î ÀÚµ¿ º¯È¯ÇÏ¿© »çÀüÀûÀÎ ¼ÒÆÃÀÌ µÇ´Â ¹®Á¦¸¦ ÇØ°áÇÏ±â À§ÇØ ¼ýÀÚ ºñ±³¸¦ ÇÏ´Â ¸Þ¼Òµå
anArray.sort(helperCompareNumber) ¿Í °°ÀÌ ÀÔ·ÂÇÏ¸é µÈ´Ù
===================================== */
function helperCompareNumber(a, b) {
	return a - b;
}



/* =================================vanzitu
Grid¿¡¼­ index ¹è¿­·Î Æ¯Á¤ColumnÀÇ °ªÀ» ÀÎÀÚ·Î ÇÏ¿©  ÇàµéÀ» »èÁ¦ÇÑ´Ù(¿ª¼øÀ¸·Î Á¤·ÄÇÑ ÈÄ »èÁ¦)
===================================== */
function deleteRowsWithCol(fg, col,colvalue) {	

	var matchedIndex = new Array();
	var matchedIndex= getRowIndexWithCol(fg,col,colvalue);	
	for ( var i=matchedIndex.length-1 ; i >=0 ; i--) {						
			fg.RemoveItem(matchedIndex[i]);
		}	
}



/* =================================denial
GridÀÇ Cell¿¡ Æ÷Ä¿½º¸¦ ÁØ´Ù
=> ÀÌ°Å »ç¿ë¸øÇÏ³²? fg.Row¿¡´Ù Á÷Á¢ °ªÀ» ÀÔ·ÂÇÏ·ÁÇÏ¸é '¾Ë¼ö¾ø´Â ·±Å¸ÀÓ ¿¡·¯'°¡ ¹ß»ýÇÏ´Â °æ¿ì°¡ ÀÖ´Ù
===================================== */
/*function setFocus(fg, row, col, focusType) {
	fg.Row = row;
	fg.Col = col;
	fg.FocusRect = focusType;
}*/
function setFocus(fg, row, colKey) {
	if(	GridColIndex(fg, colKey) > 0) {
		fg.Select(row, GridColIndex(fg, colKey));
	}
}

/* =================================denial
Validation Check¸¦ ÇÒ ÇÔ¼ö¸íÀ» ÀÎÀÚ·Î ÁÖ¸é ±× ÇÔ¼ö¸¦ È£ÃâÇÑ ÈÄ
SubmitÀ» ¼öÇàÇÑ´Ù
===================================== */
/*
function doSubmit(form, fg, validatonCheckFuncName, divTagName, submitPageName)
{
	var checkedIndex = new Array();
	for (var i=1, j=0; i < fg.Rows; i++) {
        if(fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) {
			checkedIndex[j++] = i;
		}
	}

	if( checkedIndex.length == 0 ) {
		alert("ÀúÀå ÇÏ°íÀÚ ÇÏ´Â ÇàÀ» ¼±ÅÃ ÇÏ¼¼¿ä.");
		return;
	}
	// validate
	eval( validatonCheckFuncName + "(form, fg, checkedIndex);");
	// set hidden field in a form
	setToScriptDiv(fg, "SAVE", checkedIndex, divTagName);
	// save checkedIndex
	vsTempCheckedIndex = checkedIndex;

	form.target = "procHiddenFrame";
	form.action = submitPageName;
	form.submit();
}
*/

/* =================================denial
Æ®·£Àè¼ÇÀ» Ã³¸®ÇÏ±âÀ§ÇØ ÇÊ¿äÇÑ Hidden fieldµéÀ» ScriptDiv
¶ó´Â ÀÌ¸§ÀÇ <Div> ÅÂ±×ÀÇ innerHTML¿¡ ¼¼ÆÃÇÑ´Ù
===================================== */
function setToScriptDiv(fg, trxType, checkedIndex, divTagName)
{
	var strHTML = "";
	eval(divTagName + ".innerHTML = \"\"");
	for (var i=0; i < checkedIndex.length;i++) {
		if( trxType == "DELETE" ) {
			strHTML += "<INPUT TYPE=hidden NAME=TRX_TYPE VALUE=D>";
		} else {
			
			if( fg.TextMatrix(checkedIndex[i],0) == "R" ) {
				strHTML += "<INPUT TYPE=hidden NAME=TRX_TYPE VALUE=U>";
			} else if( fg.TextMatrix(checkedIndex[i],0) == "I" ) {
				strHTML += "<INPUT TYPE=hidden NAME=TRX_TYPE VALUE=I>";
			}
		}
		for ( var j=vsEditColOffset; j < fg.Cols; j++ ) {
			//STR_KEY ÀÇ value°¡ Çì´õ¸íÀ¸·Î µÇ¾î ÀÖ´ø°ÍÀ» Column ¹øÈ£·Î º¯°æ 2002/05/18
			strHTML += "<INPUT TYPE=hidden NAME=STR_KEY VALUE='"+j+"'>" +
								"<INPUT TYPE=hidden NAME=STR_VALUE VALUE='"+toValidStr(fg.TextMatrix(checkedIndex[i],j))+"'>";
		}
	}
	strHTML += "<input type=hidden name=TOTAL_ROW value=" + checkedIndex.length + "><input type=hidden name=TOTAL_COL value=" + (fg.Cols-vsEditColOffset) + ">";

	eval(divTagName + ".innerHTML = \"" + strHTML + "\"");
}

/* =================================denial
TransactionÈÄ ¼º°ø ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÏ°í ±×¸®µåÀÇ °ªµéÀ» ¾Ë¸Â°Ô ¼¼ÆÃÇÑ´Ù
===================================== */
function doSuccess(fgName, headerVarName, trxType, msg, reloadYn)
//doSuccess("FG1", "FG1_Header", "DELETE", "Á¤»óÀûÀ¸·Î »èÁ¦µÇ¾ú½À´Ï´Ù!", false);
{
	eval( "var header = " + headerVarName);
	var fg = document.all(fgName);
	var row;

	if(trxType == "SAVE") {
		for( var i=0; i < vsTempCheckedIndex.length; i++ ) {
			row = vsTempCheckedIndex[i];
			fg.TextMatrix(row, 0) = "R"; // Retrieve·Î ¼¼ÆÃ
			fg.TextMatrix(row, 1) = "False"; // Checkbox ÇØÁ¦ ==>0¿¡¼­ "False"·Î º¯°æ 2002/05/18 by withsun
			for ( var j = 0; j < header.length; j++ ) {
				var relativeCol = j+vsEditColOffset;

				// ±ÛÀÚ»ö ¼¼ÆÃ
				var foreColor;
				if (header[j][6] == "") {
					foreColor = flexBlack;
				} else {
					foreColor = parseInt("0x00" + header[j][6]);
				}
				fg.Cell(flexcpForeColor, row, relativeCol, row, relativeCol) = foreColor;

				// Link Ç¥½Ã
				if (header[j][2] == 'Link') {
					fg.Cell(flexcpFontUnderline, row, relativeCol)= true;
				}
			}//rof
		}//rof
	} else if(trxType == "DELETE") {
		deleteRows(fg, vsTempCheckedIndex);
	}
	alert(msg);
	if(reloadYn == true) {
		document.location.reload();
	}
}

/* =================================denial
CellÀ» ClickÇßÀ»¶§ Edit °¡´ÉÇÑÁö¸¦ Ã¼Å©ÇÏ¿© ±×¸®µå¿¡ ¹Ý¿µÇÑ´Ù
===================================== */
function checkEditable(fg)
{
	//var strColKey = fg.ColKey(fg.Col);
	var col = fg.MouseCol;
	var row = fg.MouseRow;
	var strColKey = fg.ColKey(col);

	// ±âº»ÀûÀ¸·Î´Â ¸ðµç CellÀÌ ¼öÁ¤ °¡´É
	fg.Editable = flexEDKbdMouse;

	//Header´Â ¼öÁ¤ºÒ°¡ added by withsun 2002/05/18
	if (row == 0)
	{
		fg.Editable = flexEDNone;
	}
	// Cell ¼öÁ¤¿©ºÎ°¡ ºÒ°¡ÀÌ°Å³ª »õ·Î¿î Çà¸¸ ¼öÁ¤°¡´ÉÇÑµ¥ »õ·Î Ãß°¡µÈ ÇàÀÌ ¾Æ´Ò¶§´Â ¼öÁ¤ÇÒ ¼ö ¾ø´Ù
	if( col != 1 && (strColKey.substring(0,1) == "O" || (strColKey.substring(0,1) == 'E' && fg.TextMatrix(fg.Row, 0) == "R")) ) {
		fg.Editable = flexEDNone;
	}
}
/*
function checkEditable(fg)
{
	var intEditable;
	var strColKey = fg.ColKey(fg.MouseCol);
//alert(strColKey + + fg.MouseCol + fg.MouseCol + fg.TextMatrix(fg.MouseRow, 1));
	if ( fg.Col == 1 ) { // Checkbox´Â Ç×»ó Åä±ÛÇÒ ¼ö ÀÖ´Ù
		intEditable = flexEDKbdMouse;
	} else if( (strColKey.substring(0,1) == "A" || (strColKey.substring(0,1) == 'E' && fg.TextMatrix(fg.Row, 1) == "I")) ) {
		intEditable = flexEDKbdMouse;
	} else {
		intEditable = flexEDNone;
	}
	fg.Editable = intEditable;
}*/

/* =================================denial
±×¸®µåÀÇ Æ¯Á¤ ¼¿ °ªÀ» ¹Ù²Û´Ù
===================================== */

function updateRow(fgName, row, col, content)
{
	var fg = document.all(fgName);
	fg.TextMatrix(row, col) = content;
	//var gridType = getGridType(fgName);
	//var relativeCol;

	/*if( gridType == "E" ) {
		relativeCol = col + vsEditColOffset;
	} else if( gridType == "S" ) {
		relativeCol = col + vsSelectColOffset;
	}
	fg.TextMatrix(row, relativeCol) = content;*/
}

/* =================================denial
±×¸®µåÀÇ Å¸ÀÔÀ» ¾ò¾î¿Â´Ù(E: Edit type, S: Select type)
===================================== */
function getGridType(fgName)
{
	var fg = document.all(fgName);
	if ( fg.ColKey(0) == "EHidden" ) {
		return "E";
	} else if( fg.ColKey(0) == "SHidden" ) {
		return "S";
	} else {
		return "Not a valid Grid type";
	}
}

/* =================================smileBell
 Grid Merge -> Alternative
param 1. Grid Control
param 2. ±¸ºÐÀÌ µÅ´Â Grid Column No
param 3. Color 1
param 4. Color 2
===================================== */

function userAlterColorGrid(fg,keycol,color1,color2)
{
 var i;
 var oldKey = "old";
 var srtRow = 1;
 var mColor = new Array();
 var colorV = 0;
 mColor[0] = color1;
 mColor[1] = color2;
 
 if(1<fg.Rows) 
  oldKey = fg.TextMatrix(1,keycol);
 
 else
  return;
  
 for(i=1;i<fg.Rows;i++) {
  if(fg.TextMatrix(i,keycol) != oldKey) {
   fg.Cell(6,srtRow,0,i-1,fg.Cols-1) = mColor[colorV];
   srtRow = i;
   oldKey = fg.TextMatrix(i,keycol);  
   if(colorV==0)
    colorV = 1;
   else 
    colorV = 0;
  }
 }
 fg.Cell(6,srtRow,0,fg.Rows-1,fg.Cols-1) = mColor[colorV];
}

/* =================================withsun
Ã¼Å©µÈ ÁÙµéÀ» DB Transaction¾øÀÌ »èÁ¦
===================================== */
function doDeleteNoTrx(fg)
{
	var checkedIndex = new Array();
	var allCheckedCnt = 0;
	for (var i=1, j=0, k=0; i < fg.Rows; i++) {
		if(fg.TextMatrix(i, 1) == -1 || fg.TextMatrix(i, 1) == 1) {
			allCheckedCnt++;
			checkedIndex[j++] = i;
		}
	}

	if( allCheckedCnt == 0 ) {
		alert("»èÁ¦ ÇÏ°íÀÚ ÇÏ´Â ÇàÀ» ¼±ÅÃ ÇÏ¼¼¿ä.");
		return;
	}
	if ( checkedIndex.length != 0) {
		var reverseInsertedRowIndex = checkedIndex.reverse();
		for ( var i=0; i < reverseInsertedRowIndex.length; i++ ) {
			fg.RemoveItem(reverseInsertedRowIndex[i]);
		}
		alert("»èÁ¦ÇÏ¿´½À´Ï´Ù!");
		return;
	}
}


/* =================================withsun
Empty Cell¿©ºÎ Ã¼Å© ÈÄ ¸Þ½ÃÁö ¹× Focus
===================================== */
function isEmptyCell(fg, row, col, msg)
{
	if (fg.TextMatrix(row, col) == "")
	{
		alert(msg);
		setFocus(fg, row, col);
		return true;
	}
	return false;
}
