//==============================================================================
// 1. ±â   ´É   ¸í : Ã¼Å©¹Ú½º °´Ã¼
// 2. ÀÛ   ¼º   ÀÚ : °í¼ºÈÆ
// 3. ÀÛ ¼º  ÀÏ ÀÚ : 2010.02.07
// 4. ÃÖ ±Ù º¯°æÀÏ : 2010.07.28
// 8. ¶ó ÀÌ ¼¾ ½º  : All right reserved , ¼Ò½º¸¦ ¼öÁ¤ÇÏÁö ¸¶¼¼¿ä.
//                   
/*
    Object Name: BizOnCheckBox(CheckBox°ü¸®)
    Method:
        SetCheckAll()                   : ¸ðµÎ¼±ÅÃ¼³Á¤
        SetCheckAllFree()               : ¸ðµÎÇØÁ¦¼³Á¤
        GetCheckedData(gubunChar)       : ¼±ÅÃÀÚ·áÃëµæ(±¸ºÐÀÚÁöÁ¤°¡´É: ///)
        GetCheckedLength()              : ¼±ÅÃµÈ Ã¼Å©¹Ú½ºÀÇ °¹¼ö
        SetCheckedByVal()               : °ªÀ¸·Î Ã¼Å©¹Ú½º¸¦ Ã¼Å©ÇØ³õ±â 2010.11.09
    Sample:
        var  clObj =  new BizonCheckBox("frm1","c1");
        clObj.GetCheckedLength();
*/
//==============================================================================

function BizOnCheckBox(formname,objname) {
    this.formname           =formname;
    this.objname            =objname;
    
    this.SetCheckAll        =SetCheckAll;
    this.SetCheckAllFree    =SetCheckAllFree;
    this.GetCheckedData     =GetCheckedData;
    this.GetCheckedLength   =GetCheckedLength;
    this.SetCheckedByVal    =SetCheckedByVal;
    
    /* 
        ÀüÃ¼¼±ÅÃ 
    */
    function SetCheckAll(){
    	var f=document.forms[formname];
    	var check_count;
    	var true_count=0;
        
        try {
            check_count=f.elements[objname].length;
        } catch(e) {
            return;
        }
        
        /* º¹¼ö¿©ºÎÈ®ÀÎ */
        if (check_count==null) {
            if (f.elements[objname]==null) {
                return;
            } else {
                if (f.elements[objname].checked) {
                    f.elements[objname].checked = 0;
                } else {
                    f.elements[objname].checked = 1;
                }
                return;
            }
    
        } else {
        }
        
        /* Á¶»ç */
    	for(i=0;i<check_count;i++)
    	{
            if (f.elements[objname][i].checked) {
                true_count++;
            }
    	}
        
        /* ÀÌ¹Ì ÀüºÎ¼±ÅÃµÇ¾îÀÖ´Â°¡? */
        if (check_count==true_count) {
            SetCheckAllFree();
        } else {
        	for(i=0;i<check_count;i++)
        	{
                f.elements[objname][i].checked=1;
        	}
        }
    } 

    /* 
        ÀüÃ¼ÇØÁ¦ 
    */
    function SetCheckAllFree(){
    	var f=document.forms[formname];
        var check_count;
        try {
            check_count=f.elements[objname].length;
        } catch(e) {
            return;
        }
        
        if (check_count==null) {
            if (f.elements[objname]==null) {
                return;
            } else {
    		    f.elements[objname].checked=0;
            }
    
        } else {
        	for(var i=0;i<check_count;i++) {
        		f.elements[objname][i].checked=0;
        	}    
        }
    }


    /* 
        ¼±ÅÃµÈ Ã¼Å©¹Ú½ºÀÇ °ªÀ» µ¹·Á ÁÖ±â 
    */
    function GetCheckedData(gubunChar){
    	var f=document.forms[formname];
    	var check_count;
    	var tmpname,tmpname1,tmpname2;
    	var returnVal="";
    	var k=0;
        
        try {
            check_count=f.elements[objname].length;
        } catch(e) {
            return "";
        }
    
        if (check_count==null) {
            if (f.elements[objname]==null) {
                return;
            } else {
        		if (f.elements[objname].checked){
        				returnVal= f.elements[objname].value;
        		} else {
                }
                return returnVal;
            }
        } else {
        }
    	
    	for(i=0;i<check_count;i++)
    	{
    		if (f.elements[objname][i].checked){
                if (returnVal=="") {
    				returnVal= f.elements[objname][i].value;            
                } else {
    				returnVal=returnVal + gubunChar + f.elements[objname][i].value;
                }
    
    		}
    	}
    	return returnVal;
    }    
    
    /**
        ¼±ÅÃµÈ Ã¼Å©¹Ú½ºÀÇ °¹¼ö
    */
    function GetCheckedLength(){
    	var f=document.forms[formname];
    	var check_count=0;
    	var tmpname;
    	var returnVal="";
    	var i,k;
    	
    	k=0;
        
        try {
            check_count=f.elements[objname].length;
        } catch(e) {
            return 0;
        }
        
        if (check_count==null) {
            if (f.elements[objname]==null) {
                return 0;
            } else {
        		if (f.elements[objname].checked){
        				return 1;
        		} else {
                }
                return 0;
            }
        } else {
        }    
        
    	for(i=0;i<check_count;i++) {
    		if (f.elements[objname][i].checked)	k=k+1;
    	}
    	return k;
    }    
    
    
 /* 
        add 2010.11.09 pbc
        Ã¼Å©¹Ú½ºÀÇ °ª°ú ºñ±³ÇÏ¿© µ¿ÀÏÇÑ °ªÀÌ ÀÖ´Ù¸é Ã¼Å©ÇÑ´Ù.
        ÀÎÀÚ´Â ÄÞ¸¶·Î ±¸ºÐµÈ °ªµéÀÇ ¸ñ·Ï
    */
    function SetCheckedByVal(val_list){
    	var f=document.forms[formname];
    	var check_count;
    	var tmpname,tmpname1,tmpname2;
    	var returnVal="";
    	var k=0;
        var i=0;
        var arlist
        
        if (val_list=="") return "";
        
        arlist = val_list.split(",");
 
        try {
            check_count=f.elements[objname].length;
        } catch(e) {
            return "";
        }
    
        if (check_count==null) {
            if (f.elements[objname]==null) {
                return;
            } else {
                for (i=0;i<arlist.length;i++) {
                    returnVal= f.elements[objname].value;
            		if (returnVal==arlist[0]){
            	        f.elements[objname].checked=1;
                        return "";
            		} else {
                    }
                }
                return "";
            }
        } else {
        }
    	
    	for(i=0;i<check_count;i++)
    	{
            for (k=0;k<arlist.length;k++) {
                returnVal= f.elements[objname][i].value;            
        		if (returnVal==arlist[k]){
        	        f.elements[objname][i].checked=1;
                }                
            }
    	}
    	return "";
    }        
}

