/* ÆäÀÌÁöÀÇ ÆÄÀÏ¸íÀ» Á¦¿ÜÇÑ ±âº» À§Ä¡ url
 * ¿¹¸¦ µé¾î http://211.41.15.40:7001/Sample_IBSheet/sheet/me.htmlÀÌ ÇöÀçÆäÀÌÁö ÀÌ¸é
 * page_path °ªÀº "/Sample_IBSheet/sheet/" ÀÌ´Ù 
**/

var page_path = location.pathname;
page_path = page_path.substr(0,page_path.lastIndexOf("/")+1);
//¸ð´Þ·Î ¿­¾úÀ»¶§´Â Ã³À½¿¡ "/"·Î ½ÃÀÛÇÏÁö ¾ÊÀ»¼ö ÀÖÀ½
if (page_path.charAt(0) != "/") page_path = "/" + page_path;

/* MergeSheet ¼Ó¼º¿¡ ¼³Á¤ °ª */
msNone            = 0;      // ¸ÓÁö ¾øÀ½
msAll             = 1;      // ÀüºÎ ¸ÓÁö °¡´É
msPrevColumnMerge = 2;      // ¾Õ ÄÃ·³ÀÌ ¸ÓÁö µÈ °æ¿ì ÇØ´ç Çà ¾È¿¡¼­ ¸ÓÁö °¡´É
msHeaderOnly      = 5;      // ÇØ´õ¸¸ ¸ÓÁö

/* InitDataProperty ÇÔ¼ö¿¡ DataType ÀÎÀÚ¿¡ ¼³Á¤ ÇÏ´Â °ª */
dtNull            = -1;     // ¾øÀ½
dtData            = 0;      // ÀÏ¹Ý µ¥ÀÌÅÍ
dtStatus          = 1;      // Æ®·£Àè¼Ç »óÅÂ
dtDelCheck        = 2;      // »èÁ¦ Ã¼Å© ¹Ú½º
dtDelCheckEx      = 3;      // »èÁ¦ Ã¼Å© ¹Ú½º + ½ÇÁ¦ Áö¿ò
dtCheckBox        = 4;      // ¼±ÅÃ Ã¼Å© ¹Ú½º
dtHidden          = 5;      // ¼û°ÜÁø µ¥ÀÌÅÍ
dtCombo           = 6;      // ÄÞº¸ Çü µ¥ÀÌÅÍ
dtComboEdit       = 7;      // ÄÞº¸ Çü µ¥ÀÌÅÍ + Edit°¡´É
dtPopup           = 8;      // ÆË¾÷ ¹öÆ° Çü µ¥ÀÌÅÍ + OnPopup ÀÌº¥Æ® ¹ß»ý + °ª¿¡ ´ëÇÑ Æ÷¸ä±â´É¹«½Ã
dtPopupEdit       = 9;      // ÆË¾÷ ¹öÆ° Çü µ¥ÀÌÅÍ + OnPopup ÀÌº¥Æ® ¹ß»ý + Edit °¡´É + °ª¿¡ ´ëÇÑ Æ÷¸ä±â´É¹«½Ã
dtFileUp          = 10;     // ÆÄÀÏ ¾÷·Îµå Çü µ¥ÀÌÅÍ
dtResult          = 11;     // Æ®·£Àè¼Ç °á°ú 
dtAutoSum         = 12;     // ÀÚµ¿ °è»ê ÄÃ·³
dtAutoSumEx       = 13;     // ÀÚµ¿ °è»ê + »èÁ¦µÈ Çà °è»ê Á¦¿Ü
dtAutoAvg         = 14;     // ÀÚµ¿ Æò±Õ ÄÃ·³
dtAutoAvgEx       = 15;     // ÀÚµ¿ Æò±Õ + »èÁ¦µÈ Çà °è»ê Á¦¿Ü
dtImage           = 16;     // ÀÌ¹ÌÁö Çü 
dtSeq             = 17;     // ½ÃÄö½º 
dtPassword        = 18;     // ÆÐ½º¿öµå
dtHiddenStatus    = 19;     // dtStatus + ¼û°ÜÁü
dtImageText       = 20;     // ÀÌ¹ÌÁö + ÅØ½ºÆ® 
dtDataSeq         = 21;     // µ¥ÀÌÅÍ ¼ø¹ø
dtPopupFormat     = 22;     // ÆË¾÷ ¹öÆ° Çü µ¥ÀÌÅÍ + OnPopup ÀÌº¥Æ® ¹ß»ý + °ª¿¡´ëÇÑÆ÷¸ä±â´É»ç¿ë
dtPopupEditFormat = 23;     // ÆË¾÷ ¹öÆ° Çü µ¥ÀÌÅÍ + OnPopup ÀÌº¥Æ® ¹ß»ý + Edit °¡´É  + °ª¿¡ ´ëÇÑ Æ÷¸ä±â´É»ç¿ë
dtDummyCheck      = 24;     // Dummy Ã¼Å©¹Ú½º
dtRadioCheck      = 25;     // Dummy Ã¼Å©¹Ú½º


