/* $Id: check_required_fields_js.js,v 1.3.2.3 2006/12/25 11:23:19 max Exp $ */ /* Check required fields */ function checkRequired(lFields, id) { if (!lFields || lFields.length == 0) return true; if (id) { for (var x = 0; x < lFields.length; x++) { if (lFields[x][0] == id) { lFields = [lFields[x]]; break; } } } for (var x = 0; x < lFields.length; x++) { if (!lFields[x] || !document.getElementById(lFields[x][0])) continue; var obj = _getById(lFields[x][0]); if ((obj.type == 'text' || obj.type == 'password' || obj.type == 'textarea') && !obj.value.search(/^[\s]*$/gi)) { if (lbl_required_field_is_empty != '') { alert(substitute(lbl_required_field_is_empty, 'field', lFields[x][1])); } else { alert(lFields[x][1]); } if (!obj.disabled && obj.type != 'hidden') { checkRequiredShow(obj); obj.focus(); } return false; } } return true; } /* Show hidden element and element's parents */ function checkRequiredShow(elm) { if (elm.style && elm.style.display == 'none') { if (elm.id == 'ship_box' && document.getElementById('ship2diff')) { /* Exception for Register page */ document.getElementById('ship2diff').checked = true; document.getElementById('ship2diff').onclick(); } else elm.style.display = ''; } if (elm.parentNode) checkRequiredShow(elm.parentNode); }