<!--
function ValBorrowCalc(e, efield, t){
	if (e<=0 || isNaN(e)) {
		if (t==1) {
			alert ("Please enter a numeric value greater than 0");
		} else{
     		alert ("Please enter a numeric value greater than 0 in each field, or leave the field blank.");
		}
		efield.form.Borrow.value = "";
		efield.focus();
		return false;
	} else
		return true;
}

function BorrowCalc() {
	var f = document.fmBorrow;
	var Result1, Result2;
	var App1a, App1b, App2a, App2b;

	App1a = ValidateMonetary(f.App1a);
  if (!ValBorrowCalc(App1a, f.App1a, 1))
  {
    return false;
  }
  if (f.App1b.value=="")
  {
    App1b = 0;
  }
  else
  {
    App1b = ValidateMonetary(f.App1b);
    if (!ValBorrowCalc(App1b, f.App1b, 2))
    {
      return false;
    }
  }
  if (f.App2a.value=="")
  {
    App2a = 0;
  }
  else
  {
    App2a = ValidateMonetary(f.App2a);
    if (!ValBorrowCalc(App2a, f.App2a, 2))
    {
      return false;
    }
  }
  if (f.App2b.value=="")
  {
    App2b = 0;
  }
  else
  {
    App2b = ValidateMonetary(f.App2b);
    if (!ValBorrowCalc(App2b, f.App2b, 2))
    {
      return false;
    }
  }

  var App1Income = App1a + App1b*0.5;
  var App2Income = App2a + App2b*0.5;
  Result1 = (App1Income + App2Income) * 2.75;
  Result2 = (App1Income*3.5) + App2Income;
  if (Result1 > Result2)
  {
    f.Borrow.value = parseInt(Result1);
  }
  else
  {
    f.Borrow.value = parseInt(Result2);
  }
  return false;
}

function SubstituteDecimals(inStr)
{
  return inStr.replace(/\./, decimalMark);
}

function GetFieldValue(inField)
{
  var fieldType = inField.type;
  var fieldValue = "";

  if (fieldType.substring(0,4) == "text")
  {
    fieldValue = GetTextEntered(inField);
  }
  return fieldValue;
}

function OptionalNumberField(formField, numberFormatFunc)
{
  if (TextEntered(formField) == true)
  {
    return numberFormatFunc(formField);
  }
  else
  {
    return Number.NaN;
  }
}

function ValidateNumeric(formField)
{
  return ValidateNumber(formField, "", decimalMark);
}

function ValidateMonetary(formField)
{
  fieldName = formField.name;
  var integerPart = "";
  var integerLength = 0;
  var totalLength = "";
  var theNum = Number.NaN;

  theNum = ValidateNumber(formField, thouMark, decimalMark);

  integerPart = "" + Math.floor(theNum);
  integerLength = integerPart.length;
  totalLength = (""+theNum).length;

  if ((!isNaN(theNum)) && ((totalLength - integerLength) > 3))
  {
    theNum = Number.NaN;
  }
  return theNum;
}

function ValidateInt(formField)
{
  return ValidateNumber(formField, "", "");
}

function ValidateFormattedNum(formField)
{
  return ValidateNumber(formField, thouMark, decimalMark);
}

function ValidateNumber(formField, inThouMark, inDecimalMark)
{
  var theNumStr = "";
  var theNum = "";
  var lNumberFormat = null;
  var lThouMarkReplace = null;
  var lDecimalMarkReplace = null;
  var formatError = false;
  var formatType = "";

  var fieldName = formField.name;

  var theStr = lTrim(rTrim(GetFieldValue(formField)));

  if (theStr == "")
  {
    theNum = Number.NaN;
  }
  else
  {
    if ((inDecimalMark == "") && (inThouMark == ""))
    {
      formatType = "NoDecNoSep";
    }
    else if ((inDecimalMark != "") && (inThouMark == ""))
    {
      formatType = "DecNoSep";
    }
    else if ((inDecimalMark == "") && (inThouMark != ""))
    {
      formatType = "NoDecSep";
    }
    else
    {
      formatType = "DecSep";
    }

    lNumberFormat = NumberFormats[formatType][Language];
    lThouMarkReplace = ThouMarkReplace[formatType][Language];
    lDecimalMarkReplace = DecimalMarkReplace[formatType][Language];

    if (theStr.search(lNumberFormat) == -1)
    {
      formatError = true;
    }
    else
    {
      if (lThouMarkReplace != null)
      {
        theStr = theStr.replace(lThouMarkReplace, "");
      }

      if (lDecimalMarkReplace != null)
      {
        theStr = theStr.replace(lDecimalMarkReplace, "."); 
      }
      theNum = parseFloat(theStr);
      if (isNaN(theNum))
      {
        formatError = true;
      }
    }

    if (formatError == true)
    {
      theNum = Number.NaN;
    }
  }

  return theNum;

}