/* InitDataProperty ÇÔ¼ö¿¡ DataAlign ÀÎÀÚ¿¡ ¼³Á¤ ÇÏ´Â °ª */
daNull            = -1;     // ¾øÀ½
daLeft            = 0;      // ÁÂÃø °¡¿îµ¥ Á¤·Ä
daCenter          = 1;      // °¡¿îµ¥ °¡¿îµ¥ Á¤·Ä
daRight           = 2;      // ¿ìÃø °¡¿îµ¥ Á¤·Ä
daLeftTop         = 3;      // ÁÂÃø »ó´Ü Á¤·Ä
daLeftBottom      = 4;      // ÁÂÃø ÇÏ´Ü Á¤·Ä
daCenterTop       = 5;      // °¡¿îµ¥ »ó´Ü Á¤·Ä
daCenterBottom    = 6;      // °¡¿îµ¥ ¹Ù´Ú Á¤·Ä
daRightTop        = 7;      // ¿ìÃø »ó´Ü Á¤·Ä
daRightBottom     = 8;      // ¿ìÃø ¹Ù´Ú Á¤·Ä


/*InitDataProperty ÇÔ¼ö¿¡ DataFormat ÀÎÀÚ¿¡ ¼³Á¤ ÇÏ´Â °ª */
dfNull            = -1;     // ¾øÀ½
dfNone            = 0;      // Æ÷¸ä ¾øÀ½
dfDateYmd         = 1;      // ³¯Â¥-³â¿ùÀÏ YYYY.MM.DD
dfDateYm          = 2;      // ³¯Â¥-³â¿ù YYYY.MM
dfDateMd          = 3;      // ³¯Â¥-¿ùÀÏ MM.DD
dfTimeHms         = 4;      // ½Ã°£-½ÃºÐÃÊ HH:MM:SS
dfTimeHm          = 5;      // ½Ã°£-½ÃºÐ HH:MM
dfIdNo            = 6;      // ÁÖ¹Îµî·Ï¹øÈ£
dfSaupNo          = 7;      // »ç¾÷ÀÚ ¹øÈ£
dfCardNo          = 8;      // Ä«µå ¹øÈ£
dfPostNo          = 9;      // ¿ìÆí¹øÈ£
dfInteger         = 10;     // Á¤¼ö(Default 0)
dfFloat           = 11;     // ½Ç¼ö(Default 0.0)
dfNullInteger     = 12;     // Á¤¼ö(Default null)
dfNullFloat       = 13;     // ½Ç¼ö(Default null)
dfNumber          = 14;     // ¼ýÀÚ
dfHanKey          = 15;     // ÇÑ±Û ÀÔ·Â ¸ðµå
dfEngKey          = 16;     // ¿µ¹® ÀÔ·Â ¸ðµå
dfEngUpKey        = 17;     // ¿µ¹® ´ë¹®ÀÚ ÀÔ·Â ¸ðµå
dfEngDnKey        = 18;     // ¿µ¹® ¼Ò¹®ÀÚ ÀÔ·Â ¸ðµå
dfUserFormat      = 19;     // »ç¿ëÀÚ ¼³Á¤Çü Æ÷¸ä
dfUserFormat2     = 20;     // »ç¿ëÀÚ ¼³Á¤Çü Æ÷¸ä, ¸¶½ºÅ© ±¸ºÐÀÚ°¡ 2°³ÀÎ °æ¿ì


