﻿function popup(goPageURL,goPageName,goPageWidth,goPageHeight)
{
	window.open(goPageURL,goPageName,'width='+goPageWidth+',height='+goPageHeight+',top=' + ((screen.height/2) - (goPageHeight/2)) + ',left=' + ((screen.width/2) - (goPageWidth/2)) + ',menubar=no, scrollbars=no, resizable=no, marginwidth=0, marginheight=0');
}

function fc_chk_byte(aro_name,ari_max)
{

   var ls_str     = aro_name.value; // 이벤트가 일어난 컨트롤의 value 값
   var li_str_len = ls_str.length;  // 전체길이

   // 변수초기화
   var li_max      = ari_max; // 제한할 글자수 크기
   var i           = 0;  // for문에 사용
   var li_byte     = 0;  // 한글일경우는 2 그밗에는 1을 더함
   var li_len      = 0;  // substring하기 위해서 사용
   var ls_one_char = ""; // 한글자씩 검사한다
   var ls_str2     = ""; // 글자수를 초과하면 제한할수 글자전까지만 보여준다.

   for(i=0; i< li_str_len; i++)
   {
      // 한글자추출
      ls_one_char = ls_str.charAt(i);

      // 한글이면 2를 더한다.
      if (escape(ls_one_char).length > 4)
      {
         li_byte += 2;
      }
      // 그밗의 경우는 1을 더한다.
      else
      {
         li_byte++;
      }

      // 전체 크기가 li_max를 넘지않으면
      if(li_byte <= li_max)
      {
         li_len = i + 1;
      }
   }
   
   // 전체길이를 초과하면
   if(li_byte > li_max)
   {
      alert( li_max + " Bytes를 초과 입력할수 없습니다. \n초과된 내용은 자동으로 삭제 됩니다. ");
      ls_str2 = ls_str.substr(0, li_len);
      aro_name.value = ls_str2;
      
   }
   aro_name.focus();   
}

function removeHTML(string) {
   var objStrip = new RegExp();
   objStrip = "/[<][^>]*[>]/gi";
   return string.replace(objStrip, "");
}

function fc_cut_len(_value, max){
	
	RetValue = _value;

	if(_value){
		
		try{
			
			if (_value.length > max)
			{
				RetValue = _value.substring(0, max) + "...";
			}

		}catch(e){

		}

	}

	return RetValue;

}

function fc_cut_byte(_value, max)
{
   var ls_str			= _value;
   var li_str_len	= _value.length;  // 전체길이

   // 변수초기화
   var li_max			= max;	// 제한할 글자수 크기
   var i					= 0;		// for문에 사용
   var li_byte			= 0;		// 한글일경우는 2 그밗에는 1을 더함
   var li_len				= 0;		// substring하기 위해서 사용
   var ls_one_char	= "";		// 한글자씩 검사한다
   var ls_str2			= "";		// 글자수를 초과하면 제한할수 글자전까지만 보여준다.

   for(i=0; i< li_str_len; i++)
   {
      // 한글자추출
      ls_one_char = ls_str.charAt(i);

      // 한글이면 2를 더한다.
      if (escape(ls_one_char).length > 4)
      {
         li_byte += 2;
      }
      // 그밗의 경우는 1을 더한다.
      else
      {
         li_byte++;
      }

      // 전체 크기가 li_max를 넘지않으면
      if(li_byte <= li_max)
      {
         li_len = i + 1;
      }
   }
   
   // 전체길이를 초과하면
   if(li_byte > li_max)
   {
      ls_str2		=	ls_str.substr(0, li_len-2);
      ls_str2		+= "...";
   }else{
	  ls_str2		=	ls_str;
   }
   return ls_str2;
}

function chk_numeric(obj){

	var input_obj = eval(obj);
	var str1 = "0123456789-.";
	var old_str = "";
	
	for (var i=0; i<input_obj.value.length; i++){
		
		var numcheck = input_obj.value.charAt(i);
		for (var j=0; j<str1.length; j++){
			if (numcheck == str1.charAt(j)){
				old_str += numcheck;
				break;
			}
				
			if (j == (str1.length-1)){
				alert("숫자만 가능합니다.");
				input_obj.value= old_str;
				input_obj.focus();
				return;
			}
		}
	}
}