function lTrim(inStr)
{
  var trimmed = null;
  var numStart = inStr.search(/\S/);
  if (numStart == -1)
  {
    trimmed = "";
  }
  else
  {
    trimmed = inStr.substr(numStart);
  }
  return trimmed;
}

function rTrim(inStr)
{
  var numEnd = -1;
  var chr = "";
  var trimmed = "";

  for (var i = inStr.length -1, numEnd = -1; i >= 0 && numEnd == -1; i--)
  {
    chr = inStr.charAt(i);
    if ((chr != " ") && (chr != '\t'))
    {
      numEnd = i;
    }
  }
  trimmed = inStr.slice(0, numEnd+1);
  return trimmed;
}

function GetNumeric(inStr)
{
  var trimmed = "";
  var formatError = false;
  var chr = "";

  if (inStr != "")
  {
    trimmed = rTrim(lTrim(inStr));

    for (i = 0; (i <trimmed.length) && (formatError == false); i++)
    {
      chr = trimmed.charAt(i);
      if ((chr < '0') || (chr > '9'))
      {
        formatError = true;
      }
    }
    if (formatError)
    {
      trimmed = "";
    }
  }
  return trimmed;
}

function TextEntered(formField)
{
  var fieldType  = formField.type;
  var fieldValue = formField.value;
  var textEntered = false;

  if (fieldType.substring(0,4) == "text")
  {
    textEntered = !noText.test(fieldValue)
  }
  return textEntered;
}

function GetTextEntered(formField)
{
  var fieldType  = formField.type;
  var fieldValue = formField.value;
  var textEntered = "";

  if (fieldType.substring(0,4) == "text")
  {
    if(noText.test(fieldValue))
    {
      textEntered = "";
    }
    else
    {
      textEntered = fieldValue;
    }
   }
  return textEntered;
}

  var Language = "GB";
  var choiceGroups = new Array();
  var chosen = new Array();  
  var noText = /^\s*$/;
  var empty_fields = "";
  var errors = "";
  var decimalMark = '.';
  var thouMark = ',';
  var currencyConverter = { DM:1.95583 , EUR:1/1.95583};
  var EmailFormat = /\S@\S/;

var NumberFormats = new Object();
    NumberFormats["NoDecNoSep"] = {GB: /^\d*$/ , DE: /^\d*$/};
    NumberFormats["DecNoSep"] = {GB: /^\d*(\.(\d)*)?$/ , DE: /^\d*(\,(\d)*)?$/};
    NumberFormats["NoDecSep"] = {GB: /(^\d*$)|(^\d{1,3}(\,\d{3})+$)/, DE: /(^\d*$)|(^\d{1,3}(\.\d{3})+$)/};
    NumberFormats["DecSep"] = {GB: /(^\d*(\.(\d)*)?$)|(^\d{1,3}(\,\d{3})+(\.(\d)*)?$)/, DE: /(^\d*(\,(\d)*)?$)|(^\d{1,3}(\.\d{3})+(\,(\d)*)?$)/};

var ThouMarkReplace = new Object();
    ThouMarkReplace["NoDecNoSep"] = {GB: null , DE: null};
    ThouMarkReplace["DecNoSep"] = {GB: null , DE: null};
    ThouMarkReplace["NoDecSep"] = {GB: /\,/g , DE: /\./g};
    ThouMarkReplace["DecSep"] = {GB: /\,/g , DE: /\./g};

var DecimalMarkReplace = new Object();
    DecimalMarkReplace["NoDecNoSep"] = {GB: null, DE: null};
    DecimalMarkReplace["DecNoSep"] = {GB: /\./, DE: /\,/};
    DecimalMarkReplace["NoDecSep"] = {GB: null, DE: null};
    DecimalMarkReplace["DecSep"] = {GB: /\./, DE: /\,/};
//-->