/*GetDataProperty ÇÔ¼ö¿¡¼­ DataPropertyChoice ÀÎÀÚ¿¡ ¼³Á¤ ÇÏ´Â °ª */
dpDataType        = 0;      // µ¥ÀÌÅÍ Å¸ÀÔ
dpDataAlign       = 1;      // µ¥ÀÌÅÍ Á¤·Ä
dpDataFormat      = 2;      // µ¥ÀÌÅÍ Æ÷¸ä
dpSaveName        = 3;      // ÀúÀå º¯¼ö¸í
dpKeyField        = 4;      // ÇÊ¼ö ÀÔ·Â ¿©ºÎ
dpCalcuLogic      = 5;      // °è»ê °ø½Ä
dpPointCount      = 6;      // ¼Ò¼ýÁ¡ ÀÌÇÏ ÀÚ¸® °³¼ö
dpUpdateEdit      = 7;      // ¼öÁ¤ °¡´É ¿©ºÎ
dpInsertEdit      = 8;      // ÀÔ·Â °¡´É ¿©ºÎ
dpEditLen         = 9;      // ÀÔ·Â ±æÀÌ
dpFullInput       = 10;     // ÀüÃ¼ ÀÔ·Â ¿©ºÎ
dpColumnSort      = 11;     // ¼ÒÆ® °¡´É ¿©ºÎ
dpVisAllCheck     = 12;     // ÀüÃ¼ CheckBox ¿©ºÎ
dpSaveStatus      = 13;     // ÀúÀå »óÅÂ ÄÚµå
dpFormatFix       = 14;     // Æ÷¸ä °íÁ¤ ¿©ºÎ

poDefault         = 0;      // ÆäÀÌÁö¿¡ ¼³Á¤µÈ °ª ±×´ë·Î
poPortrait        = 1;      // ¼¼·Î ÆäÀÌÁö
poLandscape       = 2;      // °¡·Î ÆäÀÌÁö

/* SelectionMode ¼Ó¼º¿¡ ¼³Á¤ÇÏ´Â °ª */
smSelectionFree   = 0;      // ÀÚÀ¯ ¼±ÅÃ ¸ðµå
smSelectionRow    = 1;      // Çà´ÜÀ§ ¼±ÅÃ ¸ðµå
smSelectionCol    = 2;      // ÄÃ·³´ÜÀ§ ¼±ÅÃ ¸ðµå
smSelectionList   = 3;      // Çà´ÜÀ§ ·£´ý ¼±ÅÃ ¸ðµå

/* BasicImeMode ¼Ó¼º¿¡ ¼³Á¤ÇÏ´Â °ª */
imeAuto           = 0;      // ¸¶Áö¸· »óÅÂ¸¦ ±×´ë·Î »ç¿ë
imeHan            = 1;      // ±âº» »óÅÂ¸¦ ÇÑ±Û ÀÔ·Â »óÅÂ·Î ÇÔ
imeEng            = 2;      // ±âº» »óÅÂ¸¦ ¿µ¹® ÀÔ·Â »óÅÂ·Î ÇÔ

