﻿/*============================================================
 * Spec      : 모달 윈도우 함수
 * Parameter : vWidth >> 윈도우너비
 * Parameter : vHeight >> 윈도우높이
 * Parameter : vUrl >> 링크 주소
 * Return	 : void
 * example   : modalWindow(300, 500, 'http://www.opop.com/popup/');
 ============================================================*/
function modalWindow(vWidth, vHeight, vUrl) {
	var mdWindow=null;
	//var kiho = (vUrl.indexOf("?")<0)?"?":"&";
	var x=(screen.width-vWidth)/2;
	var y=(screen.height - vHeight)/2;
	opt="status:no; help:no; edge:raised;";
	opt=opt+"dialogWidth:"+vWidth+"px; dialogHeight:"+vHeight+"px; dialogLeft:"+x+";scroll:no; dialogTop:"+y+";";
	var mdWindow=showModalDialog(vUrl,'',opt);
}

/*============================================================
 * Spec		 : 팝업윈도우 함수(원하는 크기로 툴바없이 화면 가운데 띄우기)
 * Parameter : vWidth >> 윈도우너비
 * Parameter : vHeight >> 윈도우높이
 * Parameter : vUrl >> 링크 주소
 * Parameter : vOpt >> 스크롤 유무(0:없음, 1:있음, 기본값은 0)
 * Return	 : void
 * example   : openWindow(300, 500, 'http://www.opop.com/popup/',0);
 ============================================================*/
function openWindow(vWidth, vHeight, vUrl, vOpt) {
	var mdWindow = null;
	var x = (screen.width - vWidth)/2;
	var y = (screen.height - vHeight)/2;
	var opt;
	if (vOpt == "" || vOpt == null) vOpt = 0;
	opt = 		"width=" + vWidth + ",height=" + vHeight;
	opt = opt + ",scrollbars=" + vOpt + ",toolbar=0,menubars=0,locationbar=0,historybar=0,statusbar=0";
	opt = opt + ",outerWidth=" + vWidth + ",outerHeight=" + vHeight + ",resizable=0";
	opt = opt + ",left=" + x + ",top=" + y;
	opt = opt + ",channelmode=no, titlebar=no";
	var mdWindow = window.open(vUrl, "", opt, false);
}

function openNameWindow(vWidth, vHeight, vUrl, vName, vOpt) {//인스턴스이름 있는 창 열기.
	var mdWindow = null;
	var x = (screen.width - vWidth)/2;
	var y = (screen.height - vHeight)/2;
	var opt;
	if (vOpt == "" || vOpt == null) vOpt = 0;
	opt = 		"width=" + vWidth + ",height=" + vHeight;
	opt = opt + ",scrollbars=" + vOpt + ",toolbar=0,menubars=0,locationbar=0,historybar=0,statusbar=0";
	opt = opt + ",outerWidth=" + vWidth + ",outerHeight=" + vHeight + ",resizable=0";
	opt = opt + ",left=" + x + ",top=" + y;
	opt = opt + ",channelmode=no, titlebar=no";
	var mdWindow = window.open(vUrl, vName, opt, false);
  if(!mdWindow){
    alert("팝업차단을 해제해주세요.");
    return false;
  }
  mdWindow.focus();
}

function chkPattern(str,type) //형식 체크
{
    var Num				=/^[0-9]+$/; ///숫자만
    var Phone			=/^[0-9]{2,4}-[0-9]{3,4}-[0-9]{4}$/;                     //전화번호 형식 : 033-1234-5678
    var Mail			=/^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/;						//메일
    var Domain			=/^[.a-zA-Z0-9-]+.[a-zA-Z]+$/; ///영자 숫자와 . 다음도 영자
    var Eng				=/^[a-zA-Z]+$/; //영자만
    var EngNum		=/^[a-zA-Z0-9]+$/; //영자와 숫자
    var Host			=/^[a-zA-Z-]+$/; //영자 와 '-'
    var Hangul			=/[가-힣]/; //한글인지
    var HangulEng		=/[가-힣a-zA-Z]/; //한글영어
    var HangulOnly		=/^[가-힣]*$/; ///한글만
    var Id				=/^[a-zA-Z]{1}[a-zA-Z0-9_-]{4,15}$/; //첫글자는 영자 그뒤엔 영어숫자 4이상 15자리 이하
    var Date			=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;                         // 형식 : 2002-08-15
	var CategoryCode	=/^[A-Z]{2}_[0-9]{6}$/; // 카테고리

//alert(type);
    patten = eval(type);

    if(!patten.test(str)){
        return false;
    }
    return true;
}

function isValidType(field,type,msg) // chkPatten로 형식체크 후 메세지 출력
{
  if(!chkPattern(field.value,type))
  {
    if(msg != "") alert(msg);
    field.focus();
    return false;
  }
  return true;

}


function strReplace(str){ // \변환
	str = str.replace("'", "\'");
//	str = str.replace(chr(13), "\n");
	str = str.replace("\\", "/");
	return str
}



function no_msg(){ //상태창 주소 안뜨게
	window.status="";
	return true;
}

//if(document.layers)
//  document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT)
//  document.onmouseover = no_msg;
//  document.onmouseout = no_msg;


function notice_pop(no,type){// 공지 팝업창
	width = 600;
	hight = 600;
	url = '/include/Notice_Pop.asp?Seq='+no+'&type='+type;
	winX = (screen.width - width)/ 2;
	winY = (screen.height - hight) / 2;

	winprops = 'height=' + hight + ',width=' + width + ',top='+winY+',left='+winX+',scrollbars=yes,status=no';
	win = window.open(url, 'winPop', winprops);

	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}




var CheckBoxAll
CheckBoxAll = false

