﻿// JScript 파일

//trim()함수 추가
String.prototype.trim = function()
{
 return this.replace(/(^\s*)|(\s*$)/gi, "");
} 

//## 숫자인가 아닌가 해서 이씨! 해주는거

function checkQty(obj)
{
   var value = obj.value;
   var flag  = 1;

   if(isNaN(value)) 
	{ 
	  alert("숫자만 입력하십시오"); 
      flag = 0; 
	}

	if(!checkByte(obj,0,"구매수량을 ")) 
	{ flag = 0; }

	return flag;

}

//########## 체크 관련 스크립트 ###########################




function allcheck(theform){
        for (i = 0; i < theform.length; i++) { theform[i].checked = true;}
        return;
        }

        //그 반대
        function discheck(theform){
                for (i = 0; i < theform.length; i++) { theform[i].checked = false;}        return;
        }


        function reverse_check(form) {
                for ( var i=0; i<form.elements.length; i++) {
                        var ele = form.elements[i];
                        if(ele.name == 'item_chk[]')
                                ele.checked = !ele.checked;
                }
        }


function isCheckedForm(obj,msg,length)
{ 
  var value = 0;
 
  for(i=0;i<length;i++)
  {
    if(obj[i].checked) value++;
  }
 
  if (value == 0){
  obj[0].focus();
  alert(msg);
  return false;
  } else {
  return true;
  }
}


function isCheck(obj,msg){
        
		var flag = false
		for (i = 0; i < obj.length; i++) {
           if(obj[i].checked)
           {
              flag = true;
           }
        }
        
		if(!flag)
		{
		   alert(msg);
		}

		return flag;

}
//###############################################################################################################


//### 소수점 함수 #########################################

function returnFloat(value,pointLength)
{
   var passVal = value.toString();
   var tmp;
   var returnVal;

   passVal    = passVal.split(".");
   tmp = passVal[1].split("");
   
   
   returnVal = passVal[0] + "."; //정수부분 
   
   for(i=0;i<pointLength;i++)
   { 
     returnVal += tmp[i];        //실수부
   }

   return returnVal;
   
}


//#########################################################

function handelEnterAddObject(event,obj,type)
{
    var keyCode = event.keyCode ? event.keyCode : 
                  event.which ? event.which : event.charCode;
	if (keyCode == 13)
	{	    
		if(type == 1) // focus
		{	
			obj.focus();
    
		}else{ //select
    
	        obj.select();
		}

	  	return false;
	}else{
	return true;
	}
}

function handleEnter (field, event ,type) {
  
  var keyCode = event.keyCode ? event.keyCode : 
                event.which ? event.which : event.charCode;

  if (keyCode == 13) {
    var i;
    for (i = 0; i < field.form.elements.length; i++)
      if (field == field.form.elements[i])
        break;

    i = (i + 1) % field.form.elements.length;
    
	if(type == 1) // focus
	{	
	    field.form.elements[i].focus();
    
	}else{ //select
    
	   field.form.elements[i].select();
	}

	return false;
  }
  else
    return true;
}

//엔터키 먹게하기


function field_move(obj,leng,target_obj)
{ 
	var gil = parseInt(leng);
	if(obj.value.length == gil)   target_obj.select();
  
}

function fieldMoveNotEmpty(obj,leng,target_obj)
{
	var gil = parseInt(leng);
	if(obj.value.length == gil)  target_obj.focus();
}


//타겟이동 function OKOK!!


function findadd(z1, z2, a1, a2, formName)
{
      t_arg = "z1=" + z1 + "&z2=" + z2 + "&a1=" + a1 + "&a2=" + a2 + "&formName=" + formName;
      t_url = "/lib/find_zipcode_form.php?" + t_arg;

      window.open( t_url , "autoaddress", "location=0,toolbar=no,directories=no,status=no,scrollbars=yes,resizable=yes,menubar=no,width=560,height=220,left=0,top=0");
}



function noSplitAndNumberOnly(ob)
{


        var txtNumber = '' + ob.value;
        if (isNaN(txtNumber) || txtNumber.indexOf('.') != -1 )   // 소수점 사용 불가 추가
        {
                ob.value = ob.value.substring(0, ob.value.length-1 );
                ob.focus();
                return ob.value;
        }
        else
                return ob.value;
}


//------------------------------
//
//-----------------------------

function commaSplitAndNumberOnly(ob)
{

        var txtNumber = '' + ob.value;
        
        if (isNaN(txtNumber) || txtNumber.indexOf('.') != -1 )   // 소수점 사용 불가 추가
        {
                ob.value = ob.value.substring(0, ob.value.length-1 );
                ob.value = commaSplitAndNumberOnly(ob);
                ob.focus();
                return ob.value;
        }
        else
        {
                var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
                var arrNumber = txtNumber.split('.');
                
                arrNumber[0] += '.';
                do
                {
                        arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
                }
                while (rxSplit.test(arrNumber[0]));

                if (arrNumber.length > 1)
                {
                        return arrNumber.join('');
                }
                else {
                        return arrNumber[0].split('.')[0];
                }
        }
}



///////  돈에 , 를 넣어주데 포커스를 주지 않는다 /////////////////////////////////////////////////////////////////


function commaSplitAndNumberOnlyNotFocus(ob)
{

        var txtNumber = '' + ob.value;
        if (isNaN(txtNumber) )   // 소수점 사용 가능
        {
                ob.value = ob.value.substring(0, ob.value.length-1 );
                //alert('숫자 혹은 \'.\' 만 입력하십시오.');
                return ob.value;
        }
        else
        {
                var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
                var arrNumber = txtNumber.split('.');
                arrNumber[0] += '.';
                do
                {
                        arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
                }
                while (rxSplit.test(arrNumber[0]));

                if (arrNumber.length > 1)
                {
                        return arrNumber.join('');
                }
                else {
                        return arrNumber[0].split('.')[0];
                }
   }
}

// 포커스까지 이동하는것 (주로 온키다운 업에 이용 

function commaSplitAndAllowDot(ob)
{

        var txtNumber = '' + ob.value;
        if (isNaN(txtNumber) )   // 소수점 사용 가능
        {
                ob.value = ob.value.substring(0, ob.value.length-1 );
                //alert('숫자 혹은 \'.\' 만 입력하십시오.');
                ob.focus();
                return ob.value;
        }
        else
        {
                var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
                var arrNumber = txtNumber.split('.');
                arrNumber[0] += '.';
                do
                {
                        arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
                }
                while (rxSplit.test(arrNumber[0]));

                if (arrNumber.length > 1)
                {
                        return arrNumber.join('');
                }
                else {
                        return arrNumber[0].split('.')[0];
                }
   }
}


