﻿/**
  파  일  명	: airsoft.js
  용      도	: airsoft 웹 화면에서 쓰이는 java script
  사용 class	:
  작      성	: airsoft
  변 경 이력	:

<SCRIPT LANGUAGE="javascript" SRC="airsoft.js"></SCRIPT>

*/

function formatting(str,formatted,formname)
{
 var fcount = formatted.length;
 var dateType;

 if((fcount == 10) && (formatted == "????-??-??"))
 {
    dateType = dateChecking(formname, formname.value);
    formname.value = dateType;
 }
 else
 {
    formname.value = displayformatedtext(str,formatted);
 }
}

function displayformatedtext(text,format)
{
  if (text == '') return '';
  if(text.length <= 0) return '';
  // text가 01252412 이고 format 이 ????-???? 이면 0125-2412로 출력
  var start,i,j,rtn,len;
  var tcount = text.length;
  var fcount = format.length;
  var textcount;

  rtn = '';
  //text에서 /를 제거한다.
  if((tcount > 0) && (fcount > 0))
  {
	  for (i=0; i<tcount; ++i)
	  {
	    if (text.substring(i,i+1) != '-')
			rtn = rtn + text.substring(i,i+1);
	  }

	  text = rtn;
	  tcount = text.length;
	  textcount = text.length;
	  //포멧에서 ?의  count
	  len = 0;
	  for (j=0; j<fcount; ++j)
	  {
	    if (format.substring(j,j+1) == '?' || format.substring(j,j+1) == '!')
		  ++len;
	  }
	  //text의 길이가 len보다 작으면 앞에 0를 붙인다.
	  if (tcount<len)
	  {
	    for (i=0; i<(len-tcount); ++i)
	    {
		  text = '0' + text;
	    }
		tcount = len;
	  }

	  rtn = '';
	  start = 0;
	  for (i=0; i<tcount; ++i)
	  {
	    for (j=start; j<fcount; ++j)
	    {
		  if (format.substring(j,j+1) == '?')
		  {
			rtn = rtn + text.substring(i,i+1);
			start = start + 1;
			break;
		  }
		  else if (format.substring(j,j+1) == '!')
		  {
		    if (len > textcount)
		    {
		  	start = start + 1;
		  	break;
		    }
		    else
		    {
			rtn = rtn + text.substring(i,i+1);
			start = start + 1;
			break;
		    }
		  }
		  else
		  {
		    rtn = rtn + format.substring(j,j+1);
	   	    start = start + 1;
		  }
	    }
	  }

	  return rtn+format.substring(start);
	}
	else
	{
		return;
	}
}

function getrawtext(text,format)
{
  if (text == '') return '';
  // text가 0125-2412 이고 format 이 ????-???? 이면 01252412로 출력
  var start,i,j,rtn;
  var tcount = text.length;
  var fcount = format.length;

  rtn = '';
  start = 0;
  for (i=0; i<tcount; ++i)
  {
    for (j=start; j<fcount; ++j)
    {
	  if (format.substring(j,j+1) == '?')
	  {
		rtn = rtn + text.substring(i,i+1);
		start = start + 1;
		break;
	  }
	  else
	  {
   	    start = start + 1;
		break;
	  }
    }
  }
  return rtn;
}

//콤보박스를 원하는 항목으로 설정하는 함수
function setcombo(combo,cd,index)
{
  var i,count = combo.length;

  //default 설정
  if (index > 0)
    combo.options[index-1].selected = true;

  for (i=0; i<count; ++i)
  {
    if (combo.options[i].value==cd)
	{
	   combo.options[i].selected = true;
	   return;
	}
   }
}

//콤보박스를 원하는 Index 항목으로 설정하는 함수
function setcomboIndex(combo,cd)
{
  var i,count = combo.length;

  for (i=0; i<count; ++i)
  {
  		if(i==cd)
  		{
	   		combo.options[i].selected = true;
	   		return;
	   	}
  }

  if(cd > count)
	combo.options[0].selected = true;

  return;
}

//콤보박스의 선택된 항목의 텍스트를 리턴하는 함수
function getcombotext(combo)
{
  var i,count = combo.length;

  for (i=0; i<count; ++i)
  {
    if (combo.options[i].value==combo.value)
	{
	   return combo.options[i].text;
	}
   }
}

//콤보박스에서 코드값을 가지고 해당하는 TEXT를 알아오는 함수
function getcombotextChoice(combo, Code)
{
  var i,count = combo.length;

  for (i=0; i<count; ++i)
  {
    if (combo.options[i].value==Code)
	{
	   return combo.options[i].text;
	}
   }
}

//주민번호 Check function
function checkJumin(juminNo)
{
	var lastNo;
	var sum = 0;
	var array = new Array(2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5);

	juminNo = getReplaceText(juminNo, "-", "");

	if (juminNo.length != 13){
		return false;
	}else{
		for(var i=0; i < array.length; i++){
			sum = sum + juminNo.substring(i,i+1)*array[i];
		}
		lastNo = 11 - (sum%11);
        if(lastNo >= 10)
        {
            lastNo = lastNo - 10;
        }
		//주민번호 logic이 맞으면 true, 틀리면 false를 return
		if(juminNo.substring(12,13)==lastNo)
		{
			return true;
		}else{
			return false;
		}
	}
}

