jQuery(document).ready(function () {
    
    jQuery(".griffinforms-new-optgroup").click(function () {
        var optGroup, newOptGroup;
        optGroup = jQuery(".griffinforms-optgroup").get(-1);
        newOptGroup = optGroup.cloneNode(['deep']);
        jQuery(newOptGroup).find("input, textarea").val("");
        jQuery(newOptGroup).insertAfter(optGroup);
        jQuery(".griffinforms-empty-optgroup").click(emptyOptGroup);
        jQuery(".griffinforms-delete-optgroup").click(deleteOptGroup);
        checkDeleteOptgroup();
    });
    
    checkDeleteOptgroup();
    jQuery(".griffinforms-new-optgroup").click(checkDeleteOptgroup);
    jQuery(".griffinforms-empty-optgroup").click(emptyOptGroup);
    jQuery(".griffinforms-delete-optgroup").click(deleteOptGroup);
    
});

function checkDeleteOptgroup() {
    var optGroupCount = jQuery(".griffinforms-optgroup").length;
    if (optGroupCount == 1) {
        jQuery(".griffinforms-delete-optgroup").hide();
    } else {
        jQuery(".griffinforms-delete-optgroup").show();
    }
}

function emptyOptGroup() {
    var optGroup = jQuery(this).parents(".griffinforms-optgroup");
    jQuery(optGroup).find("input, textarea").val("");
    checkDeleteOptgroup();
}

function deleteOptGroup() {
    var optGroup = jQuery(this).parents(".griffinforms-optgroup");
    jQuery(optGroup).remove();
    checkDeleteOptgroup();
}