
/**
 * Handler for list head checkbox
 * 
 * @param	Object(checkbox)	checkbox	Head checkbox object
 */
function editor_check_all(checkbox) {
	var e = checkbox.form[checkbox.name.replace('_all','')+'[]'];
	if(e != null) {
        if(e.length) {
        	for(var i=0; i<e.length; i++)
				e[i].checked = checkbox.checked;
        } else
			e.checked = checkbox.checked;
	}
}

/**
 * Handler for list row checkbox
 * 
 * @param	Object(checkbox)	checkbox	Row checkbox object
 */
function editor_check_row(checkbox) {
	var e = checkbox.form[checkbox.name];
	if(e != null) {
	    var checked_all = true;
    	if(e.length) {
			for(var i=0; i<e.length; i++)
        		if(!e[i].checked) 
					checked_all = false;
	    } else
    		checked_all = e.checked
	    checkbox.form[checkbox.name.replace('[]','')+'_all'].checked = checked_all;
    }
}

/**
 * Calculates number of checked rows
 * 
 * @param	Object(NodeList)	checkbox	Checkbox list object
 */
function editor_checked_number(checkbox) {
	var e = checkbox; //checkbox.form[checkbox.name];
	var checked_no = 0;
	if(e != null) {
		if(e.length) {
			for(var i=0; i<e.length; i++)
				if(e[i].checked) 
					checked_no++;
		} else
			checked_no = e.checked ? 1 : 0;
	}
	return checked_no;
}