//사업자번호 Check function
function checkSaUpJaBunHo(busiNo)
{
	var lastNo;
	var sum = 0;
	var number = 0;
	var array = new Array(1, 3, 7, 1, 3, 7, 1, 3);
	if (busiNo.length != 10)
	{
		return false;
	}else
	{
		for(var i=0; i <array.length; i++){
			sum = sum + busiNo.substring(i,i+1)*array[i];
		}
		number = busiNo.substring(8,9)*5;
		sum = sum + (number/10) + (number%10);
		sum = sum%10;
		lastNo = 10-sum;

        if(lastNo >= 10)
        {
            lastNo = lastNo-10;
        }
		//사업자번호 logic이 맞으면 true, 틀리면 false를 return
		if(busiNo.substring(9,10)==lastNo)
		{
			return true;
		}else{
			return false;
		}
	}
}

//ID 숫자 Check
function intYnCheck(obj, x)
{
	//입력 값 중 하나라도 숫자가 아니면 false를 return
	var flag = true;
	for(var i=0; i<x.length; i++)
	{
		var it = parseInt(x.charAt(i));
		it = it.toString();
		if(it == "NaN")
		{
			alert("Not Number Input Error!");
			obj.focus();
			obj.select();
			return false;
		}
	}

	return true;
}

//text에서 ch1을 ch2로 변환
function getReplaceText(text, ch1, ch2)
{
    var i;
    var rtn;

    rtn = "";
    if (text == "") return rtn;

    for (i=0; i<text.length; ++i)
    {
       if (!(text.substring(i,i+1) == ch1))
       {
         rtn = rtn + text.substring(i,i+1);
       }
       else
       {
      	 rtn = rtn + ch2;
       }
    }
    return rtn;
}

function ltrim(para)
{
   while(para.substring(0,1) == ' ')
       para = para.substring(1, para.length);

    for ( i=0; i < para.length;)
       if (para.substring(i,i+1) == ' ' )
           para = para.substring(0,i) + para.substring(i+1,para.length);
       else
           i++;

    while(para.substring(para.length-1,para.length) == ' ')
          para = para.substring(0, para.length-1);

}

//미성년자 체크
function kidCheck(s_temp,s_yyyymmdd)
{
  //s_temp(주민번호는 '-'가 붙어도 상관없다),s_yyyymmdd(현재일자는 'yyyymmdd'의 포멧이여야 한다.)
  var s_juminNo,s_birth,i_yy1,i_yy2,i_mm1,i_mm2,i_dd1,i_dd2;
  s_juminNo=getReplaceText(s_temp, "-", "")
  if ((s_juminNo.substring(6,7) == "1")||(s_juminNo.substring(6,7) == "2"))
  {
    s_birth="19"+s_juminNo.substring(0,6);
  }
  else s_birth="20"+s_juminNo.substring(0,6);

  i_yy1 = parseInt(s_yyyymmdd.substring(0,4));
  i_mm1 = parseInt(s_yyyymmdd.substring(4,6));
  i_dd1 = parseInt(s_yyyymmdd.substring(6,8));

  i_yy2 = parseInt(s_birth.substring(0,4));
  i_mm2 = parseInt(s_birth.substring(4,6));
  i_dd2 = parseInt(s_birth.substring(6,8));

  if ((i_yy1-i_yy2)>20)
  {
   return false;
  }
  else if ((i_yy1-i_yy2)==20)
  {
    if ((i_mm1-i_mm2)>0)
	{
      return false;
	}
	else if ((i_mm1-i_mm2)==0)
	{
	  if ((i_dd1-i_dd2)>=0)
	  {
	    return false;
	  }
	  else
	  {
	    return true;
	  }
	}
	else
	{
      return true;
	}
  }
  else
  {
   return true;
  }

}

function dateChecking(obj, in_date)
{
	// 윤년 체크를 위한 변수
    var varYear;
    var varMonth;
    var varDay;
    var out_date;
    var date_length;
    var dayCheck;
    var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var replDate;

    out_date = in_date;
    out_date = getReplaceText(out_date, "/", "");

    if(intYnCheck(obj, out_date) == false)
    {
        alert("Not Number Input Error!");
        obj.focus();
        return in_date;
    }

    date_length = out_date.length;

    if(date_length != 8)
    {
      if(date_length != 0)
      {
        alert("Date Input Number 8!");
        obj.focus();
        obj.select();
        return in_date;
      }
      else
      {
        in_date = "";
        return in_date;
      }
    }

    varYear = out_date.substring(0,4);
    varMonth = out_date.substring(4,6);
    varDay = out_date.substring(6,8);
    dayCheck = varDay;

    if((eval(varMonth) <= 0) || (eval(varMonth) > 12))
    {
        alert("Month Input 1~12!");
        obj.focus();
        obj.select();
        return in_date;
    }

    if ((((eval(varYear) % 4) == 0) &&
            (((eval(varYear) % 100) != 0) || ((eval(varYear) % 400) == 0))) ||
             ((eval(varYear) % 1000) == 0))
    {
        day[1]=29;
    }

    dayCheck=(day[eval(varMonth)-1]);

    if((eval(varDay) <= 0) || (eval(dayCheck) < eval(varDay)))
    {
        alert(varMonth + "Month is Last Date " + dayCheck);
        obj.focus();
        obj.select();
        return in_date;
    }
    else
    {
        in_date = varYear+"-"+varMonth+"-"+varDay;
        return in_date;
    }
}

