/*
    Project : COMMON
    
    Purpose : UI Control Utils JavaScript Method 
    
    Modify History :    
    
    Person      Date    Comment
    -------------------------------------------------------
    kyk     2000.12.26   frame create    
    
    Note :    
    

*/

/**
 * Window Open <br>
 * Window¼Ó¼º - È­¸é°¡¿îµ¥ À§Ä¡ ÇÏ¸ç scrollbar = yes, resizable=yes, status=yes, toolbar=no, menubar=no
 * @param url  windowÀÇ URL
 * @param name  WindowÀÇ ¸í
 * @param widht windowÆø (ÇÈ¼¿)
 * @param height window³ôÀÌ (ÇÈ¼¿)
 * @return window object
 */
function openWindow(url, name, width, height)   {
    var top     =       screen.height / 2 - height / 2 - 50;
    var left    =       screen.width / 2 - width / 2 ;


		var win = window.open( varAction, varWinName , "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0, width=" + varWidth + ",height=" + varHeight + ", left="+sxx+",top="+syy);
	
		return win;


    var win = open(url, name, 'width='+width+',height='+height+',top='+top+',left='+left+',resizable=yes,status=yes,toolbar=no,menubar=no');
    win.focus();
    return win;
}

/**
 * Bubble sort function due to Javascript's sort() method of the Array 
 * class's bug.
 *  And, this function uses bubble sort algorithm for the simplicity.
 *  
 * @param array the array to sort
 * @param comfunc the comparator function
 */
function sortArray( array, cmpfunc ) {
   var i,j;
   
   for ( i = array.length - 1; i >= 0; i-- ) {
     for ( j = 0; j < i; j++ ) {
       var cond;
       if ( cmpfunc == null )
           cond = (array[j] > array[j+1]);
       else
           cond = cmpfunc( array[j], array[j+1] );     
       if ( cond ) {
          // swap the elements
          temp = array[j];
          array[j] = array[j+1];
          array[j+1] = temp;
       }
     }
   }
}

/**
 * Make the specified value selected in the selection object
 *
 * @param selectObject the object to modify the selected value
 * @param value the value to be selected
 * @return true : success changed, false : no data found
 */
function setSelectedIndexByValue( selectObject, value ) {
  if ( selectObject == null )
    return false;
    
  for ( var i = 0; i < selectObject.options.length; i++ ) {
    if ( selectObject.options[i].value == value ) {
      selectObject.selectedIndex = i;
      return true;
    }
  }
  return false
}

/**
 * Returns the selected value from the selection object
 * @param selectObject the selection object
 */
function getSelectedValue( select ) {
  if ( select == null )
    return null;
  
  return select.options[select.selectedIndex].value;
}

/**
 * Selection Object¿¡¼­ ValueÀÇ Index Return 
 * @param select the selection object
 * @param value °ª 
 * @return Index of value, -1 if there were no value in Selection Object.
 */
function getIndexByValue( select, value ) {
  if ( select == null )
    return;
    
  for ( var i = 0; i < select.options.length; i++ ) {
    if ( select.options[i].value == value )
      return i;
  }
  
  return -1;  // not found.
}
/**
 * Selection Object¿¡ Option array Ãß°¡ 
 * @param select the selection object
 * @param option the option array
 */
function addOptionToSelect( select, option ) {
  //@@ ÇöÀç ÀÛ¾÷Áß Àß ¾ÈµÇ´Â ±º¿ä. ÁÁÀº ¹æ¹ý ¾øÀ»±î¿ä? andy.2000.1.3
  
  select.options[select.options.length] = option;
}

/**
 * Selection Object¿¡¼­ Value¸¦ °¡Áö´Â optionÁ¦°Å 
 * @param selectObject the Selection Object
 * @param value Option value to remove
 * @return true : success changed, false : no data found 
 */
function removeOptionByValue( selectObject, value ) {
    
  if ( selectObject == null )  
    return false;
    
  var index = getIndexByValue( selectObject, value );
  var srcC = 0, destC = 0;  
  if ( index == -1 ) return false; // not found
  
  // else value was found, shift all elemenets which are after index    
  while ( srcC < selectObject.options.length) {
    selectObject.options[destC] = selectObject.options[srcC];
    if ( srcC == index ) destC--;       
    srcC++;
    destC++;
  }  
  selectObject.options.length -= 1;     
  return true;
}


/**
 * ³¯Â¥ µ¥ÀÌÅÍ¸¦ SettingÇÑ´Ù. printDateSelect()¿Í ÇÔ²² »ç¿ë 
 * @param select select Object ex) document.frm.p_date
 */

function mergeDateSelect( select ) {
    
    var sYear = eval('document.' + select.form.name + '.' + select.name + '_year');
    var sMonth = eval('document.' + select.form.name + '.' + select.name + '_month');
    var sDate = eval('document.' + select.form.name + '.' + select.name + '_date');
       
    select.value = sYear.options[ sYear.selectedIndex ].value;
    select.value += sMonth.options[ sMonth.selectedIndex ].value;
    select.value += sDate.options[ sDate.selectedIndex ].value;
    
 }

  
/**
 * ³â + ¿ù + ÀÏ <select>..</select> Tag »Ñ¸®±â 
 * @param selectName <select name='<--¿¡ µé¾î°¥ Name 
 */
function printDateSelect( selectName ) {
    
    document.writeln( "<input type='hidden' name='" + selectName + "'>");
    
    var yearSelectName = selectName + '_year';
    var monthSelectName	= selectName + '_month';
    var dateSelectName = selectName + '_date';
    
    document.writeln( makeYearSelect( yearSelectName ) + '³â ' 
         + makeMonthSelect( monthSelectName) +'¿ù '
         + makeDateSelect( dateSelectName) +'ÀÏ');
}

