Typos! Thank you so much. I've been starting at this for days and you'd think I'd notice. I appreciate it. The onload is still acting up. Here's the code in its entirety.
function Form_onsave()
{
Xrm.Page.getAttribute("new_totalleasepayment").setSubmitMode("always");
Xrm.Page.getAttribute("new_estsaleprofit.setSubmitMode("always");
Xrm.Page.getAttribute("new_estsaleprofitmargin.setSubmitMode("always");
}
/* Enable/Disable form fields based on Payment Type */
function Form_onload()
set_paymenttype()
{
switch (Xrm.Page.getAttribute("new_paymenttype_optionset").getValue()){
case "100000000" /* Lease */:
trigger_deal_economics(true);
trigger_lease_economics(true);
trigger_thirdpartyfinancing(false);
Xrm.Page.getControl("new_feevolume").setDisabled(true);
break;
case "100000001" /* Sale */:
trigger_deal_economics(true);
trigger_lease_economics(false);
trigger_thirdpartyfinancing(false);
Xrm.Page.getControl("new_feevolume").setDisabled(true);
break;
case "100000002" /* Direct Lease-3rd Party */:
trigger_deal_economics(true);
trigger_lease_economics(false);
trigger_thirdpartyfinancing(true);
Xrm.Page.getControl("new_feevolume").setDisabled(true);
break;
case "100000003" /* Fee-Third Party Financing */:
trigger_deal_economics(false);
trigger_lease_economics(false);
trigger_thirdpartyfinancing(false);
Xrm.Page.getControl("new_salerevenue").setDisabled(false);
Xrm.Page.getControl("new_feevolume").setDisabled(false);
break;
default:
Xrm.Page.getControl("new_feevolume").setDisabled(true);
trigger_deal_economics(false);
trigger_lease_economics(false);
trigger_thirdpartyfinancing(false);
}
}
function trigger_thirdpartyfinancing(valid)
{
if (valid==true)
{
Xrm.Page.getControl("new_thirdpartyleaseno").setDisabled(false);
Xrm.Page.getControl("new_thirdpartyleaseterm").setDisabled(false);
Xrm.Page.getControl("new_nbvremarketed").setDisabled(false);
}
else
{
Xrm.Page.getControl("new_thirdpartyleaseno").setDisabled(true);
Xrm.Page.getControl("new_thirdpartyleaseterm").setDisabled(true);
}
}
function trigger_lease_economics(valid)
{
if (valid==true)
{
Xrm.Page.getControl("new_estleasepymtbldg").setDisabled(false);
Xrm.Page.getControl("new_estleasepymtother").setDisabled(false);
Xrm.Page.getControl("new_leaseterm").setDisabled(false);
Xrm.Page.getControl("new_newcapx").setDisabled(false);
Xrm.Page.getControl("new_nbvremarketed").setDisabled(false);
Xrm.Page.getControl("new_estfinsoftcosts").setDisabled(false);
}
else
{
Xrm.Page.getControl("new_estleasepymtbldg").setDisabled(true);
Xrm.Page.getControl("new_estleasepymtother").setDisabled(true);
Xrm.Page.getControl("new_leaseterm").setDisabled(true);
Xrm.Page.getControl("new_newcapx").setDisabled(true);
Xrm.Page.getControl("new_nbvremarketed").setDisabled(true);
Xrm.Page.getControl("new_estfinsoftcosts").setDisabled(true);
}
}
function trigger_deal_economics(valid)
{
if (valid==true)
{
Xrm.Page.getControl("new_salerevenue").setDisabled(false);
Xrm.Page.getControl("new_estcosts").setDisabled(false);
}
else
{
Xrm.Page.getControl("new_salerevenue").setDisabled(true);
Xrm.Page.getControl("new_estcosts").setDisabled(true);
}
}
function new_saleprofit_onchange()
{
var field1 = Xrm.Page.getAttribute("new_salerevenue").getValue();
field1 = (field1==null ? 0 : field1);
var field2 = Xrm.Page.getAttribute("new_estcosts").getValue();
field2 = (field2==null ? 0 : field2);
Xrm.Page.getAttribute("new_estsaleprofit").setValue(field1 - field2);
if (field1 != 0)
{
Xrm.Page.getAttribute("new_estsaleprofitmargin").setValue((field1-field2)/field1);
}
else
{
Xrm.Page.getAttribute("new_estsaleprofitmargin").setValue(0);
}
}
function new_leasepymt_onchange()
{
var field1 = Xrm.Page.getAttribute("new_estleasepymtbldg").getValue();
field1 = (field1==null ? 0 : field1);
var field2 = Xrm.Page.getAttribute("new_estleasepymtother").getValue();
field2 = (field2==null ? 0 : field2);
Xrm.Page.getAttribute("new_totalleasepayment").setValue(field1 + field2);
}