function rtrim(para)
{
   var str_length = para.length;
   var sub_check = 0;
   var blank_count = 0;
   var ret_value = "";

   if(str_length > 0)
   {
	   for(var i = 0; i < str_length; ++i)
	   {
	       if(sub_check > 0)
	       {
	            var count = para.length - sub_check;
	       	    var s_char = para.substring(count, count+1);

	       	    if(s_char == ' ')
	       	    {
	       	    	blank_count++;
	       	    }
	       	    else
	       	    {
	       	    	break;
	       	    }
	       }

	       sub_check ++;
	   }
   }
   else
   {
   	    return '';
   }

   ret_value = para.substring(0, str_length - blank_count);

   return ret_value;
}


function todayDate() {
	today = new Date();
	var  year  = today.getYear();
	var  month = today.getMonth() + 1;
	var  day   = today.getDate();

	if (month < 10)
		month = '0' + month;
	if (day < 10)
		day = '0' + day;
	var  tdate = year + month + day;
	return tdate;
}

function addNewLine(idata) {
	var tmp = idata;
	var ret="";
	for (var i=0; i<tmp.length; i++) {
		if (tmp.charAt(i) == "\n") {
			tmp = getReplaceText(tmp, tmp.charAt(i), '@');
		}
		else if (tmp.charAt(i) == '%') {
			tmp = getReplaceText(tmp, tmp.charAt(i), '#');
		}
	}

	return tmp;
}

function chkSanoJuno(obj, tData) {
	if (tData.length > 0) {
		data = getReplaceText(tData, "-", "");
		if (data.length < 13) {
			if (!checkSaUpJaBunHo(data)) {
				alert("사업자 번호가 맞지 않습니다..");
				obj.focus();
			}
			else
				formatting(data, "???-??-?????", obj);
		}
		else {
			if (!checkJumin(data)) {
				alert("주민등록 번호가 맞지 않습니다..");
				obj.focus();
			}
			else
				formatting(data, "??????-???????", obj);
		}
	}
}

function postFormatting(obj, tData) {
	if (tData.length > 0) {
		data = getReplaceText(tData, "-", "");
		formatting(data, "???-???", obj);
	}
}

function SaveSuccess(JMsg)
{
	//this.status = JMsg;
	alert(JMsg);
}

function SaveFailedMsg(JMsg)
{
	alert("저장실패입니다. 담당자에게 연락 주세요. \n "+JMsg);
}

function MoneyCheck(obj, x, intValue)
{

    var JTemp1 = "";
    var JIntLength = "";
    var retValue = "";
    if(x.length > 0)
    {
        for(var i=0; i<x.length; i++)
        {
       	    JTemp1 = parseInt(x.charAt(i));
           	JTemp1 = JTemp1.toString();

        	if(JTemp1 == "NaN")
        	{
        	    if(x.charAt(i) != ",")
        	    {
                    alert("Money Input is Number, comma!");
                    obj.focus();
                    obj.select();
                    return false;
	        		}
        	}
        }

        for(var i=0; i<x.length; i++)
        {
            if(x.charAt(i) != ',')
            {
                JTemp1 = x.charAt(i);
                JIntLength = JIntLength + JTemp1.toString();
            }
        }

        if(JIntLength.length > eval(intValue))
        {
            alert("Input is Number "+intValue);
            obj.focus();
            obj.select();
            return false;
        }

				JTemp1 = "";

				for(var i=0; i<JIntLength.length; i++)
				{
					if(((i+1)%3) == 0)
					{
						if(JIntLength.substring(i+1, i+2) != "")
						{
							JTemp1 = "," + "?" + JTemp1;
						}
						else
						{
							JTemp1 = "?" + JTemp1;
						}
					}
					else
					{
						JTemp1 = "?" + JTemp1;
					}
				}

				retValue = displayformatedtext(JIntLength, JTemp1);
    }

		obj.value = retValue;

		return true;
}

