Link to home
Start Free TrialLog in
Avatar of jriver12
jriver12

asked on

Please help with this script mod.

I have this script that took forever for me and others here to develop, however I need to modify it.

I need to recalculate totalcost in a differnt maner if tablecount is defined.

here is what the calculation is for the total cost if table count is difined > 0

totalcost = if 1 table =800
if 2 tables = 500
if 3 tables then 700

if the tablecount is defined then all other calculation are nixed with the exceptions of converting the total cost to words which I have also included below.

your help is always greatfully appreciated.


\\performs calculations for form
function CheckForm(){
var today = new Date(today)
var bl = (document.boothinformation.BT_B1_Dim_1.value);
var bw = (document.boothinformation.BT_B1_Dim_2.value);
var columns = (document.boothinformation.BT_Post.value);
var ismember = (document.boothinformation.BT_Member.value);
var corners = (document.boothinformation.BT_Corners.value);
var deposit = (document.boothinformation.BT_Deposit.value);
var contractDate = (document.boothinformation.BT_ContractDate.value);
var compstate = (document.boothinformation.compstate.value);
var country = (document.boothinformation.country.value);
var cancelled = (document.boothinformation.BT_Cancelled.value);
var cancelledDate = (document.boothinformation.BT_CancelledDate.value);
var cdstat = (document.boothinformation.bt_CD_Status.value);
var cddate = (document.boothinformation.BT_cd_Date.value);
var manstat = (document.boothinformation.bt_Manual_Status.value);
var mandate = (document.boothinformation.BT_ManualDate.value);
var fpr = (document.boothinformation.BT_FPR.value);
var fprDate = (document.boothinformation.BT_FPRDate.value);
var DepositDate = (document.boothinformation.BT_DepositDate.value);
<!--- added to support vendors jr 09092004 --->
var Tassign = (document.boothinformation.tableassign.value);
var Tcount = (document.boothinformation.tablecount.value);
<!--- var testdate = (document.boothinformation.OutDate.value); --->
var moy = today.getMonth() + 1;

//does the arithmatic for the total sq ft.
///changed to "must have non zero value" (not a NAN either)
if((bl >0) && (bw >0) || columns>0){
     var columnsqft = (columns * 5);
   if(bl<1 || bw<1)
     {  var totalsqft = (document.boothinformation.BT_TotalSQFT.value - (columnsqft));
    }
    else     {
var totalsqft = ((bl*bw) - (columnsqft));    
}
     document.boothinformation.BT_TotalSQFT.value = totalsqft;
      }
   
      
//calculates member and non member cost
totalsqft=document.boothinformation.BT_TotalSQFT.value
     if (ismember == 1){
          var totalcost = ((totalsqft * 10) + (corners * 200));
          var memdiscount = (totalsqft);
     }
      if (ismember == 0)       {
          var totalcost = ((totalsqft * 11) + (corners * 200));
          var memdiscount = (0);
     }
     
      
     document.boothinformation.BT_TotalCost.value = totalcost;
     document.boothinformation.BT_MemberD.value = memdiscount;
if (compstate == 'NA')
{
 document.boothinformation.BT_TotalCost.value = totalcost;
    }
if (compstate != 'NA')
{
 document.boothinformation.BT_TotalCost.value = (0);
 }
      
        
            <!--- calculate all with under the month of august the country =usa --->
if ((totalsqft >= 301))
        {
document.boothinformation.BT_FPR.value = (0);
document.boothinformation.BT_FPRDate.value = ('');
                   document.boothinformation.BT_Deposit.value = ((totalcost) * .25);
document.boothinformation.BT_DepositDate.value = (setNewDate(document.boothinformation.BT_ContractDate.value));
     }
      
      
        if ((totalsqft <= 300 ))
{
document.boothinformation.BT_FPR.value = (1);
document.boothinformation.BT_FPRDate.value = (setNewDate(document.boothinformation.BT_ContractDate.value));

document.boothinformation.BT_Deposit.value = (0);
document.boothinformation.BT_DepositDate.value = ('');
     }
      

      
       if  (moy>=9)
       {
document.boothinformation.BT_FPR.value = (1);
document.boothinformation.BT_FPRDate.value = (setNewDate(document.boothinformation.BT_ContractDate.value));
document.boothinformation.BT_Deposit.value = (0);
document.boothinformation.BT_DepositDate.value = ('');
     }
      
 if (((country != 'USA') ) && ((country != 'Canada')))
       {
document.boothinformation.BT_FPR.value = (1);
document.boothinformation.BT_FPRDate.value = (setNewDate(document.boothinformation.BT_ContractDate.value));
document.boothinformation.BT_Deposit.value = (0);
document.boothinformation.BT_DepositDate.value = ('');
     }
      
      
}



-->
</SCRIPT>
Avatar of Zvonko
Zvonko
Flag of North Macedonia image

Ask the Community Support to delete one of the questions and put in the one question where you like to continue the COMPLETTE page for analyzis and extension.
As long as nobody comments in your question in JavaScript TA you can delete that question on your own.

ASKER CERTIFIED SOLUTION
Avatar of dakyd
dakyd

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jriver12
jriver12

ASKER

dakyd,
I am getting a undifined error in the totalcost form.field.
I would be glad to send you the code. I dont think that it would be greatly appreciated by the comm if I posted 1100 lines of code on this thread.
Is it available online anywhere?  A link would be just as good.  If not, my email address is in my profile, and I'll take a look at it.
I sent it this morn, did you receive it.
Oddly enough, I haven't received it.  I checked my bulk/junk folder just in case, but I don't see it there either.  Try sending it again, just in case it was a freak occurrence?
just resent to dakyd@yahoo.com?
with 38 kb txt attachment.
I don't have Cold Fusion, so it's hard for me to sift through the <cf___> tags, but I just realized that Tcount is a string, not an integer (the value of an input is always a string).  Try changing this line:

var Tcount = (document.boothinformation.tablecount.value);

to:
var Tcount = parseInt(document.boothinformation.tablecount.value);

Not entirely sure if that'll fix your problem, but it should at least help.  Let me know if you still have problems after that.