function ctrl_checkbox(cnd){

	for(i=0; i<document.forms[0].length; i++){
		if(document.forms[0].elements[i].type == "checkbox"){
			document.forms[0].elements[i].checked = cnd;
		}
	}
}

cnd_save = new Array();
checkbox_target = "";

//
function all_check(){

	var ARGV = all_check.arguments;
	
	//
	elem_name_ptn = "c_";
	for(i=0; i<ARGV.length; i++){
		elem_name_ptn += ARGV[i] + "_";
	}
	parent_elem_name = elem_name_ptn + "all";
	ptn_len = elem_name_ptn.length;
	
	//
	if(! checkbox_target){
		var search_flg = 0;
		for(i=0; i<document.forms.length; i++){
			if(document.forms[i].elements[parent_elem_name]){
				checkbox_target = document.forms[i];
				search_flg = 1;
				break;
			}
		}
		if(search_flg != 1){
			return;
		}
	}

	elem_length = checkbox_target.length;

	if(checkbox_target.elements[parent_elem_name].checked){
	
		for(i=0; i<elem_length; i++){
			if(checkbox_target.elements[i].type == "checkbox"){
				line_elem_name = checkbox_target.elements[i].name;
				if(line_elem_name.substr(0,ptn_len) == elem_name_ptn && parent_elem_name != line_elem_name){
					
					//
					cnd_save[line_elem_name] = checkbox_target.elements[i].checked;

					//
					checkbox_target.elements[i].checked = true;
				}
			}
		}
	}
	else{
		for(i=0; i<elem_length; i++){
			if(checkbox_target.elements[i].type == "checkbox"){
				line_elem_name = checkbox_target.elements[i].name;
				if(line_elem_name.substr(0,ptn_len) == elem_name_ptn){
	
					//
//					checkbox_target.elements[i].checked = cnd_save[line_elem_name];
					checkbox_target.elements[i].checked = false;
				}
			}
		}
	}
	if(ARGV.length > 1){
		elem_check(ARGV[0]);
	}

}

//
function elem_check(){
	var ARGV = elem_check.arguments;

	//
	elem_name_ptn = "c_";
	for(i=0; i<ARGV.length; i++){
		elem_name_ptn += ARGV[i] + "_";
	}
	parent_elem_name = elem_name_ptn + "all";
	ptn_len = elem_name_ptn.length;

	//
	if(! checkbox_target){
		var search_flg = 0;
		for(i=0; i<document.forms.length; i++){
			if(document.forms[i].elements[parent_elem_name]){
				checkbox_target = document.forms[i];
				search_flg = 1;
				break;
			}
		}
		if(search_flg != 1){
			return;
		}
	}

	elem_length = checkbox_target.length;

	all_checked_flg = 1;
	for(i=0; i<elem_length; i++){
		line_elem_name = checkbox_target.elements[i].name;
		if(line_elem_name.substr(0,ptn_len) == elem_name_ptn && parent_elem_name != line_elem_name){

			temp_value = checkbox_target.elements[i].checked;
			if(!temp_value){
				all_checked_flg = 0;
			}
			cnd_save[line_elem_name] = temp_value;
		}
	}

	if(all_checked_flg != 1){
		checkbox_target.elements[parent_elem_name].checked = false;
	}
	else{
		checkbox_target.elements[parent_elem_name].checked = true;
	}
	
	if(ARGV.length > 1){
		elem_check(ARGV[0]);
	}
}

