﻿var STRING_DEF_NATURE = '1234567890.'




// 공백 체크
function IsEmpty(keyword)
{
	var st_num, key_len;
	st_num = keyword.indexOf(" ");

	while (st_num != -1)
	{
		keyword = keyword.replace(" ", "");
		st_num  = keyword.indexOf(" ");
	}
	key_len=keyword.length;

	if(key_len == 0)
		return true;
	else
		return false;
} 


//trim 함수
function gfnTrim(p_obj) {
    var re = /^\s*|\s*$/gi;
    var rtnVal = p_obj.value.replace(re, "");
    return rtnVal;
}

function gfnTrimStr(p_str) {
    var re = /^\s*|\s*$/gi;
    var rtnVal = p_str.replace(re, "");
    return rtnVal;
}

//text 객체의 빈 값을 체크한다
function gfnChkTxtValue(p_obj,p_msg){
    var obj = p_obj;
    if(gfnTrim(obj) == ''){
        alert(p_msg);
        obj.focus();
        return false;
    }
    return true;
}

//숫자만 입력
function gfnNumOnly(obj){
    var val = obj.value;
    re =/[^0-9]/gi;
    obj.value = val.replace(re,"");
}

//숫자 체크
function gfnChkNumValue(it){
    var val = it.value;	
    if (isNaN(val) == true){
        alert('숫자만 입력 가능합니다.');
        return false;
    }
    return true;
}

//Radio Button의 선택된 값 가져오기
function gfnGetValueRdoObj(p_obj){
    if(p_obj.length){
        var len = p_obj.length;
        for (var i=0; i<len; i++){
            if ( p_obj[i].checked == true ){return p_obj[i].value;}
        }
    }
    else{
        if( p_obj.checked == true){return p_obj.value;}
    }
    return false;
}

//Radio Button 값 셋팅
function gfnSetValueRdoObj(p_obj,p_value){
    var len = p_obj.length;
    for (var i=0; i<len; i++){
        if ( p_obj[i].value == p_value ){p_obj[i].checked=true;return;}
    }
    return false;
}

//selectbox value 셋팅
function gfnSelectByValue( p_obj, p_value ){
	var obj = p_obj;
	for(var n=0; n<obj.length; n++){
		if(obj.options[n].value == p_value){
			obj.options[n].selected = true;
			break;
		}
	}
}

function gfnSetComma(obj) {
    var strValue = obj.value.replace(/,|\s+/g,'');
    obj.value = gfnMakeComma(strValue);
}

function gfnMakeComma(strValue){
    if(isNaN(strValue)) {
        alert(strValue.concat('=>숫자만 입력 가능합니다.'));
        return false;
    }
    var strBeforeValue = (strValue.indexOf('.') != -1)? strValue.substring(0,strValue.indexOf('.')) :strValue ;
    var strAfterValue  = (strValue.indexOf('.') != -1)? strValue.substr(strValue.indexOf('.'),2+1) : '' ;

    var intLast =  strBeforeValue.length-1;
    var arrValue = new Array;
    var strComma = '';

    for(var i=intLast,j=0; i >= 0; i--,j++) { 
        if( j !=0 && j%3 == 0)   strComma = ',';
        else    strComma = '';
        arrValue[arrValue.length] = strBeforeValue.charAt(i) + strComma  ;
    }
    var rtn = arrValue.reverse().join('') +  strAfterValue;
    return rtn;
}

function gfnRemoveComma(p_val){
    var re = /,/gi;
    return p_val.toString().replace(re,"");
}

function IsNature(str) {
	if(str.length == 0) return false;
	if(str.lastIndexOf("-") > 0) return false;

    var periodCount = 0;
	for(i=0; i<str.length; i++) {
		if(STRING_DEF_NATURE.indexOf(str.charAt(i)) < 0) return false;
        if(str.charAt(i) == '.') periodCount++;
	}
	if(periodCount > 1) return false;
	return true;
}

function gfnChkNature() {
	var tChar = String.fromCharCode(event.keyCode)
	return IsNature(tChar);
}

//Check Box의 선택된 값 가져오기
function gfnGetValueChkTypeObj(p_obj){
	var chkCnt;
	var rtnVal = '';
	if(p_obj){
		if(p_obj.length){
			chkCnt = p_obj.length;
			for (i=0; i<chkCnt; i++)
				if (p_obj[i].checked){rtnVal = p_obj[i].value +"^"+ rtnVal ;}
		}
		else{ if (p_obj.checked) rtnVal = p_obj.value +"^" }
	}
	return rtnVal;
}

