var fl = new Array();
var fld = new Array();
var fls = new Array();
var flsd = new Array();

var required_showall = true; // show all errors or just one at a time.
var RequiredList = new Array();
var RequiredMessages = '';
var RequiredPrefix = '';
var i = 0;
var CrLf = String.fromCharCode(10);
function doRadioRequired(baseid) {
var retval = false;
var i;
if (document.getElementById(baseid).checked) {
return true;
}
for(i=1; i<10; i++) {
var el = document.getElementById(baseid + i);
if (! el ) {
return false;
}
if (el.checked) {
return true;
}
}
return retval ;
}
function checkRequired() {
var missing = new Array();
var retval = true;
var focus_item = false;
RequiredMessages = RequiredPrefix;
for(var i=0; i < RequiredList.length; i++ ) {
switch(RequiredList[i][0].type) {
case 'select-one':
if (RequiredList[i][0].selectedIndex  == 0)  {
if (RequiredList[i][1]) {
RequiredMessages += RequiredList[i][1] + CrLf;
} else {
RequiredMessages += 'Please ' + RequiredList[i][0].options[0].text + CrLf;
}
retval = false;
}
break;
case 'text':
if (! RequiredList[i][0].value ) {
if (RequiredList[i][1]) {
RequiredMessages += RequiredList[i][1] + CrLf;
} else {
RequiredMessages +=  'Please Enter ' + RequiredList[i][0].name + CrLf;
}
retval = false;
}
break;
case 'radio':
if (! doRadioRequired(RequiredList[i][0].id) ) {
if (RequiredList[i][1]) {
RequiredMessages += RequiredList[i][1] + CrLf;
} else {
RequiredMessages +=  'Please Enter ' + RequiredList[i][0].name + CrLf;
}
retval = false;
}
break;
// crap...
default:
alert(RequiredList[i][0].type);
//retval = false;
}
if (! retval ) {
if (!focus_item) focus_item = RequiredList[i][0];  // set first required focused
if (!required_showall) break;  // Bail out.
}
}
if (focus_item)  focusRequired(focus_item);
if (! retval) alert(RequiredMessages);
return retval;
}
function focusRequired(focus_item) {
if (! focus_item || ! focus_item.focus) return;
focus_item.focus();
}
function addRequired(id, message) {
var el;
if (! ( el = document.getElementById(id)) ) {
return false;
}
var required = new Array();
required[0] = el;
required[1] = message;
RequiredList[RequiredList.length] = required;
return required;
}

