New Zenner
- Join Date:
- Aug 2009
- Posts:
- 23
- Plugin Contributions:
- 0
Length calculator???
I have a product of fence screen that has price by foot.
The customer has to add the length in feet and inches into a text box and when they hit submit it must be figured into the price output.
Is there a module that might do this?
Also they must be able to add new sections of length.
All this was working on a previous site before I took it over and it seems to be using this code. Does anyone know what module this might be? How would I set it up? (all the old files are still on the old server which I have access to, but I can't seem to figure which go to what.)
Thanks in advance.
(this was in head)
<script type="text/javascript" language="javascript"> var optionPrices = new Array(); $(document).ready(function () { $('#attrib-10-0').parent().parent().hide(); $('#attrib-8-31').parent().parent().hide(); $('#attrib-6-0').parent().parent().hide(); var productsId = $('#productsId').val(); $('#addSectionLink').click(function(){ var nextSection = parseInt($('#totalSections').val()) + 1; $('#totalSections').val(nextSection); $('#fenceSections').append('<tr class="widthEntry"><td><input type="text" name="widthFeet['+nextSection+']" size="3" onkeyup="calculateTotal()" class="widthFeet" /></td><td><input type="text" name="widthInches['+nextSection+']" size="3" onkeyup="calculateTotal()" class="widthInches" /></td></tr>'); }); $('.wrapperAttribsOptions').find("select").each(function() { $(this).change( function () {calculateTotal();} ); $('option', $(this)).each(function(){ // loop thru options var optionValue = $(this).val(); $.get("ajax.php", { action: 'get.option.price', products_id: productsId, options_values_id: optionValue }, function(data, textStatus){ if (data['price'] != undefined) { optionPrices[data['options_values_id']] = parseFloat(data['price']); } },'json'); }); }); }); function calculateTotal() { var pricePerFoot = parseFloat(optionPrices[$('#attrib-9').val()]); var totalFeet = 0; var cutChargeAdded = false; $('#total').val('0.00'); $('#totalLength').val('0'); $('#customCut').val(0); $('#customCutText').hide(); $('.widthFeet').each(function(){ if ($(this).val() != '') { var currentTotal = parseFloat($('#total').val()); var currentLength = parseInt($('#totalLength').val()); if (parseInt($(this).val()) % 50 != 0) { if (cutChargeAdded == false) { cutChargeAdded = true; currentTotal += 20; } $('#customCutText').show(); $('#customCut').val(1); } var newTotal = currentTotal + parseFloat(pricePerFoot * parseInt($(this).val())); var newLength = currentLength + (parseInt($(this).val())*12); //alert(pricePerFoot + ': ' + currentTotal + ': ' + newTotal); $('#totalText').text(newTotal.toFixed(2)); $('#total').val(newTotal.toFixed(2)); $('#totalLength').val(newLength); $('#attrib-6-0').val(newLength+'in'); } }); $('.widthInches').each(function(){ if ($(this).val() != '') { $('#customCutText').show(); $('#customCut').val(1); var currentTotal = parseFloat($('#total').val()); var currentLength = parseInt($('#totalLength').val()); if (cutChargeAdded == false) { cutChargeAdded = true; currentTotal += 20; } var newTotal = currentTotal + parseFloat((pricePerFoot/12) * parseInt($(this).val())); var newLength = currentLength + (parseInt($(this).val())); $('#totalText').text(newTotal.toFixed(2)); $('#total').val(newTotal.toFixed(2)); $('#totalLength').val(newLength); } }); $('#attrib-6-0').val(''); $('.widthEntry').each(function(){ var curTxt = $('#attrib-6-0').val(); curTxt += $('.widthFeet',this).val()+'FT '+$('.widthInches',this).val()+'IN, '; $('#attrib-6-0').val(curTxt); }); } </script>(this in body)
<div class="wrapperAttribsOptions"> <h4 class="optionName back">Length Options</h4> <div class="back"> <input type="radio" name="id[8]" value="31" id="attrib-8-31" /><label class="attribsRadioButton zero" for="attrib-8-31">Custom Length - Cut Charge ( $20.00 )</label><br /> <input type="radio" name="id[8]" value="32" id="attrib-8-32" /><label class="attribsRadioButton zero" for="attrib-8-32">Standard 50' Rolls - No Cut Charge</label><br /> </div> <br class="clearBoth" /> </div> <br class="clearBoth" /> </div><div id="lengthname">Enter Your Fencing Widths</div> <div id="lengthdescription">Enter the feet and inches of each section you require for your project. You can add as many new sections as you need. </div> <input type="hidden" name="totalSections" id="totalSections" value="1" /> <input type="hidden" name="totalLength" id="totalLength" value="0" /> <table id="fenceSections"> <tr><td>Feet</td><td>Inches</td></tr> <tr class="widthEntry"><td><input type="text" name="widthFeet[1]" size="3" onkeyup="javascript:calculateTotal()" class="widthFeet" /></td><td><input type="text" name="widthInches[1]" size="3" onkeyup="javascript:calculateTotal()" class="widthInches" /></td></tr> </table> <a href="#" onclick="return false;" id="addSectionLink"><u>click here to add a new section</u></a> <br /><br /><span id="customCutText" style="display:none;">Custom Cut Charge: $20.00<br /></span>
<input type="hidden" name="customCut" value="0" id="customCut" />
<b>Total Price: $<span id="totalText">0.00</span></b>
<input type="hidden" name="total" value="0.00" id="total" />
<br />
<br />
<div id="cartAdd">
<input type="hidden" name="cart_quantity" value="1" /><input type="hidden" name="products_id" value="87" id="productsId" /><input type="image" src="includes/templates/eprivacy/buttons/english/button_in_cart.gif" alt="Add to Cart" title=" Add to Cart " /> </div>
<!--eof Add to Cart Box-->
</div>