/************************************************************
☞  함수명  : hideURL()
☞  작성자  : 김태열
☞  작성일  : 2006.02.14
☞  기  능  : 하단 상태바에 주소 뜨는것 방지
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법: js 파일 호출시 무조건 실행됨
*************************************************************/

var msg = '펀드를 바라보는 창 - FundZone';  
 
function hideURL() {  
       window.status = msg;  
       timerID= setTimeout("hideURL()", 0);  
}  
 
//hideURL();  

/************************************************************
☞  함수명  : ctrl_click()
☞  작성자  : 김태열
☞  작성일  : 2006.02.15
☞  기  능  : 키보드 사용 금지
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법: js 파일 호출시 무조건 실행됨
*************************************************************/
function ctrl_click() {
  if((event.ctrlKey) && (event.keyCode == 67)) {
    alert('내용을 무단복제하실 수 없습니다.');
  }
  if((event.ctrlKey) && (event.keyCode == 66)) {
    alert('내용을 무단으로 북마크하실 수 없습니다.');
  }
  if((event.ctrlKey) && (event.keyCode == 78)) {
    alert('새창을 열 수 없습니다.');
  }
	if((event.shiftKey) && (event.button==1)) {
    alert('새창을 열 수 없습니다.');
  }
}

document.onkeydown=ctrl_click;
document.onmouseup=ctrl_click;
document.onmousedown=ctrl_click;

/************************************************************
☞  함수명  : MM_preloadImages()
☞  작성자  : 유수영
☞  작성일  : 2004.08.22
☞  기  능  : 이미지 롤오버 효과
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/************************************************************
☞  함수명  : gfn_check_digit()
☞  작성자  : 유수영
☞  작성일  : 2003.08.22
☞  기  능  : 텍스트 필드에서 숫자만 입력받는 기능
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법: onkeyup='gfn_check_digit(this, event)'
*************************************************************/
function gfn_check_digit(txt, ev) {
  if (ev.keyCode < 48 || ev.keyCode > 57) {
    if(ev.keyCode == 8)  return  // BackSpace
    if(ev.keyCode == 9)  return  // Tab
    if(ev.keyCode == 13) return  // Enter
    if(ev.keyCode == 16) return  // Shift
    if(ev.keyCode == 44) return  // Comma
//    if(ev.keyCode == 45) return  // -
    if(ev.keyCode == 46) return  // . (period)
    alert('숫자만 넣으셔야 해요..')
    ev.keyCode = 8
    txt.focus()
    return
  }
}

/************************************************************
☞  함수명  : gfn_check_day()
☞  작성자  : 김태열
☞  작성일  : 2005.03.01
☞  기  능  : 텍스트 필드에서 입력받은 날짜 체크
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/
function gfn_check_day(txt) {
  if( txt.value.length >= 8 ) {
    vDate = new Date();
    vDate.setFullYear(txt.value.substring(0, 4));
    vDate.setMonth(txt.value.substring(4, 6)-1);
    vDate.setDate(txt.value.substring(6));

    if( vDate.getFullYear() != txt.value.substring(0, 4) ||
      vDate.getMonth()    != (txt.value.substring(4, 6)-1) ||
      vDate.getDate()     != txt.value.substring(6) ){
      alert('날짜 형식이 잘못되었습니다.');
      txt.value = '';
      txt.focus()
      return false;
    }
  }
  return true;
}

function gfn_check_day_1(txt) {
  if(txt.value) {
    if(txt.value.length < 8 ) {
      alert('날짜 형식이 맞지않습니다.\n\n예) YYYYMMDD');
      txt.value = '';
      txt.focus();
    }
  }
}



/************************************************************
☞  함수명 : gfn_check_blank()
☞  작성자 : 유수영
☞  작성일 : 2003.07.18
☞  기  능 : 인자로받은 문자열중 스페이스를 없애고 되돌려줌
☞  인  자 : _strValue(스페이스를 없앨 문자열)
☞  리턴값 :
☞  기  타 : 인자중 스페이스 제외한 문자열
*************************************************************/
function gfn_check_blank(_strValue) {
  var fs_ret_value = ""
  for(fi_i = 0; fi_i < _strValue.length; fi_i++) {
    if(_strValue.charAt(fi_i) != " ")
    fs_ret_value += _strValue.charAt(fi_i);
  }
  return fs_ret_value;
}//☜ gfn_check_blank()