function percentCheck(obj, x, intValue, floatValue)
{

    var JTemp1 = "";
    var JIntLength = "";
    var JFloatLength = "";
    var retValue = "";

    if(x.length > 0)
    {
        for(var i=0; i<x.length; i++)
        {
       	    JTemp1 = parseInt(x.charAt(i));
           	JTemp1 = JTemp1.toString();

        	if(JTemp1 == "NaN")
        	{
        	    if((x.charAt(i) != ",") && (x.charAt(i) != "."))
        	    {
                    alert("Input number and comma(,)");
                    obj.focus();
                    obj.select();
                    return false;
        		}
        	}
        }

        for(var i=0; i<x.length; i++)
        {
            if(x.charAt(i) != ',')
            {
                if(x.charAt(i) != '.')
                {
                    JTemp1 = x.charAt(i);
                    JIntLength = JIntLength + JTemp1.toString();
                }
                else
                    break;
            }
        }

        if(JIntLength.length > eval(intValue))
        {
            alert("Max "+intValue+" units can be input.");
            obj.focus();
            obj.select();
            return false;
        }

        for(var i=0; i<x.length; i++)
        {
            if(x.charAt(i) == '.')
            {
                JFloatLength = x.substring(i+1, x.length);
                break;
            }
        }

        if(JFloatLength.length > eval(floatValue))
        {
            alert("down to "+floatValue+" demical places are acceptable.");
            obj.focus();
            obj.select();
            return false;
        }

				JTemp1 = "";

				for(var i=0; i<JIntLength.length; i++)
				{
					if(((i+1)%3) == 0)
					{
						if(JIntLength.substring(i+1, i+2) != "")
						{
							JTemp1 = "," + "?" + JTemp1;
						}
						else
						{
							JTemp1 = "?" + JTemp1;
						}
					}
					else
					{
						JTemp1 = "?" + JTemp1;
					}
				}

				if(JFloatLength != "")
					retValue = displayformatedtext(JIntLength, JTemp1) + "." + JFloatLength;
				else
					retValue = displayformatedtext(JIntLength, JTemp1);
    }

		obj.value = retValue;

		return true;
}

function emptyToZero(text)
{
	if(text == "")
	{
		return "0";
	}
	else
	{
		return text;
	}
}

function NaNToZero(text)
{
	if(text == "NaN")
	{
		return "0";
	}
	else
	{
		return text;
	}
}

function MonthCheck(obj, x)
{

    var JTemp1 = "";
    var JIntLength = "";
    var retValue = "";
		x = getReplaceText(x, "-", "");

    if(x.length > 0)
    {
		if(x.length != 8)
		{
			alert("Date Input Number 8!");
			obj.focus();
			obj.select();
			return false;
		}
		
		for(var i=0; i<x.length; i++)
		{
			JTemp1 = parseInt(x.charAt(i));
			JTemp1 = JTemp1.toString();
			
			if(JTemp1 == "NaN")
			{
				if(x.charAt(i) != "-")
				{
					alert("Date Input is Number, -");
					obj.focus();
					obj.select();
					return false;
				}
			}
		}

		if(!dateChecking3(obj, x)) {
			obj.focus();
			return false;
		}
		obj.value = displayformatedtext2(x, "????-??-??");
		return true;
    }
}

function MonthCheck2(obj, x)
{

    var JTemp1 = "";
    var JIntLength = "";
    var retValue = "";
		x = getReplaceText(x, "/", "");

    if(x.length > 0)
    {
    	if(x.length != 6)
    	{
    		alert("Date Input Number 6!");
    		obj.focus();
	        obj.select();
	        return false;
    	}

      for(var i=0; i<x.length; i++)
      {
     	    JTemp1 = parseInt(x.charAt(i));
         	JTemp1 = JTemp1.toString();

      	if(JTemp1 == "NaN")
      	{
      	    if(x.charAt(i) != "/")
      	    {
                  alert("Date Input is Number, /");
                  obj.focus();
                  obj.select();
                  return false;
        		}
      	}
      }
    }

	if(eval(x.substring(4, 6)) <= 0 || eval(x.substring(4, 6)) > 12 ) {
		alert("Month is 1 ~ 12!");
		obj.focus();
		obj.select();
		return false;
	}

	obj.value = displayformatedtext2(x, "????/??");
	return true;
}

function dateChecking2(yyyy,mm,dd)
{
	// 윤년 체크를 위한 변수
    var varYear;
    var varMonth;
    var varDay;
    var out_date;
    var date_length;
    var dayCheck;
    var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var replDate;

    varYear  = yyyy.value;
    varMonth = mm.value;
    varDay   = dd.value;

		if(varYear.length < 4)
		{
			varYear = "0000" + yyyy.value;
			varYear = varYear.substring(varYear.length-4,varYear.length);
			yyyy.value = varYear;
		}

		if(varMonth.length < 2)
		{
			varMonth = "00" + mm.value;
			varMonth = varMonth.substring(varMonth.length-2,varMonth.length);
			mm.value = varMonth;
		}

		if(varDay.length < 2)
		{
			varDay = "00" + dd.value;
			varDay = varDay.substring(varDay.length-2,varDay.length);
			dd.value = varDay;
		}

    out_date = yyyy.value+mm.value+dd.value;
    out_date = getReplaceText(out_date, "-", "");

    if(intYnCheck(obj, out_date) == false)
    {
        alert("Date Input is Number!");
        yyyy.focus();
        return false;
    }

    date_length = out_date.length;

    if(date_length != 8)
    {
      if(date_length != 0)
      {
        alert("Date Input Number 8!");
        yyyy.focus();
        return false;
      }
      else
      {
        in_date = "";
        return false;
      }
    }

    varYear  = out_date.substring(0,4);
    varMonth = out_date.substring(4,6);
    varDay   = out_date.substring(6,8);
    dayCheck = varDay;

    if((eval(varMonth) <= 0) || (eval(varMonth) > 12))
    {
        alert("Month Input is 1 ~ 12!");
        mm.focus();
        return false;
    }

    if ((((eval(varYear) % 4) == 0) &&
            (((eval(varYear) % 100) != 0) || ((eval(varYear) % 400) == 0))) ||
             ((eval(varYear) % 1000) == 0))
    {
        day[1]=29;
    }

    dayCheck=(day[eval(varMonth)-1]);

    if((eval(varDay) <= 0) || (eval(dayCheck) < eval(varDay)))
    {
        alert(varMonth + "Month is Last Date " + dayCheck);
        dd.focus();
        return false;
    }
		return true;
}

