var ppifactor = 0;
form=document.SellerCC;

//alert('Warningnn JavaScript must be enabled for this Calculator  /n/n 
//This Caluclator is only intended to provide and Estimate of Seller Proceeds
//nn in the general Northern Ohio/Cleveland Market Area 
//nn Consult a Realtor or Title Company for Verification of current costs.nn 
//Do not use Commas or Dollar Signs on inputs')

function SetCommission(){
if (SellerCC.CommissionSetup.value == "1"){SellerCC.BrokerFee3.value="" ; SellerCC.BrokerFee4.value=""}
if (SellerCC.CommissionSetup.value == "2"){SellerCC.BrokerFee3.value="5" ; SellerCC.BrokerFee4.value="2000"}
if (SellerCC.CommissionSetup.value == "3"){SellerCC.BrokerFee3.value="5" ; SellerCC.BrokerFee4.value="1000"}
if (SellerCC.CommissionSetup.value == "4"){SellerCC.BrokerFee3.value="6" ; SellerCC.BrokerFee4.value="0"}
if (SellerCC.CommissionSetup.value == "5"){SellerCC.BrokerFee3.value="3" ; SellerCC.BrokerFee4.value="0"}
if (SellerCC.CommissionSetup.value == "6"){SellerCC.BrokerFee3.value="3.5" ; SellerCC.BrokerFee4.value="0"}
if (SellerCC.CommissionSetup.value == "7"){SellerCC.BrokerFee3.value="7.0" ; SellerCC.BrokerFee4.value="0"}
if (SellerCC.CommissionSetup.value == "8"){SellerCC.BrokerFee3.value="6.0" ; SellerCC.BrokerFee4.value="0"}
if (SellerCC.CommissionSetup.value == "9"){SellerCC.BrokerFee3.value="5.0" ; SellerCC.BrokerFee4.value="0"}
}
 
function SetFHA(){

SellerCC.RecordingFees.value = "28.00"
document.SellerCC.DocumentPrep.value = "50.00"
SellerCC.EscrowFee.value = "300.00"
SellerCC.TransferStamps.value = ".04"
SellerCC.HoldSignature.value = "15.00"
SellerCC.DeedPrep.value = "50.00"
SellerCC.TitleExam.value = "300.00"
SellerCC.OtherFees2Desc.value= " "
SellerCC.VaFhaFee.value= "75.00"
SellerCC.AssessmentsDesc.value = "Hold for Water Bill (refund After Close)"
SellerCC.Assessments.value = "200.00"
}

function SetVA(){
SellerCC.RecordingFees.value = "28.00"
document.SellerCC.DocumentPrep.value = "50.00"
SellerCC.EscrowFee.value = "600.00"
SellerCC.TransferStamps.value = ".04"
SellerCC.HoldSignature.value = "15.00"
SellerCC.DeedPrep.value = "50.00"
SellerCC.TitleExam.value = "300.00"
SellerCC.OtherFees2Desc.value= " "
SellerCC.VaFhaFee.value= "900.00"
SellerCC.AssessmentsDesc.value = "Hold for Water Bill (refund After Close)"
SellerCC.Assessments.value = "200.00"
}
function SetCONV(){
SellerCC.RecordingFees.value = "28.00"
document.SellerCC.DocumentPrep.value = "50.00"
SellerCC.EscrowFee.value = "300.00"
SellerCC.TransferStamps.value = ".04"
SellerCC.HoldSignature.value = "15.00"
SellerCC.DeedPrep.value = "50.00"
SellerCC.TitleExam.value = "300.00"
SellerCC.OtherFees2Desc.value= " "
SellerCC.VaFhaFee.value= ".00"
SellerCC.AssessmentsDesc.value = "Hold for Water Bill (refund After Close)"
SellerCC.Assessments.value = "200.00"

}