/* GridLine ¼Ó¼º¿¡ ¼³Á¤ÇÏ´Â °ª */
glNone            = 0;      // ¼±¾øÀ½
glFlat            = 1;      // ±âº»¼±
glFlatHorz        = 4;      // Æò¸é°¡·Î¼±¸¸ ÀÖ°í, ¼¼·Î¼±Àº ¾øÀ½
glFlatVert        = 8;      // Æò¸é¼¼·Î¼±¸¸ ÀÖ°í, °¡·Î¼±Àº ¾øÀ½


/* InitDataValid ÇÔ¼ö¿¡¼­ ValidType ÀÎÀÚ¿¡ ¼³Á¤ÇÏ´Â °ª - 2.4.0.0 */
vtNone            = 0;      // ÀÚµ¿À¸·Î Ã³¸®                  
vtCharOnly        = 1;      // ValidChart¿¡ ¼³Á¤µÈ ±ÛÀÚ¸¸ Ã³¸®
vtNumericOnly     = 2;      // ¼ýÀÚ¸¸ ÀÔ·Â                    
vtEngOnly         = 3;      // ¿µ¹®¸¸ ÀÔ·Â                    
vtHanOnly         = 4;      // ÇÑ±Û¸¸ ÀÔ·Â                    
vtNumericOther    = 5;      // ¼ýÀÚ+±âÅ¸±ÛÀÚ                  
vtEngOther        = 6;      // ¿µ¹®+±âÅ¸±ÛÀÚ                  
vtHanOther        = 7;      // ÇÑ±Û+±âÅ¸±ÛÀÚ  

/* FocusStyle ¼Ó¼º¿¡ ¼³Á¤ÇÏ´Â °ª - 2.4.0.0 */
fsNone            = 0;      // ¸ð¾ç ¾øÀ½
fsLight           = 1;      // Á¡¼± ¸ð¾ç (±âº»¸ð¾ç)
fsHeavy           = 2;      // ±½Àº È¸»ö Å×µÎ¸® ¸ð¾ç
fsSolid           = 3;      // SelectBackColor »ö»óÀÇ ½Ç¼±
fsRaised          = 4;      // ÀÔÃ¼ÀûÀ¸·Î ³ª¿Â ¸ð¾ç
fsInset           = 5;      // ¾ÈÀ¸·Î µé¾î°£ ¸ð¾ç

/**
 * Form¿ÀºêÁ§Æ® ¾È¿¡ ÀÖ´Â ÄÁÆ®·ÑÀ» QueryStringÀ¸·Î ±¸¼ºÇÑ´Ù. ÀÌ¶§, ÇÑ±ÛÀº ÀÎÄÚµùÇÏÁö ¾Ê´Â´Ù.
 * @param : form      - ÀÌµ¿ ¿øº» SheetÀÇ Object id
 * @return : Form¿ÀºêÁ§Æ® ¾È¿¡ ControlÀ» QueryStringÀ¸·Î ±¸¼ºÇÑ ¹®ÀÚ¿­
 * @version : 1.0.0.0
 * @sample
 *  var sCondParam=FormQueryString(document.frmSearch); //°á°ú:"txtname=ÀÌ°æÈñ&rdoYn=1&sltMoney=¿øÈ­";
 */