function dateChecking3(obj, in_date)
{
	// 윤년 체크를 위한 변수
    var varYear;
    var varMonth;
    var varDay;
    var out_date;
    var date_length;
    var dayCheck;
    var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var replDate;

    out_date = in_date;
    out_date = getReplaceText(out_date, "/", "");

    if(intYnCheck(obj, out_date) == false)
    {
        alert("Date Input is Number!");
        obj.focus();
        return false;
    }

    date_length = out_date.length;

    if(date_length != 8)
    {
      if(date_length != 0)
      {
        alert("Date Input Number 8!");
        obj.focus();
        obj.select();
        return false;
      }
      else
      {
        in_date = "";
        return false;
      }
    }

    varYear = out_date.substring(0,4);
    varMonth = out_date.substring(4,6);
    varDay = out_date.substring(6,8);
    dayCheck = varDay;

    if((eval(varMonth) <= 0) || (eval(varMonth) > 12))
    {
        alert("Month Input is 1~12!");
        obj.focus();
        obj.select();
        return false;
    }

    if ((((eval(varYear) % 4) == 0) &&
            (((eval(varYear) % 100) != 0) || ((eval(varYear) % 400) == 0))) ||
             ((eval(varYear) % 1000) == 0))
    {
        day[1]=29;
    }

    dayCheck=(day[eval(varMonth)-1]);

    if((eval(varDay) <= 0) || (eval(dayCheck) < eval(varDay)))
    {
        alert(varMonth + "Month is Last Date " + dayCheck);
        obj.focus();
        obj.select();
        return false;
    }
    else
    {
        in_date = varYear+"/"+varMonth+"/"+varDay;
        obj.value = in_date;
        return true;
    }
}

function displayformatedtext2(text,format)
{
  if (text == '') return '';
  if(text.length <= 0) return '';
  // text가 01252412 이고 format 이 ????/???? 이면 0125/2412로 출력
  var start,i,j,rtn,len;
  var tcount = text.length;
  var fcount = format.length;
  var textcount;

  rtn = '';
  //text에서 /를 제거한다.
  if((tcount > 0) && (fcount > 0))
  {
	  for (i=0; i<tcount; ++i)
	  {
	    if (text.substring(i,i+1) != '/')
			rtn = rtn + text.substring(i,i+1);
	  }

	  text = rtn;
	  tcount = text.length;
	  textcount = text.length;
	  //포멧에서 ?의  count
	  len = 0;
	  for (j=0; j<fcount; ++j)
	  {
	    if (format.substring(j,j+1) == '?' || format.substring(j,j+1) == '!')
		  ++len;
	  }
	  //text의 길이가 len보다 작으면 앞에 0를 붙인다.
	  if (tcount<len)
	  {
	    for (i=0; i<(len-tcount); ++i)
	    {
		  text = '0' + text;
	    }
		tcount = len;
	  }

	  rtn = '';
	  start = 0;
	  for (i=0; i<tcount; ++i)
	  {
	    for (j=start; j<fcount; ++j)
	    {
		  if (format.substring(j,j+1) == '?')
		  {
			rtn = rtn + text.substring(i,i+1);
			start = start + 1;
			break;
		  }
		  else if (format.substring(j,j+1) == '!')
		  {
		    if (len > textcount)
		    {
		  	start = start + 1;
		  	break;
		    }
		    else
		    {
			rtn = rtn + text.substring(i,i+1);
			start = start + 1;
			break;
		    }
		  }
		  else
		  {
		    rtn = rtn + format.substring(j,j+1);
	   	    start = start + 1;
		  }
	    }
	  }

	  return rtn+format.substring(start);
	}
	else
	{
		return;
	}
}

/* 라디오 버튼에서 원하는 라디오 버튼에 체크해 주는 함수 */
function radioSetting(radioName, Jvalue)
{
	var Count = radioName.length;

	for(var i=0; i<Count; i++)
	{
		if( radioName[i].value == Jvalue)
		{
			radioName[i].checked = true;
			return;
		}
	}

	//radioName[eval(defaultValue)].checked = true;
}

