function highLightErrorFields(fieldLabelIds, errorStyleClass)
{
var labelElement = document.getElementById(fieldLabelIds);
if(labelElement != null)
{
labelElement.className = errorStyleClass;
}
}
function sendRequest(url)
{
var req = new Ajax.Request(url, {method: 'post', parameters: $('monthlyPaymentCalc').serialize(true),onSuccess: processStateChangeDisplay,onFailure:forwardToTempDelays });
}
function processStateChangeDisplay(transport)
{
document.getElementById("ErrorTag").innerHTML = "";
document.getElementById('monthlyPaymentResult').style.display = "none";
document.getElementById('monthlyPaymentValue').style.display = "none";
document.getElementById("monthlyPaymentValue").innerHTML = "";
highLightErrorFields('loanAmountLabel',"CFNA_gen_contentWrap" );
highLightErrorFields('loanTermLabel',"CFNA_gen_contentWrap" );
highLightErrorFields('interestRateLabel',"CFNA_gen_contentWrap" );
if (null != transport &&  undefined != transport &&  null != transport.responseXML && undefined != transport.responseXML)
{
var element = transport.responseXML.getElementsByTagName('element');
if(element != null && element != undefined && element.length != 0)
{
for (var iterator =0; iterator < element.length; iterator++)
{
var property= getNodeValue(element[iterator],'property');
var propertyValue = getNodeValue(element[iterator],'value');
if(property=="monthlyPayment")
{
document.getElementById(property + 'Result').style.display = "";
document.getElementById(property + 'Value').style.display = "";
document.getElementById(property + 'Value').innerHTML = monthlyPymtLabel + " " +propertyValue;
}
else
{
if(property=="loanAmount")
{
document.getElementById('monthlyPaymentCalc').loanAmount.value=propertyValue;
}
else
{
document.getElementById('monthlyPaymentCalc').interestRate.value=propertyValue;
}
}
}
document.getElementById("result").style.display = "none";
}
else
{
var error = transport.responseXML.getElementsByTagName('error');
if(error.length > 0)
{
var errorMsg = "";
for (var iterator =0; iterator < error.length; iterator++)
{
var property= getNodeValue(error[iterator],'property');
var propertyValue = getNodeValue(error[iterator],'value');
if (propertyValue == 'temporaryDelays')
{
forwardToTempDelays();
}
else
{
highLightErrorFields(property+ 'Label',"CFNA_error" );
}
}
if (propertyValue != 'temporaryDelays')
{
errorMsg += propertyValue + "<br\>";
document.getElementById("ErrorTag").innerHTML = errorMsg;
document.getElementById("result").style.display = "";
}
}
else
{
forwardToInvalidChars();
}
}
}
else
{
forwardToInvalidChars();
}
}
function getNodeValue(xmlObject,elementName)
{
var nodeFirstChild = xmlObject.getElementsByTagName(elementName)[0].firstChild;
if(nodeFirstChild != null)
{
return nodeFirstChild.nodeValue;
}
else
{
return "";
}
}
function sendAdvancedRequest(action)
{
var request = new Ajax.Request(action, {method: 'post', parameters: $('advancedCalcOverlay').serialize(true),onSuccess: processAdvancedCalcResponse ,onFailure:forwardToTempDelays });
}
function processAdvancedCalcResponse(transport)
{
if (null != transport &&  undefined != transport &&  null != transport.responseXML && undefined != transport.responseXML)
{
document.getElementById("AdvancedErrorTag").style.display = "none";
document.getElementById("AdvancedErrorTag").innerHTML = "";
document.getElementById('totalLoanBalanceValue').innerHTML = "";
document.getElementById('averageInterestRateValue').innerHTML = "";
document.getElementById('totalMonthlyPaymentValue').innerHTML = "&nbsp;";
var element = transport.responseXML.getElementsByTagName('element');
if(element != null && element != undefined && element.length != 0)
{
document.getElementById("AdvancedResult").style.display = "";
document.getElementById('differencePerMonthValue').innerHTML = "";
var iterated=0;
for (var iterator =0; iterator < element.length; iterator++)
{
var property= getNodeValue(element[iterator],'property');
var propertyValue = getNodeValue(element[iterator],'value');
if(property=="monthlyPayment")
{
document.getElementById(property + 'AdvancedValue').style.display = "";
document.getElementById(property + 'AdvancedValue').className	="CFNA_SubSection_Header CFNA_widget_paddingMaker_top_bottom2";
document.getElementById(property + 'AdvancedValue').innerHTML = monthlyPymtAdvancedLabel + " " +propertyValue;
}
else if(property=="loanAmount")
{
document.getElementById('advancedCalcOverlay').loanAmount.value=propertyValue;
}
else if(property=="interestRate")
{
document.getElementById('advancedCalcOverlay').interestRate.value=propertyValue;
}
else if(property=="totalLoanBalance")
{
document.getElementById(property + 'Value').innerHTML = propertyValue;
}
else if(property=="averageInterestRate")
{
document.getElementById(property + 'Value').innerHTML = propertyValue;
}
else if(property=="totalMonthlyPayment")
{
document.getElementById(property + 'Value').innerHTML = propertyValue;
}
else if(property=="differencePerMonth")
{
document.getElementById(property + 'Value').innerHTML = diffperMonthLabel + " " + propertyValue;
}
else if(property=="interestRateFormatted")
{
var the_form = document.getElementById('advancedCalcOverlay');
for(var i=0; i < the_form.length; i++)
{
var type = the_form.elements[i].type;
var name = the_form.elements[i].name;
if((type == "text") &&  (the_form.elements[i].name.indexOf('currentLoansDetails') != -1) && the_form.elements[i].name.indexOf('interestRate') > -1)
{
if (the_form.elements[i].name.indexOf(iterated) > -1)
{
the_form.elements[i].value = propertyValue;
iterated ++;
break;
}
}
}
}
}
if(document.getElementById('differencePerMonthValue').innerHTML == '')
{
document.getElementById('monthlyPaymentAdvancedValue').className += " CFNA_widget_10pixMaker_top";
}
}
else
{
var error = transport.responseXML.getElementsByTagName('error');
if(error.length > 0)
{
var errorMsg = "";
var temp_value="";
for (var iterator =0; iterator < error.length; iterator++)
{
var property= getNodeValue(error[iterator],'property');
var propertyValue = getNodeValue(error[iterator],'value');
if (propertyValue == 'temporaryDelays')
{
forwardToTempDelays();
}
if(propertyValue!=temp_value)
{
errorMsg += propertyValue + "<br\>";
}
temp_value=getNodeValue(error[0],'value');
}
document.getElementById("AdvancedErrorTag").style.display = "";
document.getElementById("AdvancedErrorTag").innerHTML = errorMsg;
document.getElementById("AdvancedResult").style.display = "none";
}
else
{
forwardToInvalidChars();
}
}
}
else
{
forwardToInvalidChars();
}
}
function sf(action)
{
var request = new Ajax.Request(action, {method: 'post', parameters: $('debtCalcs').serialize(true),onSuccess: processDebtCalcResponse,onFailure:forwardToTempDelays});
}
function processDebtCalcResponse(transport)
{
if (null != transport &&  undefined != transport &&  null != transport.responseXML && undefined != transport.responseXML)
{
document.getElementById("DebtErrorTag").innerHTML = "";
var element = transport.responseXML.getElementsByTagName('element');
if(element != null && element != undefined && element.length != 0)
{
document.getElementById("DebtResult").style.display = "";
document.getElementById('differencePerMonthDebtValue').innerHTML = "";
var iterated=0;
for (var iterator =0; iterator < element.length; iterator++)
{
var property= getNodeValue(element[iterator],'property');
var propertyValue = getNodeValue(element[iterator],'value');
if(property=="monthlyPayment")
{
document.getElementById(property + 'DebtValue').style.display = "";
document.getElementById(property + 'DebtValue').innerHTML = monthlyPymtAdvancedLabel + " " +propertyValue;
}
else if(property=="totalLoanBalance")
{
document.getElementById(property + 'DebtValue').innerHTML = propertyValue;
}
else if(property=="averageInterestRate")
{
document.getElementById(property + 'DebtValue').innerHTML = propertyValue;
}
else if(property=="totalMonthlyPayment")
{
document.getElementById(property + 'DebtValue').innerHTML = propertyValue;
}
else if(property=="differencePerMonth")
{
document.getElementById(property + 'DebtValue').innerHTML = diffperMonthLabel + " " + propertyValue;
}
else if(property=="interestRateFormatted")
{
var the_form = document.getElementById('debtCalcs');
for(var i=0; i < the_form.length; i++)
{
var type = the_form.elements[i].type;
var name = the_form.elements[i].name;
if((type == "text") &&  (the_form.elements[i].name.indexOf('currentLoansDetails') != -1) && the_form.elements[i].name.indexOf('interestRate') > -1)
{
if (the_form.elements[i].name.indexOf(iterated) > -1)
{
the_form.elements[i].value = propertyValue;
iterated ++;
break;
}
}
}
}
}
}
else
{
var error = transport.responseXML.getElementsByTagName('error');
if(error.length > 0)
{
var errorMsg="";
var temp_value="";
for (var iterator =0; iterator < error.length; iterator++)
{
var property= getNodeValue(error[iterator],'property');
var propertyValue = getNodeValue(error[iterator],'value');
if (propertyValue == 'temporaryDelays')
{
forwardToTempDelays();
}
else
{
errorMsg += propertyValue + "<br\>";
}
}
document.getElementById("DebtErrorTag").innerHTML = errorMsg;
document.getElementById("DebtResult").style.display = "none";
document.getElementById('totalLoanBalanceDebtValue').innerHTML = "";
document.getElementById('averageInterestRateDebtValue').innerHTML = "";
document.getElementById('totalMonthlyPaymentDebtValue').innerHTML = "&nbsp;";
}
else
{
forwardToInvalidChars();
}
}
}
else
{
forwardToInvalidChars();
}
}
function ConfirmGoLock()
{
var subappBusy = isSubappBusy();
if (subappBusy)
{
if (lockType == LOCK)
{
alert (displayPhrase);
return false;
}
}
return true;
}
function numbersonly(e,type)
{
if(type=='integerDecimal')
{
var type = /[0-9\.]/g;
}
if(type=='integerCommaDecimal')
{
var type = /[0-9\.,]/g;
}
if(type=='integerOnly')
{
var type = /[0-9]/g;
}
var unicode=e.charCode? e.charCode : e.keyCode;
var character = String.fromCharCode(unicode);
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))
{
if(unicode ==39 && e.keyCode != 0){return true;}
}
if (unicode==27) { this.blur(); return false; }
if((unicode==46 && e.charCode==0)||(unicode==37)){return true;}
if (!e.ctrlKey && unicode!=9 && unicode!=8 && unicode!=36 && unicode!=38 && unicode!=40)
{
if (character.match(type))
{
return true;
}
else
{
return false;
}
}
}
