/* ***************************************** */
/* How much can i save */
function setOutput()
{
    if(httpObject.readyState == 4)
    {
        var result = httpObject.responseText;
        resultDetails = result.split("#");
        
        document.getElementById('current_monthly_saving').value = resultDetails[0];
        document.getElementById('current_monthly_saving2').value = resultDetails[1];            
        document.getElementById('monthly_saving').value = resultDetails[2];
        document.getElementById('annual_saving').value = resultDetails[3];

	document.getElementById('current_monthly_saving').focus();                

    }
}
function clearForm() 
{
        document.getElementById('outstanding_balance').value = '';
        document.getElementById('outstanding_term').value = '25';
        document.getElementById('mortgage_type').value = 'true';
        document.getElementById('interest_rate').value = '';
        document.getElementById('monthly_payment').value = '';
        document.getElementById('new_int_rate').value = '';

        document.getElementById('current_monthly_saving').value = '';
        document.getElementById('current_monthly_saving2').value = '';
        document.getElementById('monthly_saving').value = '';
        document.getElementById('annual_saving').value = '';
}

function validateCalcInputs()
{ 
    $msg = "";
    $sep = "";
    if (document.getElementById('outstanding_balance').value == '')
    {
        $msg = "An outstanding balance.";
        $sep = "<br />";
    }
    if (document.getElementById('interest_rate').value == '' && document.getElementById('monthly_payment').value == '')
    {
        $msg += $sep + "Either an interest rate or your current monthly payment.";
        $sep = "<br />";
    }
    if (document.getElementById('interest_rate').value != '')
    {
        if (document.getElementById('interest_rate').value < 1 || document.getElementById('interest_rate').value > 100)
        {
            $msg += $sep + "An interest rate between 1 and 100.";
            $sep = "<br />";            
        }
    } 
    if (document.getElementById('new_int_rate').value == '')
    {
        $msg += $sep + "A new interest rate.";
        $sep = "<br />";
    }
    if (document.getElementById('new_int_rate').value != '')
    {
        if (document.getElementById('new_int_rate').value < 1 || document.getElementById('new_int_rate').value > 100)
        {
            $msg += $sep + "A new interest rate between 1 and 100.";
            $sep = "<br />";            
        }
    } 
    
    if ($msg != "")
        $msg = "Please enter the following:<br /><div style=\"padding-left: 1em;\">" + $msg + "</div>";
        
    return $msg;       
}

function calc()
{
    httpObject = getHTTPObject();
    if (httpObject != null) 
    {
        document.getElementById('validationError').innerHTML = "";                
        errMsg = validateCalcInputs();
        if (errMsg != "")        
        {
            document.getElementById('validationError').innerHTML = errMsg;                
            document.getElementById('validationError').focus();                
        }
        else
        {
            var dateTime = getDateTime();
            httpObject.open("GET", "calcs/calcSavings.php?dt=" + dateTime + "&outBalance="
                            + document.getElementById('outstanding_balance').value + "&outTerm="
                            + document.getElementById('outstanding_term').value + "&mortgageType="
                            + document.getElementById('mortgage_type').value + "&currInterestRate="
                            + document.getElementById('interest_rate').value + "&currMonthlyPayment="
                            + document.getElementById('monthly_payment').value + "&newInterestRate="
                            + document.getElementById('new_int_rate').value
                            , true);
            httpObject.send(null);
            httpObject.onreadystatechange = setOutput;
        }        
        return false;
    }
    else
    {
        // let form submit and process server side
        return true;
    }
}

var httpObject = null;