function FormQueryString(form) {
  if (typeof form != "object" || form.tagName != "FORM") {
    alert("FormQueryStringÇÔ¼öÀÇ ÀÎÀÚ´Â FORM ÅÂ±×°¡ ¾Æ´Õ´Ï´Ù.");
    return "";
  }
  
	var name = new Array(form.elements.length); 
	var value = new Array(form.elements.length); 
	var j = 0;
	var plain_text="";

	//»ç¿ë°¡´ÉÇÑ ÄÁÆ®·ÑÀ» ¹è¿­·Î »ý¼ºÇÑ´Ù.
	len = form.elements.length; 
	for (i = 0; i < len; i++) {
	  switch (form.elements[i].type) {
	    case "button":
	    case "reset":
	    case "submit":
	      break;
	    case "radio":
	    case "checkbox":
  				if (form.elements[i].checked == true) {
  					name[j] = form.elements[i].name; 
  					value[j] = form.elements[i].value;
  					j++;
  				}
  				break;
  		case "select-one":
  				name[j] = form.elements[i].name; 
					var ind = form.elements[i].selectedIndex;
					if(ind >= 0) {
						if (form.elements[i].options[ind].value != '')
							value[j] = form.elements[i].options[ind].value;
						else
							value[j] = form.elements[i].options[ind].text;
					} else {
						value[j] = "";
					}
					j++;
					break;
			case "select-multiple":
  				name[j] = form.elements[i].name; 
					var llen = form.elements[i].length;
					var increased = 0;
					for( k = 0; k < llen; k++) {
						if (form.elements[i].options[k].selected) {
							name[j] = form.elements[i].name; 
							if (form.elements[i].options[k].value != '')
								value[j] = form.elements[i].options[k].value;
							else
								value[j] = form.elements[i].options[k].text;
							j++;
							increased++;
						}
					}
					if(increased > 0) {
						j--;
					} else {
						value[j] = "";
					}
					j++;
					break;
				default :
  				name[j] = form.elements[i].name; 
					value[j] = form.elements[i].value;
  				j++;
		}
	}

  //QueryStringÀ» Á¶ÇÕÇÑ´Ù.
	var replaceVal = "";
	for (i = 0; i < j; i++) {
		 if (name[i] != '') {
			 replaceVal = value[i].replace(/&/gi,"&#38;");
			 plain_text += name[i]+ "=" + replaceVal + "&";
		 }
	}
  
  //¸¶Áö¸·¿¡ &¸¦ ¾ø¾Ö±â À§ÇÔ
  if (plain_text != "")
    plain_text = plain_text.substr(0, plain_text.length -1); 
	return plain_text;
}

/**
 * Form¿ÀºêÁ§Æ® ¾È¿¡ ÀÖ´Â ÄÁÆ®·ÑÀ» QueryStringÀ¸·Î ±¸¼ºÇÑ´Ù. ÀÌ¶§, ÇÑ±ÛÀº ÀÎÄÚµùÇÑ´Ù.
 * @param : form      - ÀÌµ¿ ¿øº» SheetÀÇ Object id
 * @param : toSheet   - ÀÌµ¿ ´ë»ó SheetÀÇ Object id
 * @return : Form¿ÀºêÁ§Æ® ¾È¿¡ ControlÀ» QueryStringÀ¸·Î ±¸¼ºÇÑ ¹®ÀÚ¿­
 * @version : 1.0.0.0
 * @sample
 *  var sCondParam=FormQueryStringEnc(document.frmSearch, mySheet1);
*   ¿øº»:"txtname=ÀÌ°æÈñ&rdoYn=1&sltMoney=¿øÈ­";
 *  °á°ú:"txtname=%C0%CC%B0%E6%C8%F1&rdoYn=1&sltMoney=%BF%F8%C8%AD";                //UTF16ÀÎ °æ¿ì
 *  °á°ú:"txtname=%EC%9D%B4%EA%B2%BD%ED%9D%AC&rdoYn=1&sltMoney=%EC%9B%90%ED%99%94"; //UTF8ÀÎ °æ¿ì
 */
