Thanks for the reply
I guess I'm confused about what AJAX can do vs what PHP/hook_form_alter can do.
If you use hook_form_alter to set $form['panes']['billing']['#access'] = FALSE it hides the billing pane and doesn't try to validate it, which is what I want. BUT hook_form_alter only works when loading the form.
In the uc_free_order.js I see
$("input:radio[value=free_order]").attr('disabled', 'disabled').parent().hide(0);
$("input:radio[value=free_order]").removeAttr('disabled').attr('checked', 'checked').parent().show(0);
Which hides the free order option if the order has a total > 0.1 -- can I do the same thing for the billing fields? Or make them not required and then hide() them... sorry I'm grasping here, but I guess I need to do what you did and unrequire everything and then re-require as needed, it just seems like the wrong way around...
Thanks,
m
