/////////////////////////////////////////////////////////////////
// Program id  : jslib.js
// Description : JavaScript Util 
// ÀÛ¼ºÀÚ      : ¿ÕÀå±â
// ¼Ò ¼Ó       : KT
// ÀÏ ÀÚ       : YYYY.MM.DD ÃÖÃÊÀÛ¼º            
//             : 
//////////////////////////////////////////////////////////////
var NS4;
var IE4;
if (document.all)
{
    IE4 = true;
    NS4 = false;
}
else
{
    IE4 = false;
    NS4 = true;
}

if (NS4) 
{
    document.captureEvents(Event.KEYDOWN)
    document.onkeydown = trapRefresh;
} 
else if (IE4) 
{
    document.onkeydown = trapRefresh;
}
function trapRefresh(e)
{
    var event;
    if (window.event) event = window.event;
    else event = e;

    if (event.keyCode == 116) // F5 Å° ÀÏ °æ¿ì
    {
        if (window.event) 
            event.keyCode = 0;
        event.cancelBubble = true; 
        event.returnValue = false;
        document.location.reload();
    }
}
function IsEmail(str) {
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}
function IsNum(num) {
	for(var i=0;i<num.length;i++){
		achar = num.substring(i,i+1);
		if( achar < "0" || achar > "9" ){
			return (false);
		}
	}
	return true;
}
function OnlyNum(obj) {
	val = obj.value;
	new_val = '';
	for(i=0;i<val.length;i++) {
		char = val.substring(i,i+1);
		if (char < '0' || char > '9') {
			alert('¼ýÀÚ¸¸ ÀÔ·Â°¡´É ÇÕ´Ï´Ù.');
			obj.value = new_val;
			return;
		} else {
			new_val = new_val + char;
		}
	}
}
function IsCheck(obj) {
	if (obj == '[object]')
	{
		if (obj.length > 1) {
			for(i=0;i<obj.length;i++) if (obj[i].checked) return true;
		} else {
			return obj.checked;
		}
		return false;
	} else {
		return false;
	}
}
function Age(ju1) {
	var now=new Date();
	var now_year=now.getFullYear(); //ÇöÀç³âµµ
	var d = ju1.substring(6,7);
	
	if (d > 1) {
		var birth_year=2000+parseInt(ju1.substring(0,2));
	} else {
		var birth_year=1900+parseInt(ju1.substring(0,2));
	}

	n=now_year-birth_year+1;
	return n;
}
function Currency(obj)
{
	for (var i = 0; i < obj.value.length ; i++){
		chr = obj.value.substr(i,1);		
		chr = escape(chr);
		key_eg = chr.charAt(1);
		if (key_eg == 'u'){
			key_num = chr.substr(i,(chr.length-1));			
			if((key_num < "AC00") || (key_num > "D7A3")) { 
				event.returnValue = false;
			} 			
		}
	}
	if (event.keyCode >= 48 && event.keyCode <= 57) {
		
	} else {
		event.returnValue = false;
	}
}
function Currency2(obj) {
	if (obj == null)	var obj = this;
	var str      = obj.value;
	
	new_val = '';
	rst = true;
	for(i=0;i<str.length;i++) {
		char = str.substring(i,i+1);
		if ((i>0 && char != '-' && char >= '0' && char <= '9') || char == ',' || (i == 0 && char == '-') || (char >= '1' && char <= '9') ) {
			new_val = new_val + char;
		} else {
			rst = false;
		}
	}
	str = new_val;
	obj.value = str;
}
function Currency3(obj) {
	if (obj == null)	var obj = this;
	var str      = obj.value;
	
	new_val = '';
	rst = true;
	for(i=0;i<str.length;i++) {
		char = str.substring(i,i+1);
		if ((i>0 && char != '.' && char >= '0' && char <= '9') || char == ',' || (i == 0 && char == '.') || (char >= '1' && char <= '9') ) {
			new_val = new_val + char;
		} else {
			rst = false;
		}
	}
	str = new_val;
	obj.value = str;
}
function Com(obj)
{
	if (obj.value != "")
	{
		obj.value = unComma(obj.value);
		obj.value = Comma(obj.value);
	}
}
function Com2(obj)
{
	var str = obj.value;
	if ( str != null && str != "" )
	{
		var retStr = "";
		var m = "";
		str = str.replace(/^0*|\,/g,'');
		if( str.charAt(0) == "-" ) {
			m = "-";
			str = str.substr(1,str.length);
		}    
		var strLen = str.length;
		for(var i=0; i<strLen; i++){
			if ((i%3 == strLen%3) && (i != 0)) {
				retStr += ",";
			}
			retStr += str.charAt(i);
		}
		obj.value = "" + m + retStr + "";
	}
}
function Com3(obj) {
	var str = obj.value;
	if ( str != null && str != "" ) {
		
		var retStr = "";
		var m = "";
		var dot = "";
		var dotIdx = -1;
		str = str.replace(/^0*|\,/g,'');
		if( str.charAt(0) == "-" ) {
			m = "-";
			str = str.substr(1,str.length);
			//alert(str);
		}  
		dotIdx = str.indexOf(".");
		if( dotIdx > 0 ) {
			dot = str.substr(dotIdx,str.length);
			str = str.substr(0,dotIdx);
			//alert(str);
			//alert(dotIdx);
		}
		var strLen = str.length;
		for(var i=0; i<strLen; i++){
			if ((i%3 == strLen%3) && (i != 0)) {
				retStr += ",";
			}
			retStr += str.charAt(i);
		}
		obj.value = "" + m + retStr + dot + "";
	}
}
function Comma(numstr) {
  var numstr = String(numstr);
  var re0 = /(\d+)(\d{3})($|\..*)/;
  if (re0.test(numstr))
    return numstr.replace(re0, function(str,p1,p2,p3) { return Comma(p1) + "," + p2 + p3; });
  else
    return numstr;
}
function UnComma(input) { 
   var inputString = new String; 
   var outputString = new String; 
   var outputNumber = new Number; 
   var counter = 0; 
   inputString=input; 
   outputString=''; 
   for (counter=0;counter <inputString.length; counter++)  
   { 
      outputString += (inputString.charAt(counter) != ',' ?inputString.charAt(counter) : ''); 
   } 
   outputNumber = parseFloat(outputString); 
   return (outputNumber);  
}
function IsResNo(s) {
	n = 2;
	sum = 0;
	for (i=0; i<s.length-1; i++) {
		sum += parseInt(s.substr(i, 1)) * n++;
		if (n == 10) n = 2;
	}
	c = 11 - sum % 11;
	if (c == 11) c = 1;
	if (c == 10) c = 0;
	if (c != parseInt(s.substr(12, 1))) return false;
	else return true;
}
function IsMaxLength(str,len){
	var strlen = 0;
	for (var i = 0; i < str.length ; i++){
		chr = escape(str.substr(i,1));
		key_eg = chr.charAt(1);
		if (key_eg == 'u'){
			strlen+=2;
		} else {
			strlen++;
		}
	}
	if(strlen > len){
		return true;
	} else {
		return false;
	}
}
function CheckLen( obj,len,msg) {	
	if (msg == '' ) { msg = "ÀÔ·Â µ¥ÀÌÅÍÀÇ ±æÀÌ°¡ ³Ê¹« ±é´Ï´Ù.";}
	if ( GetMsgLen(obj.value) > len ) { alert(msg); obj.focus(); return false;}	
	return true;
}
function GetMsgLen(msg) { // 0-127 1byte, 128~ 2byte 
	var count = 0 
	for(var i=0; i<msg.length; i++) { 
		if ( msg.charCodeAt(i) > 127 ) { 
			count += 2 
		} 
		else { 
			count++ 
		} 
	} 
	return count 
} 
String.prototype.trim = function(str) { 
	str = this != window ? this : str; 
	return str.replace(/^\s+/g,'').replace(/\s+$/g,''); 
}
function PopWindow(the_url,win_name,features, my_width, my_height, is_center) { //v3.0
	try
	{
		if (the_url == 'http://')
		{
			alert('Àß¸øµÈ URL ÀÔ´Ï´Ù.');
			return;
		}
		if(window.screen)if(is_center)if(is_center=="true"){
			var myLeft = (screen.width-my_width)/2;
			var myTop = (screen.height-my_height)/2;
			features+=(features!='')?',':'';
			features+=',left='+myLeft+',top='+myTop;
		}
		
		popWindow = window.open(the_url,win_name,features+((features!='')?',':'')+'width='+my_width+',height='+my_height);
		popWindow.focus();	
	}
	catch (e)
	{
		alert('Àß¸øµÈ URL ÀÔ´Ï´Ù.');
		return;
	}
	return false;
}
function AllCheckCheckBox(obj, ischeck){
	var i;
	if (obj == '[object]')
	{
		if (obj.length > 0)
		{
			for(i=0;i < obj.length;i++) obj[i].checked = ischeck;
		} else {
			obj.checked = ischeck;
		}
		return;
	} else {
		return;
	}
}
function IsCheckBoxChoice(obj){
	if(obj){
		if(obj.length){
			for(i=0;i<obj.length;i++){
				if(obj[i].checked == true){ return true; }
			}
			return false;
		} else {
			return obj.checked;
		}
	} else { return false; }
}
function GetRadioValue(obj){
	if(obj){
		if(obj.length){
			for(i=0;i<obj.length;i++){
				if(obj[i].checked == true){ 
					return obj[i].value;
				}
			}
		}else{
			return obj.value;
		}
	} else { return false; }
}
function MoveObject(obj,len,nobj){
	if(obj.value.length == len){
		nobj.focus();
		return true;
	}
	return false;
}
function IsBusno(strings) {
    var c = new Array(10);
    var i;
    var sum=0, il_y=0, epno_chk=0;
    var temp;
    var li_chkvalue = new Array(1,3,7,1,3,7,1,3,5);
    if(strings=="" || strings.length != 10) {
        return false;
    }
    for(i=0;i<10;i++) {
        c[i] = strings.charAt(i);
        if(c[i]<'0' || c[i]>'9')  {
           return false;
        }
    }
    for(i=0;i<9;i++){
        sum += parseInt(c[i]) * parseInt(li_chkvalue[i]);
    }
    sum = sum + parseInt((c[8]*5)/10);
    temp = parseInt(sum / 10);
    li_y = sum - (temp*10) ;
    if(li_y==0) {
        epno_chk = 0;
    } else {
        epno_chk = 10 - li_y;
    } 
    if(epno_chk==eval(c[9])) {
        return true;
    } else {
		return false;
	}
	return false;
}
function ResizeIframe(name)
{
	if (IE4) {
		var oBody   = document.frames(name).document.body;
	} else {
		var oBody = document.getElementById(name).contentDocument.body;
	}
	var oIFrame = document.getElementById(name);

	var frmWidth  = oBody.scrollWidth;
	var frmHeight = oBody.scrollHeight;
	oIFrame.style.height = frmHeight;
	oIFrame.style.width = frmWidth;	
}
function ParentResizeIframe(name)
{
	if (parent && parent != this && parent.ResizeIframe != null)
	{
		parent.ResizeIframe(name);
	}
}
function DiffYear(prev_date, next_date) {	
	if( (prev_date.length != 8 ) || (next_date.length != 8 ) )  {
		return(true);		
	}
	
	var tmpPrevDate = new Date( prev_date.substring(0,4), prev_date.substring(4,6), prev_date.substring(6,8) );
	var tmpNextDate = new Date( next_date.substring(0,4), next_date.substring(4,6), next_date.substring(6,8) );
	
	return (tmpPrevDate.getTime() - tmpNextDate.getTime())/(1000 * 60 * 60 * 24 * 365);
}
function CheckNull(obj, msg) {
	var val = obj.value.trim();
	if (val == '')
	{
		alert(msg);
		obj.focus();
		return false;
	}
	obj.value = val;
	return true;
}
function CheckIsNum(obj, msg) {
	var num = obj.value;
	for(var i=0;i<num.length;i++){
		achar = num.substring(i,i+1);
		if( achar < "0" || achar > "9" ){
			alert(msg);
			obj.value="";
			obj.focus();
			return false;
		}
	}
	return true;
}
function down_option(obj_form, side) {	
	var temp_text,temp_value;
	var m_index;

	if(obj_form[side].selectedIndex <= 0){
		alert('ÀÌµ¿ÇÒ Ç×¸ñÀ» ¼±ÅÃÇØ ÁÖ¼¼¿ä.');
		return false;
	}
	if(obj_form[side].selectedIndex < obj_form[side].length -1){
		m_index = obj_form[side].selectedIndex
		temp_value = obj_form[side].options[m_index].value;
		temp_text  = obj_form[side].options[m_index].text;
		obj_form[side].options[m_index].value = obj_form[side].options[m_index+1].value;
		obj_form[side].options[m_index].text = obj_form[side].options[m_index+1].text;
		obj_form[side].options[m_index+1].value = temp_value;
		obj_form[side].options[m_index+1].text = temp_text;
		obj_form[side].options[m_index].selected = false;
		obj_form[side].options[m_index+1].selected = true;
	} else {
		alert('Ç×¸ñÀÇ ¸¶Áö¸·ÀÔ´Ï´Ù.');
		return false;
	}
}
function up_option(obj_form, side) {	
	var temp_text,temp_value;
	var m_index;

	if(obj_form[side].selectedIndex <= 0){
		alert('ÀÌµ¿ÇÒ Ç×¸ñÀ» ¼±ÅÃÇØ ÁÖ¼¼¿ä.');
		return false;
	}
	if(obj_form[side].selectedIndex != 1){
		m_index = obj_form[side].selectedIndex
		temp_value = obj_form[side].options[m_index].value;
		temp_text  = obj_form[side].options[m_index].text;
		obj_form[side].options[m_index].value = obj_form[side].options[m_index-1].value;
		obj_form[side].options[m_index].text = obj_form[side].options[m_index-1].text;
		obj_form[side].options[m_index-1].value = temp_value;
		obj_form[side].options[m_index-1].text = temp_text;
		obj_form[side].options[m_index].selected = false;
		obj_form[side].options[m_index-1].selected = true;
	} else {
		alert('Ç×¸ñÀÇ Ã³À½ÀÔ´Ï´Ù.');
		return false;
	}
}
function AllSelectSelectBox(obj){
	for(i=0;i<obj.options.length;i++){
		obj.options[i].selected = true;
	}
}

