/*
 * 일정한 길이가 입력될경우 지정된 다음 으로 이동
 * obj : 현재 입력하고 있는 input
 * len : 제한 길이
 * next : 다음으로 이동할 input box id 
 */
function glNextFocus(obj, len, next) {
	if(obj.value.length == len){
		document.getElementById(next).focus();
	}
}
/*
 * Javascript Trim() 함수
 * prototype에 정의를 하여 "변수".trim()을 사용할수 있음.
 * 
 * 사용법
 * var strOrg = " abcd ";
 * var trimStr = strOrg.trim();
 * var ltrimStr = strOrg.ltrim();
 * var rtrimStr = strOrg.rtrim();
 * 출처 : http://codepedia.tistory.com/9
 */
String.prototype.trim = function() {
       return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
       return this.replace(/^\s+/,"");   
}
String.prototype.rtrim = function() {
       return this.replace(/\s+$/,"");   
}


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_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_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];}
}

/**
 * 입력된 값이 숫자인지 체크
 * @return
 */
function glIsNumber(val) {
	
	//문자일경우
	if(isNaN(val)) {
		return false;
	} else {
	//숫자일경우
		return true;
	}
}
/**
 * cbName에 해당되는 체크박스의 선택된 갯수를 리턴해준다.
 * 
 * @param cbName checkbox의 name(id가 아님)
 */
function glCountCheckBox(cbName) {
	cbObj =  document.getElementsByName(cbName);
	chTotCnt = cbObj.length;	//총 CheckBox의 갯수
	checkCnt = 0;
	for(i=0;i<chTotCnt;i++) {
		if(cbObj[i].checked && cbObj[i].disabled=="") {
			checkCnt=checkCnt+1;
		}
	}
	return checkCnt;
}
/**
 * cbName중 체크된 값이 있을경우 체크된 값을 반환한다.
 * 
 * @param cbName
 * @return
 */
function glGetCheckValue(cbName) {
	cbObj =  document.getElementsByName(cbName);
	chTotCnt = cbObj.length;	//총 CheckBox의 갯수
	checkCnt = 0;
	var checkValue=[];
	for(i=0;i<chTotCnt;i++) {
		if(cbObj[i].checked && cbObj[i].disabled=="") {
			checkValue[checkCnt]= cbObj[i].value;
			checkCnt = checkCnt+1; 
		}
	}
	return checkValue;
}

/**
 * cbName에 해당되는 모든 CheckBox선택하기
 * @param cbName
 * @return
 */
var checkAll = false;	//모두 체크
function glCheckAll(cbName) {
	cbObj = document.getElementsByName(cbName);
	cbCnt = cbObj.length;
	
	for(i=0;i<cbCnt;i++) {
		if(checkAll) {
			cbObj[i].checked=false;
		}else if(!checkAll && cbObj[i].disabled=="") {
			cbObj[i].checked=true;
		}
	}
	if(checkAll) {
		checkAll=false;
	}else {
		checkAll=true;
	}
}

function M_SendSMS() {
	var url = "/msg/smsSend.do";
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, width=530, height=460, left=0, top=0"
		window.open(url, 'msg', status);
}
function M_SendMSG() {
	var url = "/msg/msgSend.do";
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, width=530, height=510, left=0, top=0"
		window.open(url, 'msg', status);
}
function M_ReceMSG() {
	var url = "/msg/msgRece.do";
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, width=530, height=510, left=0, top=0"
		window.open(url, 'msg', status);
}
/**
 * 전화번호 Vaidation Check
 * @param src
 * @return
 */
function gfValidationTel(src){
	src = src.replace(/-/g,"");
	var reg = /^0\d{1,2}[1-9]\d{3,4}\d{4}$/;
	return reg.test(src);
}
/**
 * 이메일 Validation Check
 * @param src
 * @return
 */
function gfValidationMail(src) {
	var reg = /^[\._a-zA-Z0-9\-]+@[\._a-zA-Z0-9\-]+\.[a-zA-Z]{2,}/;
	return reg.test(src);
	
}
/**
 * 휴대폰 번호 Validation Check
 * @param src
 * @return
 */
function gfValidationHp(src) {
	src = src.replace(/-/g,"");
	var reg = /^01[0126789]\d{3,4}\d{4}$/;
	return reg.test(src);
}
function gfValidationTel(src) {
	src = src.replace(/-/g,"");
	var reg = /^\d{2,3}\d{3,4}\d{4}$/;
	return reg.test(src);
}
/**
 * 거래처 클릭시 해당되는 거래처 정보 팝업
 * @param v
 * @return
 */