function FormQueryStringEnc(form, sheet) {
  if (typeof form != "object" || form.tagName != "FORM") {
    alert("FormQueryStringEncÇÔ¼öÀÇ form ÀÎÀÚ´Â FORM ÅÂ±×°¡ ¾Æ´Õ´Ï´Ù.");
    return "";
  }
  
  if (typeof sheet != "object" || sheet.tagName != "OBJECT") {
    alert("FormQueryStringEncÇÔ¼öÀÇ sheet ÀÎÀÚ´Â IBSheet°¡ ¾Æ´Õ´Ï´Ù.");
    return "";
  }
  
	var name = new Array(form.elements.length); 
	var value = new Array(form.elements.length); 
	var j = 0;
	var plain_text="";

	//»ç¿ë°¡´ÉÇÑ ÄÁÆ®·ÑÀ» ¹è¿­·Î »ý¼ºÇÑ´Ù.
	len = form.elements.length; 
	for (i = 0; i < len; i++) {
	  switch (form.elements[i].type) {
	    case "button":
	    case "reset":
	    case "submit":
	      break;
	    case "radio":
	    case "checkbox":
  				if (form.elements[i].checked == true) {
  					name[j] = form.elements[i].name; 
  					value[j] = form.elements[i].value;
  					j++;
  				}
  				break;
  		case "select-one":
  				name[j] = form.elements[i].name; 
					var ind = form.elements[i].selectedIndex;
					if(ind >= 0) {
						if (form.elements[i].options[ind].value != '')
							value[j] = form.elements[i].options[ind].value;
						else
							value[j] = form.elements[i].options[ind].text;
					} else {
						value[j] = "";
					}
					j++;
					break;
			case "select-multiple":
  				name[j] = form.elements[i].name; 
					var llen = form.elements[i].length;
					var increased = 0;
					for( k = 0; k < llen; k++) {
						if (form.elements[i].options[k].selected) {
							name[j] = form.elements[i].name; 
							if (form.elements[i].options[k].value != '')
								value[j] = form.elements[i].options[k].value;
							else
								value[j] = form.elements[i].options[k].text;
							j++;
							increased++;
						}
					}
					if(increased > 0) {
						j--;
					} else {
						value[j] = "";
					}
					j++;
					break;
				default :
  				name[j] = form.elements[i].name; 
					value[j] = form.elements[i].value;
  				j++;
		}
	}

  //QueryStringÀ» Á¶ÇÕÇÑ´Ù.
	for (i = 0; i < j; i++) {
		if (name[i] != '') plain_text += name[i]+ "=" + sheet.UrlEncoding(value[i]) + "&";
	}
  
  //¸¶Áö¸·¿¡ &¸¦ ¾ø¾Ö±â À§ÇÔ
  if (plain_text != "")
    plain_text = plain_text.substr(0, plain_text.length -1); 
	return plain_text;
}


/**
 * 2°³ Sheet¿¡¼­ µ¥ÀÌÅÍ ÀÌµ¿ÇÏ±â - Ã¼Å©µÈ µ¥ÀÌÅÍ¸¸ ÀÌµ¿ÇÏ±â
 * @param : fromSheet - ÀÌµ¿ ¿øº» SheetÀÇ Object id
 * @param : toSheet   - ÀÌµ¿ ´ë»ó SheetÀÇ Object id
 * @param : chkCol    - Ã¼Å©¹Ú½º ÄÃ·³ÀÇ ÀÎµ¦½º
 * @return : ¾øÀ½
 * @version : 2.4.0.0
 * @sample
 *  IBS_Sheet2SheetCheck(mySheet1, mySheet2, 2);
 */