//라디오 버튼중 선택되어 있는 값을 알아낸다.
function radioCheckedValue(radioName)
{
	var Count = radioName.length;
	var rtnVal = "";

	for(var i=0; i<Count; i++)
	{
		if(radioName[i].checked == true)
		{
			return radioName[i].value;
		}
	}
	return rtnVal;
}

/* 체크 박스를 체크해 주는 함수 */
function checkBoxSetting(checkBoxName, Jvalue)
{
	var Count = checkBoxName.length;

	if(Count > 1) {
		for(var i=0; i<Count; i++)
		{
			if( checkBoxName[i].value == Jvalue) {
				checkBoxName[i].checked = true;
				return;
			}
		}
	} else {
		if( checkBoxName.value == Jvalue) {
			checkBoxName.checked = true;
			return;
		}
	}

	//checkBoxName[eval(defaultValue)].checked = true;
}

/* 체크 박스가 체크 되어 있는지를 체크해 주는 함수 */
function checkBoxYn(checkBoxName)
{
	var Count = checkBoxName.length;

	if(Count > 1) {
		for(var i=0; i<Count; i++) {
			if( checkBoxName[i].checked) return true;
			else return false;
		}
	} else {
		if( checkBoxName.checked) return true;
		else return false;
	}
}

function useableYnCheck(obj1, obj2) {
	// 사용 유무가 체크 되어 있는지 체크한다.
	var use1 = checkBoxYn(obj1);
	var use2 = checkBoxYn(obj2);
	var reg_use = "";

	// 둘다 체크 되어 있거나 둘다 체크 안되어 있는 경우는 전체로 본다.
	if((use1 && use2) || (!use1 && !use2))reg_use = "";
	else if(use1) reg_use = "T";
	else if(use2) reg_use = "F";

	return reg_use;
}

function TALength_rep(text, len)
{
	var count = text.length;
	if(count >=len)
	{
		return "0";
	} else
	{
		return getReplaceText(text, "'", "`");
	}
}

var downStrokeField;
function autojump(fieldName,nextFieldName,fakeMaxLength)
{
    var myForm=document.forms[document.forms.length - 1];
    var myField=myForm.elements[fieldName];
    myField.nextField=myForm.elements[nextFieldName];

    if (myField.maxLength == null)
       myField.maxLength=fakeMaxLength;

    myField.onkeydown=autojump_keyDown;
    myField.onkeyup=autojump_keyUp;
}

function autojump_keyDown()
{
    this.beforeLength=this.value.length;
    downStrokeField=this;
}

function autojump_keyUp()
{
    if (
       (this == downStrokeField) &&
       (this.value.length > this.beforeLength) &&
       (this.value.length >= this.maxLength)
       )
    {
	if (this.nextField.select) this.nextField.select();
       this.nextField.focus();
    }
    downStrokeField=null;
}

function getCutterString(data, gubn) {
    var length = data.length;
    var retVal = new Array(4);
    var j = 0;
    var startStr = 0;

	//배열의 내부를 초기화한다.
    for(var i=0; i<4; i++) retVal[i] = "";

    for(var i=0; i<length; i++) {
            if(data.charAt(i) == gubn) {
                    retVal[j] = data.substring(startStr, i);
                    startStr = i + 1;
                    j++;
            }
    }

    //마지막 데이터 처리
    retVal[j] = data.substring(startStr, data.length);

    return retVal;
}

    /* 들어온 두 날짜의 차이
    * (예)  diffDate("20000629", "20000630") --> 1
    * return 날짜의 차이 (sSecondDate - sFirstDate)
    */

function  diffDate(sFirstDate, sSecondDate) {
         days = new Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

        // 기준일로 들어온 날짜로부터 연도, 월, 일자 분리
        var firstYear  = eval(sFirstDate.substring(0, 4));
        var firstMonth = eval(sFirstDate.substring(4, 6));
        var firstDay   = eval(sFirstDate.substring(6, 8));

        var secondYear  = eval(sSecondDate.substring(0, 4));
        var secondMonth = eval(sSecondDate.substring(4, 6));
        var secondDay   = eval(sSecondDate.substring(6, 8));

        var nMoveDay = 0;
        var sSymbol = "";

        if ( eval(sFirstDate) > eval(sSecondDate) ) {
                sSymbol = "-";
        } // end of if ( 첫 파라메터가 두번째 파라메터보다 큰가 )

        if (((firstYear % 4 == 0) && (firstYear % 100 != 0)) || (firstYear % 400 == 0)) {
                days[2] = 29;
        } // end of if
        else {
                days[2] = 28;
        } // end of else

        while ( (firstYear != secondYear) || (firstMonth != secondMonth) || (firstDay != secondDay) ) {
                if (sSymbol == "-") {
                        firstDay--;

                        if ( firstDay < 1 ) {
                                firstMonth--;

                                if ( firstMonth < 1 ) {
                                        firstMonth = 12;
                                        firstYear--;
                                } // end of if ( 월이 1보다 작다 )

                                if (((firstYear % 4 == 0) && (firstYear % 100 != 0)) || (firstYear % 400 == 0)) {
                                        days[2] = 29;
                                } // end of if
                                else {
                                        days[2] = 28;
                                } // end of else

                                firstDay = days[firstMonth];
                        } // end of if ( 날짜가 1 보다 작다 )
                } // end of if ( 뒤에서 앞으로 이동 )
                else {
                        firstDay++;

                        if ( firstDay > days[firstMonth] ) {
                                firstMonth++;

                                if ( firstMonth > 12 ) {
                                        firstMonth = 1;
                                        firstYear++;
                                } // end of if ( 월이 1보다 작다 )

                                firstDay = 1;
                        } // end of if ( 날짜가 1 보다 작다 )
                } // end of else ( 앞에서 뒤로 이동 )

                nMoveDay++;
        } // end of while ( 일자가 동일할때까지 반복 )

        return ( sSymbol + nMoveDay );
}