function gfCustomerInfo(v){
	var url="/customerPop.do?compNo="+v;
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=yes, scrollbars=yes, width=740, height=600, left=0, top=0";
	var checkPop = window.open(url, 'checkPop', status);
	if(checkPop==null) {
		alert("팝업차단으로 인하여 내용을 표시할수 없습니다.\n익스플로러(툴바) 팝업차단기능을 해지시켜 주시기 바랍니다.");
	} else {
		checkPop.focus();
	}
}

function printWindow() {
/*		if (document.factory != null){
			try {
				document.factory.printing.header = "스타빌";
				document.factory.printing.footer = "";
				document.factory.printing.portrait = true;
				document.factory.printing.leftMargin = 1.0;
				document.factory.printing.topMargin = 1.0;
				document.factory.printing.rightMargin = 1.0;
				document.factory.printing.bottomMargin = 1.0;
				document.factory.printing.Print(true);
			} catch (e) {
				alert("화면 출력 ActiveX의 작동이상으로 인하여 일반출력으로 전환합니다.\n출력시 화면 잘림이 있을수 있습니다.");
				window.print();
			}
		}else{
			alert("화면 출력 ActiveX가 설치되지 않아 일반 출력으로 전환합니다.\n출력시 화면 잘림이 있을수 있습니다.");
			print();
		}
*/
	window.print();
	}
/**
 * 어카운트R 실행
 * @return
 */
function accrLuncher(a,b) {
	var iresult=0;
	if(document.AppLauncher==null) {
		alert("스타빌 사이트에서 통합계좌관리를 이용하실려면 ActiveX를 설치를 하시고 이용해주시기 바랍니다.");
	} else {
		iresult = document.AppLauncher.AppLoader('StarBill', a, b, ' ', 0);
		switch(iresult) {
			case 1: 
				//정상수행됨
				break;
			case -1:
				//프로그램 손상 재설치 메시지 출력됨
				//제어판에서 스타빌을 제거 한 후, 다시 설치하라는 메시지
				break;
			case -2:
				//비스타일 경우, 정상 수행되지 않았음 
				//바탕화면 스타빌 바로가기를 실행하란 메시지 출력됨
				break;
			default:
				//스타빌 프로그램이 설치되지 않았다는 메시지 출력됨
				//alert('프로그램 설치 안됨');
				document.location.href="/common/install/InstallStarBill.exe"
				break;
		}
	}
}
function lfViewAgree() {
	var url="/rules/agree.do";
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, width=600, height=600, left=0, top=0";
	var checkPop = window.open(url, 'checkPop', status);
}
function lfViewPrivacy() {
	var url="/rules/privacy.do";
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, width=600, height=600, left=0, top=0";
	var checkPop = window.open(url, 'checkPop', status);
}
function lfViewEmail() {
	var url="/rules/email.do";
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, width=600, height=600, left=0, top=0";
	var checkPop = window.open(url, 'checkPop', status);
}
function lfViewAlliance() {
	var url="/rules/alliance.do";
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, width=600, height=600, left=0, top=0";
	var checkPop = window.open(url, 'checkPop', status);
}
function lfViewFilepub() {
	var url="/rules/filepub.do";
	var status ="toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, width=500, height=388, left=0, top=0";
	var checkPop = window.open(url, 'checkPop', status);
}
/**
 * 사업자번호 ValidationCheck
 * @param v
 * @return
 */
function glCheckCompNo(v) {
	var checkID = new Array(1, 3, 7, 1, 3, 7, 1, 3, 5, 1);
	var i, Sum=0, c2, remander;

	bizID = v;

	bizID = bizID.replace(/-/gi,''); 

	for (i=0; i<=7; i++){
		Sum += checkID[i] * bizID.charAt(i);
	}
	c2 = "0" + (checkID[8] * bizID.charAt(8));
	c2 = c2.substring(c2.length - 2, c2.length);

	Sum += Math.floor(c2.charAt(0)) + Math.floor(c2.charAt(1));
	remander = (10 - (Sum % 10)) % 10 ;

	if(bizID.length != 10){
		return false;
	}else if (Math.floor(bizID.charAt(9)) != remander){
		return false;
	}else{
		return true;
	}
}
function setcookie( name, value, expiredays ){
	var todayDate = new Date();
	todayDate.setDate( todayDate.getDate() + expiredays );
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