function chk_qouter(obj){

	var input_obj = eval(obj);
	var str1 = "'\"";
	for (var i=0; i<input_obj.value.length; i++){
		
		var check = input_obj.value.charAt(i);
		for (var j=0; j<str1.length; j++){
			if (check == str1.charAt(j)){
				alert("' 및 \" 문자를 사용할 수 없습니다.");
				input_obj.value = input_obj.value.replace("'" , "");
				input_obj.value = input_obj.value.replace("\"" , "");
				break;
			}
		}
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	PopupWindow = window.open(theURL,winName,features);
}

function fCalender(fieldname){
	MM_openBrWindow('/ypbooks_admin/common/calender.jsp?fieldname=' + fieldname,'calender','width=220,height=200');
}


/*
달력을 selectbox 로 구현 (년도, 월, 일)

선택한 데이터를 읽을경우 :

태그 id, name : 

selectYear		년도
selectMonth	달
selectDay		일

<사용 방법>
1. 아래코드를 삽입한다.
<body onload='cal();'>

2. 원하는 위치에 아래코드를 삽입한다.
<span id="spanCalender"></span> 
*/
 function cal(year, month)
  {
	spanData = document.getElementById("spanCalender");	 
	
    var date = new Date();										//Date객체 받아오기
    var curYear = year || date.getYear();				//선택년도에 값이있으면 그값으로, 아니면 Date객체의 년도
    var curMonth = month || date.getMonth()+1;		//선택월 없으면 Date객체의 월
    var curDate = date.getDate();							//일은 무조건 현재일

    // 2월 윤년인지 비교 . 윤년은 년도를 4로나눠서 0이면 윤년, 그런데 100으로 나눠서 0이면 아님
    // 400으로 나눠서 0이면 그냥 윤년. 윤년은 29일까정..
    var february = ((0 == curYear % 4) && (0 != (curYear % 100))) || (0 == curYear % 400) ? 29 : 28;
    var arrMonth = new Array("1","2","3","4","5","6","7","8","9","10","11","12")						//월
    var arrLastDate = new Array(31, february, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);		//해당월의 마지막일
    var arrDay = new Array("일", "월", "화", "수", "목", "금", "토");									//요일

    var arrDate = new Array("&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;")
    var tmpDate = new Date(curYear, curMonth-1, 1)
	var startPos = tmpDate.getDay();
    
    var j = 1;
    for(var i = startPos; i<arrLastDate[curMonth-1]+startPos; i++)
    {
		arrDate[i] = j;
		j++;
    }
	
	///////////////////////////// HTML 생성 부분 //////////////////////////////
    
	var str2  = "<select name='selectYear' id='selectYear'  class='select' onchange=\"cal_week(this.value, '" + curMonth+ "');\">";
	var firstyear=date.getYear()-2;
	var lastyear=date.getYear()+2;

	for (n=firstyear;n<lastyear;n++){
		if (n==curYear){
			str2+="<option selected value='"+n+"'>"+n+"</option>";
		}else{
			str2+="<option value='"+n+"'>"+n+"</option>";
		}
	}
	str2  += "</select>&nbsp;년&nbsp;";

	str2  += "<select name='selectMonth' id='selectMonth' class='select' onchange=\"cal_week('" + curYear + "', this.value);\">";
	
	for (n=1;n<13;n++){
		if (n==curMonth){
			str2+="<option selected value='"+n+"'>"+n+"</option>";
		}else{
			str2+="<option value='"+n+"'>"+n+"</option>";
		}
	}
	str2  += "</select>&nbsp;월&nbsp;";

	var week = 0;
	str2  += "<select name='selectDay'  id='selectDay' class='select'>";
    for(var i =0; i<arrDate.length;i+=7)
    {      
      if(i!=35 || arrDate[35]!="&nbsp;")//최대 6주가 생길수있음. 마지막 6주가 없으면 안나오게함
      {
		week++;
		
		if (arrDate[i]!="&nbsp;"){
			if (arrDate[i]==curDate){
				str2+="<option value='"+arrDate[i]+"' selected>"+arrDate[i]+"</option>";
			}else{
				str2+="<option value='"+arrDate[i]+"'>"+arrDate[i]+"</option>";
			}		
		}
		if (arrDate[i+1]!="&nbsp;"){
			if (arrDate[i+1]==curDate){
				str2+="<option value='"+arrDate[i+1]+"' selected>"+arrDate[i+1]+"</option>";
			}else{
				str2+="<option value='"+arrDate[i+1]+"'>"+arrDate[i+1]+"</option>";
			}		
		}
		if (arrDate[i+2]!="&nbsp;"){
			if (arrDate[i+2]==curDate){
				str2+="<option value='"+arrDate[i+2]+"' selected>"+arrDate[i+2]+"</option>";
			}else{
				str2+="<option value='"+arrDate[i+2]+"'>"+arrDate[i+2]+"</option>";
			}		
		}
		if (arrDate[i+3]!="&nbsp;"){
			if (arrDate[i+3]==curDate){
				str2+="<option value='"+arrDate[i+3]+"' selected>"+arrDate[i+3]+"</option>";
			}else{
				str2+="<option value='"+arrDate[i+3]+"'>"+arrDate[i+3]+"</option>";
			}		
		}
		if (arrDate[i+4]!="&nbsp;"){
			if (arrDate[i+4]==curDate){
				str2+="<option value='"+arrDate[i+4]+"' selected>"+arrDate[i+4]+"</option>";
			}else{
				str2+="<option value='"+arrDate[i+4]+"'>"+arrDate[i+4]+"</option>";
			}		
		}
		if (arrDate[i+5]!="&nbsp;"){
			if (arrDate[i+5]==curDate){
				str2+="<option value='"+arrDate[i+5]+"' selected>"+arrDate[i+5]+"</option>";
			}else{
				str2+="<option value='"+arrDate[i+5]+"'>"+arrDate[i+5]+"</option>";
			}		
		}
		if (arrDate[i+6]!="&nbsp;"){
			if (arrDate[i+6]==curDate){
				str2+="<option value='"+arrDate[i+6]+"' selected>"+arrDate[i+6]+"</option>";
			}else{
				str2+="<option value='"+arrDate[i+6]+"'>"+arrDate[i+6]+"</option>";
			}		
		}
      }
    }   
	str2  += "</select>&nbsp;일&nbsp;";
 
	///////////////////////////// HTML 생성 부분 마침 //////////////////////////////    
   if (spanData != null){
		spanData.innerHTML = str2;	
	} 
  }


 /*
달력을 selectbox 로 구현 (년도, 월, 주차)

선택한 데이터를 읽을경우 :

태그 id, name : 

selectYear		년도
selectMonth	달
selectWeek	주차

<사용 방법>
1. 아래코드를 삽입한다.
<body onload='cal_week();'>

2. 원하는 위치에 아래코드를 삽입한다.
<span id="spanCalenderWeek"></span> 
*/
 function cal_week(year, month, pweek)
  {
	spanData = document.getElementById("spanCalenderWeek");
    var date = new Date();										//Date객체 받아오기
    var curYear = year || date.getYear();				//선택년도에 값이있으면 그값으로, 아니면 Date객체의 년도
    var curMonth = month || date.getMonth()+1;		//선택월 없으면 Date객체의 월
    var curDate = date.getDate();							//일은 무조건 현재일

    // 2월 윤년인지 비교 . 윤년은 년도를 4로나눠서 0이면 윤년, 그런데 100으로 나눠서 0이면 아님
    // 400으로 나눠서 0이면 그냥 윤년. 윤년은 29일까정..
    var february = ((0 == curYear % 4) && (0 != (curYear % 100))) || (0 == curYear % 400) ? 29 : 28;
    var arrMonth = new Array("1","2","3","4","5","6","7","8","9","10","11","12")						//월
    var arrLastDate = new Array(31, february, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);		//해당월의 마지막일
    var arrDay = new Array("일", "월", "화", "수", "목", "금", "토");									//요일

    var arrDate = new Array("&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;")
    var tmpDate = new Date(curYear, curMonth-1, 1)
	var startPos = tmpDate.getDay();
    
    var j = 1;
    for(var i = startPos; i<arrLastDate[curMonth-1]+startPos; i++)
    {
		arrDate[i] = j;
		j++;
    }
	
	///////////////////////////// HTML 생성 부분 //////////////////////////////
    
	//var str2  = "<select name='selectYear' id='selectYear'  class='select' onchange=\"cal_week(this.value, '" + curMonth+ "', '"+pweek+"');\">";
	var str2  = "<select name='selectYear' id='selectYear'  class='select' onchange=\"fSearch();\">";
	var firstyear=date.getYear()-4;
	var lastyear=date.getYear()+2;

	for (n=firstyear;n<lastyear;n++){
		if (n==curYear){
			str2+="<option selected value='"+n+"'>"+n+"</option>";
		}else{
			str2+="<option value='"+n+"'>"+n+"</option>";
		}
	}
	str2  += "</select>&nbsp;년&nbsp;";

	//str2  += "<select name='selectMonth' id='selectMonth' class='select' onchange=\"cal_week('" + curYear + "', this.value, '"+pweek+"');\">";
	str2  += "<select name='selectMonth' id='selectMonth' class='select' onchange=\"fSearch();\">";
	
	for (n=1;n<13;n++){
		if (n==curMonth){
			str2+="<option selected value='"+n+"'>"+n+"</option>";
		}else{
			str2+="<option value='"+n+"'>"+n+"</option>";
		}
	}
	str2  += "</select>&nbsp;월&nbsp;";

	var week = 0;
	 for(var i =0; i<arrDate.length;i+=7)
    {      
      if(i!=35 || arrDate[35]!="&nbsp;")//최대 6주가 생길수있음. 마지막 6주가 없으면 안나오게함
      {
		week++;
      }
	}

	str2  += "<select name='selectWeek'  id='selectWeek'  class='select' onchange=\"fSearch();\">";
	for (n=1;n<week+1;n++){
			if (pweek == n){
				str2+="<option value='"+n+"' selected>"+n+"</option>";
			}else{
				str2+="<option value='"+n+"'>"+n+"</option>";
			}
	}
	str2  += "</select>&nbsp;주차&nbsp;";

 
	///////////////////////////// HTML 생성 부분 마침 //////////////////////////////    
   if (spanData != null){
		spanData.innerHTML = str2;	
	} 
  }
/*
달력을 selectbox 로 구현 (년도, 월, 주차)

선택한 데이터를 읽을경우 :

태그 id, name : 

selectYear		년도 년도는 2008년을 시작 년으로 한다.
selectMonth	달
selectWeek	주차

<사용 방법>
1. 아래코드를 삽입한다.
<body onload='cal_week();'>

2. 원하는 위치에 아래코드를 삽입한다.
<span id="spanCalenderWeek"></span> 
*/
function cal_week2008(year, month, pweek)
  {
	spanData = document.getElementById("spanCalenderWeek");	
    var date = new Date();										//Date객체 받아오기
    var curYear = year || date.getYear();				//선택년도에 값이있으면 그값으로, 아니면 Date객체의 년도
    var curMonth = month || date.getMonth()+1;		//선택월 없으면 Date객체의 월
    var curDate = date.getDate();							//일은 무조건 현재일

    // 2월 윤년인지 비교 . 윤년은 년도를 4로나눠서 0이면 윤년, 그런데 100으로 나눠서 0이면 아님
    // 400으로 나눠서 0이면 그냥 윤년. 윤년은 29일까정..
    var february = ((0 == curYear % 4) && (0 != (curYear % 100))) || (0 == curYear % 400) ? 29 : 28;
    var arrMonth = new Array("1","2","3","4","5","6","7","8","9","10","11","12")						//월
    var arrLastDate = new Array(31, february, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);		//해당월의 마지막일
    var arrDay = new Array("일", "월", "화", "수", "목", "금", "토");									//요일

    var arrDate = new Array("&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;","&nbsp;")
    var tmpDate = new Date(curYear, curMonth-1, 1)
	var startPos = tmpDate.getDay();
    
    var j = 1;
    for(var i = startPos; i<arrLastDate[curMonth-1]+startPos; i++)
    {
		arrDate[i] = j;
		j++;
    }
	
	///////////////////////////// HTML 생성 부분 //////////////////////////////
    
	//var str2  = "<select name='selectYear' id='selectYear'  class='select' onchange=\"cal_week(this.value, '" + curMonth+ "', '"+pweek+"');\">";
	var str2  = "<select name='selectYear' id='selectYear'  class='select' onchange=\"fSearch();\">";
	var firstyear="2008";
	var lastyear=date.getYear()+1;

	for (n=firstyear;n<lastyear;n++){
		if (n==curYear){
			str2+="<option selected value='"+n+"'>"+n+"</option>";
		}else{
			str2+="<option value='"+n+"'>"+n+"</option>";
		}
	}
	str2  += "</select>&nbsp;년&nbsp;";

	//str2  += "<select name='selectMonth' id='selectMonth' class='select' onchange=\"cal_week('" + curYear + "', this.value, '"+pweek+"');\">";
	str2  += "<select name='selectMonth' id='selectMonth' class='select' onchange=\"fSearch();\">";
	
	for (n=1;n<13;n++){
		if (n==curMonth){
			str2+="<option selected value='"+n+"'>"+n+"</option>";
		}else{
			str2+="<option value='"+n+"'>"+n+"</option>";
		}
	}
	str2  += "</select>&nbsp;월&nbsp;";

	var week = 0;
	 for(var i =0; i<arrDate.length;i+=7)
    {      
      if(i!=35 || arrDate[35]!="&nbsp;")//최대 6주가 생길수있음. 마지막 6주가 없으면 안나오게함
      {
		week++;
      }
	}

	str2  += "<select name='selectWeek'  id='selectWeek'  class='select' onchange=\"fSearch();\">";
	for (n=1;n<week+1;n++){
			if (pweek == n){
				str2+="<option value='"+n+"' selected>"+n+"</option>";
			}else{
				str2+="<option value='"+n+"'>"+n+"</option>";
			}
	}
	str2  += "</select>&nbsp;주차&nbsp;";

 
	///////////////////////////// HTML 생성 부분 마침 //////////////////////////////    
   if (spanData != null){
		spanData.innerHTML = str2;	
	} 
  }