function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
}

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
}

function isnumeric(field) {
    var val = /^[0-9.]+$/;
        document.mainform[field].value = val;
}

function isvaliddate(field) {
    var pattern =  /(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]{2}/;
    return isvalidregex(field, pattern);
}

function isvalidip(field) {
    var pattern = /^\b(?:\d{1,3}\.){3}\d{1,3}\b$/;
    return isvalidregex(field, pattern);
}

function isvaliddomain(field) {
    var pattern = /^[a-z_-]*\.[a-z_-]*$||^[a-z_-]*\.[a-z_-]*\.[a-z_-]+$/;
    return isvalidregex(field, pattern);
}

function isvalidregex(field, pattern){ 
    if (pattern.test(document.mainform[field].value)==false) {
        return false;
    }
    return true;
}

function hasvalue(field) {
    if (document.mainform[field].value == "") {
        return false;
    }
    return true;
}
function haslength(field, len) {
    if (document.mainform[field].value.length == len) {
        return true;
    }
    return false;
}
function uc(field) {

	var val = document.mainform[field].value.toUpperCase();
	document.mainform[field].value = val;
}
function toggle (field)
{
    document.mainform[field].value = "";
    document.mainform[field].disabled = !document.mainform[field].disabled;
}

function filterinvalidchars(field) {
    var fieldValue = document.mainform.elements[field].value;
    fieldValue = fieldValue.replace(/[';`"$]/g, '');
    document.mainform.elements[field].value = fieldValue;
}
function filternumeric(field) {
    var fieldValue = document.mainform.elements[field].value;
    fieldValue = fieldValue.replace(/[^0-9]+/g, '');
    document.mainform.elements[field].value = fieldValue;
}
function filteralpha(field) {
    var fieldValue = document.mainform.elements[field].value;
    fieldValue = fieldValue.replace(/[^a-zA-Z ]+/g, '');
    document.mainform.elements[field].value = fieldValue;
}
function filteralphanumeric(field) {
    var fieldValue = document.mainform.elements[field].value;
    fieldValue = fieldValue.replace(/[^a-zA-Z0-9 ]+/g, '');
    document.mainform.elements[field].value = fieldValue;
}
function filteremail(field) {
    var fieldValue = document.mainform.elements[field].value;
    fieldValue = fieldValue.replace(/[^a-zA-Z0-9\-\.\@]+/g, '');
    document.mainform.elements[field].value = fieldValue;
}
function filteralphanumericnospace(field) {
    var fieldValue = document.mainform.elements[field].value;
    fieldValue = fieldValue.replace(/[^a-zA-Z0-9]+/g, '');
    document.mainform.elements[field].value = fieldValue;
}
function clear_elements(element_prefix) {

    // Iterate over the form elements and clear the ones that begin with the element_prefix value.
   for (var i=0; i < document.mainform.elements.length; i++) {
      if (document.mainform.elements[i].name.indexOf(element_prefix + '___') > -1) {
          document.mainform.elements[i].value = '';
      }
   }
}
function contains(field,str) {
    //alert(document.mainform[field].value)
    if (document.mainform[field].value.indexOf(str) >= 0) {
        return true;
    }
    return false;
}