function minuteCheck(sFirstDate,  sFirstTime, sSecondDate, sSecondTime)
{
	var Jcompute = "";

	if(sFirstDate != "")
	{
		Jcompute = eval(sSecondDate.substring(6, 8)) - eval(sFirstDate.substring(6, 8));
		if(eval(Jcompute) > 0)
			Jcompute = eval(Jcompute) * 24;

		else
			Jcompute = 0;

		Jcompute = eval(sSecondTime.substring(0, 2)) + eval(Jcompute);//시간계산
		Jcompute = Jcompute*60 + eval(sSecondTime.substring(2, 4));//분으로계산
		Jcompute = Jcompute - eval(sFirstTime.substring(0, 2))*60;
		Jcompute = Jcompute - eval(sFirstTime.substring(2,4));//end 시간분-
		return Jcompute;
	}
}

/**
 * 입력값이 숫자,콤마(,), (.)로 되어있는지 체크
 * flag가 true이면 (.)도 포함된다.
 */
function isNumComma(input, flag) {
		if(flag) {
    	var chars = ",0123456789";
    } else {
    	var chars = ".,0123456789";
    }
    return containsCharsOnly(input,chars);
}

/**
 * 입력값이 특정 문자(chars)만으로 되어있는지 체크
 * 특정 문자만 허용하려 할 때 사용
 * ex) if (!containsCharsOnly(form.blood,"ABO")) {
 *         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
 *     }
 */
function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
           return false;
    }
    return true;
}

/**
 * 입력값에서 콤마를 없앤다.
 */
function removeComma(input) {
    return input.replace(/,/gi,"");
}

function getComma(x)
{

    var JTemp1 = "";
    var retValue = "";

    if(x.length > 0)
    {
				for(var i=0; i<x.length; i++)
				{
					if(((i+1)%3) == 0)
					{
						if(x.substring(i+1, i+2) != "")
						{
							JTemp1 = "," + "?" + JTemp1;
						}
						else
						{
							JTemp1 = "?" + JTemp1;
						}
					}
					else
					{
						JTemp1 = "?" + JTemp1;
					}
				}

				retValue = displayformatedtext(x, JTemp1);
    }

		return retValue;
}

// 두월 사이의 간격 체크
function diffMonth(obj, startDate, endDate, interval) {
	var tmpMonth = 0;

	if(startDate.length != 8) return false;
	if(endDate.length != 8) return false;

	var startYear = eval(startDate.substring(0, 4));
	var endYear	  = eval(endDate.substring(0, 4));
	var startMonth = eval(startDate.substring(4, 6));
	var endMonth = eval(endDate.substring(4, 6));

	startMonth = startYear * 12 + startMonth;
	endMonth   = endYear * 12 + endMonth;

	tmpMonth = endMonth - startMonth;

	if(tmpMonth > interval) {
		alert("조회시간이 느려지므로 "+interval+"개월 이상은 조회가 불가능합니다.");
		obj.select();
		obj.focus();
		return false;
	}

	return true;
}

// 두월 사이의 간격 체크
function diffMonthcheck(startDate, endDate) {
	var tmpMonth = 0;

	if(startDate.length != 8) return false;
	if(endDate.length != 8) return false;

	var startYear = eval(startDate.substring(0, 4));
	var endYear	  = eval(endDate.substring(0, 4));
	var startMonth = eval(startDate.substring(4, 6));
	var endMonth = eval(endDate.substring(4, 6));

	startMonth = startYear * 12 + startMonth;
	endMonth   = endYear * 12 + endMonth;

	tmpMonth = endMonth - startMonth;

	if(endDate.substring(6, 8) > startDate.substring(6, 8)) {
		tmpMonth = tmpMonth + 0.5;	
	}
	
	return tmpMonth;
}

function issueNoCheck(obj, x)
{

    var JTemp1 = "";
    var JIntLength = "";
    var retValue = "";
	x = getReplaceText(x, "/", "");

	if(containsCharsOnly(obj, "0123456789") == false) {
		alert("발급번호에는 날짜입력만 가능합니다.");
		return false;
	}

    if(x.length > 0)
    {
    	if(x.length != 8)
    	{
    		alert("Date Input Number 8!");
    		obj.focus();
        obj.select();
        return false;
    	}
    }

	if(!dateChecking3(obj, x)) {
		obj.focus();
		return false;
	}
	obj.value = getReplaceText(x, "/", "");
	return true;
}