/************************************************************
☞  함수명 : gfn_update_char()
☞  작성자 : 유수영
☞  기  능 : 지정된 바이트 이상 입력시 자동삭제 처리
☞  인  자 : _length_limit, _str_value, _show_text
☞  리턴값 : _str_msg
☞  기  타 : 지정 byte, 해당 텍스트, 현재 byte 보여줄 ID
☞    예   : onkeyup='gfn_update_char(200, this, textlimit)'
*************************************************************/
function gfn_update_char(_length_limit, _str_value, _show_text) {
  var length = gfn_calculate_msglen(_str_value.value);
  if(_show_text != '')
    _show_text.innerText = length;
  if (length > _length_limit) {
    alert('최대 ' + _length_limit + 'byte이므로 초과된 글자수는 자동으로 삭제됩니다.');
    _str_value.value = _str_value.value.replace(/\r\n$/, '');
    _str_value.value = gfn_assert_msglen(_str_value.value, _length_limit, _show_text);
  }
}

function gfn_calculate_msglen(_message) {
  var nbytes = 0;

  for (i=0; i<_message.length; i++) {
    var ch = _message.charAt(i);
    if(escape(ch).length > 4) {
      nbytes += 2;
    } else if (ch == '\n') {
      if (_message.charAt(i-1) != '\r') {
        nbytes += 1;
      }
    } else if (ch == '<' || ch == '>') {
      nbytes += 4;
    } else {
      nbytes += 1;
    }
  }

  return nbytes;
}

function gfn_assert_msglen(_message, _maximum, _show_text) {
  var inc = 0;
  var nbytes = 0;
  var msg = '';
  var msglen = _message.length;

  for (i=0; i<msglen; i++) {
    var ch = _message.charAt(i);
    if (escape(ch).length > 4) {
      inc = 2;
    }
    else if (ch == '\n') {
      if (_message.charAt(i-1) != '\r')
        inc = 1;
    }
    else if (ch == '<' || ch == '>') {
      inc = 4;
    }
    else {
      inc = 1;
    }

    if ((nbytes + inc) > _maximum)
      break;

    nbytes += inc;
    msg += ch;
  }
  if(_show_text != '')
    _show_text.innerText = nbytes;
  return msg;
}


/************************************************************
☞  함수명  : gfn_rtrim_str()
☞  작성자  : 김진우
☞  작성일  : 2003.07.21
☞  기  능  : 인자와 같은문자를 오른쪽에서 제거하고 돌려줌
☞  인  자  : _src(제거할 문자),_trim_char(제거할 문자)
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/
function gfn_rtrim_str( _src, _trim_char ) {
  if( _trim_char == null )  return(_src);
  for( var fi = _src.length ; fi > 0 ; fi-- ) {
    if( _src.charAt(fi-1) != _trim_char ) break;
  }
  return( _src.substring( 0, fi ) );
}//☜ gfn_rtrim_str()


/************************************************************
☞  함수명  : gfn_ltrim_str()
☞  작성자  : 김진우
☞  작성일  : 2003.07.21
☞  기  능  : 인자와 같은문자를 왼쪽에서 제거하고 돌려줌
☞  인  자  : _src(제거할 문자),_trim_char(제거할 문자)
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/
function gfn_ltrim_str( _src, _trim_char ) {
  if( _trim_char == null )  return(_src);
  for( var fi = 0 ; fi < _src.length ; fi++ ) {
    if( _src.charAt(fi) != _trim_char ) break;
  }
  return( _src.substring( fi, _src.length ) );
}//☜ gfn_ltrim_str()


/************************************************************
☞  함수명  : gfn_search_user(_target)
☞  작성자  : 유수영
☞  작성일  : 2003.08.09
☞  기  능  : 신도 검색용.
☞  인  자  : _target
☞  리턴값  :
☞  기  타  :
☞  사용방법: 유저 검색 후, _target으로 되돌려줌.
*************************************************************/
function gfn_search_user( _target ) {
  window.open('/include/search_user.asp?serial=' + document.frm_.serial.value + '&target_name=' + _target, 'opm', 'width=700, height=500, scrollbars=yes');
}


