document.attachEvent ("onreadystatechange", function() {
  if (document.readyState=="complete")   {	// »óÅÂÇ¥½ÃÁÙ¿¡ ·ÎµùÀÌ ¿Ï·áµÇ¸é complete ¹ÝÈ¯ (ie ¿¡¼­¸¸ Áö¿ø µÊ)
    if (window.cbOnBeforeLoad) window.cbOnBeforeLoad();
  }
})

/**
 * @type   : function
 * @access : public
 * @desc   :
 * @author : tkyushin
 */
function actSubmitValidate(oform, action, target) {
  if (target) oform.target = target;
  if (action) oform.action = action;
  if (!oform.method) oform.method = "post";
  if (oform.fireSubmit) oform.fireSubmit();
  else oform.submit();

}

function actCancel(oform, action, target) {
  if (target) oform.target = target;
  if (action) oform.action = action;
  if (!oform.method) oform.method = "post";
  oform.reset();
  oform.submit();
}

function actSubmit(oform, action, target) {
  if (target) oform.target = target;
  if (action) oform.action = action;
  if (!oform.method) oform.method = "post";
  oform.submit();
}

function xjosiate(oTag) {
  _xjosiage(oTag.getElementsByTagName("INPUT"));
  _xjosiage(oTag.getElementsByTagName("SELECT"));
  _xjosiage(oTag.getElementsByTagName("TEXTAREA"));
}

function _xjosiage(oTags) {
  for (var idx=0; idx < oTags.length; idx ++) {
    if (!window.xGetOption("X_SUPPORT_HIDDEN_TYPE") && oTags[idx].type == 'hidden') continue;
    oTags[idx].initialize = em_initialize;
    oTags[idx].initialize(oTags[idx].form);
  }
}

function findParentTag(oTag, tagName) {
  while (oTag && oTag.tagName != "BODY") {
    if (oTag.tagName == tagName) return oTag;
    oTag = oTag.parentNode;
  }
  return null;
}

function findTagByName(oTag, tagName, name) {
  var tags = oTag.getElementsByTagName(tagName);
  for (var idx=0; idx<tags.length; idx++) {
    if (tags[idx].name == name) return tags[idx];
  }
  return null;
}

function flipCheckBox(oCheck) {
  if (!oCheck) return;
  if (oCheck.tagName && oCheck.tagName=="INPUT" && oCheck.type=="checkbox") {
    oCheck.checked = oCheck.checked ? false : true;
  } else if (oCheck.length && oCheck.length > 1) {
    var until = oCheck.length;
    for (var idx=0; idx < until; idx++) {
      oCheck[idx].checked = oCheck[idx].checked ? false : true;
    }
  }
}

function getCheckedOnly(inputs) {
  var result = new Array();
  if (inputs && inputs.tagName == "INPUT" && inputs.checked) result[0] = inputs;
  else if (inputs && inputs.length && inputs.length > 0 ) {
    var until = inputs.length;
    for (var idx=0; idx<until; idx++) {
      if (inputs[idx].tagName == "INPUT" && inputs[idx].checked) result[result.length] = inputs[idx];
    }
  }
  return result;
}


function cloneRow(sourceRowId, targetTableId, xjosEnable) {
  var oTR = document.getElementById(sourceRowId);
  var tTable = document.getElementById(targetTableId);
  var tTbody = tTable.tBodies[0];
  var oNewTR = oTR.cloneNode(true);
  oNewTR.id = "";
  tTbody.appendChild(oNewTR);
  if (xjosEnable == true) xjosiate(oNewTR);
  return oNewTR;
}

function getLength(inputs) {
  return (!inputs || !inputs.length) ?  0 : inputs.length;
}


