
var spec_cond ={
};

if (typeof(spec_button) == 'undefined'){
        var spec_button = false;
    }
    
if (typeof(always_enabled) == 'undefined'){
        var always_enabled = false;
}    
//var is_spec_checked = false;

if (typeof(checkbox_name) == 'undefined'){
        var checkbox_name = 'friend';
    }
     
     
function enable_all_button() {
    jQuery('.bt_black > span').removeClass('setGray');
}

function disable_all_button() {
    jQuery('.bt_black.float_left > span').addClass('setGray');
    if (always_enabled){
         enable_button(always_enabled);
    }
}

function enable_button(button_class) {
    jQuery('.' + button_class).removeClass('setGray');
}

function disable_button(button_class) {
    jQuery('.' + button_class).addClass('setGray');
}


function SelectAll(ele_all) {
    jQuery("input[name=" + checkbox_name + "]").attr('checked', ele_all.checked );
    set_button();

}

jQuery(document).ready( function() {
    set_button();
    jQuery("input[name=" + checkbox_name + "]").bind('click', function() {        
				set_button();
    } );
} );

function any_checked() {
    return jQuery("input[name=" + checkbox_name + "]").is(":checked");
}

function spec_checked() {
    var is_spec_checked = false;
    jQuery("input[name=" + checkbox_name + "]:checked").each(function() {
        //alert(spec_cond[this.value]) ;
        if (spec_cond[this.value]){
             is_spec_checked = true;
        }
    });
    return is_spec_checked;
}


function check_spec() {
    if (!spec_button){
        return;
    }
    
    if (spec_checked() ) {
        enable_button(spec_button);
    } else {
        disable_button(spec_button);
    }

    
}


function check_unspec() {
    if (spec_button){
        return;
    }
    
    if (spec_checked() ) {
        enable_button(spec_button);
    } else {
        disable_button(spec_button);
    }

    
}

function unspec_checked() {
    var is_spec_checked = false;
    jQuery("input[name=" + checkbox_name + "]:checked").each(function() {
        //alert(spec_cond[this.value]) ;
        if (!spec_cond[this.value]){
             is_spec_checked = true;
        }
    });
    return is_spec_checked;
}

function check_by_value(the_value) {
        jQuery("input[name=" + checkbox_name + "]").each(function() {
        if (this.value == the_value){
             this.checked = true;
             enable_all_button();
             check_spec();
        }
    });

}

function set_button() {
	if (any_checked() ) {
	   enable_all_button();
	    check_spec();
	} else {
	    disable_all_button();
	}
}