<scriptlanguage="javascript"type="text/javascript"> /* Visit http://www.yaldex.com/
for full source code
and get more free JavaScript, CSS and DHTML scripts! */
<!-- Begin var
max_units =200;// quantities in excess of
max_units all have the same unit price var
currency ="$";// currency sign used in 'formatMessage()'
// Edit this function to reflect your discount prices! function
getDiscountPrice(units){ // Note: It is important to work
your way down from max to min amounts! if(units>=
max_units)return4; if(units>=100)return6; if(units>=50)return8; if(units>=25)return10; if(units>=10)return13; if(units>=5)return16; if(units>=2)return17.50; if(units==1)return19.95; if(units<=0)return0;
} function
getNumberOfUnits(){ varunits=document.calculator.units.value; return(units=="")?0:units;
} function
showResult(result){ // adjust the following line if
result must popup somewhere else document.calculator.respons.value=
result; } function
formatMessage(units,
unit_price){ returnunits+" * "+
currency +
formatPrice(unit_price)+" = "+
currency +
formatPrice(units*
unit_price);
} // AltUnits (alternate units):
add extra units to reach minimum for next discount price function
getAltUnits(units){ var
discount_price =
getDiscountPrice(units); if(units<
max_units)do{units++}while(discount_price
==
getDiscountPrice(units)); returnunits;
} function
findPrice(){ varunits=
getNumberOfUnits(); var
unit_price =
getDiscountPrice(units); var
alt_units =
getAltUnits(units); var
alt_unit_price =
getDiscountPrice(alt_units); var
result; if((units*
unit_price)<(alt_units
*
alt_unit_price))
result =
formatMessage(units,
unit_price); else result =
formatMessage(alt_units,
alt_unit_price); showResult(result);
} function
formatPrice(value){ var
result=Math.floor(value)+"."; var
cents =100*(value-Math.floor(value))+0.5; result +=Math.floor(cents
/10); result +=Math.floor(cents
%10); return
result;
} function
filterNonNumeric(field){ var
result =newString(); var
numbers ="0123456789"; var
chars =
field.value.split("");// create array for(i
=0;
i <
chars.length;
i++){ if(numbers.indexOf(chars[i])!=-1)
result +=
chars[i];
} if(field.value!=
result)
field.value=
result;
} window.onload=findPrice; // End --> </script> <tableborder="1"cellspacing="0"cellpadding="3"width="300">
<tr>
<td>Single unit license</td>
<td
width=50align=right>$19.95</td>
</tr>
<tr>
<td>License for 2 to 4 units</td>
<td
width=50align=right>
$17.50</td>
</tr>
<tr>
<td>License for 5 to 9 units</td>
<td
width=50align=right>$16.00</td>
</tr>
<tr>
<td>License for 10 to 24 units</td>
<td
width=50align=right>
$13.00</td>
</tr>
<tr>
<td>License for 25 to 49 units</td>
<td
width=50align=right>$10.00</td>
</tr>
<tr>
<td>License for 50 to 99 units</td>
<td
width=50align=right>
$8.00</td>
</tr>
<tr>
<td>License for 100 to 199 units</td>
<td
width=50align=right>
$6.00</td>
</tr>
<tr>
<td>License for 200 or more units</td>
<td
width=50align=right>
$4.00</td>
</tr>
</table> <br> <formname=calculator> Units: <inputtype=textvalue="1"name="units"onkeydown="findPrice()"onKeyUp="filterNonNumeric(this);
findPrice()"onkeypress="findPrice()"size="4">
<input
type=textonfocus="this.blur()"name="respons"size="24"style="border:0;
font-weight:bold;">
</form>