function CheckAll(InputName)//모두 선택하기
{
	if (CheckBoxAll == true) CheckBoxAll = false;
	else	CheckBoxAll = true;

	var i;
	for (i=0;i<document.forms[0].elements.length;i++){
		var e = document.forms[0].elements[i];

			if(e.name == InputName)
				e.checked = CheckBoxAll;
	}
}

function onlynum() {//숫자만 눌리게 하기 , 방향키 + Delele + BackSpace
  var iCode = event.keyCode;
	if(!( ((iCode >= 48) && (iCode <= 57)) || ((iCode >= 96) && (iCode <= 105)) || ((iCode >= 37) && (iCode <= 40)) || (iCode == 8 ) || (iCode == 46 )|| (iCode == 9 ) )) event.returnValue = false;
}


function trim(val){
	if (val != null)
		val = val.replace(/ /g,'');
	return val;
}

function F_CheckEnter(frm)
{
	if(event.keyCode==13)
		frm.submit();
}


function goPage(formNm, PageNo) {
	f=eval("document."+formNm);
	f.page.value=PageNo;
	f.submit();
}

function goPageMove(url){
	document.location.href = url;
}


function checkJumin(formname1,formname2){
        var chk=0
        var yy=formname1.value.substring(0,2)
        var mm=formname1.value.substring(2,4)
        var dd=formname1.value.substring(4,6)
        var sex=formname2.value.substring(0,1)
        if((formname1.value.length!=6)||(yy<25||mm<1||mm>12||dd<1)){
                formname1.select();
                return false;
        }
        if((sex!=1&&sex!=2)||(formname2.value.length!=7)){
                formname2.select();
                return false;
        }
        for(var i=0;i<=5;i++){
                chk=chk+((i%8+2)*parseInt(formname1.value.substring(i,i+1)))
        }
        for(var i=6;i<=11;i++){
                chk=chk+((i%8+2)*parseInt(formname2.value.substring(i-6,i-5)))
        }
        chk=11-(chk %11)
        chk=chk%10
        if(chk!=formname2.value.substring(6,7)){
                formname2.select();
                return false;
        }
        return true;
}

function CheckValid(String, space)
{
   var retvalue = false;
   for (var i=0; i<String.length; i++)
   {		//String이 0("" 이나 null)이면 무조건 false
      if (space == true)
      {
         if (String.charAt(i) == ' ')
         {			//String이 0이 아닐때 space가 있어야만 true(valid)
            retvalue = true;
            break;
         }
      } else {
         if (String.charAt(i) != ' ')
         {			//string이 0이 아닐때 space가 아닌 글자가 있어야만 true(valid)
            retvalue = true;
            break;
         }
      }
   }
   return retvalue;
}

function isEmpty(field, error_msg)//항목이 비어있는지 체크
{
	// error_msg가 ""이면 alert와 focusing을 하지 않는다
	if(error_msg == "") {
		if(!CheckValid(field.value, false)) 	{
			return true;
		} else {
			return false;
		}
	} else {
		if(!CheckValid(field.value, false)) {
			alert(error_msg);
			field.focus() ;
			return true;
		} else {
			return false;
		}
	}
}

function isOutOfRange(field, min, max, error_msg)//문자열 길이 제한
{
	if(strLength(field) < min || strLength(field) > max)
	{
		alert(error_msg);
		field.focus();
		field.select();
		return true;
	}
	return false;
}

function strLength(field)//문자열길이 반환
{
   var Length = 0;
   var Nav = navigator.appName;
   var Ver = navigator.appVersion;
   var IsExplorer = false;
   var ch;
   if ( (Nav == 'Microsoft Internet Explorer') && (Ver.charAt(0) >= 4) )
   {
      IsExplorer = true;
   }
   if(IsExplorer)
   {
      for(var i = 0 ; i < field.value.length; i++)
      {
         ch = field.value.charAt(i);
         if ((ch == "\n") || ((ch >= "ㅏ") && (ch <= "히")) ||
             ((ch >="ㄱ") && (ch <="ㅎ")))
		{
	    	Length += 2;
		} else
		{
	    	Length += 1;
       	}
	  }
   }else {
      Length = field.value.length ;
   }
   return Length;
}

function isCheckedBox(frm,msg)//체크박스(배열포함)에 체크되어있는지 확인
{
  var check_length = frm.length;
  var check_ = false;

  if(typeof(check_length)=="undefined"){
    if(frm.checked == false){
      alert(msg);
      return false;
    }
  } else {
    for(i=0;i<check_length;i++){
      if(frm[i].checked){
        check_ = true;
      }
    }
    if(check_ == false)
    {
      alert(msg);
      return false;
    }
  }
  return true;
}

function isNotCheckedRadio(field, error_msg) {//Radio Button Check
	if ( field == null ) {
		alert(error_msg);
		return true;
	}

	if ( field.length == null ) {
		if ( field.checked == true ) {
			return false;
		} else {
			alert(error_msg);
			return true;
		}
	}

	for(i = 0; i < field.length; i++) {
		if(field[i].checked == true) {
			return false;
		}
	}
	alert(error_msg);
	return true;
}

function getRadioVal(field) {
	for(i = 0; i < field.length; i++) {
		if(field[i].checked == true)
			return field[i].value;
	}
	return "";
}

//숫자를 금액단위로 변환(콤마찍기)
function formatNumber(num) {
//  num = num.replace(/,/g, "")
  var num_str = num.toString()
  var result = ''

  for(var i=0; i<num_str.length; i++) {
    var tmp = num_str.length-(i+1)
    if(i%3==0 && i!=0) result = ',' + result
    result = num_str.charAt(tmp) + result
  }
  return result;
}

function skip_length(this_obj, next_obj, length){
	if(this_obj.value.length==length){
		next_obj.focus();
	}
}

//******************************************************************************



