This simple selector finds the first empty text input field in my form but skips over password type inputs:
$(\'input:text[value=\"\"]:first\').focus();
By using comma you can insert multiple selector. It works like an OR operator.
$('input:text[value=""]:first,input:password[value=""]:first')