/*** Common validation functions ***/
function alertField(FormField, ErrorMessage) {
   alert(ErrorMessage);
   FormField.focus();
   return false;
}

function notBlank(FormField, ErrorMessage) {
   return (FormField.value !== '') ? true : alertField(FormField, ErrorMessage);
}

// Returns true if the e-mail is in a  syntactical format
function isValidEmail(EmailString) {
   return (/^[\w-]+(\.[\w-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.[a-z]{2,4}$/i.test(EmailString));
}

function goodEmail(EmailField) {
   return (isValidEmail(EmailField.value)) ? true : alertField(EmailField, 'Please enter a valid e-mail address.');
}

function fieldsMatch(FieldOne, FieldTwo, ErrorMessage) {
   return (FieldOne.value === FieldTwo.value) ? true : alertField(FieldTwo, ErrorMessage);
}

function fieldLongEnough(FormField, MinLength, ErrorMessage) {
   return (FormField.value.length >= MinLength) ? true : alertField(FormField, ErrorMessage);
}

function optionSelected(SelectList, ErrorMessage) {
   return (SelectList.selectedIndex > 0) ? true : alertField(SelectList, ErrorMessage);
}

function OpenWin(URL, WinName, Width, Height, ScrollBars) {
   var Features = 'resizable=yes,hotkeys=no,menubar=yes,height=' + Height + ',width=' + Width;
   if (ScrollBars) Features += ',scrollbars=yes';
   return window.open(URL, WinName, Features);
}

/*** NEW functions ***/
function selectListItem(SelectList, SearchItem) {
   for (var j=0;j<SelectList.length;j++) {
      if (SelectList.options[j].value == SearchItem) {
         SelectList.options[j].selected = true;
         break;
      }
   }
}