/************************************************************
☞  함수명  : gfn_view_family(_serial)
☞  작성자  : 유수영
☞  작성일  : 2003.08.30
☞  기  능  : 가족 조회용.
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/
function gfn_view_family(_serial) {
  window.open('/include/family_view.asp?serial=' + _serial, 'family', 'width=600, height=400, scrollbars=yes');
}


/************************************************************
☞  함수명  : gfn_number_format( _value )
☞  작성자  : 유수영
☞  작성일  : 2003.09.06
☞  기  능  : 스트링에 콤마 추가.
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/
function gfn_number_format(obj) {
  // 여기서 부터 3자리마다 콤마를 찍어 준다.
  var txtNumber;

  if (obj =='[object]')
    txtNumber= gfn_trim_number(obj.value);
  else
    txtNumber= obj;
  txtNumber = String(txtNumber);
  if (isNaN(gfn_trim_number(txtNumber))) {
    if (obj =='[object]')
      obj.value = "";
    return;
  }

  var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
  var arrNumber = txtNumber.split('.');
  var result;
  arrNumber[0] += '.';
  do {
    arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
  } while (rxSplit.test(arrNumber[0]));

  if (arrNumber.length > 1) {
    result = arrNumber.join('');
  }
  else {
    result = arrNumber[0].split('.')[0];
  }

  if (obj == '[object]') {
    obj.value = result;
  }

  return result;
}

//,없애기
function gfn_trim_number(str) {
  re = /^\$|,/g;
  str = String(str);
  return str.replace(re, "");
}


function gfn_reverse_comma() {
  // 콤마 붙인 숫자형 원래대로 변환
  for(i = 0; i < document.frm_.elements.length; i++) {
    if(document.frm_.elements[i].getAttribute("number_type")!=null ) {
      document.frm_.elements[i].value = gfn_trim_number(document.frm_.elements[i].value);
    }
  }
}

function gfn_number_format_fix(_obj){
  str_val = _obj.length;
  if(str_val >= 3){
    alert(eval(str_val) % 3)
  }
}

/************************************************************
☞  함수명  : gfn_calendar_show( _value )
☞  작성자  : 유수영
☞  작성일  : 2003.09.06
☞  기  능  : 날짜추가
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/
function gfn_calendar_show(objInput) {
  var strDate='';
  var strUrl = "/include/Calendar.html"
  strDate = window.showModalDialog(strUrl,"","toolbar=no,menubar=no,resizable=no,scrollbars=yes,width=620,height=480");
  if (strDate!='') {
    objInput.value=strDate;
    objInput.focus();
  }
}

//년, 월, 일 리턴
function gfn_calendar_show1(objInput, objInput1, objInput2) {
  var strDate='';
  var strUrl = "/include/Calendar.html"
  strDate = window.showModalDialog(strUrl,"","toolbar=no,menubar=no,resizable=no,scrollbars=yes,width=620,height=480");
  if (strDate!='') {
    strTemp = strDate.split("-");
    objInput.value=strTemp[0];
    objInput1.value=strTemp[1];
    objInput2.value=strTemp[2];
  }
}

// 년,월 리턴
function gfn_calendar_show2(objInput) {
  var strDate='';
  var strUrl = "/include/Calendar.html"
  strDate = window.showModalDialog(strUrl,"","toolbar=no,menubar=no,resizable=no,scrollbars=yes,width=620,height=480");
  if (strDate!='') {
    strTemp = strDate.split("-");
    objInput.value=strTemp[0] + "-" + strTemp[1];
  }
}

// 년 리턴
function gfn_calendar_show3(objInput) {
  var strDate='';
  var strUrl = "/include/Calendar.html"
  strDate = window.showModalDialog(strUrl,"","toolbar=no,menubar=no,resizable=no,scrollbars=yes,width=620,height=480");
  if (strDate!='') {
    strTemp = strDate.split("-");
    objInput.value=strTemp[0]
  }
}

// 입금 정보 검색
function gfn_input_account(_str_company, _frm, _target, _idx) {
  window.open('/include/account_1.asp?company=' + _str_company + '&frm=' + _frm + '&target=' + _target + '&idx=' + _idx, 'account', 'width=500, height=500, top=0, left=0, scrollbars=yes');
}


/************************************************************
☞  함수명  : gfn_print_paper( _value )
☞  작성자  : 유수영
☞  작성일  : 2003.10.23
☞  기  능  : 출력용 화면으로 데이타 보내기.
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/
function gfn_print_paper(_paper) {
  var str_temp = '';
  var obj = document.frm_1.elements["chk_serial[]"];

  for (i = 0; i < obj.length; i++) {
    if(obj[i].checked == true)
      str_temp += 'Y, ';
    else
      str_temp += 'N, ';
  }
  document.frm_1.chk_chk.value = str_temp.substring(0, str_temp.length-2);
  document.frm_1.paper.value  = _paper;

  print_window = window.open("","print","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=400,height=600,top=0,left=0");
  document.frm_1.target="print";
  document.frm_1.submit();
  print_window.focus();
}


/************************************************************
☞  함수명  : gfnFNOpenPopup(URL, _WIDTH, _HEIGHT)
☞  작성자  : 김태열
☞  작성일  : 2005.01.19
☞  기  능  : 해당 URL로 WIDTH, HEIGHT에 맞춘 창 오픈(스크롤바)
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/

function gfnFNOpenPopup(URL, _WIDTH, _HEIGHT){
  open(URL, 'openpop', 'scrollbars=yes,width=' + _WIDTH + ',height=' + _HEIGHT + ', top=0, left=0');
}


/************************************************************
☞  함수명  : gfn_add_diary(URL, _WIDTH, _HEIGHT)
☞  작성자  : 유수영
☞  작성일  : 2005.01.19
☞  기  능  : 일정 입력을 위한 페이지 오픈
☞  인  자  : 입력할 날짜
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/

function gfn_add_diary(_sd, _target, _date){
  gfnFNOpenPopup('/Active/Diary_Frame.asp?sd=' + _sd + '&tg=' + _target + '&a_date=' + _date, '', 'scrollbar=0, menubar=no, toolbar=no, width=470, height=300,status=no,left=0,top=0');
}


function open_cal(target){
	window.open('/include/calendar.asp?target='+target,'open_cal', 'scrollbar=0, menubar=no, toolbar=no, width=250, height=280,status=no,left=0,top=0');
}

function gfn_modify_diary(_sd, _target, _seq) {
  gfnFNOpenPopup('/Active/Diary_Frame.asp?sd=' + _sd + '&tg=' + _target + '&seq=' + _seq, '450', '380');
}


/************************************************************
☞  함수명  : gfn_return_radio(_OBJECT)
☞  작성자  : 유수영
☞  작성일  : 2005.01.25
☞  기  능  : 라디오 선택 value 값 리턴
☞  인  자  : radio tag name
☞  리턴값  : radio checked value
☞  기  타  :
☞  사용방법:
*************************************************************/
function gfn_return_radio(_OBJ) {
  var fs_temp = '';
  var fo_radio = eval("document.forms[0]." + _OBJ);
  for(var i = 0; i < fo_radio.length; i++) {
    if(fo_radio[i].checked) {
      fs_temp = fo_radio[i].value;
      break;
    }
  }
  return fs_temp;
}