function SetAutomatic(){
SellerCC.TitleInsFactor.value = "Automatic"
alert('Title Insurance Calculations\n\n 5.75 Per 1,000 up to $150,000 then \n 4.50 per 1,000 up to $250,000 then \n 3.50 Per 1,000 up to $500,000 then \n 2.75 per 1,000 above that \n\n With a Min charge of 350.00 \n\n Total Cost Split 50/50 between Buyer and Seller. ')
}
function CalcTitleInsurance(sell_price){
sell_price = sell_price *1
sell_price = parseInt(( (sell_price *1)+999)/1000)
sell_price = sell_price * 1000
// alert(sell_price)
if (sell_price <= 150000) {var base_factor =5.75; var base_amount =    0; OverLimit= 000000}
if (sell_price >  150000) {var base_factor =4.50; var base_amount = 862.50; OverLimit= 150000}
if (sell_price >  250000) {var base_factor =3.50; var base_amount =1312.50; OverLimit= 250000}
if (sell_price >  500000) {var base_factor =2.75; var base_amount =2178.50; OverLimit= 500000}
//if (sell_price > 1000000) {var base_factor =2.75; var base_amount =20900; OverLimit=1000000}
policy_cost = eval(sell_price - OverLimit) * base_factor /1000
policy_cost = (policy_cost + base_amount) /2

if (policy_cost < 175) {policy_cost = 175}
return policy_cost;
}

function roundOff(value, precision) {
        value = "" + value                                        //convert value to string
        precision = parseInt(precision);                          //Make Sure whole number
        var whole = "" + Math.round(value * Math.pow(10, precision));
        var decPoint = whole.length - precision;        if(decPoint != 0)
        {                result = whole.substring(0, decPoint);
                result += ".";
                result += whole.substring(decPoint, whole.length);        }
        else        {                result = whole;        }
        return result;
}


function floor(number) 
{ 
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2); 
} 
function daysleft(monthObj,dayObj) {
   // Get date strings
   ppifactor = 0;
   var monthInteger, dayInteger
   monthInteger=monthObj.selectedIndex
   dayInteger=dayObj.selectedIndex
   monthInteger++;
   dayInteger;
   if ((monthInteger == "1") || (monthInteger == "3") || (monthInteger == "5") ||
       (monthInteger == "7") || (monthInteger == "8") || (monthInteger == "10") ||
       (monthInteger == "12"))
   {   ppifactor = floor(((31 - dayInteger) / 31));   }
   if ((monthInteger == "4") || (monthInteger == "6")||
       (monthInteger == "9") || (monthInteger == "11"));
   {    ppifactor = floor(((30 - dayInteger) / 30));   }
   if (monthInteger == "2")   {  ppifactor = floor(((28 - dayInteger) / 28));   }  
   



dosum()
}