function IBS_Sheet2SheetCheck(fromSheet, toSheet, chkCol)  {

  //ÇÔ¼ö ÀÎÀÚ À¯È¿¼º È®ÀÎ
  if (typeof fromSheet != "object" || fromSheet.tagName != "OBJECT") 
    return alert("Sheet2SheetCheck ÇÔ¼öÀÇ fromSheet ÀÎÀÚ´Â IBSheet°¡ ¾Æ´Õ´Ï´Ù.");
  else if (typeof toSheet != "object" || toSheet.tagName != "OBJECT") 
    return alert("Sheet2SheetCheck ÇÔ¼öÀÇ toSheet ÀÎÀÚ´Â IBSheet°¡ ¾Æ´Õ´Ï´Ù.");
  else if (chkCol < 0 || chkCol > fromSheet.LastCol)
    return alert("Sheet2SheetCheck ÇÔ¼öÀÇ chkCol ÀÎÀÚ´Â ÄÃ·³ ¿µ¿ª ÀÌ³»°¡ ¾Æ´Õ´Ï´Ù.");

  //µ¥ÀÌÅÍ ÇàÀÇ °³¼ö È®ÀÎ
  var toRow = toSheet.RowCount;
  
  fromSheet.Redraw = false;
  toSheet.Redraw = false;
  
  //¿øº»¿¡¼­ ¿ª¼øÀ¸·Î Check µÈ µ¥ÀÌÅÍ¸¦ È®ÀÎÇÏ¿© ÀÌµ¿
  for (ir = fromSheet.RowCount; ir>= 1; ir--) {
    //Check µÇÁö ¾ÊÀº °æ¿ì °Ç³Ê¶Ü
    if (fromSheet.CellValue(ir, chkCol) == '0') continue;
    
    //µ¥ÀÌÅÍ Çà Ãß°¡
    toRow = toSheet.DataInsert(toRow);

    //µ¥ÀÌÅÍ ¿Å±â±â
    for (ic = 0; ic<=fromSheet.LastCol; ic++) {
      //Ã¼Å© ÄÃ·³Àº »©°í ¿Å±è
      if (ic == chkCol) continue; 
      toSheet.CellValue(toRow,ic) = fromSheet.CellValue(ir,ic);
    }

    //¿øº»¿¡¼­ Áö¿ò
    fromSheet.RowDelete(ir, false);
    toRow--;
  }
  
  toSheet.Redraw = true;
  fromSheet.Redraw = true;  
}


/**
 * 2°³ Sheet¿¡¼­ µ¥ÀÌÅÍ ÀÌµ¿ÇÏ±â - Æ¯Á¤ Æ®·£Àè¼Ç »óÅÂ¸¸ ÀÌµ¿ÇÏ±â
 * @param : fromSheet - ÀÌµ¿ ¿øº» SheetÀÇ Object id
 * @param : toSheet   - ÀÌµ¿ ´ë»ó SheetÀÇ Object id
 * @param : sStatus   - Æ®·£Àè¼Ç »óÅÂ¸¦ "|"·Î ¿¬°áÇÒ°Í, ¿¹) sStatus = "U|D"
 * @return : ¾øÀ½
 * @version : 2.4.0.0
 * @sample
 *  IBS_Sheet2SheetStatus(mySheet1, mySheet2, "U");
 *  IBS_Sheet2SheetStatus(mySheet1, mySheet2, "U|D");
 */
function IBS_Sheet2SheetStatus(fromSheet, toSheet, sStatus)  {

  //ÇÔ¼ö ÀÎÀÚ À¯È¿¼º È®ÀÎ
  if (typeof fromSheet != "object" || fromSheet.tagName != "OBJECT") 
    return alert("Sheet2SheetStatus ÇÔ¼öÀÇ fromSheet ÀÎÀÚ´Â IBSheet°¡ ¾Æ´Õ´Ï´Ù.");
  else if (typeof toSheet != "object" || toSheet.tagName != "OBJECT") 
    return alert("Sheet2SheetStatus ÇÔ¼öÀÇ toSheet ÀÎÀÚ´Â IBSheet°¡ ¾Æ´Õ´Ï´Ù.");

  //µ¥ÀÌÅÍ ÇàÀÇ °³¼ö È®ÀÎ
  var fromRow = 0;
  
  var sRow = fromSheet.FindStatusRow(sStatus);
  var arrRow = sRow.split(";");

  var rowXml = "";
  var allXml = "<?xml version='1.0'  ?><SHEET>  <DATA>";

  //¿øº»¿¡¼­ ¿ª¼øÀ¸·Î Æ¯Á¤ »óÅÂÀÇ ÇàÀ» ÀÌµ¿ÇÑ´Ù.
  for (ir = 0; ir < arrRow.length-1; ir++) {
    fromRow = arrRow[ir];
    
    //¿Å±æ µ¥ÀÌÅÍ¸¦ xml·Î ±¸¼ºÇÑ´Ù.
    rowXml = "<TR>";
    for (ic = 0; ic<=fromSheet.LastCol; ic++) {
      rowXml += "<TD>" + fromSheet.CellValue(fromRow,ic) + "</TD>";
    }
    rowXml += "</TR>";
    
    allXml += rowXml;
    
  }
  
  //¿øº»¿¡¼­ ¿ª¼øÀ¸·Î Æ¯Á¤ »óÅÂÀÇ ÇàÀ» ÀÌµ¿ÇÑ´Ù.
  for (ir = arrRow.length-2; ir >=0 ; ir--) {
    fromRow = arrRow[ir];
    //¿øº»¿¡¼­ Áö¿ò
    fromSheet.RowDelete(fromRow, false);
  }
  allXml += "</DATA></SHEET>";
  
  toSheet.LoadSearchXml(allXml, true);
}


