function limitInputLength(item, limit, counter_id, def_color){
	if(def_color == null || def_color == '') {
		def_color = "#fff";
	}
    if(item.value.length>limit) {
        item.value = item.value.substring(0, limit);
    }
    var counter_obj = document.getElementById(counter_id);
    if(counter_obj != null) {
        var chars_left = limit-item.value.length;
        if(chars_left>0) {
            counter_obj.style.color = def_color;
            counter_obj.innerHTML = chars_left + " of " + limit + " remaining";
        }else{
            counter_obj.style.color = "red";
            counter_obj.innerHTML = "Max Length Reached";
        }
    }
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function GetCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function SetCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

// Is at least one of the checkboxes checked?
function AtLeastOneChecked(strCheckboxName)
{
   var aCheckboxes=document.getElementsByName(strCheckboxName); 
   if( !aCheckboxes ) {
      return false;
   }
   if( aCheckboxes.length ) {
      for(var i=0;i<aCheckboxes.length;i++){ 
         if(aCheckboxes[i].checked) return true; 
      } 
      return false;
   }
   return (aCheckboxes.checked);
}