/************************************************************
☞  함수명  : gfn_print_menu(_OBJECT)
☞  작성자  : 유수영
☞  작성일  : 2005.01.25
☞  기  능  : 메뉴클릭시 폰트 굵게
*************************************************************/

var old='';

function gfn_print_menu(ob) {
  if (old=='') {
    ob.style.fontWeight = "bold";
  }
  else {
    old.style.fontWeight = "normal";
    ob.style.fontWeight = "bold";
  }
  old = ob;
}

/************************************************************
☞  함수명  : gfn_change_img(_OBJECT)
☞  작성자  : 유수영
☞  작성일  : 2005.01.25
☞  기  능  : 메뉴클릭시 메뉴명 앞의 점 이미지 변경
*************************************************************/

function gfn_change_img(_src,cnt) {
  for(i = 1; i <=cnt; i++) {
    eval("document.all.img" + i).src = '../images/menu_dot1.jpg';
  }
  eval("document.all.img" + _src).src = '../images/menu_dot2.jpg';
}


/************************************************************
☞  함수명  : gfn_help_open()
☞  작성자  : 유수영
☞  작성일  : 2005.02.22
☞  기  능  : 헬프파일 오픈
*************************************************************/

function gfn_help_open() {
  newWin = window.open('/include/help.asp?menu=' + parent.mainFrame.location, 'help', 'width=450, height=410, scrollbars=yes');
  newWin.moveTo(0, 0)
}


