function isEmpty(inputValue) {
   if (inputValue == null || inputValue == "") {
      return true;
   }
   return false;
}

function isRadioEmpty(buttonGrp) {
   for (var i = 0; i < buttonGrp.length; i++) {
      if (buttonGrp[i].checked) {
         return false;
      }
   }
   return true
}

function getCorrectedYear(year)
{
    year = year - 0;
	if (year < 30) return (2000 + year);
	if (year < 1900) return (1900 + year);
	return year;
}

function isValidDate(dateStr)
{
	var aDate = dateStr.split("/");
	if (aDate.length != 3){
		return false;
	}
	var dMonth = aDate[0] - 1;
	var dDay = aDate[1];
	var dYear = getCorrectedYear(aDate[2]);
	var testDate = new Date(dYear, dMonth, dDay);

	if ((dYear == getCorrectedYear(testDate.getYear())) && 
		(dMonth == testDate.getMonth()) && 
		(dDay == testDate.getDate())) {
		return true;
    }
	return false;
}

function isdigit(c) {
	return(c >= '0' && c <= '9');
}

function isDecimal(checkStr)
{
	// only allow 0-9, comma and decimal to be entered
	var checkOK = "0123456789,.";
	var allValid = true;
	var decPoints = 0;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
		if (ch != ",")
			allNum += ch;
	}
	return allValid;
}

function isInt(checkStr)
{
	// only allow 0-9 to be entered
	var checkOK = "0123456789";
	var allValid = true;
	var decPoints = 0;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
		if (ch != ",")
			allNum += ch;
	}
	return allValid;
}

function myIsNaN(what) { return (what != ((what - 0) + '')); }

function convertLbsToKg(value) {
	var result;
	result = value * 0.4536;
	result = Math.round(result*Math.pow(10,2))/Math.pow(10,2);
	return result;
}

function convertKgToLbs(kg)
{    
	if (isDecimal(kg))
		return Math.round((((kg) * 0.45359)) * 100000) / 100000;
	else
		return 0;
}

function convertFtToM(value) {
	var result;
	result = value * 0.3048;
	result = Math.round(result*Math.pow(10,2))/Math.pow(10,2);
	return result;
}

function convertMToFt(value) {
	var result;
	result = value / 0.3048;
	result = Math.round(result*Math.pow(10,1))/Math.pow(10,1);
	return result;
}

function convertSqFtToSqM(value) {
	var result;
	result = value * 0.0929;
	result = Math.round(result*Math.pow(10,2))/Math.pow(10,2);
	return result;
}

function convertSqMToSqFt(value) {
	var result;
	result = value / 0.0929;
	result = Math.round(result*Math.pow(10,1))/Math.pow(10,1);
	return result;
}

function estimateWeightLbs(ott)
{    
	if (((0.0000217468*Math.pow(ott,3))-(0.000932949*Math.pow(ott,2))-9.825656) < 0)
		return 0;
	else
		return Math.round(((0.0000217468*Math.pow(ott,3))-(0.000932949*Math.pow(ott,2))+(0.26066*ott)-9.825656));
}

function toMixedCase(objField) {
	if (! isEmpty(objField.value)) {
		if ((objField.value.toUpperCase() == objField.value) || (objField.value.toLowerCase() == objField.value)) {
			var pattern = /(\w)(\S*)/; // a letter, and then one, none or more letters 

			var a = objField.value.split(/\s+/g); // split the sentence into an array of words

			for (i = 0 ; i < a.length ; i ++ ) {
			    var parts = a[i].match(pattern); // just a temp variable to store the fragments in

			    var firstLetter = parts[1].toUpperCase();
			    var restOfWord = parts[2].toLowerCase();

			    a[i] = firstLetter + restOfWord; // re-assign it back to the array and move on
			}
			    
			objField.value = a.join(' '); // join it back together
		}
	}
}