/**
 * ³â + ¿ù <select>..</select> Tag »Ñ¸®±â 
 */
function printYearToMonthSelect( yearSelectName, monthSelectName ) {
    document.writeln( makeYearSelect( yearSelectName ) + '³â ' 
         + makeMonthSelect( monthSelectName) +'¿ù' );
}
/**
 * ³âµµ <select>..</select> Tag ¸¸µé±â
 */
function makeYearSelect( yearSelectName ) {
    var html = "";
    var now = new Date();
    if ( yearSelectName != null ) {    
    html = '<select name="' + yearSelectName + '">';    
    for ( var i = now.getFullYear() ; i <= now.getFullYear() + 5; i++ ) {
    html    += '<option value="' + i + '"' 
        + ( (now.getFullYear() == i) ? ' selected' : '') 
        + '>' + i + '</option>\n';
    }        
    html += '</select>';       
    return html;
    } else {
    	alert('³âµµ ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}
/**
 * ¿ù(month) <select>..</select> Tag ¸¸µé±â
 */
function makeMonthSelect( monthSelectName ) {
    var html = "";
    var now = new Date();    
    if ( monthSelectName != null ) {
    html = '<select name=' + monthSelectName + '>';
    for ( var i = 1; i <= 12; i++ )
    html    +=  '<option value="' + ( ( i < 10 ) ? '0' + i : i) + '"' 
        +   ( ( now.getMonth() + 1== i ) ? ' selected' : '') 
        +   '>' + i + '</option>\n';
    html += '</select>';
    return html;
    } else {
    	alert('¿ù(month)ÀÔ·Â ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}

/**
 * ÀÏ(date) <select>..</select> Tag ¸¸µé±â
 */
function makeDateSelect( dateSelectName ) {
    var html = "";
    var now = new Date();    
    if ( dateSelectName != null ) {
    html = '<select name=' + dateSelectName + '>';
    for ( var i = 1; i <= 31; i++ )
    html    +=  '<option value="' + ( ( i < 10 ) ? '0' + i : i) + '"' 
        +   ( ( now.getDate() == i ) ? ' selected' : '') 
        +   '>' + i + '</option>';
    html += '</select>';       
    return html;
    } else {
    	alert('ÀÏ(date)ÀÔ·Â ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}

function makeYearSelectBirth(yearSelectName,yearValue) {

    var html = "";
    var now = new Date();
	var values="";
	if (yearValue=="")
		values=parseInt(now.getFullYear());
	else
		values=parseInt(yearValue);

	var year_value=now.getFullYear()
    if ( yearSelectName != null ) {    
    html = '<select name="' + yearSelectName + '">';    

    for ( var i = now.getFullYear() - 60; i <= now.getFullYear(); i++ ) {
    html    += '<option value="' + i + '"' 
        + ( (values == i) ? ' selected' : '') 
        + '>' + i + '</option>\n';
    }        
    html += '</select>';       
	return html;
    } else {
    	alert('³âµµ ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}


function makeYearSelect1(yearSelectName,yearValue) {

    var html = "";
    var now = new Date();
	var values="";
	if (yearValue=="")
		values=parseInt(now.getFullYear());
	else
		values=parseInt(yearValue);

	var year_value=now.getFullYear()
    if ( yearSelectName != null ) {    
    html = '<select name="' + yearSelectName + '">';    
    //for ( var i = now.getFullYear() - 1; i <= now.getFullYear() + 3; i++ ) {
    for ( var i = 1990; i <= now.getFullYear() + 3; i++ ) {
    html    += '<option value="' + i + '"' 
        + ( (parseInt(values) == i) ? ' selected' : '') 
        + '>' + i + '</option>\n';
    }        
    html += '</select>';       
	return html;
    } else {
    	alert('³âµµ ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    

}

function makeMonthSelect1( monthSelectName,MonthValue) {
    var html = "";
    var now = new Date();    

	var values="";
	if (MonthValue=="")
		values=parseInt(now.getMonth())+1;
	else
		values=parseInt(MonthValue);

	if ( monthSelectName != null ) {
    html = '<select name=' + monthSelectName + '>';
    for ( var i = 1; i <= 12; i++ )
    html    +=  '<option value="' + (i) + '"' 
        +   ( ( parseInt(values) == i ) ? ' selected' : '') 
        +   '>' + i + '</option>\n';
    html += '</select>';
	return html;
    } else {
    	alert('¿ù(month)ÀÔ·Â ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}

function makeDateSelect1( dateSelectName,DayValue ) {
    var html = "";
    var now = new Date();    

	var values="";
	if (DayValue=="")
		values=parseInt(now.getDate());
	else
		values=parseInt(DayValue);

    if ( dateSelectName != null ) {
    html = '<select name=' + dateSelectName + '>';
    for ( var i = 1; i <= 31; i++ )
    html    +=  '<option value="' + (i) + '"' 
        +   ( ( parseInt(values) == i ) ? ' selected' : '') 
        +   '>' + i + '</option>';
    html += '</select>';       
	return html;
    } else {
    	alert('ÀÏ(date)ÀÔ·Â ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}

function makeHourSelect1( hourSelectName,HourValue ) {
    var html = "";
    var now = new Date();    
	
	var values="";
	if (HourValue=="")
		values=parseInt(now.getHours());
	else
		values=parseInt(HourValue);

    if ( hourSelectName != null ) {
    html = '<select name=' + hourSelectName + '>';
    for ( var i = 1; i <= 24; i++ )
    html    +=  '<option value="' + (i) + '"' 
        +   ( ( parseInt(values) == i ) ? ' selected' : '') 
        +   '>' + i + '</option>';
    html += '</select>';       
	return html;
    } else {
    	alert('½Ã°£ (hour)ÀÔ·Â ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}

function makeMinuteSelect1( minuteSelectName,MinuteValue ) {
    var html = "";
    var now = new Date();    
	
	var values="";
	if (MinuteValue=="")
		values=parseInt(now.getMinutes());
	else
		values=parseInt(MinuteValue);

    if ( minuteSelectName != null ) {
    html = '<select name=' + minuteSelectName + '>';
    for ( var i = 1; i <= 60; i++ )
    html    +=  '<option value="' + (i) + '"' 
        +   ( ( parseInt(values) == i ) ? ' selected' : '') 
        +   '>' + i + '</option>';
    html += '</select>';       
	return html;
    } else {
    	alert('ºÐ (Minute)ÀÔ·Â ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}

function makeSecondSelect1( secondSelectName,SecondValue ) {
    var html = "";
    var now = new Date();    
	
	var values="";
	if (SecondValue=="")
		values=parseInt(now.getSeconds());
	else
		values=parseInt(SecondValue);

    if ( secondSelectName != null ) {
    html = '<select name=' + secondSelectName + '>';
    for ( var i = 1; i <= 60; i++ )
    html    +=  '<option value="' + (i) + '"' 
        +   ( ( values == i ) ? ' selected' : '') 
        +   '>' + i + '</option>';
    html += '</select>';       
	return html;
    } else {
    	alert('ºÐ (Minute)ÀÔ·Â ÇÊµå¸íÀÌ ºüÁ³½À´Ï´Ù.\n¼Ò½º¸¦ È®ÀÎÇÏ½Ê½Ã¿À.');
    } 
    return '';    
}

/**
 * ÆûÀÇ Ã¹¹øÂ° ÀÎÇ² ÅØ½ºÆ® ÇÊµå¿¡ Æ÷Ä¿½º¸¦ ÁÖ´Â ÇÔ¼ö.
 * @param form the FORM Object 
 */
function setFocusToFirstTextField( form ) {
	
  if ( typeof form == 'undefined' ) return;  // if form is invalid, just return.

  var count = form.elements.length;

  for ( var i = 0; i < count; i++ ) {
    if ( form.elements[i].type == "text" || form.elements[i].type == "password" ) {
      form.elements[i].focus();
      return;
    }
  }
}

/*
 * ASCII °ª¸¸ ÀÔ·ÂÇÏµµ·Ï Ã¼Å©ÇÏ´Â ·çÆ¾ ¿µ¿ª
 */
var nonASCIIChar = /(([^\x20-\x7A])+)/g;    // ASCII Character°¡ ¾Æ´Ñ ¹®ÀÚ ¸ðµÎ. ÇÑ±Û, °ø¹é, ÄÁÆ®·Ñ, 128ÀÌ»ó ¹®ÀÚ ¸ðµÎ

/**
 * ASCII °ª ÀÌ¿ÜÀÇ °ªÀ» Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö¸¦ °Ë»çÇÏ´Â ÇÔ¼ö
 * @return true ASCII °ª ÀÌ¿ÜÀÇ °ªÀ» Æ÷ÇÔ
 *      false ASCII  °ª¸¸ Æ÷ÇÔ
 */ 
function containsNonASCII( check ) {
    if ( check.type != "text" && check.type != "password" && check.type != "hidden" ) {
      // Input typeÁß text, password, hidden type¸¸ ¿µ¾î ÀÌ¿ÜÀÇ ÀÔ·ÂÀÌ ÀÖ´ÂÁö¸¦ checkÇÑ´Ù.
      /*
      alert( 'CheckÇÒ ´ë»óÀº Input ÄÁÆ®·Ñ·Î text, password, hidden type¸¸ °¡´ÉÇÕ´Ï´Ù.\n' +
       '¼Ò½º¸¦ È®ÀÎÇØ ÁÖ¼¼¿ä.' );
      */
      return false;
    }

    if ( check.value.search( nonASCIIChar ) != -1 ) {
      return true;
    }

    return false;
}

/**
 * »õ·Î¿î History¸¦ ¸¸µéÁö ¾Ê°í È­¸éÀ» °»½ÅÇÏ´Â ÇÔ¼ö
 * 
 * @param url the new url of target window
 * @param target the target window object
 * --> @@ replace()·Î °¡´É @@
 */
//function goWithOutTail( url, target ) {
//    if ( typeof target == 'undefined' ) {
//      	alert(' Target À©µµ¿ì ÁöÁ¤ÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.' );
//	return;
//    }
//
//    target.location.href = url;  // assign new document
//}


/**
 * Displays the input files of form on a dialog box
 * 
 * @param form the form object to inspect
 * @return true | false  confirm()
 */
function displayForm( form ) {

  if ( typeof form != 'object' || typeof form.elements == 'undefined' ) {
    alert( 'FormÀÌ ¾Æ´Ñ °ªÀÌ ³Ñ¾î ¿Ô½À´Ï´Ù.' );
    return;
  }

  var formContent = "";  // form content string
  formContent += "Form attributes...\n";
  formContent += "name: " + form.name + ", action: " + form.action + '\n';
  formContent += 'target: ' + form.target + ', method: ' + form.method + ', encoding: ' + form.encoding + '\n';
  formContent += "Elements count: " + form.elements.length + '\n';
  formContent += '---------- Element attributes ----------------------\n';
  
  for ( var i = 0; i < form.elements.length; i++ ) {
    if ( typeof form.elements[i] == 'undefined' ) {
      alert( 'Odd element is occurred.' );
      return;
    }
    with ( form.elements[i] ) {
      formContent += '[' + i + ']: ';
      if ( typeof name == 'undefined' || typeof type == 'undefined' || typeof value == 'undefined' ) {
    if ( typeof classid != 'undefined' ) { // OBJECT type ( Active X )
      formContent += 'Object type -->' + 'classid: ' + classid + ', code' + code + ', codeBase: ' + codeBase + '\n';
    }
    else {
      formContent += 'Not type of input!! -->';
      for ( prop in form.elements[i] )
    formContent += 'name: ' + prop + ', value: ' + form.elements[i][prop] + '\n';
    } 
      }
      else {
    if ( typeof name != 'undefined' ) formContent += 'name: ' + name;
    if ( typeof type != 'undefined' ) formContent += ', type: ' + type;
    if ( type == 'select-one' ) {
      formContent += ", value: '" + options[selectedIndex].value  + "'";
    } else {
      if ( typeof value != 'undefined' ) formContent += ", value: '" + value + "'";
    }
      }
      formContent += '\n';
    }
  }

  return confirm( formContent );
}

/**
 * ÁÖ¹Îµî·Ï¹øÈ£ È®ÀÎ 
 */
function    checkSSN(tocheck_num) {
    var     isnum = true;
    if((tocheck_num == null) || (tocheck_num == "")) {
    isnum = false;
    return isnum;
    }
    for(var j = 0; j < tocheck_num.length; j++) {
    if((tocheck_num.substring(j, j+1) != "0") &&
        (tocheck_num.substring(j,j+1) != "1" ) &&
        (tocheck_num.substring(j,j+1) != "2" ) &&
        (tocheck_num.substring(j,j+1) != "3" ) &&
        (tocheck_num.substring(j,j+1) != "4" ) &&
        (tocheck_num.substring(j,j+1) != "5" ) &&
        (tocheck_num.substring(j,j+1) != "6" ) &&
        (tocheck_num.substring(j,j+1) != "7" ) &&
        (tocheck_num.substring(j,j+1) != "8" ) &&
        (tocheck_num.substring(j,j+1) != "9" ) ) {
         isnum = false;
    }
    }
    return isnum;
}

/** 
 * ÁÖ¹Îµî·Ï¹øÈ£ È®ÀÎ 
 * 2ÀÚ¸®·Î ³ª´©¾î È®ÀÎ 
 */
function    isSSN(regnoInput1, regnoInput2)   {
	
    var regno1 = regnoInput1.value;
    var regno2 = regnoInput2.value;
    
    // ÁÖ¹Îµî·Ï¹øÈ£ 1 Ã¼Å©
    if(regno1 == "") {
    	
    	return  false;
    } else {
    if(regno1.length != 6) {
        
        return  false;
    } else {
        thisfilednum = checkSSN(regno1);
        if(!thisfilednum) {        
        	return  false;
        }
    }
    }

    // ÁÖ¹Îµî·Ï¹øÈ£ 2 Ã¼Å©
    if(regno2 == "") {
    	
    	return  false;
    } else {
    	if(regno2.length != 7) {
        	
        	return  false;
    	} else {
        	thisfilednum = checkSSN(regno2);
        	if(!thisfilednum) {        	
        		return  false;
        	}
    	}
    }

    // ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
    var regno = regno1 + regno2;
    if(regno1 != "" && regno2 != "") {
    if(regno.charAt(6) == 1 || regno.charAt(6) == 2){
        if(regno.charAt(12) ==
        ((11 - ((regno.charAt(0)*2+regno.charAt(1)*3
            +regno.charAt(2)*4+regno.charAt(3)*5
            +regno.charAt(4)*6+regno.charAt(5)*7
            +regno.charAt(6)*8+regno.charAt(7)*9
            +regno.charAt(8)*2+regno.charAt(9)*3
            +regno.charAt(10)*4+regno.charAt(11)*5)% 11)))%10) {
        return  true;
        } else {        
        	return  false;
        }
    }
        
        return  false;
    }

    return  true;
}

/** 
 * ÁÖ¹Îµî·Ï¹øÈ£ È®ÀÎ 
 * 2ÀÚ¸®·Î ³ª´©¾î È®ÀÎ 
 */
function    isSSNWithMsg(regnoInput1, regnoInput2)   {
	
    var regno1 = regnoInput1.value;
    var regno2 = regnoInput2.value;
    
    // ÁÖ¹Îµî·Ï¹øÈ£ 1 Ã¼Å©
    if(regno1 == "") {
    	alert("ÁÖ¹Îµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.");    	
    	regnoInput1.focus();
    	return  false;
    } else {
    if(regno1.length != 6) {
        alert("ÁÖ¹Îµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.\n 6ÀÚ¸®ÀÇ ¼ýÀÚÀÔ´Ï´Ù.");
        regnoInput1.focus();
        return  false;
    } else {
        thisfilednum = checkSSN(regno1);
        if(!thisfilednum) {
        alert("ÁÖ¹Îµî·Ï¹øÈ£´Â ¼ýÀÚ¸¸ °¡´ÉÇÕ´Ï´Ù.");
        regnoInput1.focus();
        return  false;
        }
    }
    }

    // ÁÖ¹Îµî·Ï¹øÈ£ 2 Ã¼Å©
    if(regno2 == "") {
    	alert("ÁÖ¹Îµî·Ï¹øÈ£ 7ÀÚ¸®(µÞÀÚ¸®)¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.");
    	regnoInput2.focus();
    	return  false;
    } else {
    	if(regno2.length != 7) {
    		
        	alert("ÁÖ¹Îµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.\n 7ÀÚ¸®ÀÇ ¼ýÀÚÀÔ´Ï´Ù.");
        	regnoInput2.focus();
        	return  false;
    	} else {
        	thisfilednum = checkSSN(regno2);
        	if(!thisfilednum) {
        		alert("ÁÖ¹Îµî·Ï¹øÈ£´Â ¼ýÀÚ¸¸ °¡´ÉÇÕ´Ï´Ù.");
        		regnoInput2.focus();
        		return  false;
        	}
    	}
    }

    // ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
    var regno = regno1 + regno2;
    if(regno1 != "" && regno2 != "") {
    if(regno.charAt(6) == 1 || regno.charAt(6) == 2){
        if(regno.charAt(12) ==
        ((11 - ((regno.charAt(0)*2+regno.charAt(1)*3
            +regno.charAt(2)*4+regno.charAt(3)*5
            +regno.charAt(4)*6+regno.charAt(5)*7
            +regno.charAt(6)*8+regno.charAt(7)*9
            +regno.charAt(8)*2+regno.charAt(9)*3
            +regno.charAt(10)*4+regno.charAt(11)*5)% 11)))%10) {
        return  true;
        } else {
            alert("ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.");
            regnoInput1.focus();
            return  false;
        }
    }
        alert("ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.");
        regnoInput1.focus();
        return  false;
    }

    return  true;
}

/**
 * °ªÀÇ ±æÀÌ°¡ ÀÚ¸®¼ö¸¦ ÃÊ°ú ÇÏ´Â °¡?
 */
function overLength(obj, length) {
    if ( obj.value.length > length ) {
        return  true;
    } else {
        return false;
    }
}
/**
 * ÇÊ¼ö ÀÔ·Â°ª È®ÀÎ
 */
function isNodata(obj) {
    if ( overLength(obj, 0) ) {
    return  true;
    } else {
    return false;
    }
}


/**
 * isNum(str)   : ¼ýÀÚ Ã¼Å© ÇÔ¼ö(¼ýÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ°¡ Ãß°¡µÇ¾ú´ÂÁö Ã¼Å©)
 * @param  input
 * @return  
 *     true     : ¼ýÀÚ¸¸ ÀÔ·ÂµÇ¾ú½¿
 *     false    : ¹®ÀÚ°¡ Ãß°¡µÇ¾ù½¿, error message (ÀÔ·Â¿¡·¯)       
 */
function isNum(input) {
    
    /*
    for (i = 0; i < str.length; i++) {
      if (('0' <= str.charAt(i))&&(str.charAt(i) <= '9')){
        continue;
      }
      else {        
        return false;
      }
    }
    return true;       
    */
    if ( !(input.value-0) ) return false;
    return true;
    
}

/**
 * isCheckChar(str)   : ¹®ÀÚ Ã¼Å© ÇÔ¼ö(¹®ÀÚ°¡ Æ÷ÇÔµÇ¾î ÀÖ´ÂÁö Ã¼Å©)
 * @param  str string
 * @return 
 *      true     : ¹®ÀÚ°¡ Æ÷ÇÔµÇ¾î ÀÖ½¿
 *      false    : ¹®ÀÚ°¡ Æ÷ÇÔµÇ¾îÀÖÁö ¾ÊÀ½          
 */
function isCheckChar(str) {
    var checkChar = false;
    for (i = 0; i < str.length; i++) {
    if (('0' <= str.charAt(i))&&(str.charAt(i) <= '9')){
        continue;
    }
    else {
        checkChar = true;
    }
    }
    return checkChar;           
}

/**
 * addZero(str,len) : '0' Ãß°¡ ÇÔ¼ö(maxLength ÀÇ Å©±â¿¡ ¸ÂÃß¾î ¾Õ¿¡ '0' Ãß°¡)
 * Example - ÀÔ·Â(76), ÀüÃ¼ length(4) -> addZero(str,4) -> str=0076
 * @param str string
 * @param len length
 * @return string
 */
function addZero(str,len) {
    if (str.length != len) {
    str = "0"+str;
    str = addZero(str,len);
    }
    return str;
}


/**
 * ¼ýÀÚµéÀ» ±Ý¾×Ç¥½Ã·Î ÀüÈ¯ (99999 -> 99,999)
 * @param obj the Input Object
 * @return : formatted value of the Object.
 */
function numFormat(obj) {
    var str  = String(obj.value);
    var len  = str.length;
    var tmp  = "";
    var tm2  = "";
    
    /* ¼Ò¼öÁ¡ µÎ°³ ÀÌ»ó ¿¡·¯ Ç¥½Ã */
    count = 0;
    for( j=0 ; j < len ; j++) {
    if( obj.value.charAt(j) == '.') count++;
    }
    if (count > 1) {
    var text ="ÀÔ·Â¿¡·¯ : ¼Ò¼öÁ¡ÀÌ µÑ ÀÌ»ó Æ÷ÇÔµÇ¾ú½À´Ï´Ù."; 
    alert(text);
    obj.focus();
    }
    /* ¼Ò¼öÁ¡ µÎ°³ ÀÌ»ó ¿¡·¯ Ç¥½Ã ³¡ */
    
    if (str.charAt(0) == '-') {
    tmp = '-' ;
    str = str.substring(1,len);
    }
    if (str.indexOf('-',0) != -1) {
    obj.focus();
    return;
    }
    if ((sit=str.indexOf('.',0)) != -1) {
    tm2 = str.substring(sit,len);
    str = str.substring(0,sit);
    }

    var i    = 0;  
    while (str.charAt(i) == '0') i++;
  
    str = str.substring(i,len);
    len = str.length;
    
    if(len < 3) {
    obj.value = str;
    return;
    }
    else {
    var sit = len % 3;
    if (sit > 0) {
        tmp = tmp + str.substring(0,sit) + ',';
        len = len - sit;
    }
    while (len > 3) {
        tmp = tmp + str.substring(sit,sit+3) + ',';
        len = len - 3;
        sit = sit + 3;
    }
    tmp = tmp + str.substring(sit,sit+3) + tm2;
    obj.value = tmp;
    }
}
/**
 * FormattingµÈ ¹®ÀÚ¸¦ ¼ýÀÚ·Î ÀüÈ¯ÇÔ¼ö
 * @param  the Input Object
 * @return : value of unformatted the object
 */
function numUnFormat(obj) {
    var str = String(obj.value);
    var len = str.length;
    var sit = 0;
    var tmp = "";
    var ch  = '';
    
    while (sit < len) {
    ch = str.charAt(sit);
    if (((ch >= '0') && (ch <= '9')) || (ch == '-') || (ch == '.')) tmp = tmp + ch;
    sit++;
    }
    obj.value = tmp;
}

/**
 * keyCheck(e)  : ¹®ÀÚ, ¼ýÀÚ ÀÔ·Â ÇÔ¼ö(¹®ÀÚ¿Í ¼ýÀÚ Backspace¸¸ ÀÔ·Â) 
 * @param    : [event]
 * @return : [true, false]
 */
var dLayers = (document.layers) ? true : false;
var dAll    = (document.all)    ? true : false;

function keyCheck(e) {
    if(dLayers) var keyValue = e.which;
    else if(dAll) var keyValue = event.keyCode;

    // ¹®ÀÚ¿Í ¼ýÀÚ, backspace¸¸ ÀÔ·ÂÇÒ¶§ return true
    if ( ((keyValue >= 33) && (keyValue <= 126 )) || keyValue == 8 ) {
      if ( keyValue >= 0x61 && keyValue <= 122 ) { // ¼Ò¹®ÀÚÀÌ¸é
    if ( dLayers ) {// Netscape
      //e.which = e.which & 0xDF;
      // nothing to do here now.
    }
    else if ( dAll ) {  // Internet Explorer
      event.keyCode = event.keyCode & 0xDF;  // ´ë¹®ÀÚ·Î º¯°æ
    }
      }

    return true;       
       }
    else return false;
}


/**
 * keyNumCheck(e)  : ¼ýÀÚ ÀÔ·Â ÇÔ¼ö(¼ýÀÚ¿Í Backspace¸¸ ÀÔ·Â) 
 * @param    : [event]
 * @return : [true, false]
 */
var dLayers = (document.layers) ? true : false;
var dAll    = (document.all)    ? true : false;

function keyNumCheck(e) {
    if(dLayers) var keyValue = e.which;
    else if(dAll) var keyValue = event.keyCode;

    // ¼ýÀÚ¿Í backspace¸¸ ÀÔ·ÂÇÒ¶§ return true
    if ( ((keyValue >= 48) && (keyValue <= 57)) || keyValue == 8)
    return true; 
    else return false;
}

/**
 * keyNumCheck2(e)  : ¼ýÀÚ¿Í ¼Ò¼öÁ¡(¿ÜÈ¯) ÀÔ·Â ÇÔ¼ö(¼ýÀÚ¿Í Backspace, ¼Ò¼öÁ¡¸¸ ÀÔ·Â) 
 * @param    : [event]
 * @return : [true, false]
 */
var dLayers = (document.layers) ? true : false;
var dAll    = (document.all)    ? true : false;

function keyNumCheck2(e) {
    if(dLayers) var keyValue = e.which;
    else if(dAll) var keyValue = event.keyCode;

    // ¼ýÀÚ¿Í backspace, ¼Ò¼öÁ¡¸¸ ÀÔ·ÂÇÒ¶§ return true)e
    if ( ((keyValue >= 48) && (keyValue <= 57)) || keyValue == 8 || keyValue == 46)
    return true; 
    else return false;
}

/**
 * keyNumCheck3(e)  : ¼ýÀÚ¿Í '-' ÀÔ·Â ÇÔ¼ö(¼ýÀÚ¿Í Backspace, '-'¸¸ ÀÔ·Â) 
 * @param    : [event]
 * @return : [true, false]
 */
var dLayers = (document.layers) ? true : false;
var dAll    = (document.all)    ? true : false;
function keyNumCheck3(e) {
//      var keyCode = 0, keyValue = null;

    if(dLayers) keyCode = e.which;
    else if(dAll) keyCode = event.keyCode;

    // ¼ýÀÚ¿Í backspace, ¼Ò¼öÁ¡¸¸ ÀÔ·ÂÇÒ¶§ return true)e
    if ( ((keyCode >= 48 ) && (keyCode <= 57)) || keyCode == 8 || keyCode == 45)
    return true; 
    else return false;
}

/**
 * ÇÑ±Û Ã¼Å©
  */
function h_check(Objectname) {
	var intErr;
	var strValue = Objectname.value;
	var retCode = 0;

	for (i = 0; i < strValue.length; i++) {
		var retCode = strValue.charCodeAt(i);
		var retChar = strValue.substr(i,1).toUpperCase();

		retCode = parseInt(retCode);

		if ((retChar < "0" || retChar > "9") && (retChar < "A" || retChar > "Z") && ((retCode > 255) || (retCode < 0))) {
			intErr = 1;   //ÇÑ±Û
			break;
		}
		else {
			intErr = -1;
			break;
		}
	}
	return (intErr);
}

/**
 * °ø¹é Ã¼Å© ÇÔ¼ö
 * @return 
 *		true : °ø¹éÀÌ Æ÷ÇÔµÇ¾î ÀÖ½¿
 *		false : °ø¹éÀÌ Æ÷ÇÔµÇ¾î ÀÖÁö ¾ÊÀ½
 */
function SpaceCheck(len, val) {
	for (var k = 0; k <= (len - 1); k++) {
		if (val.indexOf(" ") != -1 ) {
        	return true;
			break;
		}
    } 
	return false;
}

/**
 * ÀÌ¸ÞÀÏ Ã¼Å© ÇÔ¼ö
 * @return
 *		true : ÀÌ¸ÞÀÏ Çü½Ä Á¤»ó
 *		false : ÀÌ¸ÞÀÏ Çü½Ä ºÎÁ¤»ó
 */
 function EmailCheck(m) {
	if ((m.indexOf("/")) == -1) {
	}
	else {
		return false;
  	}  	
	if ((m.indexOf(";")) == -1) {
	}
	else {
		return false;
	}
	if ((m.length != 0) && (m.search(/(\S+)@(\S+)\.(\S+)/) == -1)) {
		return false;
	}
	return true;
}

function email_check2(strEmail) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var firstChars=validChars;
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom="(" + firstChars + validChars + "*" + ")";
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray = strEmail.match(emailPat)
	if (matchArray == null) {
		alert("E-mail ÁÖ¼Ò°¡ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.\n @ ¿Í . À» È®ÀÎÇÏ½Ê½Ã¿À.");
		return false;
	}
	var user = matchArray[1];
	var domain = matchArray[2];

	if (user.match(userPat) == null) {
		alert("E-mail ¾ÆÀÌµð°¡ Á¤È®ÇÑ °Í °°Áö ¾Ê½À´Ï´Ù.");
		return false;
	}

	var IPArray = domain.match(ipDomainPat)
	if (IPArray != null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i] > 255) {
				alert("IP°¡ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù!");
				return false;
			}
		}
		return true;
	}

	var domainArray = domain.match(domainPat);
	if (domainArray == null) {
		alert("E-mail ÁÖ¼ÒÀÇ µµ¸ÞÀÎ ÀÌ¸§ÀÌ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.");
		return false;
	}

	var atomPat = new RegExp(atom,"g");
	var domArr = domain.match(atomPat);
	var len = domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length > 3) {
		alert("µµ¸ÞÀÎ¸íÀÇ ±¹°¡ÄÚµå´Â 2ÀÚº¸´Ù Å©°í 3ÀÚº¸´Ù ÀÛ¾Æ¾ß ÇÕ´Ï´Ù.");
		return false;
	}

	if (domArr[domArr.length-1].length == 2 && len < 3) {
		alert("E-mail ÁÖ¼ÒÀÇ µµ¸ÞÀÎ ÀÌ¸§ÀÌ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.");
		return false;
	}

	if (domArr[domArr.length-1].length == 3 && len < 2) {
		alert("E-mail ÁÖ¼ÒÀÇ È£½ºÆ®¸íÀÌ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.");
		return false;
	}
	return true;
}
function email_check(A){

	var email_num = A.length;
	var Err_Code=0;

	for (var l = 0; l <= (email_num - 1); l++)
	{
		   if (A.value.indexOf(" ") >= 0 ) 
			 {
			   alert ("E ¸ÞÀÏ ÁÖ¼Ò¿¡¼­ °ø¶õÀ» »©ÁÖ½Ê½Ã¿À");
			   A.focus();
			   Err_Code=-1;
			   return Err_Code;
			 } 
	}

	if (h_check(A) == 1) {
		alert("Email ÀÔ·Â½Ã ÇÑ±ÛÀº »ç¿ëÇÏ½Ç¼ö°¡ ¾ø½À´Ï´Ù.");
		A.focus();
		Err_Code=-1;
		return Err_Code;
	}

	var str_email = A.value;

	if ((str_email.indexOf("/")) == -1)	{	

	}

	else {
		alert("E-MailÇü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.\n  ´Ù½ÃÇÑ¹ø È®ÀÎ¹Ù¶ø´Ï´Ù.");
		A.focus();
		Err_Code=-1;
		return Err_Code;
	}

	if ((str_email.indexOf(";")) == -1)	{	
	
	}
	
	else {
		alert("E-MailÇü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.\n  ´Ù½ÃÇÑ¹ø È®ÀÎ¹Ù¶ø´Ï´Ù.");
		A.focus();
		Err_Code=-1;
		return Err_Code;
	}

	if ((A.value.length != 0) && (str_email.search(/(\S+)@(\S+)\.(\S+)/) == -1)) {
		alert("E-MailÇü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.\n  ´Ù½ÃÇÑ¹ø È®ÀÎ¹Ù¶ø´Ï´Ù.");
		A.focus();
		Err_Code=-1;
		return Err_Code;
	}
	Err_Code=1;
	return Err_Code;
	
}


/**
 * °ªÀÇ ÀÔ·Â¿©ºÎ Ã¼Å© ÇÔ¼ö
 * @return
 *		±æÀÌ ¸®ÅÏ
 */
function LengthChk(keyword) {
	var st_num, key_len;
	st_num = keyword.indexOf(" ");	
	while (st_num != -1) {
		keyword = keyword.replace(" ", "");
		st_num  = keyword.indexOf(" ");
	}
	key_len=keyword.length;
	return key_len;
}

/*---------------------------------------------------------------
  ±â´É		: Check Null RETURN T/F
  INPUT		: check  data
  RETURN	: true  -> NULL
			  false -> NOT NULL
  AUTHOR	: ¿ø¿µ¹Ì
----------------------------------------------------------------*/
function jsCheckNull( toCheck ) 
{
     var chkstr = toCheck + "";
     var is_Space = true ;
    
     if ( ( chkstr == "") || ( chkstr == null ) ) 
	   return( true );

     for ( j = 0 ; is_Space && ( j < chkstr.length ) ; j++)
     {
	     if( chkstr.substring( j , j+1 ) != " " ) 
         {
	       is_Space = false ;
         }
     }
     return ( is_Space );
} 
/*---------------------------------------------------------------
  ±â´É		: Cookie
  AUTHOR	: ±èÇöÁÖ
----------------------------------------------------------------*/
function getCookie( name )
{
        var nameOfCookie = name + "=";
        var x = 0;             
        
        //alert(document.cookie);
                  
        while ( x <= document.cookie.length )
        {
                var y = (x+nameOfCookie.length);
                if ( document.cookie.substring( x, y ) == nameOfCookie ) {
                        if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
                                endOfCookie = document.cookie.length;
                        return unescape( document.cookie.substring( y, endOfCookie ) );
                }
                x = document.cookie.indexOf( " ", x ) + 1;
                if ( x == 0 )
                        break;
        }
        return "";
}



function setCookie( name, value, expiredays )
{
        var todayDate = new Date();
        todayDate.setDate( todayDate.getDate() + expiredays );
        document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString()  + ";"
} 

function deleteCookie( cookieName )
{
  var expireDate = new Date();
  
  //¾îÁ¦ ³¯Â¥¸¦ ÄíÅ° ¼Ò¸ê ³¯Â¥·Î ¼³Á¤ÇÑ´Ù.
  expireDate.setDate( expireDate.getDate() - 1 );
  document.cookie = escape(cookieName) + "= " + "; expires=" + expireDate.toGMTString() + "; path=/";
}

 /***********************************
 ¼³¸í : ÇÑ±Û ÇÑ±ÛÀÚ¸¦ 2byte·Î ÀÎ½ÄÇÏ¿©, IEµç Netscapeµç Á¦´ë·Î byte±æÀÌ¸¦ ±¸ÇØ ÁÝ´Ï´Ù.
 ¿¹) getByteLength("abc°¡³ª´Ù") getByteLength(Æû.ÀÌ¸§.¹ë·ù) 
 °á°ú) 9
 ¸®ÅÏ : ±æÀÌ
  ****************************************/
 function getByteLength(s){
    var len = 0;
    if ( s == null ) return 0;
    for(var i=0;i<s.length;i++){
    var c = escape(s.charAt(i));
    if ( c.length == 1 ) len ++;
    else if ( c.indexOf("%u") != -1 ) len += 2;
    else if ( c.indexOf("%") != -1 ) len += c.length/3;
    }
    
    return len;
 }
 
 /*********************************** 
 ¼³¸í : Ä³¸¯ÅÍ Å¸ÀÔ °ËÁõ 'H'-ÇÑ±Û, 'E'-¿µ¹®, 'N'-¼ýÀÚ, 'Z'-±âÅ¸
  ****************************************/
	function getCharType(pValue){
				 
		var bHan = false;
		var bAlp = false;
		var bNum = false;
		var bEtc = false;
		
		var retStr="";
				
		//alert("len : " + pValue.length);
			
		for(var idx=0; idx < pValue.length; idx++){
			//alert("idx : " +pValue.charAt(idx));
			if (isAlpha(pValue.charAt(idx))) {
				bAlp = true;
			}
			else if (isNum(pValue.charAt(idx))) {
			 	bNum = true;
			}
			else if (isHangul(pValue.charAt(idx))) {
			 	bHan = true;
			}
			else {
			 	bEtc = true;
			}
			
			//alert("bAlp : " +bAlp);
			//alert("bNum : " +bNum);
			//alert("bHan : " +bHan);
			//alert("bEtc : " +bEtc);
			
			if (bHan) retStr = retStr + "H";
			if (bAlp) retStr = retStr + "E";
			if (bNum) retStr = retStr + "N";
			if (bEtc) retStr = retStr + "Z";
		}
		 	 
		return retStr;
	}		
 		 
    // ºó°ªÀÎÁö ¸®ÅÏÇÑ´Ù.
    function isEmpty(pValue){
     
	     if( (pValue == "") || (pValue == null) ){
	     	return true;
	     }
	     return false;
    }	

    // ¼ýÀÚ°ËÁõ
    function isNum(str){ 
     
		if(isEmpty(str)) return false;
	     
		for(var idx=0;idx < str.length;idx++){
			if(str.charAt(idx) < '0' || str.charAt(idx) > '9'){
	       		return false;
	      	}
		}
		return true;
    }
   
   
    // ¿µ¹®ÀÚ°ËÁõ
    function isAlpha(str){
     
	     if(isEmpty(str)) return false;
	     
	     for(var idx=0;idx < str.length;idx++){
			if(!((str.charAt(idx) >='a' && str <= 'z') || (str.charAt(idx) >= 'A' && str <= 'Z'))){
				return false;
			}
	     }
	     return true;
    }
   
   
    // ÇÑ±Û°ËÁõ
    function isHangul(str){
     
	     if(isEmpty(str)) return false;
	     
	     for(var idx=0;idx < str.length;idx++){
			var c = escape(str.charAt(idx));
			if ( c.indexOf("%u") == -1 ) {
	       		return false;
	      	}
	     }
	     return true;  
    } 

	/*-------------------------------------------------------------
  ±â´É		: POPUP OPEN Script - scrollÀÌ º¸ÀÓ...
  INPUT		: 
  RETURN	: OBJECT
  MSG		:
  AUTHOR	: ¿ø¿µ¹Ì
--------------------------------------------------------------*/
function popup_noscroll( varAction, varWinName, varWidth, varHeight )
{

		sxx=(screen.width)?(screen.width-650)/2:100;
		syy=(screen.height)?(screen.height-600)/2:100;

		var win = window.open( varAction, varWinName , "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0, width=" + varWidth + ",height=" + varHeight + ", left="+sxx+",top="+syy);
	
		return win;
}