function gfnGetValueChkTypeObj2(p_obj){
	var chkCnt;
	var rtnVal = '';
	if(p_obj){
		if(p_obj.length){
			chkCnt = p_obj.length;
			for (i=0; i<chkCnt; i++)
				if (p_obj[i].checked){rtnVal = p_obj[i].value +","+ rtnVal ;}
		}
		else{ if (p_obj.checked) rtnVal = p_obj.value +"," }
	}
	return rtnVal;
}

// 입력한 문자의 길이 체크
function gfnChkLen2(pLen, pObj)
{
    
    var otxt = document.getElementById(pObj);
    
    var iCnt = 0;
    var sTmp1, sTmp2;
    
    for(i = 0;i < otxt.value.length;i++){
        sTmp1 = otxt.value.charAt(i);
        if(escape(sTmp1).length > 4) iCnt += 2;
        else iCnt += 1 ;
    }
    
    if (iCnt > pLen){
        alert("최대 " + pLen + "byte까지 입력할 수 있습니다. 초과된 글자는 자동으로 삭제됩니다.");
        iCnt = 0;
        sTmp2 = "";
        for(i = 0; i < otxt.value.length; i++){
	        sTmp1 = otxt.value.charAt(i);
	        if(escape(sTmp1).length > 4) iCnt += 2;
	        else iCnt += 1 ;
	        if (iCnt > pLen){
		        if(escape(sTmp1).length > 4) iCnt -= 2;
		        else iCnt -= 1 ;
		        break;
	        }
	        else sTmp2 += sTmp1;
        }
        otxt.value = sTmp2;
    }
    //document.getElementById(pSpn).innerHTML = iCnt;
}

function gfnChkLen(pLen, pObj, pSpn){
    var otxt = document.getElementById(pObj);
    var iCnt = 0;
    var sTmp1, sTmp2;
    for(i = 0;i < otxt.value.length;i++){
        sTmp1 = otxt.value.charAt(i);
        if(escape(sTmp1).length > 4) iCnt += 2;
        else iCnt += 1 ;
    }
    if (iCnt > pLen){
        alert("최대 " + pLen + "byte까지 입력할 수 있습니다. 초과된 글자는 자동으로 삭제됩니다.");
        iCnt = 0;
        sTmp2 = "";
        for(i = 0; i < otxt.value.length; i++){
	        sTmp1 = otxt.value.charAt(i);
	        if(escape(sTmp1).length > 4) iCnt += 2;
	        else iCnt += 1 ;
	        if (iCnt > pLen){
		        if(escape(sTmp1).length > 4) iCnt -= 2;
		        else iCnt -= 1 ;
		        break;
	        }
	        else sTmp2 += sTmp1;
        }
        otxt.value = sTmp2;
    }
    document.getElementById(pSpn).innerHTML = iCnt;
}

function bluring(){
    if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG") {
        document.body.focus();
    }
}
//document.onfocusin=bluring;

function fnChkUrl(p_url){
    var url_re = /^([hH][tT][tT][pP]|[hH][tT][tT][pP][sS]):\/\/([^<>\^\|\s\n\r,\/:]+(\.[^<>\^\|\s\n\r,\/:]+)+)((|(:\d+))[\/\?]?[^<>\^\|\s\r\n,]*)$/;
    return url_re.test(p_url);
}

function fnGetNumberOnly(param){
    var stmp = gfnTrimStr(param);
    if(stmp == '') return '';
    else{
        stmp = gfnRemoveComma(stmp);
        stmp = parseInt(stmp,10);
        return stmp;}
}

function gfnXmlBinding(xmlResult, xslPath) {
    var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
    var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0");
	
    var bXmlDone = xmlDoc.loadXML(xmlResult);
    if(!bXmlDone)	return "";
	
    xslDoc.async = false;
    xslDoc.load(xslPath);
    var output;
    output = xmlDoc.transformNode(xslDoc);

    return output;
}


function getobj(id) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[id];
    } else {
        return document[id];
    }
}

function fnTreat(str){
    str = "<span class='txtorange'>"+ gfnMakeComma(str.toString()) +"</span>";
    return str;
}

function getXmlValueByID(p_path,p_id){
    var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
    xmlDoc.async = false;
    xmlDoc.load(p_path);
    var nodes = xmlDoc.selectNodes("/configvalue/property[@id='"+ p_id +"']");
    if(nodes.length > 0){return nodes.item(0).text;}
    else{return false;}
}