function valueLower(x) {
	if(x != "") {
		for(var i=0; i<x.length; i++) {
	        if(x.charAt(i) == '.') {
				x = x.substring(0, i);
				return x;
	        }
		}
		return x;
	} else {
		return x;
	}
}

function cityCheck(frameName, checkFrameName, obj, index) {
	index -= 1;

	if(obj.value != "") {
		document.myForm.method = "post";
		document.myForm.target = checkFrameName;
		document.myForm.action = "/common/cityCheck.asp?fieldName="+obj.name+"&frameName="+frameName+"&"+obj.name+"="+obj.value+"&index="+index;
		document.myForm.submit();
	}
}

function Agent7CodeCheck(input) {
	var chars1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var chars2 = "1234567890";
	var alphaCheck = true;
	var intCheck = true;

	if(input == "") return false;

	var intVal = input.substring(3, input.length);
	input 	   = input.substring(0, 3);

	//처음 3자리가 영문자로만 이루어진 city인지 체크
    for (var inx = 0; inx < input.length; inx++) {
		if (chars1.indexOf(input.charAt(inx)) == -1) {
			alphaCheck = false;
			break;
		}
    }

	if(!alphaCheck) return false;

	//나머지가 숫자로만 이루어진 Agent7LTR Code인지 체크
    for (var inx = 0; inx < intVal.length; inx++) {
		if (chars2.indexOf(intVal.charAt(inx)) == -1) {
			intCheck = false;
			break;
		}
    }

	if(!intCheck) return false;

    return true;
}

//문자열을 대문자 또는 소문자로 변환
function UpperLowercase(flg,obj,sVal){
	var sTemp;
	switch(flg){
		case 1: sTemp = sVal.toUpperCase(); break;
		case 2: sTemp = sVal.toLowerCase();
	}
	obj.value = sTemp;		
		
}
// 숫자 체크 함수
function numberCheck(obj, x, flag) {
	if(x.length != 0) {
		if(!isNumComma(obj, flag)) {
			alert('Input is Number!');
			obj.focus();
			obj.select();
			return false;
		}
	}
	return true;
}

// 소수점이하 원하는 자리까지 절사
function fPointCut(numVal, fpSize) {
	var fpVal = "";
	var intVal = "";
	var fpIndex = 0;

	if(numVal == "")  return numVal;

	fpIndex = numVal.lastIndexOf(".");

	if(fpIndex == -1) return numVal;

	intVal = numVal.substring(0, fpIndex);
	fpVal = numVal.substring(fpIndex+1, numVal.length);

	if(fpVal.length < fpSize) return numVal;

	return intVal + "." + fpVal.substring(0, fpSize);
}

function Top_SendTrack() {
  	var jsBillNum = "";
	if (document.trkSearch.Top_PreFix.value == "") {
		alert("PreFix번호를 넣으십시오 !")
		document.trkSearch.Top_PreFix.focus();
	} else if (document.trkSearch.Top_Billno.value == "") {
	        alert("Master Airway Bill번호를 넣으십시오 !")
	        document.trkSearch.Top_Billno.focus();
	} else if (document.trkSearch.Top_Billno.value.length < 8) {
		alert("Master Airway Bill번호 8자리를 넣으십시오 !")
		document.trkSearch.Top_Billno.focus();
	} else {
		if (!containsCharsOnly(document.trkSearch.Top_PreFix,"0123456789")) {
		    alert("숫자만 입력이 가능합니다.");
		    document.trkSearch.Top_PreFix.select();
		    return;
		}
		if (!containsCharsOnly(document.trkSearch.Top_Billno,"0123456789")) {
		    alert("숫자만 입력이 가능합니다.");
		    document.trkSearch.Top_Billno.select();
		    return;
		}			
		jsBillNum = document.trkSearch.Top_PreFix.value + "-" + document.trkSearch.Top_Billno.value;
		//document.myForm.action = "/Korean/track/track_result.jsp?frmFlag=SND&Language=KOR&frmBillNum="+jsBillNum ;
		window.open("/Korean/tracking/trk_master_air_waybill_result_popup.jsp?frmFlag=SND&Language=KOR&frmBillNum="+jsBillNum, "track_result", "status=yes, scrollbars=yes, width=800, height=400, top=200, left=250");		
		//document.myForm.submit();
	}
}

function Top_logOutOK() {
	//document.myForm.target = "frame1";
	document.trkSearch.method = "post";
	document.trkSearch.action = "/Korean/common/logOut.jsp";
	document.trkSearch.submit();
}

/**
function trim(a){
	var tmp=new Array();
	for(j=0;j<a.length;j++)
		if(a[j]!='')
			tmp[tmp.length]=a[j];
	a.length=tmp.length;
	for(j=0;j<tmp.length;j++)
		a[j]=tmp[j];
	return a;
}
**/