/***********************************************************
☞  함수명  : gfn_cal_open()
☞  작성자  : 김태열
☞  작성일  : 2005.02.22
☞  기  능  : 달력 오픈
************************************************************/
function gfn_cal_open(_val) {
  _name = _val.name;
  open_cal(_name);
}

/***********************************************************
☞  함수명  : gfn_logout()
☞  작성자  : 영웅
☞  작성일  : 2005.02.22
☞  기  능  : 로그아웃
************************************************************/
function gfn_logout() {
  if(confirm('로그아웃 하시겠습니까?')) {
    parent.document.location = '/Member/Login/LogOut.asp?fromsite=planm';
  }
}


//------------------------ PopUp 창 띄우기 스크립트                             //
function gfn_popup(popurl,popname,scroll,toolbar,resize,wsize,hsize,top,left)
{
	window.open(popurl,popname,'scrollbars='+scroll+',toolbars='+toolbar+',resizable='+resize+',width='+wsize+',height='+hsize+',top=0, left=0');
}


/***********************************************************
☞  함수명  : gfn_send_mail()
☞  작성자  : 영웅
☞  작성일  : 2005.02.23
☞  기  능  : 메일보내기
************************************************************/
function gfn_send_mail(_str) {
  gfn_popup(gfs_main_domain + '/MyFolder/MailSend.asp', 'emailsend', 'no', 'no', 'no', 601, 639, 0, 100);
}

/***********************************************************
☞  함수명  : gfn_send_sms()
☞  작성자  : 영웅
☞  작성일  : 2005.02.23
☞  기  능  : SMS전송
************************************************************/
function gfn_send_sms() {
  gfn_popup(gfs_main_domain + '/MyFolder/SMS_Send.asp', 'smssend', 'no', 'no', 'no', 685, 575, 0, 100);
}

/***********************************************************
☞  함수명  : gfn_move_page()
☞  작성자  : 손동욱
☞  작성일  : 2005.03.16
☞  기  능  : 페이지이동
************************************************************/
function gfn_move_page(url) {
  window.location.href = url;
}


/***********************************************************
☞  함수명  : gfn_element_next()
☞  작성자  : 손동욱
☞  작성일  : 2005.04.23
☞  기  능  : _this.length 와 _len을 비교해서 해당 _nm 으로 포커스 이동
************************************************************/

function gfn_element_next(_this, _len, _nm){
  if(_this.length >= _len){
    eval("document.all." + _nm + "").focus();
  }
}


function gfn_print_window(_port) {
	document.printbtn.src= gfs_main_domain + '/images/nothing.gif';
	document.event.src= gfs_main_domain + '/images/nothing.gif';
	factory.printing.header = ""
	factory.printing.footer = ""
	factory.printing.portrait = _port
	factory.printing.leftMargin = 10.0
	factory.printing.topMargin = 5.0
	factory.printing.rightMargin = 10.0
	factory.printing.bottomMargin = 5.0
	factory.printing.Print(false, window)
	document.printbtn.src = 'http://devplanm.fpnet.co.kr/images/butt/butt_print_1.gif';
	document.event.src = 'http://devplanm.fpnet.co.kr/images/butt/butt_event_1.gif';
}



function gfn_trim(src_str) {
  return src_str.replace(/(^\s*)|(\s*$)/gi, "");
}

function gfn_replace_all(src_str, str1, str2) {
  var temp_str = "";
  temp_str = gfn_trim(src_str)

  if (temp_str != "" && str1 != str2) {
    while (temp_str.indexOf(str1) > -1) {
      temp_str = temp_str.replace(str1, str2);
    }
  }
  return temp_str;
}

/***********************************************************
☞  함수명  : gfn_yyyymmdd_view()
☞  작성자  : 김태열
☞  작성일  : 2005.06.13
☞  기  능  : _this를 가져와 내용 체크후 없으면 백그라운드 이미지 삽입
************************************************************/
function gfn_yyyymmdd_view(_this, _chk){
  if(_chk=='1'){
    if(!_this.value){
      _this.style.backgroundImage = '/images/yyyymmdd.gif';
    }
  } else {
    _this.style.backgroundImage = '';
  }
}