/**
 * SheetÀÇ µ¥ÀÌÅÍ¸¦ Á¶È¸XML·Î ±¸¼ºÇÏ¿© ¹ÝÈ¯ÇÑ´Ù.
 * @param : sheet_obj - IBSheet Object ID
 * @return : SheetÀÇ µ¥ÀÌÅÍ¸¦ Á¶È¸XML·Î ±¸¼ºÇÑ ¹®ÀÚ¿­
 * @version : 2.4.0.0
 * @sample
 *  var sXml = IBS_GetDataSearchXml(mySheet);
 */
function IBS_GetDataSearchXml(sheet_obj)  {
  
  //ÇÔ¼ö ÀÎÀÚ À¯È¿¼º È®ÀÎ
  if (typeof sheet_obj != "object" || sheet_obj.tagName != "OBJECT") {
    alert("Data2SearchXml ÇÔ¼öÀÇ sheet_obj ÀÎÀÚ´Â IBSheet°¡ ¾Æ´Õ´Ï´Ù.");
    return "";
  }

  var rowXml = "";
  var allXml = "<?xml version='1.0'  ?>\n<SHEET>\n  <DATA TOTAL='"+ sheet_obj.TotalRows +"'>\n";
  
  for (ir = sheet_obj.HeaderRows; ir <= sheet_obj.LastRow; ir++) {
    rowXml = "    <TR>";
    for (ic = 0; ic<= sheet_obj.LastCol; ic++) {
      rowXml += "<TD>" + sheet_obj.CellValue(ir,ic) + "</TD>";
    }
    rowXml += "</TR>\n";
    
    allXml += rowXml;
  }
  
  allXml += "  </DATA>\n</SHEET>";
  
  return allXml;
}


/**
 * SaveNameÀ» ±¸ºÐÀÚ·Î Á¶ÇÕÇÏ¿© ¹ÝÈ¯ÇÑ´Ù.
 * @param : sheet - IBSheet Object ID
 * @param : delim - ±¸ºÐÀÚ, Default="|"
 * @return : SaveNameÀ» ±¸ºÐÀÚ·Î Á¶ÇÕµÈ ¹®ÀÚ¿­
 * @version : 2.4.0.0
 * @sample
 *  var sParam = IBS_ConcatSaveName(mySheet);
 *  var sParam = IBS_ConcatSaveName(mySheet, ",");
 */
function IBS_ConcatSaveName(sheet, delim)
{
  if (delim == null) delim = "|";
  var savenames = "";
  for ( var n = 0; n <= sheet.LastCol; n++ )
  {
    savenames += sheet.ReadDataProperty(0, n, dpSaveName) + delim;
  }
  return savenames;
}