function f_is_num(obj, lbl)
	{
		var nLen = obj.value.length; 
		for( i = 0 ; i < nLen ; i++)
		{
			temp = obj.value.substring(i,i+1);
			
//			alert(temp);
			
			if( temp < '0' || temp > '9' )
			{
//				if ( temp == '.' )
//				{
					alert( lbl + ' 숫자만 입력할 수 있습니다.' );
					obj.focus();
					return true;
//				}
			}     
		}
		return false;
	}


////////////////////////////////////////////////////////////////////////////////////////////
///숫자만 입력되게
function handlerNum(obj) 
{
    e = window.event;
    if(e.keyCode == 9) return;  //탭은 허용
    if(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 8 || e.keyCode == 46) {
        if(e.keyCode == 48 || e.keyCode == 96) {
            if(obj.value == "" )
                e.returnValue=false;
            else
                return;
        }
        else
            return;
    }
    else
        e.returnValue=false;
}

////////////////////////////////////////////////////////////////////////////////////////////
///돈,콤마찍어서
function checkOnlyNumber()  // 숫자만 입력했는지 검사
{
    var ob=event.srcElement;
    ob.value = filterNum(ob.value);
    ob.value = commaSplitAndNumberOnly(ob);
    return false;
}


////////////////////////////////////////////////////////////////////////////////////////////
///돈,콤마찍어서 OnKeyup 이벤트에서 바로 걸때
function checkOnlyNumber2(ob)  // 숫자만 입력했는지 검사
{
    ob.value = filterNum(ob.value);
    ob.value = commaSplitAndNumberOnly(ob);
    return false;
}

/// 돈2 ///////////////////////////////////////////////////////////////////////////////////////

function checkComma(ob)  // 숫자만 입력했는지 검사
{
        ob.value = commaSplitAndNumberOnlyNotFocus(ob);
        return ;
}

//////////////////////////////////////////////////////////////////////////////////////////////


///맹숫자만
function checkOnlyNumberNotComma()
{
        var ob=event.srcElement;
    ob.value = noSplitAndNumberOnly(ob);
        return false;
}

////이자율을 입력할 때 사용한다.
function checkAllowDot()  // 숫자와 dot 만을 입력했는지 검사
{
        var ob=event.srcElement;
        ob.value = filterNum(ob.value);

        spnumber = ob.value.split('.');
        if( spnumber[0].length >=3 )
        {
                alert('정수 두자리, 소수점 둘째자리까지 입력 가능합니다.');
                ob.value = spnumber[0].substring(0,2);
                ob.focus();
                return false;
        }

        ob.value = commaSplitAndAllowDot(ob);
        return false;
}


function checkCombo(ob, msg)
{
        if( ob.selectedIndex == 0 )
        {
                alert( msg + ' 선택하지 않았습니다. ' );
                ob.focus();
                return false;
        }  
                return true;

}



function checkByte(ob, bnum, msg)
{

        if(bnum == 0 )
        {
                if(ob.value.length == 0)
                {
                        alert( msg );
                        ob.focus();
                        return false;
                }
        }

        else if(ob.value.length < bnum)
        {
                //bnum_half = bnum / 2;
                alert( msg  );
                ob.focus();
                return false;
        }

        return true;

}

// 두개의 Variable이 같은지 체크
function checkVar(ob, ob2, msg) {
	if (ob.value != ob2.value) {
		alert( msg + ' 틀립니다.');
		ob2.focus();
		ob2.value="";
		return false;
	}

	return true;
}

function checkBytePrecisely(ob, bnum, msg) // 정확하게 몇 자를 입력하도록 요구
{
        if(ob.value.length != bnum )
        {
                alert( msg + ' ' + bnum + ' 자로 입력해야합니다.' );
                ob.focus();
                return false;
        }

        return true;
}

function checkInputLimit(ob, min, max, msg) // 입력값이 min 이상 max 이하가 되는지 체크
{
        if(ob.value < min || ob.value > max )
        {
                alert( msg + ' ' + min + ' 이상 ' + max + ' 이하의 값을 입력해야 합니다.');
                ob.focus();
                return false;
        }

        return true;
}



function filterNum(str)    // $ 와 콤마 제거 함수
{
                re = /^\$|,/g;
                // "$" and "," 입력 제거
                return str.replace(re, "");
}

function filterNumOb(ob)
{
        ob.value = filterNum(ob.value);
}


//###### 소수점 관련 


function filterNumDollor(str)    //$ 안제거 하구 , 제거 함수
{
     re = /^|,/g;
     return str.replace(re, "");
}


function commaSplitDotOk(obj)
{
   var passVal = obj.value;
   var tmp;
   var returnVal;
   var kk='';
   var count=0;
   var firstSplit='';
   
   passVal = filterNumDollor(obj.value);
   
   if(passVal.indexOf("\$") == 0)
   {
      firstSplit = passVal.split("\$");
	  passVal = firstSplit[1]; 
      firstSplit = "\$";
   }

   passVal = passVal.split("."); 
   tmp = passVal[0].split("");
  
   for(var i = tmp.length-1 ; i > -1  ; i--)
   { 
     if(count == 3) 
	 {
	   kk += ","; 
	   count = 0;
	 }
	 kk += tmp[i]
	 count++;
   }
   
   kk  = reverseString(kk);

   if(!isNaN(passVal[1]))
   { kk += '.'+passVal[1] }
   obj.value = firstSplit+kk;
   
}

function reverseString(value)
{
  var temp = value.split("");
  var re_count = temp.length;
  var returnVal='';

  for(var j = re_count - 1 ; j > -1 ; j--)
  {                            
      // alert(j); 
       returnVal += temp[j];
  }

  return  returnVal;
}


// 사업자 등록 번호 체크 