function clearInput(oInput) {
  if (oInput.tagName == "FORM") {
    var until = oInput.elements.length;
    for (var idx=0; idx < until; idx++) {
      clearInput(oInput.elements[idx]);
    }
  } else if (oInput.tagName == "INPUT" ||  oInput.tagName == "SELECT" || oInput.tagName == "TEXTAREA") {
      switch (oInput.type) {
        case "text" :  case "hidden" : case "password" : case "textarea" :
        case "select-one" : case "select-multiple" :
          oInput.value = "";
        break;
        case "radio" :  case "checkbox" :
          oInput.checked = false;
        break;
      }
  }
}

function removeOptions(oSelect) {
  if (oSelect.tagName != "SELECT") return;
  var until = oSelect.options.length;
  for (var idx=0; idx < until ; idx++) oSelect.remove(0);
}

/**
 * ³¯Â¥¼±ÅÃ¿ë ´Þ·Â(calendar.js°¡ ¹Ýµå½Ã importµÇ¾î ÀÖ¾î¾ßÇÔ)
 * oTarget : ³¯Â¥°ªÀÌ ÂïÈú ¸ñÇ¥°´Ã¼
 * anchorName : ´Þ·ÂÀÌ À§Ä¡ÇÒ ±âÁØ ¾ÞÄ¿ÀÌ¸§(id, name ¸ðµÎ ÁöÁ¤µÇ¾î¾ßÇÏ¸ç µ¿ÀÏÇØ¾ß ÇÔ)
 * dateFormat : ³¯Â¥°ª Æ÷¸Ë(yyyy, MM, dd »ç¿ë°¡´ÉÇÏ¸ç ¹ÌÁöÁ¤½Ã 'yyyy-MM-dd' Æ÷¸ËÀÌ »ç¿ëµÊ)
 */
function showCalendar(oTarget, anchorName, dateFormat) {
  var calendar = new CalendarPopup();
  calendar.setMonthNames('1','2','3','4','5','6','7','8','9','10','11','12');
  calendar.setDayHeaders('Su','Mo','Tu','We','Th','Fi','Sa');
//  calendar.showNavigationDropdowns();
  calendar.showYearNavigation();
  calendar.setYearSelectStartOffset(3);
//  calendar.setTodayText('¿À´Ã');

  if(!dateFormat) dateFormat = DATE_FORMAT ;
  calendar.select(oTarget, anchorName, dateFormat);
}




/****************************************************
	tab ¼±ÅÃ½Ã º¯°æ
*****************************************************/
function changeTab(divName, obj){
	var objChild ;
	var objParent  = obj.parentElement.parentElement.parentElement ;
	for (var i=0; i < objParent.childNodes.length;i++){
		objChild = objParent.childNodes[i] ;
		if (objChild.tagName != undefined)
			if ( objChild.tagName.toUpperCase() == "LI"){
				objChild.className = "taboff" ;
			}
	}
	obj.parentElement.parentElement.className = "tabon" ;

	objParent  = document.getElementById(divName).parentElement ;
	for (var j=0; j < objParent.childNodes.length;j++){
		objChild = objParent.childNodes[j] ;
		if (objChild.tagName != undefined){
			if ((objChild.tagName.toUpperCase() == "DIV")
			&& (objChild.className.indexOf("tab_page") > -1 ))
				if (objChild.id != divName){
					objChild.style.visibility = "hidden" ;
				} else {
					objChild.style.visibility = "visible" ;
				}
		}
	}

}

/****************************************************
	tab ÃÊ±âÈ­
*****************************************************/
function initializeTab(divName){
	var divPage = "" ;
	var objTabButton = null ;

	var divObj = document.getElementById(divName).firstChild ;

	for (var j=0; j < divObj.childNodes.length;j++){
		if (divObj.childNodes[j].tagName != undefined){
			if (divObj.childNodes[j].tagName.toUpperCase() == "LI"){
				objTabButton = divObj.childNodes[j].firstChild.firstChild ;
				break ;
			}
		}
	}

	divObj = divObj.parentElement.parentElement ;
	for (var j=0; j < divObj.childNodes.length;j++){
		if (divObj.childNodes[j].tagName != undefined){
			if ((divObj.childNodes[j].tagName.toUpperCase() == "DIV")
			&& (divObj.childNodes[j].className == "tab_page" )){
				divPage = divObj.childNodes[j].id ;
				break ;
			}
		}
	}

	changeTab(divPage, objTabButton) ;
}