function dosum() 
{ 

//if ("1" == "1"){

SellerCC.SalesPrice.value = roundOff(SellerCC.SalesPrice.value*1,2)
SellerCC.BuyersCC.value = roundOff(SellerCC.BuyersCC.value*1,2)
SellerCC.VaFhaFee.value = roundOff(SellerCC.VaFhaFee.value*1,2)
//SellerCC.BuyersCC.value = "Test";
SellerCC.EffPrice.value = roundOff(eval(SellerCC.SalesPrice.value*1) 
- eval(SellerCC.BuyersCC.value*1)
- eval(SellerCC.VaFhaFee.value*1),2) 
//SellerCC.EffPrice.value = "Test";
if (SellerCC.TitleInsFactor.value = "Automatic"){
SellerCC.TitleIns.value = CalcTitleInsurance(SellerCC.SalesPrice.value*1)}
else{SellerCC.TitleIns.value = SellerCC.SalesPrice.value*SellerCC.TitleInsFactor.value/1000}

SellerCC.TitleIns.value = roundOff(SellerCC.TitleIns.value*1,2)
SellerCC.RecordingFees.value = roundOff(SellerCC.RecordingFees.value*1,2)
SellerCC.DocumentPrep.value = roundOff(SellerCC.DocumentPrep.value*1,2)
SellerCC.TaxPerHalf.value = roundOff(SellerCC.TaxPerHalf.value*1,2)
SellerCC.TransferMonth.value = roundOff(SellerCC.TransferMonth.value*1,0)
SellerCC.TransferDay.value = roundOff(SellerCC.TransferDay.value*1,0)

temp = (SellerCC.TransferMonth.value*1) - 1
if (temp < 6){ temp = temp + 6 }
SellerCC.TaxPerHalf.value = roundOff(SellerCC.TaxPerHalf.value*1,2)
SellerCC.TransferMonth.value = roundOff(SellerCC.TransferMonth.value*1,0)
SellerCC.TransferDay.value = roundOff(SellerCC.TransferDay.value*1,0)

SellerCC.TaxProration.value = SellerCC.TaxPerHalf.value/6*temp 
+ SellerCC.TaxPerHalf.value/180*SellerCC.TransferDay.value ;

//temp = eval(SellerCC.TaxProration.value)*1
SellerCC.TaxProration.value = roundOff(SellerCC.TaxProration.value*1,2)
SellerCC.EscrowFee.value = roundOff(SellerCC.EscrowFee.value*1,2)
SellerCC.Assessments.value = roundOff(SellerCC.Assessments.value*1,2)
SellerCC.TransferStamps.value = SellerCC.SalesPrice.value*SellerCC.TransferStampsFactor.value / 1000
SellerCC.TransferStamps.value = roundOff(SellerCC.TransferStamps.value*1,2)
SellerCC.HoldSignature.value = roundOff(SellerCC.HoldSignature.value*1,2)
SellerCC.OtherFees.value = roundOff(SellerCC.OtherFees.value*1,2)
SellerCC.OtherFees2.value = roundOff(SellerCC.OtherFees2.value*1,2)
SellerCC.DeedPrep.value = roundOff(SellerCC.DeedPrep.value*1,2)
SellerCC.TitleExam.value = roundOff(SellerCC.TitleExam.value*1,2)
SellerCC.SubClosingCosts.value = roundOff(eval(SellerCC.TitleIns.value*1)  // = "Test";
+ eval(SellerCC.EscrowFee.value*1) //+      // = "Test";
+ eval(SellerCC.TitleExam.value*1) //+  // = "Test";
+ eval(SellerCC.RecordingFees.value*1) //+  // = "Test";
+ eval(SellerCC.DocumentPrep.value*1) //+   // = "Test";
+ eval(SellerCC.DeedPrep.value*1) //+   // = "Test";
+ eval(SellerCC.TransferStamps.value*1) //+ // = "Test";
+ eval(SellerCC.HoldSignature.value*1) //+  // = "Test";
+ eval(SellerCC.OtherFees.value*1)  //
+ eval(SellerCC.OtherFees2.value*1) ,2)  ;  // = "Test";
SellerCC.EffPrice.value = roundOff(SellerCC.EffPrice.value*1,2)


temp = SellerCC.BrokerFee3.value *1
if (temp < 10){SellerCC.BrokerFee1.value = roundOff(SellerCC.SalesPrice.value*temp/100,2);}
        else        { SellerCC.BrokerFee1.value= roundOff(temp,2)    }

temp = SellerCC.BrokerFee4.value *1
if (temp < 10){SellerCC.BrokerFee2.value = roundOff(SellerCC.SalesPrice.value*temp/100,2);}
        else        { SellerCC.BrokerFee2.value= roundOff(temp,2)    }

SellerCC.BrokerFee1.value = roundOff(SellerCC.BrokerFee1.value*1,2)
SellerCC.BrokerFee2.value = roundOff(SellerCC.BrokerFee2.value*1,2)

//SellerCC.SubClosingCosts.value = "Test";
SellerCC.NetProceeds.value = roundOff(SellerCC.EffPrice.value*1
- eval(SellerCC.TaxProration.value*1) //+   // = "Test";
- eval(SellerCC.Assessments.value*1) //+    // = "Test";
- SellerCC.SubClosingCosts.value*1
- SellerCC.BrokerFee1.value*1 // = "Test";
- SellerCC.BrokerFee2.value*1 ,2)//  = "Test";
//SellerCC.NetProceeds.value = "Test";
//alert(SellerCC.CC_Text.value)
//alert(eval(SellerCC.BuyersCC.value*1))
if (eval(SellerCC.BuyersCC.value*1) > .01){          // alert(eval(SellerCC.BuyersCC.value*1))}
SellerCC.CC_Text.value ="Preferred Terms used in Contract ------- "
+"Seller shall pay Buyers Points, Closing Costs, Prepaids and"
+" First Years Home Owners Insurance up to $"+ SellerCC.BuyersCC.value}
 else { SellerCC.CC_Text.value =""}
//}
if ((SellerCC.Mortgage1.value*1 + SellerCC.Mortgage2.value*1) > 0) {
SellerCC.CashToSeller.value = roundOff(SellerCC.NetProceeds.value*1 // "Test";
-SellerCC.Mortgage1.value*1 // = "Test";
-SellerCC.Mortgage2.value*1,2); // = "Test";
SellerCC.Mortgage1.value = roundOff(SellerCC.Mortgage1.value*1,2)
SellerCC.Mortgage2.value = roundOff(SellerCC.Mortgage2.value*1,2)


}

}