function BizCheck(obj1, obj2, obj3) {
 	biz_value = new Array(10);
 
 	if (isBizInteger(obj1.value,3) == false) {
	  	obj1.focus();
	  	obj1.select();
  		return false;
 	}
	
	 if (isBizInteger(obj2.value,2) == false) {
	  	obj2.focus();
	  	obj2.select();
	  	return false;
	 }
	
	 if (isBizInteger(obj3.value,5) == false) {
		  obj3.focus();
		  obj3.select();
		  return false;
	 }
	
	 var objstring = obj1.value +"-"+ obj2.value +"-"+ obj3.value;
	 var li_temp, li_lastid;
	
	 if ( objstring.length == 12 ) {
		  biz_value[0] = ( parseFloat(objstring.substring(0 ,1)) * 1 ) % 10;
		  biz_value[1] = ( parseFloat(objstring.substring(1 ,2)) * 3 ) % 10;
		  biz_value[2] = ( parseFloat(objstring.substring(2 ,3)) * 7 ) % 10;
		  biz_value[3] = ( parseFloat(objstring.substring(4 ,5)) * 1 ) % 10;
		  biz_value[4] = ( parseFloat(objstring.substring(5 ,6)) * 3 ) % 10;
		  biz_value[5] = ( parseFloat(objstring.substring(7 ,8)) * 7 ) % 10;
		  biz_value[6] = ( parseFloat(objstring.substring(8 ,9)) * 1 ) % 10;
		  biz_value[7] = ( parseFloat(objstring.substring(9,10)) * 3 ) % 10;
		  li_temp = parseFloat(objstring.substring(10,11)) * 5 + "0";
		  biz_value[8] = parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2));
		  biz_value[9] = parseFloat(objstring.substring(11,12));
		  li_lastid = (10 - ( ( biz_value[0] + biz_value[1] + biz_value[2] + biz_value[3] + biz_value[4] + biz_value[5] + biz_value[6] + biz_value[7] + biz_value[8] ) % 10 ) ) % 10;
		   if (biz_value[9] != li_lastid) {
			    obj1.focus();
			    obj1.select();
			    return false;
		   }
		   else
		    	return true;
	 }
	 else {
		  obj1.focus();
		  obj1.select();
		  return false;
	 }
}

// 주민 번호 체크 

function ssnCheck(obj1,obj2){
	total = 0;
	temp = new Array(13);

	for(i=1; i<=6; i++)
		temp[i] = obj1.value.charAt(i-1);
	for(i=7; i<=13; i++)
		temp[i] = obj2.value.charAt(i-7);
	
	for(i=1; i<=12; i++){
		k = i + 1;
		if(k >= 10)
			k = k % 10 + 2;
		total = total + temp[i] * k;
	}
	mm = temp[3] + temp[4];
	dd = temp[5] + temp[6];

	totalmod = total % 11;
	chd = 11 - totalmod;
	if(chd == temp[13] && mm < 13 && dd < 32 && (temp[7]==1 || temp[7]==2))
	{
	 return true;
	} else {
	alert("유효하지 않은 주민번호 입니다");
	obj1.value = '';
	obj2.value = '';
    obj1.focus();
	return false;
    }
}




// 이메일 체크 함수 