/***********************************************************
☞  함수명  : gfn_move_focus()
☞  작성자  : 김태열
☞  작성일  : 2005.07.22
☞  기  능  : 자동 포커스 이동
☞  사용법  : onkeyup(this, LENGTH, next)  - gfn_move_focus(this, 6, 'txtJumin2')
☞  참  고  : 폼 네임이 Form1 일 경우에 작동.(aspx file) 
************************************************************/
function gfn_move_focus(_this, _length, _next) {
	if(_this.value.length >= _length) {
		eval("document.forms[0]." + _next).focus();
	}
}

/***********************************************************
☞  함수명  : gfn_move_focus()
☞  작성자  : 김태열
☞  작성일  : 2005.08.02
☞  기  능  : 컨텐츠 내용 popup으로 
☞  사용법  : 
☞  참  고  : 
************************************************************/
function gfn_open_contents(_seq)
{
    window.open("/Administrator/CMS/Cms_Contents_Open.aspx?seq=" + _seq, "_Copen", "Width=620px, Height=350px, scrollbars=yes, left=0, top=0");
}

/************************************************************
☞  함수명  : gfn_update_cnt(code, URL, _WIDTH, _HEIGHT)
☞  작성자  : 김태열
☞  작성일  : 2005.10.04
☞  기  능  : 해당 컨텐츠 카운트 증가후 해당 URL로 WIDTH, HEIGHT에 맞춘 창 오픈(스크롤바)
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/

function gfn_update_cnt(code, URL, _WIDTH, _HEIGHT){
  window.open("/fund_info/pop_update_cnt.aspx?code=" + code + "&url=" + URL, 'opencnt', 'scrollbars=yes,width=' + _WIDTH + ',height=' + _HEIGHT + ', top=0, left=0');
}

/************************************************************
☞  함수명  : gfn_grid_check_all()
☞  작성자  : 손동욱
☞  작성일  : 2005.10.10
☞  기  능  : 웹그리드에서 해더 체크박스 클릭하면 전체 선택
☞  인  자  :
☞  리턴값  :
☞  기  타  :
☞  사용방법:
*************************************************************/

function gfn_grid_check_all(_gridnm, _this)
{
	var grid = igtbl_getGridById(_gridnm);
	for(i = 0; i < grid.Rows.length; i++)
	{
		grid.Rows.getRow(i).getCell(0).setValue(_this.checked);
	}
}

/************************************************************
☞  함수명  : gfn_compare()
☞  작성자  : 김태열
☞  작성일  : 2006.01.05
☞  기  능  : 체크된 값을 가지고 펀드비교 페이지로 이동시킴
☞  인  자  : 
☞  리턴값  : 
☞  기  타  : 
☞  사용방법: gfn_compare()
*************************************************************/

function gfn_compare(_gubn)
{
	var grid = document.getElementsByName('chk_list'); ;
	var fundcodes = "";
	var fundcnt = 0;
    for(i = 0; i < grid.length; i++)
	{
		if(grid[i].checked == true)
		{
			fundcodes += grid[i].value + ",";
			fundcnt += 1;
		}
	}
	
	if(eval(fundcnt) > 4)
	{
		alert("펀드비교는 4개까지만 가능합니다.\n 다시 선택해주세요.");
	}
	else if(eval(fundcnt) < 1)
	{
		alert("펀드비교는 1개 이상 선택해주세요.");

	}
	else
	{
		parent.window.location.href = "./fund_compare.aspx?gubn=" + _gubn + "&fund_cds=" + fundcodes;
	}
}

/************************************************************
☞  함수명  : gfn_setmyfolder_single()
☞  작성자  : 김태열
☞  작성일  : 2006.01.05
☞  기  능  : 체크된 값을 가지고 마이펀드 페이지로 이동
☞  인  자  : 펀드코드
☞  리턴값  :
☞  기  타  : 
☞  사용방법: gfn_setmyfolder(_fundcd)
*************************************************************/
function gfn_setmyfolder_single(_fundcd)
{
    window.open("/ToolBox/my_fund.aspx?codes=" + _fundcd + ",", "save", "toolbars=no,resizable=no,width=600,height=500,top=100,left=100,scrollbars=no");
}

/************************************************************
☞  함수명  : gfn_setmyfolder()
☞  작성자  : 김태열
☞  작성일  : 2006.01.05
☞  기  능  : 체크된 값을 가지고 마이펀드 페이지로 이동
☞  인  자  : 
☞  리턴값  :
☞  기  타  : 
☞  사용방법: gfn_setmyfolder()
*************************************************************/

