/*this function retrieves the value of a radio button on a given form*/
function getRadioValue(formname, radioname) {
	var radiobuttons = document[formname][radioname];
  
  	if (radiobuttons.length == undefined) {
            if (radiobuttons.checked) {
  		return radiobuttons.value
            }
  	} else  {
		for (i=0;i<radiobuttons.length;i++){
		    if (radiobuttons[i].checked) {
			      return radiobuttons[i].value;
		    }
		}
	}
}

/*this function retrieves the value of a radio button on a given form*/
function getRadioValueByForm(formObj, radioname) {
	var radiobuttons = formObj.elements[radioname];
  
  	if (radiobuttons.length == undefined) {
            if (radiobuttons.checked) {
  		return radiobuttons.value
            }
  	} else  {
		for (i=0;i<radiobuttons.length;i++){
		    if (radiobuttons[i].checked) {
			      return radiobuttons[i].value;
		    }
		}
	}
}

/*this function sets the value of a radio button on a given form*/
function setRadioValue(formname, radioname, radiovalue) {
  var radiobuttons = document[formname][radioname];

  if (radiobuttons) {
  for (i=0;i<radiobuttons.length;i++){
    var tmp = radiobuttons[i].value;
    if (tmp == radiovalue) {
      radiobuttons[i].checked = true;
    }
  }
  }
}

/**
* Be sure the the user has checked at least (1) checkbox.
*/
function hasSelectedCheckBoxes( objChkChildren ) {
	var blnIsSelected = false;

  if ( objChkChildren != null ) {
    if  ( objChkChildren.length != null ) {
      for (var i=0; i < objChkChildren.length;i++) {
				if (objChkChildren[i].checked) {
					blnIsSelected = true;
					break;
				}
      }
    } else {
      if ( objChkChildren.checked != null ) {
				blnIsSelected = objChkChildren.checked;
      }
    }
  }

	return blnIsSelected;
}
/*this function retrieves the value of a select list on a given form*/
function getSelectListValue(formname, selectname) {
  var theMenu = document[formname][selectname];
  var selecteditem = theMenu.selectedIndex;
  return theMenu.options[selecteditem].value;
}

/*this function sets the value of a select list on a given form*/
function setSelectListValue(formname, selectname, selectvalue) {
  var theMenu = document[formname][selectname];
  for (i=0;i<theMenu.options.length;i++){
    var tmp = theMenu.options[i].value;
    if (tmp == selectvalue) {
      theMenu.selectedIndex = i;
    }
  }
}

// Unchecks/checks dependent check boxes based on parent select all check box.
function handleCheckBoxes(objChkChildren, objIsAllSelected) {

	if (objIsAllSelected == undefined) {
		return;
	}
	
	if ( objChkChildren !== undefined ) {
    	if  ( objChkChildren.length !== undefined ) {
      		for (var i=0; i < objChkChildren.length;i=i+1) {
      			objChkChildren[i].checked = objIsAllSelected.checked;
      		}
    	} else {
			objChkChildren.checked = objIsAllSelected.checked;
    	}
  	}

}

/* Creates a form */
function createForm(formAction) {

	var newForm = document.createElement("form");
    var currentBody = document.getElementsByTagName("body")[0];
    currentBody.appendChild(newForm);
    newForm.action=formAction;
    return newForm;
    
}

/* Creates a hidden field on the given form */
function createHiddenFormField(documentObj, formObj, fieldName, fieldValue) {

    var hiddenInput = documentObj.createElement("input");
    hiddenInput.setAttribute('type','hidden');
	hiddenInput.setAttribute('name', fieldName);
	hiddenInput.setAttribute('value', fieldValue);
	formObj.appendChild(hiddenInput);
    
    //alert("New Form Field. Name:[" + fieldName + "], Value:[" + fieldValue + "]");
}

function removeSmartQuotes(value) {
    var sbuf = "";
    var len = value.length;
    for( var i = 0; i < len; i++ ) {
      var ch = value.charAt(i);
      
      var cc = value.charCodeAt(i);

      if (cc == 8220)
         sbuf += '"';
      else if (cc == 8221)
         sbuf += '"';
      else if (cc == 8216)
         sbuf += '\'';
      else if (cc == 8217)
         sbuf += '\'';
      else if (cc == 8211)
         sbuf += '-';
      else sbuf += ch;
    }
    return sbuf;
}

function replaceSpecialCharacters(value) {
	
	value = removeSmartQuotes(value);

    var sbuf = "";
    var len = value.length;
    for( var i = 0; i < len; i++ ) {
      var ch = value.charAt(i);
      
      var cc = value.charCodeAt(i);

      if (cc == 174)
		 sbuf += '&#174;';
      else sbuf += ch;
    }
    return sbuf;
}