﻿function validate_form() {
			
			var the_error = "";
			var regExp = new RegExp(",","g");
			var myFinanceAmount = new String(document.getElementById('lease_amount').value);
				myFinanceAmount = myFinanceAmount.replace(regExp,"");
			
			var myMonthlyPayment = new String(document.getElementById('payment_amount').value);
				myMonthlyPayment = myMonthlyPayment.replace(regExp,"");
			
			if (document.getElementById('the_calc_field_lease_amount').checked) {
				if (!isPositiveNumeric(document.getElementById('nb_payment').value)) {
					the_error = the_error + '- The Number of Periods must be a numeric value.<br />';
					document.getElementById('l_nb_payment').className = "error";
				}else{
					document.getElementById('l_nb_payment').className = "";
					if (!isPositiveInteger(document.getElementById('nb_payment').value)) {
						the_error = the_error + '- The Number of Periods must be an integer greater than zero.<br />';
						document.getElementById('l_nb_payment').className = "error";
					}
				}
				
				if (!isPositiveNumeric(document.getElementById('interest').value)) {
					the_error = the_error + '- The Interest Rate must be a numeric value.<br />';
					document.getElementById('l_interest').className = "error";
				} else {
					document.getElementById('l_interest').className = "";
					if (document.getElementById('interest').value >= 50) {
						the_error = the_error + '- The Interest Rate must be less than 50%.<br />';
						document.getElementById('l_interest').className = "error";
					}
				}
				if (!isPositiveNumeric(myMonthlyPayment)) {
					the_error = the_error + '- Monthly Payment must be a numeric value.<br />';
					document.getElementById('l_payment_amount').className = "error";
				} else {
					document.getElementById('l_payment_amount').className = "";
				}
				if (myMonthlyPayment >= 50000000) {
					the_error = the_error + '- Monthly Payment must be less than $ 50,000,000.00.<br />';
					document.getElementById('l_payment_amount').className = "error";
				} else {
					document.getElementById('l_payment_amount').className = "";
				}
				
			}
			else if (document.getElementById('the_calc_field_payment_amount').checked) {
				if (!isPositiveNumeric(myFinanceAmount)) {
					the_error = the_error + '- The Finance Amount must be a numeric value.<br />';
					document.getElementById('l_lease_amount').className = "error";
				} else {
					document.getElementById('l_lease_amount').className = "";
				}
				if (myFinanceAmount >= 500000000) {
					the_error = the_error + '- The Finance Amount must be a less than $ 500,000,000.00.<br />';
					document.getElementById('l_lease_amount').className = "error";
				} else {
					document.getElementById('l_lease_amount').className = "";
				}
				
				if (!isPositiveNumeric(document.getElementById('nb_payment').value)) {
					the_error = the_error + '- The Number of Periods must be a numeric value.<br />';
					document.getElementById('l_nb_payment').className = "error";
				}else{
					document.getElementById('l_nb_payment').className = "";
					if (!isPositiveInteger(document.getElementById('nb_payment').value)) {
						the_error = the_error + '- The Number of Periods must be an integer greater than zero.<br />';
						document.getElementById('l_nb_payment').className = "error";
					}
				}
				if (!isPositiveNumeric(document.getElementById('interest').value)) {
					the_error = the_error + '- The Interest Rate must be a numeric value.<br />';
					document.getElementById('l_interest').className = "error";
				} else {
					document.getElementById('l_interest').className = "";
					if (document.getElementById('interest').value >= 50) {
						the_error = the_error + '-The Interest Rate must be less than 50%.<br />';
						document.getElementById('l_interest').className = "error";
					}
				}
			
				
			} 

            if ( !document.getElementById("disclaimer").checked) {
                the_error = the_error + '- Please agree to the disclaimer by checking the box above.<br />';
				document.getElementById('l_disclaimer').className = "error";
            } else {
				document.getElementById('l_disclaimer').className = "";
            }
			
			var beg_end = 0;


            selected_year = document.getElementById("start_year").value;
	        selected_month = document.getElementById("start_month").value;
        	
	        var selected_day = "01";
	        if (isValidDate(selected_month, selected_day, selected_year)) {
        		
		        selected_date = new Date();
        		
		        selected_date.setFullYear(selected_year);
		        selected_date.setMonth(selected_month-1);
		        selected_date.setDate(selected_day);
		        selected_month = selected_date.getMonth();
        		
	        } else {
        		
		        cur_date = new Date();
		        selected_year = cur_date.getFullYear();
		        selected_month = cur_date.getMonth();
		        the_month = cur_date.getMonth() +1 ;
		        selected_day = "01";
        		
        		
		        selected_date = new Date();
		        selected_date.setFullYear(selected_year);
		        selected_date.setMonth(selected_month);
		        selected_date.setDate(selected_day);
		        document.getElementById("start_year").value = selected_year;
        			
		        if(the_month  < 10){
		            the_month = "0" + (the_month)
		        }
        		
	            document.getElementById("start_month").value = the_month;
	        }
			if (the_error.length > 0) {
				document.getElementById('form_error').innerHTML = "<br /><h3>Error(s)</h3>" + the_error;
				document.getElementById('form_error').style.display = 'block';
				return false;
			} else {
				document.getElementById('form_error').style.display = 'none';
				document.getElementById('lease').submit();
			}		
		}
		
		function isPositiveInteger(totest) {
			return totest.match(/^\d+$/);
		}
		function isPositiveNumeric(totest) {
			var objRegExp  =  /(^\d\d*\.\d*$)|(^\d\d*$)|(^\.\d\d*$)/;
			return totest.match(objRegExp);
		}
		
		function resetFields(){
			the_form = document.getElementById("lease");
			for (i=0;i < the_form.elements.length;i++){
				the_form.elements[i].value = "";
			}
		}

        function isValidDate(month, day, year) {
	        var oDate = new Date();
	        oDate.setFullYear(year,month-1,day);
	        return !(	   isNaN(oDate.getMonth()) 
		        || isNaN(oDate.getDate())
		        || isNaN(oDate.getMonth())
		        || isNaN(oDate.getFullYear())
        		
		        || (oDate.getDate() != day)
		        || (oDate.getMonth()+1 != month)
		        || (!(oDate.getFullYear() == year || oDate.getYear() == year))
		        )
        }