function gfn_setmyfolder(_grid, _colums)
{
	var grid = document.getElementsByName('chk_list'); ;
	var fundcodes = "";
	var fundcnt = 0;
					
	for(i = 0; i < grid.length; i++)
	{
		if(grid[i].checked == true)
		{
			fundcodes += grid[i].value + ",";
			fundcnt += 1;
		}
	}

	if(eval(fundcnt) < 1)
	{
		alert("1개 이상 선택해주세요.");
	}
	else
	{
		  window.open("/ToolBox/my_fund.aspx?codes=" + fundcodes, "save", "toolbars=no,resizable=no,width=600,height=500,top=100,left=100,scrollbars=no");
	}
}

/************************************************************
☞  함수명  : gfn_show_calendar()
☞  작성자  : 김태열
☞  작성일  : 2005.11.03
☞  기  능  : 달력 출력
☞  인  자  : _target, _strdatey, _strdatem, _type, _state
☞  리턴값  : 클릭한 날짜 ex) 20051225
☞  설  명  : _type  1(3개의 input), 2(1개의 input), 3(날짜에 "-" 을 넣어준다)
☞  설  명  : _state 1(날짜선택제한없음), 2(영업일만 선택), 3(주초일만 선택)
☞  기  타  : _type 1일경우 input id 뒤에 _Y, _M, _D를 붙여줘야 제대로 들어간다 ex) dt_Y, dt_M, dt_D
☞  사용방법: gfn_showc_alendar('dt', '2005', '11', '2', '2')
*************************************************************/

function gfn_show_calendar(_target, _strdatey, _strdatem, _type, _state) {
  window.open('/Calendar/Calendar.aspx?target=' + _target + '&strDateY=' + _strdatey + '&strDateM=' + _strdatem + '&type=' + _type + '&state=' + _state, 'op', 'status=yes,width=300,height=300,top=100,left=100');
}

/************************************************************
☞  함수명  : gfn_printDiv()
☞  작성자  : 김태열
☞  작성일  : 2006.01.04
☞  기  능  : 본문 내용만 출력
☞  인  자  : 
☞  리턴값  : 
☞  설  명  : 
☞  설  명  : 
☞  기  타  : 
☞  사용방법: <div id=print_01>전체를 묶는다 <div id=print_content>프린트될 부분 <div id=print_03>본문이 출력될 부분(footer 밑에 추가)
*************************************************************/
function gfn_printDiv() {
  if (document.all && window.print) {
    window.onbeforeprint = beforeDivs;
    window.onafterprint = afterDivs;
    window.print();
  }
}

function beforeDivs() {
  if (document.all) {
      print_01.style.display = 'none';
      print_03.innerHTML = document.all['print_content'].innerHTML;
  }
}


function afterDivs() {
  if (document.all) {
    print_01.style.display = 'block';
    print_03.innerHTML = "";
  }
}

/************************************************************
☞  함수명  : gfn_auto_hyphen_date()
☞  작성자  : 김태열
☞  작성일  : 2006.01.11
☞  기  능  : 날짜 입력 받을때 자동으로 "-(하이픈)" 을 붙힌다.
☞  설  명  : 
☞  기  타  : 
☞  사용방법: gfn_auto_hyphen_date(object)
*************************************************************/
function gfn_auto_hyphen_date(_obj)
{
    var _temp_dt = _obj.value;
    if(_temp_dt.length == 5)
    {
        _temp_dt = _temp_dt.substring(0, 4) + "-" + _temp_dt.substring(4, 5);
    }
    else if(_temp_dt.length == 8)
    {
        _temp_dt = _temp_dt.substring(0, 7) + "-" + _temp_dt.substring(7, 8);
    }
    
    _obj.value = _temp_dt;
}

/************************************************************
☞  함수명  : gfn_ifrm_view()
☞  작성자  : 김태열
☞  작성일  : 2006.01.02
☞  기  능  : 로딩중 이미지 출력
☞  설  명  : 레이어 id와 보여줄지(1), 안 보여줄지(0) 여부를 넘긴다.
☞  기  타  : 
☞  사용방법: gfn_ifrm_view(object, gubn)
*************************************************************/
function gfn_ifrm_view(_obj, _gubn)
{
    if(_gubn == "0")
        eval(_obj + ".style.display = 'none'");
    else
        eval(_obj + ".style.display = 'block'");
}        