function __ShowEmbedObject(__ELEMENT_ID)
{
	document.write( __ELEMENT_ID.text );
	__ELEMENT_ID.id = "";
}

if (!sfext) var sfext = {};

sfext.file = function (polName){
	this.fileType = document.createElement('INPUT') ;
	this.fileSize = document.createElement('INPUT') ;
	this.fileType.type = "hidden" ;
	this.fileSize.type = "hidden" ;
	this.fileType.id = "lafxType" ;
	this.fileSize.id = "lafxSize" ;

	document.body.appendChild(this.fileType) ;
	document.body.appendChild(this.fileSize) ;

	this.conf = new lafj.xSync("/com.com.conf.RetrievePolicyProperties.laf");
	this.conf.addQuery("polName", polName);
	this.conf.addQuery("typeId", "lafxType");
	this.conf.addQuery("sizeId", "lafxSize");
	this.conf.fire();

}

sfext.file.prototype.check = function (obj){
	var size = getFileSize(obj.value);
/*
	alert(size+","+parseInt(this.fileSize.value));

	if (getFileSize(obj.value) > parseInt(this.fileSize.value)){
		alert("ÆÄÀÏ Å©±â´Â " + Math.round(parseInt(this.fileSize.value) / 1024 /1024 )+ "(MB) ÀÌÇÏ¸¸ °¡´ÉÇÕ´Ï´Ù.");
		obj.value = "" ;
		return false ;
	}
*/
	if (this.fileType.value.trim().charAt(this.fileType.value.length) != ";"){
		this.fileType.value = this.fileType.value.trim().toUpperCase() + ";" ;
	}

	if (this.fileType.value.indexOf("*." + getFileType(obj.value)+";") < 0 ){
		alert("ÆÄÀÏ Å¸ÀÔÀº " + this.fileType.value + "¸¸ °¡´ÉÇÕ´Ï´Ù.");
		obj.value = "" ;
		return false ;
	}
	return true ;
}

sfext.file.prototype.dispose = function (){
	this.fileType.removeNode();
	this.fileSize.removeNode();
	this.fileType = null ;
	this.fileSize = null ;
}

function getFileType(file){
	if (file.lastIndexOf('.') > -1)
		return file.trim().substring(file.lastIndexOf('.')+1 ,file.length).toUpperCase() ;
	else
		return "XXX";
}


/**
 * @desc   : ·ÎÄÃ ÆÄÀÏ Å©±â ¾Ë¾Æ³»´Â ÇÔ¼ö. byte Å©±â¸¦ ¸®ÅÏÇÑ´Ù.
 * @source : http://javacan.madvirus.net/main/content/read.tle?contentId=121
 * @author : ÃÖ¹ü±Õ(madvirus@madvirus.net)
 */
function getFileSize(filePath) {
    var len = 0;
    if ( navigator.appName.indexOf("Netscape") != -1) {
        try {
            netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
        } catch(e) {
            alert("signed.applets.codebase_principal_support¸¦ ¼³Á¤ÇØÁÖ¼¼¿ä!\n"+e);
            return -1;
        }
        try {
            var file = Components.classes["@mozilla.org/file/local;1"]
                                 .createInstance(Components.interfaces.nsILocalFile);
            file.initWithPath ( filePath );
            len = file.fileSize;
        } catch(e) {
            alert("¿¡·¯ ¹ß»ý:"+e);
        }
    } else if (navigator.appName.indexOf('Microsoft') != -1) {
		var imgSize = new Image() ;
		imgSize.dynsrc = filePath  ;
		len = imgSize.fileSize;
    }
    return len;
}