//³¯Â¥Ã¼Å© À¯È¿¼º
//ÀÔ·ÂÇü½Ä str : 2006-04-02 
function fncdate(str)
{
	var err=0
	var pattern = /(\d{4}-\d{2}-\d{2})/;
    if (!pattern.test(str)){
		err = 1;
	}else{
		var strTempArr = str.split('-');
		if ( strTempArr[0].length != 4) err=1
		if ( strTempArr[1].length != 1 &&  strTempArr[1].length !=  2 ) err=1
		if ( strTempArr[2].length != 1  &&  strTempArr[2].length !=  2) err=1

		r_year = eval(strTempArr[0]) ;
		r_month = eval(strTempArr[1]);
		r_day = eval(strTempArr[2])  ;

		if (r_month<1 || r_month>12) err = 1
		if (r_day<1 || r_day>31) err = 1
		if (r_year<0 ) err = 1

		if (r_month==4 || r_month==6 || r_month==9 || r_month==11){
			if (r_day==31) err=1
		}

		// À±³âÃ¼Å©
		if (r_month==2){
			var g=parseInt(r_year/4)
			if (isNaN(g)) {
				err=1
			}
			if (r_day>29) err=1
			if (r_day==29 && ((r_year/4)!=parseInt(r_year/4))) err=1
		}
	}
	if (err==1){
		return false
	}else{
	    return true;
	}
}