var __cbeCheckboxes = [];
var __cbeChecked = [];

Event.observe(window, "load", 
    function()
    {
    for(k=0; k<2; k++){
        //var t_cells = $$("[checkboxContainer]");  
        if(k==0){   
            var t_cells = $$("[checkboxContainer!='']");   
            var t_checkboxes = $$("[checkboxContainer!=''] input"); 
        }
        else{
            var t_cells = $$("[checkboxContainer_sommer!='']");   
            var t_checkboxes = $$("[checkboxContainer_sommer!=''] input"); 
        }
        if( t_cells.length == t_checkboxes.length )
        {
            try
            {
                this.__cbeCheckboxes = t_checkboxes;
                var i, l1=t_cells.length;
                
                for(i=0; i<l1; i++)
                {
                    //HACK summer < 6
                    if(k==0){
                    if(i < 8){
                        __cbeChecked[i] = true;
                    }
                    else{
                        __cbeChecked[i] = false;
                    }
                    }else{
                    if(i < 6){
                        __cbeChecked[i] = true;
                    }
                    else{
                        __cbeChecked[i] = false;
                    }
                    }
                    
                    //t_checkboxes[i].disabled = true;
                    var t_click = function(event)
                    {                     
                        __cbeCheckboxes[this.index].checked = !__cbeChecked[this.index];  
                        __cbeChecked[this.index] = !__cbeChecked[this.index];
                        
                        if( __cbeChecked[this.index] )
                        {
                            var t_strCheck = this.element.attributes["oncheck"];
                            if( t_strCheck != null )
                            {
                                eval(t_strCheck.value);
                            }
                        }          
                        else
                        {
                            var t_strUncheck = this.element.attributes["onuncheck"];
                            if( t_strUncheck != null )
                            {
                                eval(t_strUncheck.value);
                            }
                        }            
                    };
                    t_cells[i].style.cursor = "pointer";
                    Event.observe( t_cells[i], "click", t_click.bind({index:i, element:t_cells[i]}) );
                }
            }
            catch(e)    
            {   
                if( typeof Debug != "undefined" && Debug.ENABLED == true )
                {
                    alert("checkboxelement.js exception: " + e.message);
                }
            }
        }
        else
        {
            alert("checkboxelement.js error: checkboxContainer elements must contain one and only one element of type input (checkbox).");
        }
    }
    }
);

    function checkAll(){
            //alert('setting checbox status');
        //var t_cells = $$("[checkboxContainer]"); 
        for(var j = 0; j < 2; j++){  
        if(j==1){
        var t_cells = $$("[checkboxContainer_sommer!='']");   
        var t_checkboxes = $$("[checkboxContainer_sommer!=''] input"); 
        }  
        else{
        var t_cells = $$("[checkboxContainer!='']");   
        var t_checkboxes = $$("[checkboxContainer!=''] input"); 
}
        
        if( t_cells.length == t_checkboxes.length )
        {
            try
            {
                this.__cbeCheckboxes = t_checkboxes;
                var i, l1=t_cells.length;
                
                for(i=0; i<l1; i++)
                {
                        __cbeChecked[i] = true;
                        t_checkboxes[i].checked = true;  
                }
            }
            catch(e)    
            {   
                if( typeof Debug != "undefined" && Debug.ENABLED == true )
                {
                    alert("checkboxelement.js exception: " + e.message);
                }
            }
        }
        else
        {
            alert("checkboxelement.js error: checkboxContainer elements must contain one and only one element of type input (checkbox).");
        }
        }
    }
    
        function uncheckAll(){
       
            //alert('setting checbox status');
        //var t_cells = $$("[checkboxContainer]"); 
        for(var j = 0; j < 2; j++){  
        if(j==1){
        var t_cells = $$("[checkboxContainer_sommer!='']");   
        var t_checkboxes = $$("[checkboxContainer_sommer!=''] input"); 
        }  
        else{
        var t_cells = $$("[checkboxContainer!='']");   
        var t_checkboxes = $$("[checkboxContainer!=''] input"); 
}
        
        if( t_cells.length == t_checkboxes.length )
        {
            try
            {
                this.__cbeCheckboxes = t_checkboxes;
                var i, l1=t_cells.length;
                
                for(i=0; i<l1; i++)
                {
                        __cbeChecked[i] = false;
                        t_checkboxes[i].checked = false;  
                }
            }
            catch(e)    
            {   
                if( typeof Debug != "undefined" && Debug.ENABLED == true )
                {
                    alert("checkboxelement.js exception: " + e.message);
                }
            }
        }
        else
        {
            alert("checkboxelement.js error: checkboxContainer elements must contain one and only one element of type input (checkbox).");
        }
        }
    }
    
    function setCheck(checkboxName)
    {
        //alert('setting checbox status');
        //var t_cells = $$("[checkboxContainer]");     
        var t_cells = $$("[checkboxContainer"+checkboxName+"!='']");   
        var t_checkboxes = $$("[checkboxContainer"+checkboxName+"!=''] input"); 
        var numChecks = 8;
        if(checkboxName == "_sommer"){
            numChecks = 6;
            $('legend').innerHTML = "<img src='../../Resource/Map/images/gfx2/poi/legend_sommer.png' class='poi' />";
        }
        else{
            $('legend').innerHTML = "<img src='../../Resource/Map/images/gfx2/poi/legend_vinter.png' class='poi' />";
        }
        
        if( t_cells.length == t_checkboxes.length )
        {
            try
            {
                this.__cbeCheckboxes = t_checkboxes;
                var i, l1=t_cells.length;
                
                for(i=0; i<l1; i++)
                {
                    //HACK
                    if(i < numChecks){
                        __cbeChecked[i] = true;
                        t_checkboxes[i].checked = true;
                    }
                    else{
                        __cbeChecked[i] = false;
                        t_checkboxes[i].checked = false;
                    }
                    
                }
            }
            catch(e)    
            {   
                if( typeof Debug != "undefined" && Debug.ENABLED == true )
                {
                    alert("checkboxelement.js exception: " + e.message);
                }
            }
        }
        else
        {
            alert("checkboxelement.js error: checkboxContainer elements must contain one and only one element of type input (checkbox).");
        }
    }

