function ValidateNumber(form){
	var val = parseFloat(form.value)
	if (isNaN(val)) {
		alert(" Value must be a number.\n Please do not include commas or periods.");
		form.value = '0';
		form.focus();
		return false;
	}
	if (val < 0) {
		alert("Number cannot be less than zero.");
		form.value = '0';
		form.focus();
		return false;
	}
	if (form.value.indexOf("%",0) > -1){
		alert("It is not necessary to include % sign for this operation.")
		form.value = form.value.slice(0,form.value.indexOf("%",0));
	}
}

function numisProper(string) {
   if (!string) return false;
   var iChars = "~`!@#$%^&*()_=+|]}[{poiuytrewqasdfghjkl;:'?,<>mnbvcxzQWERTYUIOPASDFGHJKLZXCVBNM*";
   for (var i = 0; i < string.length; i++) {
      if (iChars.indexOf(string.charAt(i)) != -1)
         return false;
   }
   return true;
}

function CalculateMinimumPayments(){
	var form = document.forms[0];
	var x = form.length;
	var i;
	var currentbalance;
	var monthlypayment;
	var field;
	var fieldvalue = 0;
	var counter = 0;
	if(form.UseMinimumPayment.checked == true){
		for(i=0;i<x-3; i++){
			field = form.elements[i];
			fieldvalue = form.elements[i].value
			if((field.name.indexOf("CurrentBalance",0) > -1) && (fieldvalue != '') && (fieldvalue > 0)){
				currentbalance = parseFloat(fieldvalue);
				monthlypayment = (currentbalance * 0.02);
			}
			if((field.name.indexOf("MonthlyPayment", 0) > -1) && (monthlypayment > 0)){
				field.value = monthlypayment;
				monthlypayment = 0;
				counter = counter +1;
			}
		}
	}
	if(counter < 1){
		alert('No values were calculated.');
		form.UseMinimumPayment.checked = false;
	} else {
		return true;
	}
}

function ValidateForm(){
	var form = document.forms[0];
	var x = form.length;
	var i;
	var total = 0;
	var totalcreditors = 0;
	var minimumpayment = 0;
	for(i=0; i<x-3; i++){
		var CurrentBalance;
		var field = form.elements[i];
		var fieldvalue = field.value
		if((fieldvalue != '') && (field.name!="Type_of_Debt")){
			if (numisProper(fieldvalue) == false) {
		    	alert("Please enter a Number in this field. \n\nRemove any commas if necessary.\n\nThank you.");
		    	field.focus();
			    return false;
		    } 
		}
		if((field.name.indexOf("CurrentBalance",0) > -1) && (fieldvalue != '') && (fieldvalue > 0)){
			CurrentBalance = parseFloat(fieldvalue);
			total = parseFloat(total) + parseFloat(fieldvalue);
			totalcreditors = parseFloat(totalcreditors) + 1
			minimumpayment = CurrentBalance * 0.02
		} 
		if(parseFloat(CurrentBalance) > 0){
			if(field.name.indexOf("MonthlyPayment",0) > -1){
				if((fieldvalue == '') || (fieldvalue < 1)){
					alert('Please provide a monthly payment for this creditor.');
					field.focus();
					return false;
				}
				if(fieldvalue > CurrentBalance){
					alert("Monthly payment value cannot be greater than the amount owed.");
					field.focus();
					return false;
				}
				if((minimumpayment) > fieldvalue){
					alert("This monthly payment does not meet the minimum monthly payment required by creditor.");
					field.focus();
					return false;
				}
			}
		}
		if(parseFloat(CurrentBalance) > 0){
			if(field.name.indexOf("InterestRate",0) > -1){
				if((fieldvalue == '') || (fieldvalue < 0) || (fieldvalue >= 24.5)){
					if(fieldvalue >= 24.5){
						alert("The maximum interest rate that can be calculated is 24.4% annually.")
						field.value = '24.4';
						field.focus();
					} else {
						alert("Please provide an Interest Rate for this creditor\n\nIf you do not know your current interest rate,\na a default value of 19.5% will be calculated.");
						field.value = '19.5';
						field.focus();
					}
					return false;
				}
				CurrentBalance = 0;
			}
		}
	}
	if (total < 1) {
		alert("Cannot perform calculation!\n\nPlease provide current balance and monthly payment for at least 1 creditor.");
		return false;
	} else {
		form["TotalCreditors"].value = totalcreditors;
		return true;
	}
}