/************************************************************
☞  함수명  : gfn_fundview_detail()
☞  작성자  : 김태열
☞  작성일  : 2006.02.09
☞  기  능  : CMS에서 입력한 펀드 상세페이지로 보내기
☞  설  명  : 
☞  기  타  : 
☞  사용방법: gfn_fundview_detail(fund_cd)
*************************************************************/
function gfn_fundview_detail(_fund_cd)
{
    
    document.location = "/fundinfo/fund_detail_tab01.aspx?fundcd=" + _fund_cd;
}        

/************************************************************
☞  함수명  : gfn_rcompanyview_detail()
☞  작성자  : 김태열
☞  작성일  : 2006.02.11
☞  기  능  : CMS에서 입력한 운용사 상세페이지로 보내기
☞  설  명  : 
☞  기  타  : 
☞  사용방법: gfn_rcompanyview_detail(rcompany_cd)
*************************************************************/
function gfn_rcompanyview_detail(_rcompany_cd)
{
    document.location = "/fundinfo/com_detail_tab01.aspx?code=" + _rcompany_cd;
}        

/************************************************************
☞  함수명  : gfn_toLowerCase()
☞  작성자  : 김태열
☞  작성일  : 2006.02.12
☞  기  능  : 회원가입, 로그인시 대문자 입력시 소문자로 자동 변환
☞  설  명  : 
☞  기  타  : 
☞  사용방법: gfn_toLowerCase(_obj)
*************************************************************/
function gfn_toLowerCase(_obj)
{
    _obj.value = _obj.value.toLowerCase();
}

/************************************************************
☞  함수명  : gfn_email_check()
☞  작성자  : 김태열
☞  작성일  : 2006.02.13
☞  기  능  : 이메일 형식 체크
☞  설  명  : 
☞  기  타  : 
☞  사용방법: gfn_email_check(_val)
*************************************************************/
function gfn_email_check(_val)
{
    /** 체크사항 
    - @가 2개이상일 경우 
    - .이 붙어서 나오는 경우 
    -  @.나  .@이 존재하는 경우 
    - 맨처음이.인 경우 
    - @이전에 하나이상의 문자가 있어야 함 
    - @가 하나있어야 함 
    - Domain명에 .이 하나 이상 있어야 함 
    - Domain명의 마지막 문자는 영문자 2~4개이어야 함 **/ 

    var check1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; 

    var check2 = /^[a-zA-Z0-9\-\.\_]+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})$/; 
    if(_val.length != 0) 
    { 
        if ( !check1.test(_val) && check2.test(_val) ) 
            return true;
        else
        {
            alert("이메일 형식이 잘못되었습니다."); 
            return false; 
        }
    }             
    else 
    { 
        alert("이메일 주소를 넣어주세요."); 
        return false; 
    }
}


/************************************************************
☞  함수명  : lfn_view_comment()
☞  작성자  : 김태열
☞  작성일  : 2006. 어느날..
☞  기  능  : 주석 달기
☞  설  명  : 
☞  기  타  : 
☞  사용방법: lfn_view_comment(1, 1);
*************************************************************/
function lfn_view_comment(_id, _num)
{
    //테이블 아이디, 테이블갯수를 받아서 갯수만큼 돌면서 알아서 잘 뿌림.
    for(i = 1; i <= _num; i++)
    {
        eval("comment" + i + ".style.display = 'none';");
        if(i == _id.substring(7, 8))
            eval(_id + ".style.display = 'block'");
    }
}

/************************************************************
☞  함수명  : gfn_funddetil_pop()
☞  작성자  : 김태열
☞  작성일  : 2006. 03. 28
☞  기  능  : 펀드 상세보기 팝업 띄우기
☞  설  명  : 
☞  기  타  : 
☞  사용방법: gfn_funddetil_pop(펀드코드);
*************************************************************/
function gfn_funddetail_pop(_fund_cd, _gubn)
{
    window.open("../fund_detail/fund_detail_tab01.aspx?fundcd=" + _fund_cd + "&gubn=" + _gubn, "_fund_detail_open", "width=755, height=690, scrollbars=yes, left=150");
}