function scheck(obj){
	fieldData = new String(obj.value)
	regPattern = /`|~|!|@|#|\$|%|\^|&|\*|\(|\)|\\|\||'|"|;|:|<|>|\/|\?|\[|\]|\{|\}/g
	matchResult = ""
	matchResult = fieldData.match(regPattern)
	return (matchResult)
}

//-----------------------------------------------------------------------------------

function checkAlphaNum(obj,msg){
	// 영문, 숫자만 입력
	re=/[^A-Za-z0-9]/
	if(re.test(obj.value))
    {   
		alert(msg + '는 영문,숫자만 입력 가능 합니다');
		obj.value = "";
		obj.focus();
		return false;
	}

	return true;
}

function checkNum(obj,msg){
	// 숫자만 입력
	re=/[^0-9]/
	if(re.test(obj.value))
    {   
		alert(msg + '는 숫자만 입력 가능 합니다');
		obj.value = "";
		obj.focus();
		return false;
	}

	return true;
}

function postcheck(text){
	// ###-### 이렇게 우편번호 형식의 숫자만이 입력되어야 true를 반환한다.
	re=/^\d{3}-\d{3}$/
	if(re.exec(text)!=null) return true
	else return false
}



//------------------------- 신규 추가 



function raiseEnterAction(btn)
{
	if(event.keyCode == 13)
	{
		self.focus();
		document.all[btn].click();
		return false;
	}
	return true;
}

// 팝업고정
function openWindow(url,height,width){
	var popobj = window.open(url,'eventPOP','resizable=no, left=0, top=0, toolbar=no,scrollbars=auto,directories=no,menubar=no,width='+width+',height='+height)
	popobj.focus();
}

// 팝업이름
function openWindow2(url,PopName, height,width){
    
	var popobj = window.open(url, PopName ,'resizable=no,toolbar=no,scrollbars=no,directories=no,menubar=no,width='+width+',height='+height)
	popobj.focus();
}

// 위치를 마음데로
function openWindow3(url,PopName, height,width, left, top){
	var popobj = window.open(url, PopName ,'resizable=no,toolbar=no,left='+left+',top='+top+',scrollbars=no,directories=no,menubar=no,width='+width+',height='+height)
	popobj.focus();
}

// 스크롤바 사용
function openWindow4(url,PopName, height,width, left, top){
	var popobj = window.open(url, PopName ,'resizable=no,toolbar=no,left='+left+',top='+top+',scrollbars=yes,directories=no,menubar=no,width='+width+',height='+height)
	popobj.focus();
}


function btnPermissionCheck(str)
{
	alert("해당메뉴의" + str + " 권한이 없습니다.");
	return false;
}


function createCalendar() {

document.write("<div id='calDIV' style='z-index:+999;position:absolute;visibility:hidden;top:0;left:0'>");
document.write("<iframe align='center' valign='middle' name='frmCal' id='frmCal' frameborder='0' width='210' height='190' src='/Common/Calendar/blank.html'></iframe>")
document.write("</div>");

}

function printDates(sObj, eObj) {
	var pSObjName = "document.all['" + sObj.id + "']"; 
	var pEObjName = "document.all['" + eObj.id + "']";
    
     var strScript = "";
     strScript = "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,0)\">"
               + "<img src='/common/img/btn_ds1.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-1)\">"
               + "<img src='/common/img/btn_ds2.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-3)\">"
               + "<img src='/common/img/btn_ds3.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-7)\">"
               + "<img src='/common/img/btn_ds4.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-1,0)\">" 
               + "<img src='/common/img/btn_ds5.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-3,0)\">"
               + "<img src='/common/img/btn_ds6.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-6,0)\">"
               + "<img src='/common/img/btn_ds7.gif' align='absmiddle' border='0'></a>&nbsp;"

    document.write(strScript);
}


function printDatesNonToDay(sObj, eObj) {
	var pSObjName = "document.all['" + sObj.id + "']"; 
	var pEObjName = "document.all['" + eObj.id + "']";
    
     var strScript = "";
     strScript = "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-1)\">"
               + "<img src='/common/img/btn_ds2.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-3)\">"
               + "<img src='/common/img/btn_ds3.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-7)\">"
               + "<img src='/common/img/btn_ds4.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-1,0)\">" 
               + "<img src='/common/img/btn_ds5.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-3,0)\">"
               + "<img src='/common/img/btn_ds6.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-6,0)\">"
               + "<img src='/common/img/btn_ds7.gif' align='absmiddle' border='0'></a>&nbsp;"

    document.write(strScript);
}

function moveDates(sObj,eObj,year,month,day) {
	  
	  var nowDate = new Date();
    
	  var now_year  = nowDate.getFullYear();
      var now_month = nowDate.getMonth(); 
      var now_day   = nowDate.getDate();
     
	  var newDate = new Date(now_year + year, now_month +  month, now_day + day);
	
	  var procYear = newDate.getFullYear(); 
      var procMonth = newDate.getMonth() + 1; 
	  var procDay = newDate.getDate();
	  
	  now_month += 1;
	  if (("" + now_month).length == 1) { now_month = "0" + now_month; }
      if (("" + now_day).length   == 1) { now_day   = "0" + now_day;   }
      

      if (("" + procMonth).length == 1) { procMonth = "0" + procMonth; }
      if (("" + procDay).length   == 1) { procDay   = "0" + procDay;   }
      
	  sObj.value = now_year + "-" + now_month + "-" + now_day; 
 	  eObj.value = procYear + "-" + procMonth + "-" + procDay; 
    
}


var objPrev; // 현재 보여주는 obj 

function popUpCalendar(ob,ob2,types,formats){
   
   var posTop, posLeft, leftPos, topPos;
   var aTag;
   
   posTop = 0;
   posLeft = 0;
   leftPos = 0;
   topPos = 0;
   
	aTag = ob;
	var posTop, posLeft;
    
	do {
		aTag = aTag.offsetParent;
		leftPos	+= aTag.offsetLeft;
		topPos += aTag.offsetTop;
	} while(aTag.tagName != "HTML" && aTag.tagName != "BODY");
    
   posTop =  ob.offsetTop + 20 + topPos ;
   posLeft = ob.offsetLeft + leftPos;
   
   calDIV.style.top = posTop + "px";
   calDIV.style.left = posLeft + "px";

 
   calDIV.style.visibility = "visible";
   frmCal.window.callCalandar(ob,ob2,types,formats);
   
   objPrev = ob;
}

// 스프레드용 달력
function popUpCalendarSpread(sparedid, ob,ob2,types,formats){
   
   var posTop, posLeft, leftPos, topPos;
   var aTag;
   var spread = document.getElementById(sparedid + "_view");
   
   posTop = 0;
   posLeft = 0;
   leftPos = 0;
   topPos = 0;
   
	aTag = ob;
	var posTop, posLeft;
    
	do {
		aTag = aTag.offsetParent;
		leftPos	+= aTag.offsetLeft;
		topPos += aTag.offsetTop;
	} while(aTag.tagName != "HTML" && aTag.tagName != "BODY");
   
   posTop =  (ob.offsetTop - spread.scrollTop) + 20 + topPos ;
   posLeft = (ob.offsetLeft - spread.scrollLeft) + leftPos;
   
   calDIV.style.top = posTop + "px";
   calDIV.style.left = posLeft + "px";
 
   calDIV.style.visibility = "visible";
   frmCal.window.callCalandar(ob,ob2,types,formats);
   
   objPrev = ob;
}

function hideCalLayer(ob)	{
    
	if (objPrev == ob) {
	
		 if(calDIV.style.visibility == "visible" || calDIV.style.visibility == "") {
			calDIV.style.visibility = "hidden";
		} 
    }
	
	objPrev = null;

}

function commaSpread(Spread, row, col) {
    Spread.SetValue(row, col, commaSplit(Spread.GetValue(row, col)), true);
}

function commaSplit(srcNumber) {
    var txtNumber = '' + srcNumber;
    var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
    var arrNumber = txtNumber.split('.');
    arrNumber[0] += '.';

    do {
        arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
    } while (rxSplit.test(arrNumber[0]));

    if (arrNumber.length > 1) {
        return arrNumber.join('');
    } else {
        return arrNumber[0].split('.')[0];
    }
}

// 문자열 공백 없애기
String.prototype.trim = function()
{
 return this.replace(/(^\s*)|(\s*$)/gi, "");
}

function ImagePreView(img) {
    var prevWnd=window.open("","ImagePreView","width=100,height=100,scrollbars=yes,resizable=yes,status=0");
    prevWnd.document.open();
    prevWnd.document.writeln('<html><head>');
    prevWnd.document.writeln('<meta http-equiv="Cache-Control" content="no-cache"/> ');
    prevWnd.document.writeln('<meta http-equiv="Expires" content="0"/> ');
    prevWnd.document.writeln('<meta http-equiv="Pragma" content="no-cache"/>'); 
    prevWnd.document.writeln('<link rel="stylesheet" class="MIME" href="/Common/CSS/admin.css" type="text/css" />');
    prevWnd.document.writeln('<title>HTML Preview</title>');
    prevWnd.document.writeln('<script language="javascript" type="text/javascript">');
    prevWnd.document.writeln('<!--');
    prevWnd.document.writeln('function window::onload() {');
    prevWnd.document.writeln('    var imgHeight = document.images.myImg.height + 55;');
    prevWnd.document.writeln('    var imgWidth = document.images.myImg.width + 30;');
    prevWnd.document.writeln('    window.resizeTo(imgWidth, imgHeight);');
    prevWnd.document.writeln('}');
    prevWnd.document.writeln('//-->');
    prevWnd.document.writeln('</script>');
    prevWnd.document.writeln('</head>');
    prevWnd.document.writeln('<body bgcolor=#ffffff>');
    prevWnd.document.writeln('<img name="myImg" src="'+img+'" style="cursor:pointer" onclick="self.close();">');
    prevWnd.document.writeln('</body></html>');
    prevWnd.document.close();
}

//숫자여부 확인
//숫자가 아니면 true 리턴
function ChkNum(str) { 
    var flag=false; 
    if (str.length > 0) { 
        for (i = 0; i < str.length; i++) {  
            if (str.charAt(i) < '0' || str.charAt (i) > '9') { 
                flag=true; 
            } 
        } 
    } 
    return flag; 
} 

function viewFlash(filepath, width, height)
{
	var objHTML = "";

	objHTML += "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,47,0' width='" + width + "' height='" + height + "'>";
	objHTML += "<param name='movie' value='" + filepath + "'>";
	objHTML += "<param name='quality' value='high'>";
	objHTML += "<param name='wmode' value='transparent'>";
	objHTML += "<embed src='" + filepath + "' quality='high' pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width='" + width + "' height='" + height + "'>";
	objHTML += "</embed> ";
	objHTML += "</object>";

	document.write(objHTML);
}

function emailcheck(obj) 
{
    if(obj.value.trim() == "")
        return true;
        
    re=/([\w|\-]+)@([\w|\-]+)\.(\w+)/
      
    if(!re.test(obj.value))
    { 
        alert("잘못된 이메일 형식 입니다.");
        return false;
    } 

    if(obj.value.indexOf("daum.net") != -1 || obj.value.indexOf("hanmail.net") != -1) 
    {
        alert("한메일의 사용을 피해주십시오.");
        return false;
    }
    
    return true;
}




//------------------------------------------------------------------
//아래 기타 함수들 추가
//2008-02-10
//윤성인
//주의: 아래의 모든 메소드는 입력폼의 필드이름(myform.myfield)을
//      파라미터로 받는다. 필드의 값(myform.myfield.value)이 아님을
//      유념할 것.
//------------------------------------------------------------------
/*예

if (isEmptyAlert(f.SSN[0], "주민번호 앞자리를 입력해주십시요.") == true ) {
	_cmdfocus(f.SSN[0]); return; 	}
if (isNumberAlert(f.SSN[0]) == false){
	_cmdfocus(f.SSN[0]); return; }
if (getByteLength(f.SSN[0]) < 6) {
	alert("주민번호 앞자리는 6자리입니다.\n\n다시 입력하세요.");
	_cmdfocus(f.SSN[0]); return;}
if (JuminChk(f.SSN[0], f.SSN[1]) == false) {
	alert("주민등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
	_cmdfocus(f.SSN[0]); return;	};
*/

/** Focus 맞춤 */
function _cmdfocus(formobj){
	formobj.select();
	formobj.focus();
}


// 용 도 : 입력 값이 NULL인지 체크
// return : boolean  
//          NULL이면 true, 아니면 false가 돌아간다.
function isNull(input) {
	if(input.value == null || input.value == "") return true;
	return false;
}

// 용 도 : 입력 값이 NULL인지 확인하여 NULL이면 msg를 출력한다.
// return : boolean  
//          NULL이면 true, 아니면 false가 돌아간다.
function isNullAlert(input, msg) {
   	var ret = isNull(input);
	if(ret) alert(msg);
	return ret;
}

// 용 도 : 입력 값에 Space 이외의 의미있는 값이 있는지 체크
// return : boolean  
//          있으면 true, 아니면 false가 돌아간다.
function isEmpty(input) {
	if(input.value == null || input.value.replace(/ /gi,"") == "") return true;
	return false;
}

// 용 도 : 입력 값에 Space 이외의 의미밌는 값이 없으면 msg를 출력한다.
// return : boolean  
//           space 이외의 의미있는 값이 없으면 true, 아니면 false가 돌아간다.
function isEmptyAlert(input, msg) {
	var ret = isEmpty(input);
	if(ret) alert(msg);
	return ret;
}

// 용 도 : 입력 값에 특정 문자(chars)가 있는지 체크한다. 특정 문자를 허용하지 않으려 할 때 사용
// return : boolean
//          있으면 true, 없으면 false 
// 사 용 예 : if(containsChars(form.name,"!,*&^%$#@~;")) {
//               alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
//           }
function containsChars(input, chars) {
	for(var inx = 0; inx < input.value.length; inx++)
		if(chars.indexOf(input.value.charAt(inx)) != -1)
		return true;
	return false;
}

// 용 도 : 입력 값이 특정 문자 (chars)만으로 되어있는지 체크한다. 특정 문자만 허용하려 할 때 사용
// return : boolean
//          확인하려는 대상 문자만 있으면 true, 아니면 false
// 사 용 예 : 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;
}

// 용 도 : 입력 값이 알파벳인지 체크한다. 
//        아래 isAlphabet() 부터 isNumComma()까지의 메소드가 자주 쓰이는 경우에는 var chars 변수를 global 변수로 선언하고 사용하도록 한다.
// return : boolean, A에서 Z 까지의 문자만으로 되어있으면 true, 아니면 false
// 사 용 예 : ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//               var lowercase = "abcdefghijklmnopqrstuvwxyz"; 
//               var number = "0123456789";
//               function isAlphaNum(input) {
//                   var chars = uppercase + lowercase + number;
//                   return containsCharsOnly(input,chars);
//               }
function isAlphabet(input) {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	//alert(input);
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳인지 확인하여 알파벳 이외의 문자가 있으면 "영문자만 입력가능 합니다." 메시지를 보여주고 결과를 돌려준다.
// return : boolean, A에서 Z 까지의 문자만으로 되어있으면 true, 아니면 false
function isAlphabetAlert(input) {
	var ret = isAlphabet(input);
	if(!ret) alert("영문자만 입력가능 합니다.");
	return ret;
}

// 용 도 : 입력 값이 알파벳 대문자인지 체크
// return : boolean, 대문자만이면 true, 아니면 false  
function isUpperCase(input) {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳 대문자인지 확인하여 대문자 이외의 문자가 있으면 "알파벳 대문자만 입력하실 수 있습니다."라는 메시지를 보여주고 돌려준다.
// return : boolean, 대문자만이면 true, 아니면 false  
function isUpperCaseAlert(input) {
	var ret = isUpperCase(input);
	if(!ret) alert("알파벳 대문자만 입력하실 수 있습니다.");
	return ret;
}

// 용 도 : 입력 값이 알파벳 소문자인지 체크
// return : boolean 소문자만이면 true, 아니면 false
function isLowerCase(input) {
	var chars = "abcdefghijklmnopqrstuvwxyz";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳 소문자인지 확인하여 소문자 이외의 문자가 있으면  "알파벳 소문자만 입력하실 수 있습니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean  소문자만이면 true, 아니면 false
function isLowerCaseAlert(input) {
	var ret = isLowerCase(input);
	if(!ret) alert("알파벳 소문자만 입력하실 수 있습니다.");
	return ret;
}

// 용 도 : 입력 값에 숫자만 있는지 체크
// return : boolean 숫자만 있으면 true, 아니면 false 
function isNumber(input) {
	var chars = "0123456789";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값에 숫자만 있는지 확인하여 숫자 이외의 문자가 있으면 "숫자만 입력 가능합니다"라는 메시지를 보여주고 돌려준다.
// return :  boolean 숫자만 있으면 true, 아니면 false   
function isNumberAlert(input) {
	var ret = isNumber(input);
	if(!ret) alert("숫자만 입력 가능합니다");
	return ret;
}

// 용 도 : 입력 값이 알파벳, 숫자로 되어있는지 체크
// return : boolean 알파벳과 숫자만이면 true, 아니면 false  
function isAlphaNum(input) {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳, 숫자로 되어있는지 확인하여 알파벳과 숫자 이외의 문자가 있으면 "영문자와 숫자 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return : boolean 알파벳과 숫자만이면 true, 아니면 false
function isAlphaNumAlert(input) {
    var ret = isAlphaNum(input);
	if(!ret) alert("영문자와 숫자 입력만 가능합니다.");
	return ret;
}

// 용 도 : 입력 값이 숫자,대시(-)로 되어있는지 체크
// return : boolean 숫자와 대시(-)로 되어 있으면 true, 아니면 false  
function isNumDash(input) {
	var chars = "-0123456789";
	return containsCharsOnly(input,chars);
}

// 용 도 : 입력 값이 숫자,대시(-)로 되어있는지 확인하여 숫자와 대시(-) 이외의 문자가 있으면 체크 "숫자와 '-' 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean 숫자와 대시(-)로 되어 있으면 true, 아니면 false
function isNumDashAlert(input) {
	var ret = isNumDash(input);
	if(!ret) alert(" 숫자와 '-' 입력만 가능합니다.");
	return ret;
}

// 용 도 : 입력 값이 숫자,콤마(,)로 되어있는지 체크
// return : boolean 숫자와 콤마(,)로 되어 있으면 true 아니면 false 
function isNumComma(input) {
	var chars = ",0123456789";
	return containsCharsOnly(input,chars);
}

// 용 도 : 입력 값이 숫자,콤마(,)로 되어있는지 확인하여 숫자와 콤마(,) 이외의 문자가 있으면 체크 " 숫자와 ',' 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean  숫자와 콤마(,)로 되어 있으면 true, 아니면 false
function isNumCommaAlert(input) {
	var ret = isNumComma(input);
	if(!ret) alert("숫자와 ',' 입력만 가능합니다.");
	return ret;
}

// 용 도 : 입력 값에서 콤마를 없앤다.
// return : string, 입력값에서 콤마를 없앤 값 
function removeComma(input) {
	return input.value.replace(/,/gi,"");
}

// 용 도 : 입력 값이 사용자가 정의한 포맷 형식인지 체크한다. 자세한 format 형식은 자바스크립트의 'regular expression'을 참조
// return : boolean 올바른 포맷이면 true, 아니면 false 
function isValidFormat(input, format) {
	if(input.value.search(format) != -1) return true; //올바른 포맷 형식
	return false;
}

// 용 도 : 입력 값이 사용자가 정의한 포맷 형식인지 확인하여 올바르지 않은 형식이면 "올바른 입력형식이 아닙니다." 메시지를 보여주고 돌려준다.
// return : boolean 올바른 포맷이면 true, 아니면 false
function isValidFormatAlert(input, format) {
	var ret = isValidFormat(input, format);
	if(!ret) alert("올바른 입력형식이 아닙니다.");
	return ret;
}

//용 도 : 입력 값이 이메일 형식인지 체크
// return : boolean 이메일 형식이면 true, 아니면 false
function isValidEmail(input) {
	var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
	return isValidFormat(input, format);
}

//용 도 : 입력 값이 이메일 형식인지 확인하여 올바르지 않으면 "이메일 입력형식이 잘못되었습니다. \n 확인후 다시 입력해 주세요."라는 메시지를 보여주고 돌려준다.
// return :  boolean 이메일 형식이면 true, 아니면 false
function isValidEmailAlert(input) {
	var ret = isValidEmail(input);
	if(!ret) alert("이메일 입력형식이 잘못되었습니다. \n 확인후 다시 입력해 주세요.");
	return ret;
}

// 용 도 : 입력 값이 전화번호 형식(숫자-숫자-숫자)인지 체크
// return : boolean 전화번호 형식이면 true, 아니면 false 
function isValidPhone(input) {
    if(input.value.trim() == ""){
        return true;
    }
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input, format);
}

// 용 도 : 입력 값이 전화번호 형식(숫자-숫자-숫자)인지 확인하여 전화번호 형식이 아니면 "전화번호 입력이 잘못되었습니다. \n 확인후 다시 입력해 주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 전화번호 형식이면 true, 아니면 false
function isValidPhoneAlert(input) {
    if(input.value.trim() == ""){
        return true;
    }
	var ret = isValidPhone(input);
	if(!ret) alert("전화번호 입력이 잘못되었습니다. \n 확인후 다시 입력해 주세요.");
	return ret;
}

// 용 도 : 선택된 라디오버튼이 있는지 체크
// return : boolean 있으면 true, 없으면 false
function hasCheckedRadio(input) {
	if(input.length > 1) {
		for(var inx = 0; inx < input.length; inx++)
			if(input[inx].checked) return true;
	} else {
		if(input.checked)
			return true;
	}
	return false;
}

// 용 도 : 선택된 라디오 버튼이 있는지 확인하여 없으면 "선택항목을 적어도 한개는 선택해주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 있으면 true, 없으면 false
function hasCheckedRadioAlert(input) {
	var ret=hasCheckedRadio(input);
	if(!ret) alert("선택항목을 적어도 한개는 선택해주세요.");
	return ret;
}

// 용 도 : 선택된 체크 박스가 있는지 체크
// return : boolean 있으면 true, 없으면 false
function hasCheckedBox(input) {
	return hasCheckedRadio(input);
}

// 용 도 : 선택된 체크박스가 있는지 확인하여 없으면 "선택항목을 적어도 한개는 선택해주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 있으면 true, 없으면 false
function hasCheckedBoxAlert(input) {
	var ret=hasCheckedRadio(input);
	if(!ret) alert("선택항목을 적어도 한개는 선택해주세요.");
	return ret;
}

// 용 도 : 입력 값의 바이트 길이를 리턴
// return : int, 입력값의 길이 
function getByteLength(input) {
	var byteLength = 0;
	for(var inx = 0; inx < input.value.length; inx++) {
		var oneChar = escape(input.value.charAt(inx));
		if(oneChar.length == 1) {
			byteLength ++;
		} else if(oneChar.indexOf("%u") != -1) {
			byteLength += 2;
		} else if(oneChar.indexOf("%") != -1) {
			byteLength += oneChar.length/3;
		}
	}
	return byteLength;
}

// 용 도 : 공백을 제거하는 함수
// return : string, 공백을 제거한 문자열 
function IsTrimStr(checkStr) {
	var str = "";
	for(var i = 0; i < checkStr.length; i++) {
		ch = checkStr.charAt(i);
		if(ch != " ") str += ch;
	}
	return str;
}

// 용 도 : 주민번호 체크 
// 형 식 : xxxxxx-yyyyyyy
// return :  boolean 
function newJumin(value) {
	this.value = value;
}

function common_Jumin_Check(jumin1, jumin2) {
	var ok = true;
	var Str1 = "" + jumin1 + jumin2;
	var Str = new newJumin(Str1);
	return jumin_Check(Str);
}

// 용 도 : 주민번호 체크
// 형 식 : xxxxxxyyyyyyy
// return :  boolean 
// 매개변수 : 주민등록번호 13자리
// 사 용 예 : jumin_Check(xxxxxxyyyyyyy); 
// 참고사항 : 주민등록번호가 잘못되었다면 주민등록번호가 잘못되었다는 메세지를 출력하고 boolean 을 return 한다.
function jumin_Check(juminnum) {
   if(!jumin_Check_Confirm(juminnum)) 
      alert("주민등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
}

// 용 도 : 주민번호 체크
// 형 식 : xxxxxxyyyyyyy
// return :  boolean 
// 매개변수 : 주민등록번호 13자리
// 사 용 예 : jumin_Check_Confirm(xxxxxxyyyyyyy); 
// 참고사항 : 주민등록번호가 잘못되어도 메세지를 출력하지 않고 boolean 만 return 한다.
function jumin_Check_Confirm(juminnum) {
	var ok = true;
	var Str = "" + juminnum.value;
	var sum = 0;
	sum = Str.charAt( 0 ) * 2 + Str.charAt( 1 ) * 3 + Str.charAt( 2 ) * 4 + Str.charAt( 3 ) * 5 +
		  Str.charAt( 4 ) * 6 + Str.charAt( 5 ) * 7 + Str.charAt( 6 ) * 8 + Str.charAt( 7 ) * 9 +
		  Str.charAt( 8 ) * 2 + Str.charAt( 9 ) * 3 + Str.charAt( 10) * 4 + Str.charAt( 11) * 5;
	if(sum == "0")
		return false;
	else {
		sum = sum % 11;
		sum = 11 - sum;
		if(sum > 9) sum = sum - 10;

		if(sum == Str.charAt(12)) {
			return true;
		} else {
			juminnum.focus();
			return false;
		}
	}
}

function JuminChk(juminnum1, juminnum2) {
	var Str = "" + juminnum1.value + juminnum2.value;
	var sum = 0;
	sum = Str.charAt( 0 ) * 2 + Str.charAt( 1 ) * 3 + Str.charAt( 2 ) * 4 + Str.charAt( 3 ) * 5 +
		  Str.charAt( 4 ) * 6 + Str.charAt( 5 ) * 7 + Str.charAt( 6 ) * 8 + Str.charAt( 7 ) * 9 +
		  Str.charAt( 8 ) * 2 + Str.charAt( 9 ) * 3 + Str.charAt( 10) * 4 + Str.charAt( 11) * 5;
	if(sum == "0")
		return false;
	else {
		sum = sum % 11;
		sum = 11 - sum;
		if(sum > 9) sum = sum - 10;

		if(sum == Str.charAt(12)) {
			return true;
		} else {
			return false;
		}
	}
}

// 용 도 : 사업자등록번호를 확인 
// 형 식 : XXXXXXXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNoCheck(membNo) {
	if(membNo.length == 10) {
		a = membNo.charAt(0);
		b = membNo.charAt(1);
		c = membNo.charAt(2);
		d = membNo.charAt(3);
		e = membNo.charAt(4);
		f = membNo.charAt(5);
		g = membNo.charAt(6);
		h = membNo.charAt(7);
		i = membNo.charAt(8);
		Osub = membNo.charAt(9);

		suma = a*1 + b*3 + c*7 + d*1 + e*3 + f*7 + g*1 + h*3;
		sumb = (i*5) %10;
		sumc = parseInt((i*5) / 10,10);
		sumd = sumb + sumc;	
		sume = suma + sumd;
		sumf = a + b + c + d + e + f + g + h + i
		k = sume % 10;
		Modvalue = 10 - k;
		LastVal = Modvalue % 10;

		if(sumf == 0) return false;
	} else return false;

	if(Osub == LastVal) return true;
	else return false;
}

// 용 도 : 사업자등록번호를 확인하여 비정상적이면 "사업자 등록번호가 잘못되었습니다. \n확인후 다시 입력해 주십시오"라는 메시지를 보여주고 돌려준다.
// 형 식 : XXXXXXXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNO_check(membNo) {
	var bRet = RegNoCheck(membNo);
	if(!bRet) alert("사업자 등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
	return bRet;
}

// 용 도 : 사업자등록번호를 확인하여 비정상적이면 "사업자 등록번호가 잘못되었습니다. \n확인후 다시 입력해 주십시오"라는 메시지를 보여주고 돌려준다.
// 형 식 : XXX-XX-XXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNO_check_formatted(membNo) {
	var str = "";
	var ar = membNo.split( "-" );
	for(var i = 0; i < ar.length; i++) str += ar[i];
	return RegNO_check(str);
}

// 용 도 : 임의의 HTML 테그 내용을 변경
// 매개변수 : obj - 구성할 HTML Tag Object html - Tag 이름
// return :	void
function makeTags(obj, html) {
	var tmp = obj.outerHTML;
	var idx = 0;
	if(IsTrimStr(obj.innerHTML).length <= 0)
		idx = tmp.indexOf( "</" + obj.tagName + ">" );
	else
		idx = tmp.indexOf(obj.innerHTML);
	tmp = tmp.substring(0, idx);
	tmp += html;
	tmp += "</" + obj.tagName + ">";
	obj.outerHTML = tmp;
}

// 용 도 : ComboCreater.getComboOption()의 결과를 기초로 
//        콤보의 항목을 변경
// 매개변수 : obj - 구성할 콤보 Object
//	         option - ComboCreater.getComboOption()의 결과
// return  : void
function makeCombo( obj, option ) {
	makeTags( obj, option );
	obj.selectedIndex = 0;
}

// 용 도 : 모달 대화상자 활성화
// param : url : 호출할 URL
//         title : dialog title 명
//         x : 대화상자 x 좌표( 0보다 작으면 Center );
//         y : 대화상자 y 좌표( 0보다 작으면 Center );
//         w : 대화상자 폭
//         h : 대화상자 높이
//return : ret : URL에서 반환활 결과 Object
function showDlg(url, title, x, y, w, h) {
	var bModal = true;
	if(showDlg.arguments.length == 7) {
		bModal = showDlg.arguments[6];
	}
	if(w <= 0 || h <= 0) {
		alert("대화상자 크기를 확인하세요");
		return null;
	}

	var ar = new Array();
	ar[0] = window;
	ar[1] = url;
	ar[2] = title;
	
	var opt = "status:no;scroll:no;help:no;";
	if(x >= 0) opt += "dialogLeft:" + x + "px;";
	if(y >= 0) opt += "dialogTop:"  + y + "px;";
	
	opt += "dialogWidth:"  + w + "px;";
	opt += "dialogHeight:" + h + "px;";

	if(bModal)
		return window.showModalDialog("/common/modalDlg.htm", ar, opt);
	else
		return window.showModelessDialog("/common/modalDlg.htm", ar, opt);
}

/*
 * 팝업 자동 리사이징
 *  - 윈도 환경에 따라 사이즈가 다를 수 있습니다.
 *  - 팝업페이지의 스크립트 최하단에서 실행하십시오.
 *
 * (ex.) window.onload = function(){popupAutoResize();}
*/
function popupAutoResize() {
    var thisX = parseInt(document.body.scrollWidth);
    var thisY = parseInt(document.body.scrollHeight);
    var maxThisX = screen.width - 50;
    var maxThisY = screen.height - 50;
    var marginY = 0;
    //alert(thisX + "===" + thisY);
    //alert("임시 브라우저 확인 : " + navigator.userAgent);
    // 브라우저별 높이 조절. (표준 창 하에서 조절해 주십시오.)
    if (navigator.userAgent.indexOf("MSIE 6") > 0) marginY = 45;        // IE 6.x
    else if(navigator.userAgent.indexOf("MSIE 7") > 0) marginY = 75;    // IE 7.x
    else if(navigator.userAgent.indexOf("Firefox") > 0) marginY = 50;   // FF
    else if(navigator.userAgent.indexOf("Opera") > 0) marginY = 30;     // Opera
    else if(navigator.userAgent.indexOf("Netscape") > 0) marginY = -2;  // Netscape

    if (thisX > maxThisX) {
        window.document.body.scroll = "yes";
        thisX = maxThisX;
    }
    if (thisY > maxThisY - marginY) {
        window.document.body.scroll = "yes";
        thisX += 19;
        thisY = maxThisY - marginY;
    }
    window.resizeTo(thisX+10, thisY+marginY);

    // 센터 정렬
    // var windowX = (screen.width - (thisX+10))/2;
    // var windowY = (screen.height - (thisY+marginY))/2 - 20;
    // window.moveTo(windowX,windowY);
}


// 컨트롤 찾기
function FindControl(tagName, name) { 
    var controls = new Array();
    var tags = document.getElementsByTagName( tagName )
    var count = 0;
    
    for(var i = 0; i < tags.length ; i++) { 
        if(tags[i].name.indexOf(name) >= 0) { 
            controls[count] = document.getElementById(tags[i].id);
            count++;
        } 
    } 
    return controls; 
}


/*-------------------------------------------------------------
  입력 문자열 길이 체크(SMS발송 문자 길이)
  chkMsgLength()
  최진수 2007.06.17
  사용예 : 
  var str = chkMsgLength("80", txtContent, currentMsgLen);
  <textarea name="txtContent" style="width:320px;height:70px" onkeyup="chkMsgLength(80,txtContent,currentMsgLen);"></textarea>
  <span id=currentMsgLen>0</span>바이트/80바이트
--------------------------------------------------------------*/
function chkMsgLength(intMax,objMsg,st)
{
	var length = lengthMsg(objMsg.value);
	st.innerHTML = length;
	if(length > intMax)
	{
		alert("최대 " + intMax + "byte이므로 초과된 글자수는 자동으로 삭제됩니다.\n");
		objMsg.value = objMsg.value.replace(/\r\n$/, "");
		objMsg.value = assertMsg(intMax,objMsg.value,st );
	}
}

function assertMsg(intMax,objMsg,st )
{
	var inc = 0;
	var nbytes = 0;
	var msg = "";
	var msglen = objMsg.length;
	for(i=0; i<msglen; i++)
	{
		var ch = objMsg.charAt(i);
		if (escape(ch).length > 4)
		{
			inc = 2;
		}
		else if (ch == '\n')
		{
			if (objMsg.charAt(i-1) != '\r')
			{
				inc = 1;
			}
		}
		else if (ch == '<' || ch == '>')
		{
			inc = 4;
		}
		else
		{
			inc = 1;
		}
		if ((nbytes + inc) > intMax)
		{
			break;
		}
		nbytes += inc;
		msg += ch;
	}
	st.innerHTML = nbytes;
	return msg;
}

function lengthMsg(objMsg)
{
	var nbytes = 0;
	for (i=0; i<objMsg.length; i++)
	{
		var ch = objMsg.charAt(i);
		if(escape(ch).length > 4)
		{
			nbytes += 2;
		}
		else if (ch == '\n')
		{
			if(objMsg.charAt(i-1) != '\r')
			{
				nbytes += 1;
			}
		}
		else if (ch == '<' || ch == '>')
		{
			nbytes += 4;
		}
		else
		{
			nbytes += 1;
		}
	}
	return nbytes;
}

/*-------------------------------------------------------------
  SMS 발송 폼 
  smspopup()
  최진수 2007.06.17
  사용예 : 
  var str = popSMS("Q&A발송용","CustName", "CellNo", "CustID");
--------------------------------------------------------------*/
function popSMS(SMSFlag,CustName,CellNo,CustID)
{
    if(CellNo == ""){
        alert("휴대폰 번호가 없습니다.");
        return false;
    }
    window.open("/Common/popup/popSMS.aspx?SMSFlag="+SMSFlag+"&CustName="+CustName+"&CellNo="+CellNo+"&CustID="+CustID,"","width=500px,height=300px,scrollbars=0");
}


