Files
componentowl.com/pricing-licensing/better-splitbutton.html

2799 lines
113 KiB
HTML
Raw Normal View History

2026-03-23 16:10:59 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!--
BEGIN Import.CommonHeaders
//-->
<title>Secure Order through BMT Micro Ecommerce Partner of ComponentOwl (128-bit SSL Encryption)</title>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="https://secure.bmtmicro.com/ShoppingCart/01830/12/favicon.ico" />
<script language="javascript" type="text/javascript" src="https://secure.bmtmicro.com/servlets/System.Util"></script>
<style type="text/css">
<!--
/* Vendor CSS */
html { height: 100%; }
body { height: 100%; margin: 0; padding: 0; font-size: 14px; font-family: 'trebuchet ms', sans-serif; background: #fff url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/bg.gif) top repeat-x; color: #000; text-align: center; }
a img { border: none; }
a { color: #825900; outline: none; }
a:hover, a:focus { color: #000; }
a:active { color: #ab7500; }
h1 { margin: 0 0 25px; padding: 0; }
input, select { font-size: 1.1em; }
.steps { margin: 10px 0 20px; padding: 0; list-style-type: none; color: #8f772f; font-size: 11px; overflow: auto; width: 100%; }
.steps li { float: left; padding: 5px 20px 4px 25px; background: url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/steps-arrow.gif) 0 50% no-repeat; }
.steps .first { padding-left: 0; background: none; }
.steps .active { color: #574308; font-size: 16px; padding-top: 0; }
#gb { position: relative; min-height: 100%; }
#logo { margin: auto; text-align: left; width: 900px; height: 48px; }
#logo .logo { display: block; float: left; margin: 12px 0 0 9px; }
#logo .link { float: right; line-height: 48px; font-size: 11px; margin-right: 14px; }
#menu { margin: auto; text-align: left; width: 902px; background: url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/menu-bg.gif); height: 32px; }
#menu .eb { float: right; height: 32px; width: 6px; background: url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/menu-bg.gif) 0 -64px no-repeat; }
#menu ul { float: left; margin: 0; padding: 0; list-style-type: none; background: url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/menu-bg.gif) 0 -32px no-repeat; }
#menu li { float: left; line-height: 32px; padding: 0 20px; font-size: 11px; }
#menu a { text-decoration: none; }
#products { margin: auto; overflow: auto; width: 900px; padding-bottom: 85px; text-align: left; background: url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/subpage-bg.jpg) 0 0 no-repeat; }
#bills { float: right; width: 180px; font-size: .85em; margin-top: 122px; text-align: center; padding: 15px 15px 0 28px; background: url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/side-bg.jpg) 0 0 no-repeat; }
#contact-form { float: left; width: 630px; margin: 30px 0 0; padding-left: 30px; }
#customerLogin { position: absolute; padding: 0px; text-align: center; border: 1px solid #808080; background-color: #fff; margin: 300px 20px 0px 350px;
display: none; width: 400px; }
#handle { margin: 0px 0px 0px 0px; padding: 0px; width: 100%; color: #fff; background-color: #808080; font-weight: bold; text-align: left; line-height: 14pt; }
.catcher { margin-bottom: 20px; border-bottom: 1px solid #d3eaff; }
.catcher p { line-height: 13px; padding-bottom: 15px; margin: 0; }
.catcher img { margin-bottom: 10px; }
.catcher h4 { padding-bottom: 8px; margin: 0; font-size: 1.1em; line-height: 16px; }
.moneyback h4 { padding-bottom: 20px; }
.aboutbmt { border-bottom: none; }
p.longtext { text-align: left; padding-left: 5px; padding-right: 5px; }
p.address { text-align: left; padding-left: 5px; }
img.middle { margin-right: 12px; }
img.last { margin-bottom: 25px; }
input[type=text], input[type=password], textarea, select { padding: 2px; border: 1px solid; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px;
background-color: #fff; border-color: #abadb3 #dbdfe6 #e3e9ef #e2e3ea;}
input[type=text]:focus, input[type=password]:hover, input[type=password]:focus, input[type=text]:hover, textarea:focus, textarea:hover, select:focus, select:hover {
border-color: #5794bf #b7d5ea #c7e2f1 #c5daed;
}
.pad { padding-bottom: 8px; }
.pad input { margin-bottom: 3px; vertical-align: middle; }
td.address { padding-top: 2px; }
h2 { margin: 0; padding: 2em 0 .7em; font-size: 1.5em; color: #000; font-weight: normal; }
h2.spad { padding-top: .3em; vertical-align: top; }
h2.lpad { padding-top: 1.2em; }
h2 img { vertical-align: middle; margin: 0 4px 4px 0; }
.product-table { border-collapse: collapse; }
.product-table th { text-align: left; padding: 2px 3px; color: #fff; background-color: #c1a045; border: 1px solid #c1a045; border-top: 0; border-bottom: 0; }
.product-table td { padding: 5px 5px; border: 1px solid #c1a045; background: #fafcfe url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/order-table-bg.png) repeat-x; }
.product-table .product { font-weight: bold; }
.product-table .number { text-align: right; width: 90px; }
.product-table .quantity { text-align: center; width: 70px; }
.product-table td.quantity { background: #fbebc0; }
.product-table .total { color: #4a7400; font-weight: bold; background-position: 100% 0; }
.total-table { margin-top: 5px; }
.total-table .price { font-size: 1.15em; padding: 3px; }
.total-table .price strong { color: #4a7400; }
.total-table .recalculate { padding-top: 5px; }
.fieldssec { padding: 15px; border: 4px solid #e7d6a3; background: #fbf7eb; }
.license-to { padding-bottom: 10px; }
.license-to label { padding-right: 20px; vertical-align: middle; }
.license-to .last { padding-right: 0; }
fieldset { border: none; border-top: 1px solid #ccc; margin: 10px 0 0; padding: 0 0 5px 15px; }
legend { padding: 7px; font-weight: bold; color: #000; }
.lock { vertical-align: middle; margin-bottom: 5px; }
.secureorder { width: 240px; height: 43px; margin: 10px 0 30px; background: url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/secure_order.gif) 0 0 no-repeat; }
.secureorder:hover { background-position: 0 -43px; }
.secureorder:active { background-position: 0 -86px; }
.nopad { padding-bottom: 0; }
.note { font-size: 0.85em; color: #8f772f; }
.postrip { padding-bottom: 3px; }
.footer { font-size: 11px; line-height: 18px; position: absolute; width: 100%; height: 60px; right: 0; bottom: 0; background: url(https://secure.bmtmicro.com/ShoppingCart/01830/12/img/footer-bg.gif) repeat-x; }
.align { margin: auto; width: 840px; padding-top: 13px; text-align: left; }
h2 { overflow: hidden; width: 100%; }
.heading { float: left; }
.currency { float: right; font-size: 12px; margin-top: 5px; }
.recalculate { padding-top: 5px; }
.keyct { overflow: auto; width: 100%; }
.keyct pre { float: left; }
//-->
</style>
<script language="javascript" type="text/javascript">
<!--
//
// util.js
function isWhitespace (c) {
var whitespace = " \t\r\n\f";
return (whitespace.indexOf (c) != -1);
}
function trim (str) {
if (str != null) {
var front = 0;
var back = str.length;
while ((front != back) && isWhitespace (str.charAt (front))) {
front++;
}
while ((front != back) && isWhitespace (str.charAt (back - 1))) {
back--;
}
str = str.substring (front, back);
}
return (str);
}
function isBlank (str) {
if (str == null) {
return (true);
}
for (var i = 0; i < str.length; i++) {
var c = str.charAt (i);
if (!isWhitespace (c)) {
return (false);
}
}
return (true);
}
function isValidEmail (str) {
if (str == null) {
return (false);
}
str = trim (str); // Start by trimming off whitespace at both ends
try {
if (window.RegExp) {
var tempStr = "a"; // First check that regular expression support is present
var tempReg = new RegExp (tempStr);
if (tempReg.test (tempStr)) {
var re = new RegExp ("^\\s*[A-Za-z0-9!#$%&'*+\\/=?^_`{|}~]+[A-Za-z0-9!#$%&'*+\\/=?^_`{|}~-]*(?:\\.[A-Za-z0-9!#$%&'*+\\/=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\s*$");
return (re.test (str));
}
}
}
catch (err) {
}
for (var i = 0; i < str.length; i++) { // Check that the address does not contain whitespace
var c = str.charAt (i);
if (isWhitespace (c)) {
return (false);
}
}
return (str.indexOf (".") > 2) && (str.indexOf ("@") > 0);
}
function isValidEmailList (str) {
var valid = false;
for (var begin = 0, end = 0; end != -1; begin = end + 1) {
end = str.indexOf (' ', begin);
if ((begin != end) && (begin != str.length)) {
if (!(valid = isValidEmail ((end == -1) ? str.substring (begin) : str.substring (begin, end)))) {
break;
}
}
}
return (valid);
}
// Check for valid URL
function startsWith (strA, strB) {
if ((strA != null) && (strB != null) && (strA.length >= strB.length)) {
return (strA.substr (0, strB.length) == strB);
}
return (false);
}
function isValidURL (str) {
return (isBlank (str) || startsWith (str, "ftp://") || startsWith (str, "http://") || startsWith (str, "https://"));
}
// Check string input
function isStringLimtedToCharSet (s, cset) {
for (var i = 0; i < s.length; i++) {
if (cset.indexOf (s.charAt (i)) == -1) {
return (false);
}
}
return (true);
}
function isStringLimitedToHex (s) {
return (isStringLimtedToCharSet (s, "0123456789ABCDEFabcdef"));
}
// Check against Armadillo Hardware Fingerprint format
function isHardwareFP (fp) {
return ((fp.length == 9) &&
(fp != "0000-0000") &&
isStringLimitedToHex (fp.substring (0, 4)) &&
(fp.charAt (4) == "-") &&
isStringLimitedToHex (fp.substring (5, 9)));
}
// checkdaterange.js
function isDateInPast (date) {
return (getDate (date) < getDate (makeDate ()));
}
function isDateToday (date) {
return (getDate (date).valueOf() == getDate (makeDate ()).valueOf());
}
function isDigit (c) {
var digits = "0123456789";
return (digits.indexOf (c) != -1);
}
function make2digits (num) {
return (num >= 10 ? num : ("0" + num));
}
function formatDate (year, month, day) {
return (year + "-" + make2digits (month) + "-" + make2digits (day));
}
function getDate (date) {
var part = date.split ("-");
return (new Date (parseInt (part[0], 10), parseInt (part[1], 10) - 1, parseInt (part[2], 10)));
}
function firstOfMonthDate () {
var date = new Date ();
return (formatDate (date.getFullYear (), date.getMonth () + 1, 1));
}
function fromDate () {
var from = getCookieValue ("BMTMicro.Vendors.FromDate");
var days = (from == null) ? 6 : parseInt(from);
var date = new Date ();
date.setDate(date.getDate()-days);
return (formatDate (date.getFullYear (), date.getMonth () + 1, date.getDate ()));
}
function makeDate () {
var date = new Date ();
return (formatDate (date.getFullYear (), date.getMonth () + 1, date.getDate ()));
}
function makeFutureDate (days) {
var date = new Date ();
date = new Date (date.getTime() + days * 24 * 60 * 60 * 1000);
return (formatDate (date.getFullYear (), date.getMonth () + 1, date.getDate ()));
}
function checkDate (entryfield) {
var date = entryfield.value;
if (date.search (/^\d+-\d\d-\d\d$/) != 0) {
alert ("Bad date format. Dates must be in ISO8601 (YYYY-MM-DD) format");
}
else {
var part = date.split ("-");
var year = parseInt (part[0], 10);
var month = parseInt (part[1], 10);
var day = parseInt (part[2], 10);
if ((year < 1990) || (year > 2100)) {
alert ("Year out of range");
}
else if ((month < 1) || (month > 12)) {
alert ("Month out of range");
}
else if ((day < 1) || (day > 31)) {
alert ("Day out of range");
}
else {
var monthDays = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
if (((year % 4) == 0) == ((year % 100) == 0) == ((year % 400) == 0)) {
monthDays[1]++;
}
if (day <= monthDays[month - 1]) {
return (true);
}
var newDate = formatDate (year, month, monthDays[month - 1]);
if (confirm ("\"" + date + "\" is not a valid date.\n\nWould you like to use \"" + newDate + "\" instead?")) {
entryfield.value = newDate;
return (true);
}
}
}
entryfield.focus ();
return (false);
}
function checkDateRange (datefrom,dateto) {
if (checkDate (datefrom) && checkDate (dateto)) {
if (getDate (datefrom.value) <= getDate (dateto.value)) {
return (true);
}
alert ("\"To\" date is before \"From\" date");
(datefrom.type == "hidden" ? dateto : datefrom).focus ();
}
return (false);
}
function CheckDateRange (form) {
return (checkDateRange (form.DATEFROM,form.DATETO));
}
// location.js
function getLocationValue (name) {
var loc = location.href; // We must NOT unescape here!
var begin = loc.indexOf ('?');
if (begin != -1) {
begin = loc.indexOf (name + "=", begin);
if (begin != -1) {
begin += name.length + 1;
var end = loc.indexOf ('&', begin);
if (end == -1) {
end = loc.length;
}
return (unescape (loc.substring (begin, end)));
}
}
return (null);
}
function getLocationValuesAsArray (name) {
var valuearray = new Array ();
var loc = location.href; // We must NOT unescape here!
var begin = loc.indexOf ('?');
if (begin != -1) {
while ((begin = loc.indexOf (name + '=', begin)) != -1) {
begin += name.length + 1;
var end = loc.indexOf ('&', begin);
if (end == -1) {
end = loc.length;
}
var value = unescape (loc.substring (begin, end));
begin = end;
// Resize array and insert new value
var temparray = new Array (valuearray.length + 1);
for (var i = 0; i < valuearray.length; i++) {
temparray[i] = valuearray[i];
}
temparray[valuearray.length] = value;
valuearray = temparray;
}
}
return (valuearray);
}
// cookie.js
function encodeUTF8 (s) {
return (unescape (encodeURIComponent (s)));
}
function decodeUTF8 (s) {
return (decodeURIComponent (escape (s)));
}
function javaURLDecode (s) {
// Decode a string encoded with javaURLEncode / java.net.URLEncode
function unescapeChar (match) {
return (String.fromCharCode (parseInt (match.substring (1), 0x10)));
}
return (decodeUTF8 (s.replace (/\+/g, ' ').replace (/%[0-9A-F][0-9A-F]/gi, unescapeChar)));
}
function javaURLEncode (s) {
// Encode a string in the same fashion as done in Java with java.net.URLEncode
function escapeChar (match) {
var charCode = match.charCodeAt (0);
return ('%' + ((charCode >> 4).toString (0x10) + (charCode & 0x0F).toString (0x10)).toLowerCase ());
}
return (encodeUTF8 (s).replace (/[^0-9A-Z\.\-\*_ ]/gi, escapeChar).replace (/ /g, '+'));
}
function getCookieValue (name) {
var c = document.cookie;
if (c.length != 0) {
var begin = c.indexOf (name + '=');
if (begin != -1) {
begin += name.length + 1;
var end = c.indexOf (';', begin);
if (end == -1) {
end = c.length;
}
return (javaURLDecode (c.substring (begin, end)));
}
}
return (null);
}
function setCookieValue (name, value, expiredays) {
var ExpireDate = new Date ();
ExpireDate.setTime (ExpireDate.getTime () + (expiredays * 24 * 3600 * 1000));
document.cookie = name + "=" + javaURLEncode (value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString ()) + "; path=/";
}
function deleteCookie (name) {
if (getCookieValue (name) != null) {
document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/";
}
}
// affiliate.js
function getAffiliateID (form) {
// Not needed any more
}
// check that input in Price field does not contain dollar signs
function isValidDollarAmount (str) {
var s = trim (str);
if (s != null) {
var decimalfound = false;
var decimalcount = 0;
for (var i = 0; i < s.length; i++) {
var c = s.charAt (i);
if ((c == '-') && (i == 0)) {
}
else if ((c == '.') && !decimalfound) {
decimalfound = true;
}
else if (!isDigit (c) || (decimalcount == 2)) {
return (false);
}
else if (decimalfound) {
decimalcount++;
}
}
}
return (true);
}
function GetSelectorValue (selector) {
return (selector.options[selector.selectedIndex].value);
}
function SetSelectorValue (selector, value) {
for (var i = 0; i < selector.options.length; i++) {
if (selector.options[i].value == value) {
selector.selectedIndex = i;
return (true);
}
}
return (false);
}
// get referring information
function getReferral (form) {
var referral = getLocationValue("referral");
if (referral != null) {
form.REFERRAL.value = referral;
}
}
// numbers or money only (myfield, e, true) accepts decimal false does not
function numbersOnly (myfield, e, dec) {
var key = 0;
if (window.event) {
key = window.event.keyCode;
}
else if (e) {
key = e.which;
}
switch (key) { // control keys
case 0:
case 8:
case 9:
case 13:
case 27:
return (true);
}
var keychar = String.fromCharCode(key);
if ("0123456789".indexOf(keychar) != -1) { // numbers
var idx = myfield.value.indexOf('.');
return ((idx == -1) || ((idx + 2) >= myfield.value.length));
}
if (dec && ((keychar == '.') || (keychar == ',')) && (myfield.value.indexOf('.') == -1)) { // decimal point jump
if (keychar == ',') {
myfield.value = myfield.value + '.';
return (false);
}
return (true);
}
return (false);
}
// get information from one or more fields
function GetIndexedField (control,index) {
return ((control.type == null) ? control[index] : control);
}
function GetFieldCount (control) {
return ((control == null) ? 0 : ((control.type == null) ? control.length : 1));
}
function GetIndexOfElement (ctrl) {
var elems = document.getElementsByName (ctrl.name)
var idx = 0;
for (var i = 0; i < elems.length; i++) {
if (elems[i].form == ctrl.form) {
if (elems[i] == ctrl) {
return (idx);
}
idx++;
}
}
return (-1);
}
// get selector values as comma separated list returned as a string
function getCommaSeparatedSelectorValues (selector) {
var selectorValues = "";
for (var i = 0; i < selector.options.length; i++) {
if (i != 0) {
selectorValues += ",";
}
selectorValues += selector.options[i].value;
}
return (selectorValues);
}
// change button classes on mouseover
function buttonOn (obj) {
obj.className = "blueover";
}
function buttonOff (obj) {
obj.className = "blue";
}
// vendor help open function
function vHelp(page) {
OpenWin = this.open(page, "CtrlWindow","toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes,width=605,height=450,left = 75,top = 75');");
}
// Checking length in textarea
function textLimiterAndCounter (field, countfield, maxlimit) {
if (field.value.length > maxlimit) {
field.value = field.value.substring(0, maxlimit);
alert ("The text exceeds the " + maxlimit + " character limit.");
}
else if (countfield != null) {
countfield.value = maxlimit - field.value.length;
}
}
function textLimiter (field, maxlimit) {
textLimiterAndCounter (field, null, maxlimit);
}
// find a certain product ID
function IsProductIDPresent (entryfd, pid) {
if (entryfd != null) {
if (entryfd.type != null) { // Is this an array?
return (entryfd.value == pid);
}
for (var i = 0; i < entryfd.length; i++) {
if (entryfd[i].value == pid) {
return (true);
}
}
}
return (false);
}
function IsAnyProductIDPresent (entryfd, pidlist) {
for (var i = 0; i < pidlist.length; i++) {
if (IsProductIDPresent (entryfd, pidlist[i])) {
return (true);
}
}
return (false);
}
// Limit Char set in a field
function limitToSet (myfield, e, charset) {
var key = 0;
if (window.event) {
key = window.event.keyCode;
}
else if (e) {
key = e.which;
}
switch (key) { // control keys
case 0:
case 8:
case 9:
case 13:
case 27:
return (true);
}
return (charset.indexOf(String.fromCharCode(key)) != -1);
}
var winCertDetails = null;
function OpenCertDetails() {
if (winCertDetails != null) {
winCertDetails.close ();
}
winCertDetails = window.open('https://sealinfo.thawte.com/thawtesplash?form_file=fdf/thawtesplash.fdf&dn=SECURE.BMTMICRO.COM&lang=en','THAWTE_Splash',config='height=1000,width=516,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,directories=no,status=no');
return (winCertDetails);
}
var winSecurityMetrics = null;
function OpenSecurityMetrics() {
if (winSecurityMetrics != null) {
winSecurityMetrics.close ();
}
winSecurityMetrics = window.open('https://www.securitymetrics.com/site_certificate?id=49099&tk=5bc045b74406d6d381377ad991970641','anew',config='height=465,width=650,toolbar=no,menubar=no,scrollbars=no,resizable=yes,location=no,directories=no,status=no');
return (winSecurityMetrics);
}
var decodeServletHTML_map = {
"&quot;" : "\"",
"&lt;" : "<",
"&gt;" : ">",
"&nbsp;" : "\u00A0",
"<br />" : "\n"
};
function decodeServletHTML (string) {
return (string.replace(/(&quot;|&lt;|&gt;|&nbsp;|<br \/>)/g, function(str, item) { return (decodeServletHTML_map[item]); }));
}
function initField (form, name, value) {
if ((value != null) && (value != ("\#\#" + name + "\#\#"))) {
value = decodeServletHTML (value);
for (var i = 0; i < form.elements.length; i++) {
var e = form.elements[i];
if ((e != null) && (name == e.name)) {
switch (e.type) {
case "select-one":
SetSelectorValue (e, value);
break;
case "checkbox":
e.checked = ((isNaN (value) == false) && (parseInt (value) != 0));
break;
case "radio":
e.checked = (e.value == value);
break;
default:
e.value = value;
break;
}
}
}
}
}
function queryField (form, name) {
for (var i = 0; i < form.elements.length; i++) {
var e = form.elements[i];
if ((e != null) && (name == e.name)) {
switch (e.type) {
case "select-one":
return (GetSelectorValue (e));
case "checkbox":
return (e.checked ? "-1" : "0");
case "radio":
if (e.checked) {
return (e.value);
}
break;
default:
return (e.value);
}
}
}
}
function copyField (form, dstname, srcname) {
initField (form, dstname, queryField (form, srcname));
}
// Return focus to active field
function saveActiveField (form) {
var ae = document.activeElement;
if ((ae != null) && (ae.name != null) && (ae.name != "")) {
var elems = document.getElementsByName (ae.name);
for (var i = 0; i < elems.length; i++) {
if (ae == elems[i]) {
var value = ae.name + ":" + i;
if (form.ACTIVEFIELD == null) {
var inputElement = document.createElement ("input");
var attribute = document.createAttribute ("type");
attribute.nodeValue = "hidden";
inputElement.setAttributeNode (attribute);
attribute = document.createAttribute ("name");
attribute.nodeValue = "ACTIVEFIELD";
inputElement.setAttributeNode (attribute);
attribute = document.createAttribute ("value");
attribute.nodeValue = value;
inputElement.setAttributeNode (attribute);
form.appendChild (inputElement);
}
else {
form.ACTIVEFIELD.value = value;
}
return;
}
}
}
}
function restoreActiveField (form) {
if (form.ACTIVEFIELD != null) {
var activeField = form.ACTIVEFIELD.value.split (":");
if (activeField.length == 2) {
var elems = document.getElementsByName (activeField[0]);
var idx = parseInt (activeField[1]);
if ((elems != null) && (elems.length > idx)) {
try {
elems[idx].focus (); // May fail if field is hidden! Must use try-catch!
}
catch (err) {
}
}
}
}
}
// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue (radioObj) {
if (radioObj != null) {
if (radioObj.type == null) { // Is this an array?
for (var i = 0; i < radioObj.length; i++) {
if (radioObj[i].checked) {
return (radioObj[i].value);
}
}
}
else if (radioObj.checked) {
return (radioObj.value);
}
}
return ("");
}
// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue (radioObj, newValue) {
if (radioObj != null) {
if (radioObj.type == null) { // Is this an array?
for (var i = 0; i < radioObj.length; i++) {
radioObj[i].checked = (radioObj[i].value == newValue);
}
}
else {
radioObj.checked = (radioObj.value == newValue);
}
}
}
// functions for handling currency names in price field values
function parsePrice (str) {
var front = 0;
while ((front != str.length) && ("0123456789.".indexOf (str.charAt (front)) == -1)) {
front++;
}
return (str.substring (front, str.length));
}
function parseCurrency (str) {
var front = 0;
while ((front != str.length) && ("0123456789.".indexOf (str.charAt (front)) == -1)) {
front++;
}
return (str.substring (0, front));
}
function addPaymentOption (selector, mask, id, text) {
if ((mask >> id) & 1) {
selector.options[selector.options.length] = new Option (text, id);
}
}
function addPaymentOptions (selector, mask) {
var names = [ "##$OPT_PAY_SOFORT##", "##$OPT_PAY_DEBITCARD##", "##$OPT_PAY_PAYPAL##", "##$OPT_PAY_PAYSAFE##", "##$OPT_PAY_BITPAY##", "##$OPT_PAY_EURWIRE##", "##$OPT_PAY_MAILFAX##" ];
var dnames = [ "Instant Bank Transfer", "UK Maestro Debit Card", "PayPal", "paysafecard", "BitPay (Bitcoins)", "Wire Transfer in Euros", "Mail/FAX" ];
var ids = [ 18, 7, 8, 22, 23, 5, 2 ];
for (var i = 0; i < ids.length; i++) {
var name = (names[i].indexOf ("\#\#$") == 0) ? dnames[i] : names[i];
addPaymentOption (selector, mask, ids[i], name);
}
if (((mask & (1<<1)) == 0) && (selector.options.length > 1) && (selector.options[0].value == 1)) { // Remove Credit Card option if masked out. However, only do this if we have other payment options
selector.options[0] = null;
}
}
function createPaymentControl (template, mask, id, text) {
if ((mask >> id) & 1) {
template = template.replace ("[PAYMENTCONTROLID]", id);
template = template.replace ("[PAYMENTCONTROLTEXT]", text);
document.write (template);
}
}
// Sample use: createPaymentControls ('<input type="radio" name="PAYMENTMETHOD_SEL" value="[PAYMENTCONTROLID]" onClick="paymentMethodChanged (document.forms[0]);" />&nbsp;[PAYMENTCONTROLTEXT]<br />', -1048577);
function createPaymentControls (template, mask) {
var names = [ "##$OPT_PAY_SOFORT##", "##$OPT_PAY_DEBITCARD##", "##$OPT_PAY_PAYPAL##", "##$OPT_PAY_PAYSAFE##", "##$OPT_PAY_BITPAY##", "##$OPT_PAY_EURWIRE##", "##$OPT_PAY_MAILFAX##" ];
var dnames = [ "Instant Bank Transfer", "UK Maestro Debit Card", "PayPal", "paysafecard", "BitPay (Bitcoins)", "Wire Transfer in Euros", "Mail/FAX" ];
var ids = [ 18, 7, 8, 22, 23, 5, 2 ];
for (var i = 0; i < ids.length; i++) {
var name = (names[i].indexOf ("\#\#$") == 0) ? dnames[i] : names[i];
createPaymentControl (template, mask, ids[i], name);
}
}
function addPaymentOptionButtons (name, mask) {
createPaymentControls ('<input type="radio" name="' + name + '" value="[PAYMENTCONTROLID]" onClick="paymentMethodChanged (document.forms[0]);" />&nbsp;[PAYMENTCONTROLTEXT]<br />', mask);
}
function addPaymentOptionsAZ (selector, mask, customorder) {
var names = [ "##$OPT_PAY_SOFORT##", "##$OPT_PAY_DEBITCARD##", "##$OPT_PAY_PAYPAL##", "##$OPT_PAY_AMAZON##", "##$OPT_PAY_PAYSAFE##", "##$OPT_PAY_BITPAY##", "##$OPT_PAY_EURWIRE##", "##$OPT_PAY_MAILFAX##" ];
var dnames = [ "Instant Bank Transfer", "UK Maestro Debit Card", "PayPal", "Amazon Payments", "paysafecard", "BitPay (Bitcoins)", "Wire Transfer in Euros", "Mail/FAX" ];
var ids = [ 18, 7, 8, 21, 22, 23, 5, 2 ];
if (customorder != null) {
for (var j = 0; j < customorder.length; j++) {
for (var i = 0; i < ids.length; i++) {
if ((ids[i] != 0) && (ids[i] == customorder[i])) {
var name = (names[i].indexOf ("\#\#$") == 0) ? dnames[i] : names[i];
addPaymentOption (selector, mask, ids[i], name);
ids[i] = 0;
}
}
}
}
for (var i = 0; i < ids.length; i++) {
if (ids[i] != 0) {
var name = (names[i].indexOf ("\#\#$") == 0) ? dnames[i] : names[i];
addPaymentOption (selector, mask, ids[i], name);
}
}
if (((mask & (1<<1)) == 0) && (selector.options.length > 1) && (selector.options[0].value == 1)) { // Remove Credit Card option if masked out. However, only do this if we have other payment options
selector.options[0] = null;
}
}
function createPaymentControlsAZ (template, mask, customorder) {
var names = [ "##$OPT_PAY_SOFORT##", "##$OPT_PAY_DEBITCARD##", "##$OPT_PAY_PAYPAL##", "##$OPT_PAY_AMAZON##", "##$OPT_PAY_PAYSAFE##", "##$OPT_PAY_BITPAY##", "##$OPT_PAY_EURWIRE##", "##$OPT_PAY_MAILFAX##" ];
var dnames = [ "Instant Bank Transfer", "UK Maestro Debit Card", "PayPal", "Amazon Payments", "paysafecard", "BitPay (Bitcoins)", "Wire Transfer in Euros", "Mail/FAX" ];
var ids = [ 18, 7, 8, 21, 22, 23, 5, 2 ];
if (customorder != null) {
for (var j = 0; j < customorder.length; j++) {
for (var i = 0; i < ids.length; i++) {
if ((ids[i] != 0) && (ids[i] == customorder[i])) {
var name = (names[i].indexOf ("\#\#$") == 0) ? dnames[i] : names[i];
createPaymentControl (template, mask, ids[i], name);
ids[i] = 0;
}
}
}
}
for (var i = 0; i < ids.length; i++) {
var name = (names[i].indexOf ("\#\#$") == 0) ? dnames[i] : names[i];
createPaymentControl (template, mask, ids[i], name);
}
}
function addPaymentOptionButtonsAZ (name, mask, customorder) {
createPaymentControlsAZ ('<input type="radio" name="' + name + '" value="[PAYMENTCONTROLID]" onClick="paymentMethodChanged (document.forms[0]);" />&nbsp;[PAYMENTCONTROLTEXT]<br />', mask, customorder);
}
//
//shoppingcart.js
function createCDLink (form, text) {
if ((0 != 0) && !IsProductIDPresent (form.PRODUCTID, 1100)){
document.write('<a href=https://secure.bmtmicro.com/cart?CID=1830/12&PRODUCTID=1100>');
if (text == null) {
document.write('<image src="https://secure.bmtmicro.com/resources/cd30.gif" border="0" alt="Add CD!">');
}
else {
document.write (text);
}
document.write('<\/a>');
return (true);
}
}
function updateCart (form) {
form.action = "https://secure.bmtmicro.com/cart";
populateCompanyField(form);
form.submit();
}
function quantitySelChanged (rownumber) {
var form = document.forms[0];
GetIndexedField (form.QUANTITY, rownumber).value = GetIndexedField (form.QUANTITY_SEL, rownumber).value;
updateCart (form)
}
function removeCartItem (rownumber) {
var form = document.forms[0];
GetIndexedField (form.QUANTITY, rownumber).value = "0";
updateCart (form)
}
function stateChanged (form) {
if (("" == "NC") || (GetSelectorValue (form.STATE) == "NC")) {
updateCart (form);
}
}
function currencyChanged (form) {
form.CURRENCY.value = GetSelectorValue (form.CURRENCY_SEL);
updateCart (form);
}
function paymentMethodChanged (form) {
form.PAYMENTMETHOD.value = GetSelectorValue (form.PAYMENTMETHOD_SEL);
switch (parseInt (form.PAYMENTMETHOD.value)) {
case 5: // Deutsche Bank
form.CURRENCY.value = "EUR";
break;
case 7: // UK Debit Card
form.CURRENCY.value = "GBP";
break;
default:
form.CURRENCY.value = "USD";
break;
}
updateCart (form);
}
function init (form) {
for (var productCount = Math.min(GetFieldCount (form.QUANTITY),GetFieldCount (form.QUANTITY_SEL)), i = 0; i < productCount; i++) {
var selector = GetIndexedField (form.QUANTITY_SEL, i);
if (selector.type == "select-one"){
SetSelectorValue (selector, GetIndexedField (form.QUANTITY, i).value);
}
}
if (form.PAYMENTMETHOD_SEL != null) {
form.PAYMENTMETHOD_SEL.options[1] = new Option ("Maestro/Solo Debit Card", "7");
if (0 == 0) {
form.PAYMENTMETHOD_SEL.options[2] = new Option ("PayPal ", "8");
form.PAYMENTMETHOD_SEL.options[3] = new Option ("Wire Transfer in Euros", "5");
form.PAYMENTMETHOD_SEL.options[4] = new Option ("Mail/FAX", "2");
}
SetSelectorValue (form.PAYMENTMETHOD_SEL, "1");
switch (1) {
case 2: // Mail/Fax
form.NEXT_PAGE.value = "https://secure.bmtmicro.com/ShoppingCart/thankscheck.html";
break;
case 5: // Deutsche Bank
form.NEXT_PAGE.value = "https://secure.bmtmicro.com/ShoppingCart/thanksdb.html";
break;
case 7: // UK Debit Card
default: // Credit card
break;
}
}
initField (form, "CURRENCY_SEL", "EUR");
initField (form, "FIRSTNAME", "");
initField (form, "LASTNAME", "");
initField (form, "REGISTERNAME", "##REGISTERNAME##");
initField (form, "COMPANY", "");
initField (form, "ADDRESS1", "");
initField (form, "ADDRESS2", "");
initField (form, "CITY", "");
initField (form, "STATE", "");
initField (form, "ZIP", "");
initField (form, "COUNTRY", "DE");
initField (form, "EMAIL", "");
initField (form, "EMAILAGAIN", "##EMAILAGAIN##");
initField (form, "WORKPHONE", "");
initField (form, "VATNUMBER", "");
initField (form, "CCNUMBER", "##CCNUMBER##");
initField (form, "CCTP", "##CCTP##");
initField (form, "CCEXPIREMONTH", "##CCEXPIREMONTH##");
initField (form, "CCEXPIREYEAR", "##CCEXPIREYEAR##");
initField (form, "ISSUEMONTH", "##ISSUEMONTH##");
initField (form, "ISSUEYEAR", "##ISSUEYEAR##");
initField (form, "ISSUENUMBER", "##ISSUENUMBER##");
initField (form, "DISCOUNTCODE", "");
initField (form, "ORDERPARAMETERS", "");
if (isBlank (form.ORDERPARAMETERS.value)){
form.ORDERPARAMETERS.value = getLocationValue("customer_ref") || encodeURIComponent(document.referrer);
}
var regInfo = form.REGISTERNAME.value;
var companyInfo = form.COMPANY.value;
if (!isBlank (regInfo) && !isBlank (companyInfo)){
form.LICENSETO[1].checked=true;
companyFieldVisible(true);
form.COMPANY.value = regInfo;
}
if (!isBlank (regInfo) && isBlank (companyInfo)){
form.LICENSETO[2].checked=true;
companyFieldVisible(true,true);
}
getAffiliateID(form);
}
/* Beginning Required for Customer Login */
function writeLoginText () {
if (0 == 0) {
document.write (" If you have ordered from us before, please <a href=\"javascript:toggleLayer('customerLogin');\" title=\"Log into Customer Account\">login here</a>.") ;
}
}
function toggleLayer( whichLayer ){
var elem, vis;
if( document.getElementById ) // this is the way the standards work
elem = document.getElementById( whichLayer );
else if( document.all ) // this is the way old msie versions work
elem = document.all[whichLayer];
else if( document.layers ) // this is the way nn4 works
elem = document.layers[whichLayer]; vis = elem.style; // if the style.display value is blank we try to figure it out here
if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
vis.display = (vis.display==''||vis.display=='block')?'none':'block';
if (vis.display=='block'){
document.forms[0].LOGINNAME.focus ();
}
}
function chkLogin (form) {
if (isBlank (form.LOGINNAME.value)) {
alert ("Please enter your login name or email address!");
form.LOGINNAME.focus ();
return (false);
}
form.ACTION.value = "2";
updateCart (form);
}
function isEnter (event) {
return ((window.event ? window.event.keyCode : (event ? event.which : 0)) == 13);
}
function processEnter (form,event) {
if (isEnter (event)) {
chkLogin (form);
return (false);
}
return (true);
}
/* End Required for Customer Login */
function validateForm (form) {
form.COMPANY.value = "";
var regInfo = form.REGISTERNAME.value;
if (form.LICENSETO[1].checked){
if (isBlank (regInfo)) {
alert ("You must enter your company name!");
form.REGISTERNAME.focus ();
return (false);
}
form.COMPANY.value = regInfo;
}
if (form.LICENSETO[2].checked){
if (isBlank (regInfo)) {
alert ("Please enter the person name in \"License to this name\" field.");
form.REGISTERNAME.focus ();
return (false);
}
}
return (processOnSubmit (form));
}
/**************************************************
* dom-drag.js
* 09.25.2001
* www.youngpup.net
* Script featured on Dynamic Drive (http://www.dynamicdrive.com) 12.08.2005
**************************************************
* 10.28.2001 - fixed minor bug where events
* sometimes fired off the handle, not the root.
**************************************************/
var Drag = {
obj : null,
init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
{
o.onmousedown = Drag.start;
o.hmode = bSwapHorzRef ? false : true ;
o.vmode = bSwapVertRef ? false : true ;
o.root = oRoot && oRoot != null ? oRoot : o ;
if (o.hmode && isNaN(parseInt(o.root.style.left ))) o.root.style.left = "0px";
if (o.vmode && isNaN(parseInt(o.root.style.top ))) o.root.style.top = "0px";
if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right = "0px";
if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";
o.minX = typeof minX != 'undefined' ? minX : null;
o.minY = typeof minY != 'undefined' ? minY : null;
o.maxX = typeof maxX != 'undefined' ? maxX : null;
o.maxY = typeof maxY != 'undefined' ? maxY : null;
o.xMapper = fXMapper ? fXMapper : null;
o.yMapper = fYMapper ? fYMapper : null;
o.root.onDragStart = new Function();
o.root.onDragEnd = new Function();
o.root.onDrag = new Function();
},
start : function(e)
{
var o = Drag.obj = this;
e = Drag.fixE(e);
var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom);
var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
o.root.onDragStart(x, y);
o.lastMouseX = e.clientX;
o.lastMouseY = e.clientY;
if (o.hmode) {
if (o.minX != null) o.minMouseX = e.clientX - x + o.minX;
if (o.maxX != null) o.maxMouseX = o.minMouseX + o.maxX - o.minX;
} else {
if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
}
if (o.vmode) {
if (o.minY != null) o.minMouseY = e.clientY - y + o.minY;
if (o.maxY != null) o.maxMouseY = o.minMouseY + o.maxY - o.minY;
} else {
if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
}
document.onmousemove = Drag.drag;
document.onmouseup = Drag.end;
return false;
},
drag : function(e)
{
e = Drag.fixE(e);
var o = Drag.obj;
var ey = e.clientY;
var ex = e.clientX;
var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom);
var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
var nx, ny;
if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);
nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));
if (o.xMapper) nx = o.xMapper(y)
else if (o.yMapper) ny = o.yMapper(x)
Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
Drag.obj.lastMouseX = ex;
Drag.obj.lastMouseY = ey;
Drag.obj.root.onDrag(nx, ny);
return false;
},
end : function()
{
document.onmousemove = null;
document.onmouseup = null;
Drag.obj.root.onDragEnd( parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]),
parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
Drag.obj = null;
},
fixE : function(e)
{
if (typeof e == 'undefined') e = window.event;
if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
return e;
}
};
//
// orderScript.js
//
var MSGID_NOFIRSTNAME = 0;
var MSGID_NOLASTNAME = 1;
var MSGID_NOADDRESS = 2;
var MSGID_NOCITY = 3;
var MSGID_NOZIP = 4;
var MSGID_BADUSZIP = 5;
var MSGID_NOSTATE = 6;
var MSGID_USWRONGCOUNTRY = 7;
var MSGID_CAWRONGCOUNTRY = 8;
var MSGID_NOCOUNTRY = 9;
var MSGID_NOPHONE = 10;
var MSGID_BADPHONE = 11;
var MSGID_NOEMAIL = 12;
var MSGID_BADEMAIL = 13;
var MSGID_EMAILMISMATCH = 14;
var MSGID_BADALTEMAIL = 15;
var MSGID_NOSHIPFIRSTNAME = 16;
var MSGID_NOSHIPLASTNAME = 17;
var MSGID_BADQUANTITY = 18;
var MSGID_NOCCNUM = 19;
var MSGID_BADCCNUM = 20;
var MSGID_CCNUMTOOSHORT = 21;
var MSGID_CCNUMTOOLONG = 22;
var MSGID_CCVISA = 23;
var MSGID_CCMC = 24;
var MSGID_CCAMEX = 25;
var MSGID_CCDINERS = 26;
var MSGID_CCDISCOVER = 27;
var MSGID_CCJCB = 28;
var MSGID_CCERROR = 29;
var MSGID_CCPURCHASECARD = 30;
var MSGID_CCSEC = 31;
var MSGID_CCGBPONLY = 32;
var MSGID_CCUSDONLY = 33;
var MSGID_BADCCEXPYEAR = 34;
var MSGID_BADCCEXPMONTH = 35;
var MSGID_CCDATEEXPIRED = 36;
var MSGID_CCYEAREXPIRED = 37;
var MSGID_CCFUTURE = 38;
var MSGID_NOUSERGROUPID = 39;
var MSGID_CONFIRMATION = 40;
var MSGID_NOISSUEINFO = 41;
var MSGID_BADISSUEYEAR = 42;
var MSGID_BADISSUEMONTH = 43;
var MSGID_ONLYCDINORDER = 44;
var MSGID_CARTISEMPTY = 45;
var MSGID_CARDISCREDITCARD = 46;
var MSGID_CARDISDEBITCARD = 47;
var MSGID_CARDTYPEMISMATCH = 48;
var MSGID_NOREGINFONAME = 49;
var MSGID_NOREGINFOEMAIL = 50;
var MSGID_BADZIP = 51;
var MSGID_AMEXNOTACCEPTED = 52;
var CARDTYPE_VISA = 'V'; // Visa
var CARDTYPE_MASTERCARD = 'M'; // Mastercard
var CARDTYPE_AMEX = 'A'; // American Express
var CARDTYPE_DISCOVER = 'D'; // Discover
var CARDTYPE_DINERS = 'C'; // Diners Club
var CARDTYPE_JCB = 'J'; // JCB
var CARDTYPE_SWITCH = 'S'; // Switch (debit card)
var CARDTYPE_SOLO = 'O'; // Solo (debit card)
var CARDTYPE_MAESTRO = 'E'; // Maestro (debit card)
var CARDTYPE_LASER = 'L'; // Laser (debit card)
var PAYMENTMETHOD_CREDITCARD = 1;
var PAYMENTMETHOD_DEBITCARD = 7;
var PAYMENTMETHOD_PAYPAL = 8;
var PAYMENTMETHOD_AMAZON = 21;
var orderScriptMsgs = [
"You must provide your first name.",
"You must provide your last name.",
"You must provide your address.",
"You must provide your city.",
"You must provide your postal code.",
"US postal codes must be in the format 00000 or 00000-0000",
"You must provide your state.",
"You have selected a US state but the country is not set to USA. Press Ok to change country to USA or Cancel to correct the error.",
"You have selected a Canadian province but the country is not set to Canada. Press Ok to change country to Canada or Cancel to correct the error.",
"You must provide your country.",
"You must provide your phone number.",
"Please provide a valid phone number. We may need it in case there are problems with your order or payment information.",
"You must provide your email address.",
"You must provide a VALID email address.",
"Email address mismatch. Please enter your address again.",
"The alternate email address, if specified, must be a valid address.",
"You must provide your first name or the name of your company.",
"You must provide your last name or the name of your company.",
"Orders for more than [PARAMETER1] items of the same type must be placed via phone or FAX.\n\nOur phone numbers are 800-414-4268 (USA, toll free) or 910-792-9100 (international).\nOur FAX numbers are 800-346-1672 (USA, toll free) or 910-792-1889 (international).",
"You must provide a card number.",
"The card number does not appear to be valid. Please verify that you typed in the card number correctly.",
"The card number is too short. Please verify that you typed in the card number correctly.",
"The card number is too long. Please verify that you typed in the card number correctly.",
"VISA cards should have 13 or 16+ digits in the card number. Please verify that you typed in the card number correctly.",
"MASTERCARD cards should have at least 16 digits in the card number. Please verify that you typed in the card number correctly.",
"AMERICAN EXPRESS cards should have 15 digits in the card number. Please verify that you typed in the card number correctly.",
"DINERS/CARTE BLANCHE cards should have 14 digits in the card number. Please verify that you typed in the card number correctly.",
"DISCOVER/NOVUS cards should have 16 digits in the card number. Please verify that you typed in the card number correctly.",
"JCB cards should have 16 digits in the card number. Please verify that you typed in the card number correctly.",
"We do not accept credit/debit cards starting with '[PARAMETER1]'. Please verify that you typed in the card number correctly and that the card type is one that we support.",
"You have typed in a 4-digit security code for your Visa card.\n\nIf this is correct, then your card is a PURCHASE CARD.\n\nOrdering with a purchase card requires us to have your purchase order on file. Please call or FAX us.\nOur phone numbers are 800-414-4268 (US, toll free) or 910-792-9100 (international).\nOur FAX numbers are 800-346-1672 (US, toll free) or 910-350-2937 (international).",
"You must provide a [PARAMETER1]-digit card security code.",
"Your card can only be charged in British Pounds (GBP).\nIf the order form has a currency selector, please change the currency to GBP. Otherwise use a different card.",
"Your card can only be charged in US dollars (USD).\nIf the order form has a currency selector, please change the currency to USD. Otherwise use a different card.",
"You must provide a valid expiration year.",
"You must provide a valid expiration month.",
"The expiration date is not valid or the card has expired.",
"The expiration year is not valid or the card has expired.",
"The expiration date is more than five years in the future.\nPlease press OK to confirm that the expiration date is [PARAMETER1] or press Cancel to correct.",
"This order form is missing the required USERGROUPID field\n\nPlease contact webmaster@bmtmicro.com to inform us about this problem. Thank you.",
"Your Confirmation Email will be sent to [PARAMETER1]. If this information is correct click OK to submit your order",
"You must provide either the issue number or the issue date.",
"The card issue year is not valid",
"The card issue month is not valid",
"Ordering the CD requires the purchase of an accompanying product. Please add a product to the cart.",
"Your shopping cart is empty",
"The card number you provided appears to be a credit card. Please change the payment method to CREDIT CARD.",
"The card number you provided appears to be a debit card. Please change the payment method to DEBIT CARD.",
"The card number does not match the card type selected. Please verify that you have selected the correct card type.",
"Please specify the name of the recipient",
"Please specify a valid e-mail for the recipient",
"Only letters (A-Z), numbers (0-9), dashes (-) and spaces are allowed in the postal code.",
"We are sorry, but American Express cards are not allowed for this order. Please choose a different form of payment."
];
function loadOrderScriptMsgs () {
var language = parseInt ("12");
if (language > 1) {
document.write("<SCRIPT language=javascript src=\"https://secure.bmtmicro.com/OrderScript/orderScriptMsgs." + language + "\" type=\"text/javascript\"><\/SCRIPT>");
}
}
function getOrderScriptMsg (messageid, param1) {
if ((orderScriptMsgs != null) && (messageid < orderScriptMsgs.length)) {
var msg = orderScriptMsgs[messageid];
if (param1 !== undefined) {
msg = msg.replace ("[PARAMETER1]", param1);
}
return (msg);
}
return ("Message not found");
}
function isWhitespace (c) {
var whitespace = " \t\r\n\f";
return (whitespace.indexOf (c) != -1);
}
function isDigit (c) {
var digits = "0123456789";
return (digits.indexOf (c) != -1);
}
function trim (str) {
if (str != null) {
var front = 0;
var back = str.length;
while ((front != back) && isWhitespace (str.charAt (front))) {
front++;
}
while ((front != back) && isWhitespace (str.charAt (back - 1))) {
back--;
}
str = str.substring (front, back);
}
return (str);
}
function stripLeadingZeroes (str) {
if (str != null) {
var front = 0;
var back = str.length;
while ((front != back) && (str.charAt (front) == '0')) {
front++;
}
str = str.substring (front, back);
}
return (str);
}
function isBlank (str) {
if (str == null) {
return (true);
}
for (var i = 0; i < str.length; i++) {
var c = str.charAt (i);
if (!isWhitespace (c)) {
return (false);
}
}
return (true);
}
function isValidEmail (str) {
if (str == null) {
return (false);
}
str = trim (str); // Start by trimming off whitespace at both ends
try {
if (window.RegExp) {
var tempStr = "a"; // First check that regular expression support is present
var tempReg = new RegExp (tempStr);
if (tempReg.test (tempStr)) {
var re = new RegExp ("^\\s*[A-Za-z0-9!#$%&'*+\\/=?^_`{|}~]+[A-Za-z0-9!#$%&'*+\\/=?^_`{|}~-]*(?:\\.[A-Za-z0-9!#$%&'*+\\/=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\s*$");
return (re.test (str));
}
}
}
catch (err) {
}
for (var i = 0; i < str.length; i++) { // Check that the address does not contain whitespace
var c = str.charAt (i);
if (isWhitespace (c)) {
return (false);
}
}
return (str.indexOf (".") > 2) && (str.indexOf ("@") > 0);
}
function isValidUSZIP (str) {
if (str == null) {
return (false);
}
str = trim (str); // Start by trimming off whitespace at both ends
if ((str.length != 5) && (str.length != 10)) {
return (false);
}
for (var i = 0; i < str.length; i++) { // Check that the address does not contain whitespace
var c = str.charAt (i);
if (i == 5) {
if (c != '-') {
return (false);
}
}
else {
if (!isDigit (c)) {
return (false);
}
}
}
return (true);
}
function checkZIP (str) {
if (str != null) {
for (var i = 0; i < str.length; i++) { // Check that the ZIP only contains allowed characters
if ("abcdefghijklmnopqrstuvwzyxABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- ".indexOf (str.charAt (i)) == -1) {
return (false);
}
}
}
return (true);
}
function getDigitsInString (str) {
var s = "";
if (str != null) {
for (var i = 0; i < str.length; i++) {
var c = str.charAt (i);
if (isDigit (c)) {
s += c;
}
}
}
return (s);
}
function isValidPhoneNumber (str, isUSA) {
var phone = getDigitsInString (str);
return (isUSA ? (phone.length >= 10) : (phone.length >= 5));
}
function setFocus (control) {
if (control.type == 'hidden') {
return (false);
}
control.focus ();
return (true);
}
function setControlValue (control, value) {
switch (control.type) {
case 'select-one':
for (var i = 0; i < control.options.length; i++) {
if (control.options[i].value.toUpperCase () == value.toUpperCase ()) {
control.selectedIndex = i;
break;
}
}
break;
default:
control.value = value;
break;
}
}
function getControlValue (control) {
switch (control.type) {
case 'select-one':
return (control.options[control.selectedIndex].value);
default:
return (control.value);
}
}
function getControlText (control) {
switch (control.type) {
case 'select-one':
return (control.options[control.selectedIndex].text);
default:
return (control.value);
}
}
function verifyCDOrder (form) {
if (form.PRODUCTID != null) {
if (form.PRODUCTID.type == null) {
for (var i = 0; i < form.PRODUCTID.length; i++) {
if (parseInt (form.PRODUCTID[i].value) != 1100) {
return (true);
}
}
}
else if (parseInt (form.PRODUCTID.value) != 1100) {
return (true);
}
alert (getOrderScriptMsg (MSGID_ONLYCDINORDER));
return (false);
}
return (true);
}
function fieldCheck (control) {
return ((control != null) && (control.type != "hidden"));
}
function blankCheck (control) {
return (fieldCheck (control) && isBlank (control.value));
}
function verifyAddressInfo (form) {
var country = (form.COUNTRY == null) ? "" : trim (getControlValue (form.COUNTRY)).toUpperCase ();
var isUSA = (country == "US") || (country == "USA");
var isCanada = (country == "CA") || (country == "CANADA");
var firstname = (form.FIRSTNAME != null) ? form.FIRSTNAME : form.FIRST_NAME;
var lastname = (form.LASTNAME != null) ? form.LASTNAME : form.LAST_NAME;
var paymentmethod = (form.PAYMENTMETHOD == null) ? PAYMENTMETHOD_CREDITCARD : parseInt (form.PAYMENTMETHOD.value);
if (blankCheck (firstname)) {
alert (getOrderScriptMsg (MSGID_NOFIRSTNAME));
firstname.focus ();
return (false);
}
if (blankCheck (lastname)) {
alert (getOrderScriptMsg (MSGID_NOLASTNAME));
lastname.focus ();
return (false);
}
if (blankCheck (form.ADDRESS1)) {
alert (getOrderScriptMsg (MSGID_NOADDRESS));
form.ADDRESS1.focus ();
return (false);
}
if (blankCheck (form.CITY)) {
alert (getOrderScriptMsg (MSGID_NOCITY));
form.CITY.focus ();
return (false);
}
if (fieldCheck (form.ZIP)) {
if (isBlank (form.ZIP.value)) {
alert (getOrderScriptMsg (MSGID_NOZIP));
form.ZIP.focus ();
return (false);
}
if (isUSA && !isValidUSZIP (form.ZIP.value)) {
alert (getOrderScriptMsg (MSGID_BADUSZIP));
form.ZIP.focus ();
return (false);
}
if (!checkZIP (form.ZIP.value)) {
alert (getOrderScriptMsg (MSGID_BADZIP));
form.ZIP.focus ();
return (false);
}
}
if (fieldCheck (form.STATE)) {
if ((isUSA || isCanada) && isBlank (getControlValue (form.STATE))) {
alert (getOrderScriptMsg (MSGID_NOSTATE));
form.STATE.focus ();
return (false);
}
if ((form.STATE.type == 'select-one') && !isBlank (getControlValue (form.STATE))) {
var USStateList = "AL,AK,AR,AZ,CA,CO,CT,DE,DC,FL,GA,HI,ID,IL,IN,IA,KS,KY,LA,ME,MD,MA,MI,MN,MS,MO,MT,NE,NV,NH,NJ,NM,NY,NC,ND,OH,OK,OR,PA,PR,RI,SC,SD,TN,TX,UT,VA,VT,WA,WV,WI,WY,AE,AA,AE,AE,AE,AP";
if (USStateList.indexOf (getControlValue (form.STATE)) != -1) {
if (!isUSA) {
if (!confirm (getOrderScriptMsg (MSGID_USWRONGCOUNTRY))) {
form.COUNTRY.focus ();
return (false);
}
setControlValue (form.COUNTRY, "USA");
setControlValue (form.COUNTRY, "US");
return (verifyAddressInfo (form));
}
}
var CanadaProvinceList = "AB,BC,MB,NB,NF,NT,NS,NU,ON,PE,QC,SK,YT";
if (CanadaProvinceList.indexOf (getControlValue (form.STATE)) != -1) {
if (!isCanada) {
if (!confirm (getOrderScriptMsg (MSGID_CAWRONGCOUNTRY))) {
form.COUNTRY.focus ();
return (false);
}
setControlValue (form.COUNTRY, "CANADA");
setControlValue (form.COUNTRY, "CA");
return (verifyAddressInfo (form));
}
}
}
}
if (fieldCheck (form.COUNTRY) && isBlank (getControlValue (form.COUNTRY))) {
alert (getOrderScriptMsg (MSGID_NOCOUNTRY));
form.COUNTRY.focus ();
return (false);
}
if (fieldCheck (form.WORKPHONE)) {
if (isBlank (form.WORKPHONE.value)) {
alert (getOrderScriptMsg (MSGID_NOPHONE));
form.WORKPHONE.focus ();
return (false);
}
if (!isValidPhoneNumber (form.WORKPHONE.value, isUSA)) {
alert (getOrderScriptMsg (MSGID_BADPHONE));
form.WORKPHONE.focus ();
return (false);
}
}
if (fieldCheck (form.EMAIL)) {
if (isBlank (form.EMAIL.value)) {
switch (paymentmethod) {
case PAYMENTMETHOD_PAYPAL:
case PAYMENTMETHOD_AMAZON:
break;
default:
alert (getOrderScriptMsg (MSGID_NOEMAIL));
form.EMAIL.focus ();
return (false);
}
}
else if (!isValidEmail (form.EMAIL.value)) {
alert (getOrderScriptMsg (MSGID_BADEMAIL));
form.EMAIL.focus ();
return (false);
}
if (form.EMAILAGAIN != null) {
if (form.EMAILAGAIN.value != form.EMAIL.value) {
form.EMAIL.value = "";
form.EMAILAGAIN.value = "";
alert (getOrderScriptMsg (MSGID_EMAILMISMATCH));
form.EMAIL.focus ();
return (false);
}
}
}
if (fieldCheck (form.ALTEMAIL) && !isBlank(form.ALTEMAIL.value) && !isValidEmail(form.ALTEMAIL.value)) {
alert (getOrderScriptMsg (MSGID_BADALTEMAIL));
form.ALTEMAIL.focus ();
return (false);
}
return (true);
}
function verifyShippingInfo (form) {
if ((form.SHIP_COUNTRY != null) && ((form.SHIPTOBILLINGADDRESS == null) || !form.SHIPTOBILLINGADDRESS.checked)) {
var country = trim (getControlValue (form.SHIP_COUNTRY)).toUpperCase ();
var isUSA = (country == "US") || (country == "USA");
var firstname = (form.SHIP_FIRSTNAME != null) ? form.SHIP_FIRSTNAME : form.SHIP_FIRST_NAME;
var lastname = (form.SHIP_LASTNAME != null) ? form.SHIP_LASTNAME : form.SHIP_LAST_NAME;
if (isBlank (form.SHIP_COMPANY.value) && isBlank (firstname.value)) {
alert (getOrderScriptMsg (MSGID_NOSHIPFIRSTNAME));
firstname.focus ();
return (false);
}
if (isBlank (form.SHIP_COMPANY.value) && isBlank (lastname.value)) {
alert (getOrderScriptMsg (MSGID_NOSHIPLASTNAME));
lastname.focus ();
return (false);
}
if (isBlank (form.SHIP_ADDRESS1.value)) {
alert (getOrderScriptMsg (MSGID_NOADDRESS));
form.SHIP_ADDRESS1.focus ();
return (false);
}
if (isBlank (form.SHIP_CITY.value)) {
alert (getOrderScriptMsg (MSGID_NOCITY));
form.SHIP_CITY.focus ();
return (false);
}
if (isBlank (form.SHIP_ZIP.value)) {
alert (getOrderScriptMsg (MSGID_NOZIP));
form.SHIP_ZIP.focus ();
return (false);
}
if (isUSA && !isValidUSZIP (form.SHIP_ZIP.value)) {
alert (getOrderScriptMsg (MSGID_BADUSZIP));
form.SHIP_ZIP.focus ();
return (false);
}
if (!checkZIP (form.SHIP_ZIP.value)) {
alert (getOrderScriptMsg (MSGID_BADZIP));
form.SHIP_ZIP.focus ();
return (false);
}
if (form.SHIP_STATE != null) {
if (isUSA && isBlank (getControlValue (form.SHIP_STATE))) {
alert (getOrderScriptMsg (MSGID_NOSTATE));
form.SHIP_STATE.focus ();
return (false);
}
if ((form.SHIP_STATE.type == 'select-one') && !isBlank (getControlValue (form.SHIP_STATE))) {
var USStateList = "AL,AK,AR,AZ,CA,CO,CT,DE,DC,FL,GA,HI,ID,IL,IN,IA,KS,KY,LA,ME,MD,MA,MI,MN,MS,MO,MT,NE,NV,NH,NJ,NM,NY,NC,ND,OH,OK,OR,PA,PR,RI,SC,SD,TN,TX,UT,VA,VT,WA,WV,WI,WY,AE,AA,AE,AE,AE,AP";
if (USStateList.indexOf (getControlValue (form.SHIP_STATE)) != -1) {
if (!isUSA) {
if (!confirm (getOrderScriptMsg (MSGID_USWRONGCOUNTRY))) {
form.SHIP_COUNTRY.focus ();
return (false);
}
setControlValue (form.SHIP_COUNTRY, "USA");
setControlValue (form.SHIP_COUNTRY, "US");
return (verifyShippingInfo (form));
}
}
var CanadaProvinceList = "AB,BC,MB,NB,NF,NT,NS,NU,ON,PE,QU,SK,YT";
if (CanadaProvinceList.indexOf (getControlValue (form.SHIP_STATE)) != -1) {
var isCanada = (getControlValue (form.SHIP_COUNTRY) == "CA") || (trim (getControlValue (form.SHIP_COUNTRY)).toUpperCase () == "CANADA");
if (!isCanada) {
if (!confirm (getOrderScriptMsg (MSGID_CAWRONGCOUNTRY))) {
form.SHIP_COUNTRY.focus ();
return (false);
}
setControlValue (form.SHIP_COUNTRY, "CANADA");
setControlValue (form.SHIP_COUNTRY, "CA");
return (verifyShippingInfo (form));
}
}
}
}
if (isBlank (getControlValue (form.SHIP_COUNTRY))) {
alert (getOrderScriptMsg (MSGID_NOCOUNTRY));
form.SHIP_COUNTRY.focus ();
return (false);
}
if ((form.SHIP_PHONE != null) && !isBlank (form.SHIP_PHONE.value)) {
if (!isValidPhoneNumber (form.SHIP_PHONE.value, isUSA)) {
alert (getOrderScriptMsg (MSGID_BADPHONE));
form.SHIP_PHONE.focus ();
return (false);
}
}
}
if (form.SHIP_EMAIL != null) {
if (isBlank (form.SHIP_EMAIL.value)) {
alert (getOrderScriptMsg (MSGID_NOEMAIL));
form.SHIP_EMAIL.focus ();
return (false);
}
if (!isValidEmail (form.SHIP_EMAIL.value)) {
alert (getOrderScriptMsg (MSGID_BADEMAIL));
form.SHIP_EMAIL.focus ();
return (false);
}
}
return (true);
}
function verifyQuantityField (form, control) {
var maxQuantity = (form.MAXQUANTITY == null) ? 150 : parseInt (form.MAXQUANTITY.value);
if ((parseInt (control.value) > maxQuantity) && (form.CCNUMBER != null) && (form.CCNUMBER.value.length >= 12)) {
alert (getOrderScriptMsg (MSGID_BADQUANTITY, maxQuantity));
setFocus (control);
return (false);
}
return (true);
}
function verifyQuantityInfo (form) {
if (form.QUANTITY == null) {
alert (getOrderScriptMsg (MSGID_CARTISEMPTY));
return (false);
}
if (form.QUANTITY.type == null) { // Is this an array?
for (var i = 0; i < form.QUANTITY.length; i++) {
if (!verifyQuantityField (form, form.QUANTITY[i])) {
return (false);
}
}
return (true);
}
return (verifyQuantityField (form, form.QUANTITY));
}
function verifyCreditCardNumberChecksum (cardnum) {
var idx = cardnum.length;
var sum = 0;
for (var sec = false; idx-- != 0; sec = !sec) {
var tmp = cardnum.charAt (idx) - '0';
if (sec) {
tmp *= 2;
if (tmp >= 10) {
tmp -= 10;
sum++;
}
}
sum += tmp;
}
return ((sum % 10) == 0);
}
function checkCardNumLength (form, cardnum, minlength, maxlength) {
if (cardnum.length < minlength) {
alert (getOrderScriptMsg (MSGID_CCNUMTOOSHORT));
return (false);
}
if (cardnum.length > maxlength) {
alert (getOrderScriptMsg (MSGID_CCNUMTOOLONG));
return (false);
}
return (true);
}
function isDebitCard (cardtype) {
return ("SOEL".indexOf (cardtype) != -1);
}
function getCardType (form, cardnum) {
if ((form.CUSTOMERID != null) && (parseInt (form.CUSTOMERID.value) != 0) && (cardnum.length == 4)) {
return ("*");
}
if (checkCardNumLength (form, cardnum, 12, 19)) {
var d1 = parseInt (cardnum.substring (0, 1));
var d2 = parseInt (cardnum.substring (0, 2));
var d3 = parseInt (cardnum.substring (0, 3));
var d4 = parseInt (cardnum.substring (0, 4));
var d6 = parseInt (cardnum.substring (0, 6));
if ((d4 == 4903) || (d4 == 4905) || (d4 == 4911) || (d4 == 4936) || (d6 == 564182) || (d6 == 633110) || (d4 == 6333) || (d4 == 6759)) {
return (CARDTYPE_SWITCH); // Switch (debit card)
}
if ((d4 == 6334) || (d4 == 6767)) {
return (CARDTYPE_SOLO); // Solo (debit card)
}
if ((d4 == 6304) || (d4 == 6706) || (d4 == 6771) || (d4 == 6709)) {
return (CARDTYPE_LASER); // Laser (debit card)
}
if (d1 == 4) {
return (CARDTYPE_VISA);
}
if (((d2 >= 51) && (d2 <= 55)) || ((d4 >= 2221) && (d4 <= 2720))) {
return (CARDTYPE_MASTERCARD);
}
if ((d2 == 34) || (d2 == 37)) {
return (CARDTYPE_AMEX);
}
if (((d3 >= 300) && (d3 <= 305)) || ((d4 >= 3095) && (d4 <= 3099)) || (d2 == 36) || (d2 == 38) || (d2 == 39)) {
return (CARDTYPE_DINERS);
}
if ((d4 == 6011) || ((d6 >= 622126) && (d6 <= 622925)) || ((d3 >= 644) && (d3 <= 649)) || (d2 == 65)) {
return (CARDTYPE_DISCOVER);
}
if ((d2 == 50) || ((d2 >= 56) && (d2 <= 69))) {
return (CARDTYPE_MAESTRO); // Maestro (debit card)
}
if (((d4 >= 3112) && (d4 <= 3120)) || ((d4 >= 3158) && (d4 <= 3159)) || ((d4 >= 3337) && (d4 <= 3349)) || ((d4 >= 3528) && (d4 <= 3589))) {
return (CARDTYPE_JCB);
}
alert (getOrderScriptMsg (MSGID_CCERROR, cardnum.substring (0, 4)));
}
return (null);
}
function verifyCreditCardInfo (form) {
var method = (form.PAYMENTMETHOD == null) ? PAYMENTMETHOD_CREDITCARD : parseInt (form.PAYMENTMETHOD.value);
if ((form.CCNUMBER != null) && ((method == PAYMENTMETHOD_CREDITCARD) || (method == PAYMENTMETHOD_DEBITCARD))) {
var date = new Date ();
var str = form.CCNUMBER.value;
if (isBlank (str)) {
alert (getOrderScriptMsg (MSGID_NOCCNUM));
form.CCNUMBER.focus ();
return (false);
}
if ((str.length >= 4) && (str.substring (0, 4).toLowerCase () == "pin=")) {
return (true);
}
var cardtype = null;
if (form.CCTP != null) {
if (form.CCTP.type == "select-one") {
cardtype = form.CCTP.value;
}
else if (str.substring (0, 1) == "*") {
cardtype = form.CCTP.value;
}
}
var cardnum = getDigitsInString (str);
if ((str.length < 12) || (str.indexOf (cardnum) != (str.length - 4))) {
var chksumok = verifyCreditCardNumberChecksum (cardnum);
if ((cardnum.length > 4) && (cardnum.length < 12) && chksumok) {
return (true);
}
var cardnumtype = getCardType (form, cardnum);
if (cardnumtype == null) {
if (cardtype == null) {
// alert will already have been issued by getCardType
form.CCNUMBER.focus ();
return (false);
}
}
else {
if ((cardtype != null) && (cardtype != cardnumtype) && (form.CCTP.type == "select-one")) {
alert (getOrderScriptMsg (MSGID_CARDTYPEMISMATCH));
form.CCTP.focus ();
return (false);
}
cardtype = cardnumtype;
}
if ((cardtype == CARDTYPE_AMEX) && (("0" == "-1") || ("0" == "-1"))) {
alert (getOrderScriptMsg (MSGID_AMEXNOTACCEPTED));
form.CCNUMBER.focus ();
return (false);
}
if (!chksumok) {
alert (getOrderScriptMsg (MSGID_BADCCNUM));
form.CCNUMBER.focus ();
return (false);
}
}
if (method == PAYMENTMETHOD_DEBITCARD) {
if (!isDebitCard (cardtype)) {
alert (getOrderScriptMsg (MSGID_CARDISCREDITCARD));
if (form.PAYMENTMETHOD != null) {
form.PAYMENTMETHOD.focus ();
}
return (false);
}
if (getControlValue (form.CURRENCY) != "GBP") {
alert (getOrderScriptMsg (MSGID_CCGBPONLY));
form.CCNUMBER.focus ();
return (false);
}
if ((parseInt (form.ISSUEMONTH.value) != 0) || (parseInt (form.ISSUEYEAR.value) != 0)) {
var issueyear = parseInt (getControlText (form.ISSUEYEAR));
if (isNaN (issueyear) || (issueyear < 1990) || (issueyear > date.getFullYear ())) {
alert (getOrderScriptMsg (MSGID_BADISSUEYEAR));
form.ISSUEYEAR.focus ();
return (false);
}
var issuemonth = parseInt (stripLeadingZeroes (getControlText (form.ISSUEMONTH)));
if (isNaN (issuemonth) || (issuemonth < 1) || (issuemonth > 12)) {
alert (getOrderScriptMsg (MSGID_BADISSUEMONTH));
form.ISSUEMONTH.focus ();
return (false);
}
}
else if (isBlank (form.ISSUENUMBER.value)) {
alert (getOrderScriptMsg (MSGID_NOISSUEINFO));
form.ISSUENUMBER.focus ();
return (false);
}
}
else {
if (isDebitCard (cardtype)) {
alert (getOrderScriptMsg (MSGID_CARDISDEBITCARD));
if (form.PAYMENTMETHOD != null) {
form.PAYMENTMETHOD.focus ();
}
return (false);
}
if ((form.CVV.value.toUpperCase () != "X") && (form.CVV.value.toUpperCase () != "I")) {
var cvvlen = getDigitsInString (form.CVV.value).length;
var len = 0;
switch (cardtype) {
case CARDTYPE_VISA:
if (cvvlen == 4) {
//alert (getOrderScriptMsg (MSGID_CCPURCHASECARD));
//form.CVV.focus ();
//return (false);
len = 4;
}
else {
len = 3;
}
break;
case CARDTYPE_MASTERCARD:
len = 3;
break;
case CARDTYPE_AMEX:
len = 4;
break;
case CARDTYPE_DISCOVER:
len = 3;
break;
}
if ((len != 0) && (len != cvvlen)) {
alert (getOrderScriptMsg (MSGID_CCSEC, len));
form.CVV.focus ();
return (false);
}
}
var currency = (form.CURRENCY == null) ? "USD" : getControlValue (form.CURRENCY);
if (!isDebitCard (cardtype)) {
switch (cardtype) {
case CARDTYPE_VISA:
case CARDTYPE_MASTERCARD:
break;
default:
if (currency != "USD") {
alert (getOrderScriptMsg (MSGID_CCUSDONLY));
form.CCNUMBER.focus ();
return (false);
}
break;
}
}
}
var expyear = parseInt (getControlText (form.CCEXPIREYEAR));
if (isNaN (expyear) || (expyear < 2002)) {
alert (getOrderScriptMsg (MSGID_BADCCEXPYEAR));
form.CCEXPIREYEAR.focus ();
return (false);
}
var expmonth = parseInt (stripLeadingZeroes (getControlText (form.CCEXPIREMONTH)));
if (isNaN (expmonth) || (expmonth < 1) || (expmonth > 12)) {
alert (getOrderScriptMsg (MSGID_BADCCEXPMONTH));
form.CCEXPIREMONTH.focus ();
return (false);
}
if ((expyear == date.getFullYear ()) && (expmonth < (date.getMonth () + 1))) {
alert (getOrderScriptMsg (MSGID_CCDATEEXPIRED));
form.CCEXPIREMONTH.focus ();
return (false);
}
if (expyear < date.getFullYear ()) {
alert (getOrderScriptMsg (MSGID_CCYEAREXPIRED));
form.CCEXPIREYEAR.focus ();
return (false);
}
if (((expyear == (date.getFullYear () + 5)) && (expmonth > (date.getMonth () + 1))) || (expyear > (date.getFullYear () + 5))) {
if (!confirm (getOrderScriptMsg (MSGID_CCFUTURE, expmonth + "/" + expyear))) {
form.CCEXPIREYEAR.focus ();
return (false);
}
}
}
return (true);
}
function getIndexedField (control,index) {
return ((control.type == null) ? control[index] : control);
}
function getFieldCount (control) {
return ((control == null) ? 0 : ((control.type == null) ? control.length : 1));
}
function verifyRegisterInfo (form) {
for (var fieldCount = getFieldCount (form.ITEMREGNAME), i = 0; i < fieldCount; i++) {
var name = getIndexedField (form.ITEMREGNAME, i);
if ((name.type != "hidden") && (isBlank (name.value) || startsWith (name.value, labelNameOfRecipient))) {
alert (getOrderScriptMsg (MSGID_NOREGINFONAME));
name.focus ();
return (false);
}
}
for (var fieldCount = getFieldCount (form.ITEMEMAIL), i = 0; i < fieldCount; i++) {
var email = getIndexedField (form.ITEMEMAIL, i);
if ((email.type != "hidden") && !isValidEmail (email.value)) {
alert (getOrderScriptMsg (MSGID_NOREGINFOEMAIL));
email.focus ();
return (false);
}
}
return (true);
}
function processOnSubmit (form) {
if (form.USERGROUPID == null) {
alert (getOrderScriptMsg (MSGID_NOUSERGROUPID));
return (false);
}
if (isBlank (form.USERGROUPID.value)) {
form.USERGROUPID.value = "@" + location.href;
}
else if (form.USERGROUPID.value.charAt (0) != '@') {
form.USERGROUPID.value = "@" + form.USERGROUPID.value;
}
form.USERGROUPID.value = form.USERGROUPID.value + " Cookies=" + (navigator.cookieEnabled ? "Yes" : "No") + " Agent=" + navigator.userAgent;
if (!isBlank (document.referrer)) {
form.USERGROUPID.value = form.USERGROUPID.value + " Referrer=" + document.referrer;
}
if (!verifyQuantityInfo (form) ||
!verifyAddressInfo (form) ||
!verifyShippingInfo (form) ||
!verifyRegisterInfo (form) ||
!verifyCreditCardInfo (form) ) {
return (false);
}
if ((form.EMAIL != null) && (form.EMAILCONFIRMATION != null) && !isBlank (form.EMAIL)) {
if (!confirm (isBlank (form.EMAILCONFIRMATION.value) ? getOrderScriptMsg (MSGID_CONFIRMATION, form.EMAIL.value) : form.EMAILCONFIRMATION.value)) {
setFocus (form.EMAIL);
return (false);
}
}
if ((form.SUBMISSIONID != null) && isBlank (form.SUBMISSIONID.value)) {
form.SUBMISSIONID.value = new Date().getTime ();
}
return (true);
}
function processOnClick (form) {
var result = processOnSubmit (form);
if (result == true) {
form.submit ();
}
return (result);
}
function process (form) {
return (processOnClick (form));
}
function getRequiredCurrency (paymentmethod, currency){
switch (parseInt (paymentmethod)) {
case 2:
currency = 'USD';
break;
case 5:
currency = 'EUR';
break;
case 7:
currency = 'GBP';
break;
}
return (currency);
}
function setPaymentPage (form) {
var page = "https://secure.bmtmicro.com/ShoppingCart/";
if (form.CID != null) {
var cid = form.CID.value;
var sub = "";
var i = cid.indexOf ("/");
if (i != -1) {
sub = cid.substring (i);
cid = cid.substring (0, i);
}
cid = "" + parseInt (cid);
while (cid.length < 5) {
cid = "0" + cid;
}
page += cid + sub + "/";
}
switch (parseInt (form.PAYMENTMETHOD.value)) {
default:
form.PAYMENTMETHOD.value = "1";
case 1:
page += "CheckOutCreditCard.html";
break;
case 2:
page += "CheckOutCheck.html";
break;
case 5:
page += "CheckOutDB.html";
break;
case 7:
page += "CheckOutSwitchSolo.html";
break;
case 8:
page += "CheckOutPayPal.html";
break;
}
form.CURRENCY.value = getRequiredCurrency(form.PAYMENTMETHOD.value, form.CURRENCY.value);
form.NEXT_PAGE.value = page;
}
function gotoPaymentPage (form) {
if (!verifyQuantityInfo (form) || !verifyAddressInfo (form) || !verifyCDOrder (form)) {
return (false);
}
setPaymentPage (form);
return (true);
}
loadOrderScriptMsgs ();
//-->
</script>
</head>
<!--
END Import.CommonHeaders
//-->
<body onload="init (document.forms[0]);">
<!--
BEGIN IMPORT.HEADER
//-->
<div id="gb">
<div id="logo">
<a href="../index.html" class="logo"><img src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/dextronet-logo.gif" alt="Component Owl" border="0" /></a>
<div class="link"><a href="http://www.componentowl.com/support?subject=Bmt+Order" onclick="window.open(this.href); return false;">Contact Us (Help)</a></div>
</div>
<div id="menu">
<ul><li><a href="better-splitbutton.html#" onclick="history.go(-1); return false;">&laquo; Go Back</a></li></ul>
<div class="eb"></div>
</div>
<div id="products">
<!-- Begin Side Bar //-->
<div id="bills">
<div class="catcher securedorder">
<h4>Secure Order</h4>
<img src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/locked.gif" alt="Locked" width="48" height="48" />
<p class="longtext">All orders are secured with strong 128-bit SSL encryption. Your information is absolutely safe.</p>
<a href="javascript:OpenSecurityMetrics()"><img src="https://secure.bmtmicro.com/ShoppingCart/identity_theft_protected.gif" width="126" height="72" alt="SecurityMetrics Identity Theft Protected" /></a>
<a href="javascript:OpenCertDetails()"><img src="https://secure.bmtmicro.com/ShoppingCart/80x80_static.gif" height="73" width="88" alt="Click here for more details" class="middle" /></a>
<a href="javascript:OpenSecurityMetrics()"><img src="https://secure.bmtmicro.com/ShoppingCart/sm_ccsafe_whborder.gif" alt="SecurityMetrics Identity Theft Protected" height="39" width="100" class="last" /></a>
</div>
<div class="catcher aboutbmt">
<h4>About BMT Micro<br />ecommerce</h4>
<p class="longtext">
Orders are processed by BMT Micro Inc., which is a trusted ecommerce provider that Component Owl has contract with.
You can contact BMT at <b>(910)792-9100</b> or via email at <a href="mailto:orders@bmtmicro.com">orders@bmtmicro.com</a>.
</p>
<p class="address">
<strong>Mailing address:</strong><br />
BMT Micro, Inc.<br />
5019 Carolina Beach Rd Ste 202<br />
Wilmington, NC 28412<br />
USA
</p>
<p class="longtext">
You can contact Component Owl at <a href="mailto:support@componentowl.com">support@componentowl.com</a>.<br /><br />
Your information is used only to process your order and is 100% safe.
</p>
</div>
</div>
<!-- End Side Bar //-->
<div id="contact-form">
<h1><img src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/heading-order.gif" alt="Secure Software Store" /></h1>
<ul class="steps">
<li class="first">Make Your Selection</li>
<li class="active"><strong>Secure Payment</strong></li>
<li>Your License Code</li>
</ul>
<noscript>
<div align="center">
<h2>JavaScript Required</h2>
<hr >
<div align="justify">
Your Web Browser does not support javascript, or does not have javascript enabled.
Please download a current version web browser or <a href="https://info.bmtmicro.com/faq/1045602167.html#1054666049" target="_blank">enable javascript in your browser</a> to order this
product.<br ><br >
</div>
<!--
<div>
<a href="http://www.opera.com/download/" target="_blank"><img src="https://secure.bmtmicro.com/pics/downloadopera.gif" border="0" alt="Opera"></a><br >
<a href="http://www.mozilla.org" target="_blank"><img src="https://secure.bmtmicro.com/pics/firefox.gif" border="0" alt="Firefox" ></a>&nbsp;
<a href="http://channels.netscape.com/ns/browsers/download.jsp" target="_blank"><img src="https://secure.bmtmicro.com/pics/netscapenow.gif" border="0" alt="Netscape" ></a>&nbsp;
<a href="http://www.microsoft.com/windows/ie/" target="_blank"><img src="https://secure.bmtmicro.com/pics/IE_6_v06.gif" border="0" alt="IE" ></a>&nbsp;
</div>
//-->
<div>
<p>If you would prefer to order by telephone, please contact BMT Micro with the product details at:<br >
<br >
US-Canada (Toll Free):&nbsp;<strong>800-414-4268</strong><br >
International:&nbsp;<strong>910-792-9100</strong><br ><br >
You can also visit our <a href="http://www.bmtmicro.com/BMTInfo_OrderingOptions.html">Ordering Options</a> page for other ordering options or contact us directly at <a href="mailto:orders@bmtmicro.com">orders@bmtmicro.com</a>.</p>
</div>
</div>
</noscript>
<!--
END IMPORT.HEADER
//-->
<form method="post" action="https://secure.bmtmicro.com/servlets/Orders.OrderProcessor" onsubmit="return validateForm (document.forms[0]);">
<input type="hidden" name="CID" value="1830/12" >
<input type="hidden" value="https://secure.bmtmicro.com/ShoppingCart/01830/12/thankyou.html" name="NEXT_PAGE" >
<input type="hidden" value="https://secure.bmtmicro.com/ShoppingCart/01830/12/thanksdelivery.html" name="DELIVERY_PAGE">
<input type="hidden" name="ACTION" value="1">
<input type="hidden" name="CLR" value="0">
<input type="hidden" name="CURRENCY" value="EUR">
<input type="hidden" name="PAYMENTMETHOD" value="1">
<input type="hidden" name="ACCOUNTID" value="0">
<input type="hidden" name="ORDERPARAMETERS" value="">
<h2 class="spad">
<div class="heading"><img
src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/step1.gif"
alt="1" /> Review your cart</div>
<div class="currency">
<label for="CURRENCY_SEL"><b>Currency</b></label>&nbsp;&nbsp;
<select name="CURRENCY_SEL" id="CURRENCY_SEL" onmousewheel="return
false;" onchange="javascript:currencyChanged(document.forms[0]);"
tabindex="1"><option value="AUD">Australian Dollar (AUD)</option><option value="BRL">Brazilian Real (BRL)</option><option value="BGN">Bulgarian Lev (BGN)</option><option value="CAD">Canadian Dollar (CAD)</option><option value="CNY">Chinese Yuan Renminbi (CNY)</option><option value="HRK">Croatian Kuna (HRK)</option><option value="CZK">Czech Koruna (CZK)</option><option value="DKK">Danish Krone (DKK)</option><option value="EUR" selected>Euro (EUR)</option><option value="HKD">Hong Kong Dollar (HKD)</option><option value="HUF">Hungarian Forint (HUF)</option><option value="INR">Indian Rupee (INR)</option><option value="IDR">Indonesian Rupiah (IDR)</option><option value="ILS">Israeli Shekel (ILS)</option><option value="JPY">Japanese Yen (JPY)</option><option value="MYR">Malaysian Ringgit (MYR)</option><option value="MXN">Mexican Peso (MXN)</option><option value="NZD">New Zealand Dollar (NZD)</option><option value="NOK">Norwegian Krone (NOK)</option><option value="PHP">Philippine Peso (PHP)</option><option value="PLN">Polish Zloty (PLN)</option><option value="GBP">Pound Sterling (GBP)</option><option value="RON">Romanian Leu (RON)</option><option value="RUB">Russian Rouble (RUB)</option><option value="SGD">Singapore Dollar (SGD)</option><option value="ZAR">South African Rand (ZAR)</option><option value="KRW">South Korean Won (KRW)</option><option value="SEK">Swedish Krona (SEK)</option><option value="CHF">Swiss Franc (CHF)</option><option value="THB">Thai Baht (THB)</option><option value="TRY">Turkish Lira (TRY)</option><option value="USD">US Dollar (USD)</option></select>
</div>
</h2>
<!--
BEGIN Import.CartProductTable
//-->
<table border="0" cellspacing="0" cellpadding="0" width="100%" title="Shopping Cart Contents" class="product-table">
<tr>
<!-- <td align="left" width="17%" class="tdhead">ProductId</td> //-->
<th>Product Name</th>
<th class="quantity">Licenses</th>
<th class="number">Price</th>
<th class="number">Total</th>
</tr>
<tr class="rows">
<td class="product">Better SplitButton Commercial License with Source Code</td>
<td class="quantity">
<input type="hidden" name="QUANTITY" value="1">
<select name="QUANTITY_SEL" style="width:48px;text-align:center" tabindex="1" onchange="quantitySelChanged(0);">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10+</option>
</select>
<a href="better-splitbutton.html#" onclick="javascript:removeCartItem (0);" title="Remove Better SplitButton Commercial License with Source Code from cart" class="remove"><img src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/cross.gif" width="16" height="16" alt="Remove Better SplitButton Commercial License with Source Code from cart" border="0"></a>
<input type="hidden" name="PRODUCTID" value="18300075">
<input type="hidden" name="AID" value="">
<input type="hidden" name="ITEMINFO" value="">
</td>
<td class="number price">60.28&nbsp;</td>
<td class="number total">60.28&nbsp;</td>
</tr>
</table>
<!--
END Import.CartProductTable
//-->
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td width="10%" align="center" valign="middle">
<script language="javascript" type="text/javascript">
<!--
createCDLink (document.forms[0],null);
// -->
</script>
</td>
<td valign="middle">
<script language="javascript" type="text/javascript">
<!--
createCDLink (document.forms[0],'<b>Get your full order on a CD for 11.25 € (S&H included)<\/b>');
// -->
</script>
</td>
<td width="35%">
<table border="0" cellspacing="0" cellpadding="0" width="100%" class="total-table">
<tr>
<td align="right" class="price">19%&nbsp;VAT <strong>11.45&nbsp;</strong></td>
</tr>
<tr>
<td align="right" class="price">Total&nbsp;price: <strong>71.73&nbsp;</strong></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3">
<table border="0" cellspacing="0" cellpadding="0" width="100%" class="recalculate">
<tr>
<td align="left" class="pad" width="40%"></td>
<td align="right" width="1%"><input value="Recalculate" tabindex="2" name="Update Cart" type="button" onClick="updateCart(document.forms[0]);"></td>
</tr>
</table>
</td>
</tr>
</table>
<div id="customerLogin" style="left:50px; top:100px;">
<div id="handle">&nbsp; Retrieve Customer Information <img src="https://secure.bmtmicro.com/ShoppingCart/close.gif" border="0" alt="Close" align="right" onclick="javascript:toggleLayer('customerLogin');" class="textmiddle" ></div>
<table cellspacing="0" cellpadding="0" width="100%" align="center" title="Contact Information">
<tr><td colspan="4">&nbsp;</td></tr>
<tr>
<td width="5%">&nbsp;</td>
<td width="60%" >Email address:</td><td><input type="text" size="32" name="LOGINNAME" style="width: 200px" onKeyPress="return processEnter(document.forms[0],event);" ></td>
<td width="25%">&nbsp;</td>
</tr>
<tr>
<td width="5%">&nbsp;</td>
<td>Password:</td><td><input type="password" autocomplete="off" size="32" name="PASSWORD" style="width: 200px" onKeyPress="return processEnter(document.forms[0],event);" ></td>
<td width="25%">&nbsp;</td>
</tr>
<tr><td colspan="3">&nbsp;</td></tr>
<tr><td>&nbsp;</td><td colspan="2" align="center"><input type="button" name="OK" value="&nbsp;&nbsp;OK&nbsp;&nbsp;" onClick="chkLogin(document.forms[0]);"> </td> <td>&nbsp;</td></tr>
<tr align="center"><td colspan="4">&nbsp;</td></tr>
<tr align="center"><td colspan="4"><span class="note">If you do not have a password or have forgotten your password, fill in your email and leave the password blank. Your password will then be emailed to you.</span></td></tr>
<tr align="center"><td colspan="4">&nbsp;</td></tr>
</table>
</div>
<script type="text/javascript">
var theHandle = document.getElementById("handle");
var theRoot = document.getElementById("customerLogin");
Drag.init(theHandle, theRoot);
</script>
<!--
BEGIN Import.ContactInfoTable
//-->
<script type="text/javascript">
function populateCompanyField(form) {
if (form.LICENSETO[1].checked) {
form.COMPANY.value = form.REGISTERNAME.value;
} else {
form.COMPANY.value = "";
}
if (form.LICENSETO[0].checked) {
form.REGISTERNAME.value = "";
}
}
function companyFieldVisible(visible, someone_else) {
if (visible === false) {
document.getElementById("company-field").style.display = 'none';
} else {
document.getElementById("company-field").style.display = '';
if (someone_else) {
document.getElementById("company-label").style.display = 'none';
document.getElementById("someoneelse-label").style.display = '';
} else {
document.getElementById("company-label").style.display = '';
document.getElementById("someoneelse-label").style.display = 'none';
}
}
}
</script>
<h2 class="lpad"><img src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/step2.gif" alt="2" /> Provide us with your contact information</h2>
<div class="fieldssec">
<table cellspacing="0" cellpadding="0" width="100%" align="center" title="Contact Information">
<tr>
<td colspan="2" valign="middle">
<table cellspacing="0" cellpadding="0" width="100%" align="center">
<tr>
<td class="pad" width="100%" colspan="2">
Please fill out the information below, as it appears on your credit card.
</td>
</tr>
</table>
</td>
</tr>
<tr><td colspan="2">&nbsp;</td></tr>
<tr>
<td class="pad" width="35%"><label for="FIRSTNAME"><b>First&nbsp;name</b></label></td>
<td class="pad" width="65%"><input type="text" tabindex="4" size="30" id="FIRSTNAME" name="FIRSTNAME" maxlength="20"></td>
</tr>
<tr>
<td class="pad"><label for="LASTNAME"><b>Last&nbsp;name</b></label></td>
<td class="pad"><input type="text" tabindex="5" size="30" id="LASTNAME" name="LASTNAME" maxlength="25"></td>
</tr>
<tr>
<td class="pad"><label for="LICENSETO-ME"><b>License&nbsp;is&nbsp;for</b></label></td>
<td class="pad license-to">
<input type="radio" tabindex="6" id="LICENSETO-ME" name="LICENSETO" value="me" onclick="companyFieldVisible(false);" checked="checked" />
<label for="LICENSETO-ME">Me</label>
<input type="radio" tabindex="6" id="LICENSETO-COMPANY" name="LICENSETO" value="company" onclick="companyFieldVisible(true);" />
<label for="LICENSETO-COMPANY">My Company (...)</label>
<input type="radio" tabindex="6" id="LICENSETO-SOMEONEELSE" name="LICENSETO" value="someoneelse" onclick="companyFieldVisible(true,true);" />
<label for="LICENSETO-SOMEONEELSE" class="last">Someone Else (...)</label>
</td>
</tr>
<tr style="display: none" id="company-field">
<td class="pad"><label id="company-label"
for="REGISTERNAME"><b>Company&nbsp;name</b></label><label
id="someoneelse-label"
for="REGISTERNAME"><b>License&nbsp;to&nbsp;this&nbsp;name</b></label>
</td>
<td class="pad"><input type="hidden" id="COMPANY" name="COMPANY" value="" /><input type="text" id="REGISTERNAME" tabindex="7" size="30" value="" name="REGISTERNAME" maxlength="50"></td>
</tr>
<tr valign="top">
<td class="pad address"><label for="ADDRESS1"><b>Address</b></label></td>
<td class="pad"><input type="text" tabindex="8" size="30" id="ADDRESS1" name="ADDRESS1" maxlength="50"><br>
<input type="text" tabindex="9" size="30" name="ADDRESS2" maxlength="50"></td>
</tr>
<tr>
<td class="pad"><label for="CITY"><b>City</b></label> </td>
<td class="pad"><input type="text" tabindex="10" size="30" id="CITY" name="CITY" maxlength="50"> </td>
</tr>
<tr>
</tr>
<tr>
<td class="pad"><label for="ZIP"><b>Postal code</b></label></td>
<td class="pad"><input type="text" tabindex="12" size="30" id="ZIP" name="ZIP" maxlength="20"></td>
</tr>
<tr>
<td class="pad"><label for="COUNTRY"><b>Country</b></label></td>
<td class="pad"><select tabindex="13" id="COUNTRY" name="COUNTRY" onmousewheel="return false;" onChange="javascript:updateCart(document.forms[0]);" style="width:213px">
<option value="">Please Select Country</option>
<option value="AF">Afghanistan</option><option value="AX">Åland Islands</option><option value="AL">Albania</option><option value="DZ">Algeria</option><option value="AS">American Samoa</option><option value="AD">Andorra</option><option value="AO">Angola</option><option value="AI">Anguilla</option><option value="AG">Antigua and Barbuda</option><option value="AR">Argentina</option><option value="AM">Armenia</option><option value="AW">Aruba</option><option value="AC">Ascension Island</option><option value="AU">Australia</option><option value="AT">Austria</option><option value="AZ">Azerbaijan</option><option value="BS">Bahamas</option><option value="BH">Bahrain</option><option value="IB">Balearic Islands</option><option value="BD">Bangladesh</option><option value="BB">Barbados</option><option value="BY">Belarus</option><option value="BE">Belgium</option><option value="BZ">Belize</option><option value="BJ">Benin</option><option value="BM">Bermuda</option><option value="BT">Bhutan</option><option value="BO">Bolivia</option><option value="BQ">Bonaire, Saba, and Sint Eustatius</option><option value="BA">Bosnia and Herzegovina</option><option value="BW">Botswana</option><option value="BR">Brazil</option><option value="BN">Brunei Darussalam</option><option value="BG">Bulgaria</option><option value="BF">Burkina Faso</option><option value="BI">Burundi</option><option value="KH">Cambodia</option><option value="CM">Cameroon</option><option value="CA">Canada</option><option value="IC">Canary Islands</option><option value="CV">Cape Verde</option><option value="KY">Cayman Islands</option><option value="CF">Central African Republic</option><option value="XB">Ceuta</option><option value="TD">Chad</option><option value="XE">Channel Islands</option><option value="CL">Chile</option><option value="CN">China</option><option value="CX">Christmas Island</option><option value="CC">Cocos (Keeling) Islands</option><option value="CO">Colombia</option><option value="KM">Comoros</option><option value="CG">Congo</option><option value="CD">Congo, Democratic Republic of the</option><option value="CK">Cook Islands</option><option value="CR">Costa Rica</option><option value="CI">Côte d'Ivoire</option><option value="HR">Croatia</option><option value="CU">Cuba</option><option value="CW">Curaçao</option><option value="CY">Cyprus</option><option value="CZ">Czech Republic</option><option value="DK">Denmark</option><option value="DJ">Djibouti</option><option value="DM">Dominica</option><option value="DO">Dominican Republic</option><option value="EC">Ecuador</option><option value="EG">Egypt</option><option value="SV">El Salvador</option><option value="GQ">Equatorial Guinea</option><option value="ER">Eritrea</option><option value="EE">Estonia</option><option value="ET">Ethiopia</option><option value="FK">Falkland Islands</option><option value="FO">Faroe Islands</option><option value="FJ">Fiji</option><option value="FI">Finland</option><option value="FR">France</option><option value="GF">French Guiana</option><option value="PF">French Polynesia</option><option value="GA">Gabon</option><option value="GM">Gambia</option><option value="GE">Georgia</option><option value="DE" selected>Germany</option><option value="GH">Ghana</option><option value="GI">Gibraltar</option><option value="GR">Greece</option><option value="GL">Greenland</option><option value="GD">Grenada</option><option value="GP">Guadeloupe</option><option value="GU">Guam</option><option value="GT">Guatemala</option><option value="GG">Guernsey</option><option value="GN">Guinea</option><option value="GW">Guinea-Bissau</option><option value="GY">Guyana</option><option value="HT">Haiti</option><option value="HN">Honduras</option><option value="HK">Hong Kong</option><option value="HU">Hungary</option><option value="IS">Iceland</option><option value="IN">India</option><option value="ID">Indonesia</option><option value="IQ">Iraq</option><option value="IE">Ireland</option><option value="IM">Isle of Man</option><option value="IL">Israel</option><option value="IT">Italy</option><option value="JM">Jamaica</option><o
</select>
</td>
</tr>
<tr>
<td class="pad"><label for="EMAIL"><b>Email</b></label></td>
<td class="pad"><input type="text" tabindex="14" size="30" id="EMAIL" name="EMAIL" maxlength="50"></td>
</tr>
</table>
<fieldset>
<legend><b>Optional Information</b></legend>
<table cellspacing="0" cellpadding="0">
<tr>
<td style="width: 192px"><label for="HOWHEARD">How did you hear about us?</label></td>
<td class="pad"><input type="text" id="HOWHEARD" size="30" name="HOWHEARD" tabindex="17" maxlength="50"></td>
</tr>
<tr>
<td><label for="DISCOUNTCODE">Discount code <span class="note">(if applicable)</span></label></td>
<td class="pad nopad"><input type="text" id="DISCOUNTCODE" name="DISCOUNTCODE" value="" tabindex="18" size="30" onChange="javascript:updateCart(document.forms[0]);"></td>
</tr>
<tr>
<td class="pad" width="35%"><label for="VATNUMBER"><b>VAT&nbsp;exemption&nbsp;number</b></label></td>
<td class="pad" width="65%"><input id="VATNUMBER" name="VATNUMBER" value="" tabindex="19" size="30" maxlength="15" onChange="javascript:updateCart(document.forms[0]);">
<span class="note"><a target="_blank" href="https://secure.bmtmicro.com/cart/VAT.html">What is VAT?</a></span>
</td>
</tr>
</table>
</fieldset>
</div>
<!--
END Import.ContactInfoTable
//-->
<h2 class="lpad"><img src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/step3.gif" alt="3" /> Enter your payment information</h2>
<div id="paymentInfo" class="fieldssec">
<table cellspacing="0" cellpadding="0" width="100%" align="center">
<tr>
<td class="pad" width="35%"><label for="PAYMENTMETHOD_SEL"><b>Payment&nbsp;method</b></label></td>
<td class="pad" width="65%"><select name="PAYMENTMETHOD_SEL" id="PAYMENTMETHOD_SEL" tabindex="20" onchange="paymentMethodChanged (document.forms[0]);">
<option value="1" selected="selected">Credit Card</option>
</select>
<noscript><br>Javascript must be enabled in your web browser to select other methods of payment!</noscript>
</td>
</tr>
<tr>
<td class="pad"><label for="CCNUMBER"><b>Card&nbsp;number</b></label></td>
<td class="pad"><input type="hidden" name="CCTP" value=""><input name="CCNUMBER" type="text" id="CCNUMBER" tabindex="22" size="30"> <img src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/lock.gif" alt="Secure" class="lock" height="16" width="16" /> <b>Secure</b> </td>
</tr>
<tr>
<td class="pad"><label for="EXPIRATIONDATE"><b>Expiration&nbsp;date</b></label></td>
<td class="pad"><select id="EXPIRATIONDATE" name="CCEXPIREMONTH" tabindex="23"><option value="" selected>Month</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
/
<select name="CCEXPIREYEAR" tabindex="24"><option selected value="">Year</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</option>
<option value="2026">2026</option>
<option value="2027">2027</option>
<option value="2028">2028</option>
<option value="2029">2029</option>
<option value="2030">2030</option>
<option value="2031">2031</option>
<option value="2032">2032</option>
<option value="2033">2033</option>
<option value="2034">2034</option>
<option value="2035">2035</option>
<option value="2036">2036</option>
<option value="2037">2037</option>
<option value="2038">2038</option>
<option value="2039">2039</option>
<option value="2040">2040</option>
<option value="2041">2041</option>
<option value="2042">2042</option>
<option value="2043">2043</option>
<option value="2044">2044</option>
<option value="2045">2045</option>
<option value="2046">2046</option></select></td>
</tr>
<tr>
<td class="pad"><label for="CVV"><b>3-digit&nbsp;security&nbsp;code</b></label></td>
<td class="pad"><input type="text" name="CVV" id="CVV" tabindex="25" style="width:35px">
<span class="note"><a target="_blank" href="https://secure.bmtmicro.com/resources/info/CVV.html">Where is the security code?</a></span>
</td>
</tr>
<tr>
<td class="pad nopad"><label for="PONUMBER">Purchase&nbsp;order&nbsp;number</label></td>
<td class="pad nopad"><input id="PONUMBER" type="text" name="PONUMBER" tabindex="26" size="30"></td>
</tr>
<tr>
<td class="ptop"><span class="note">&nbsp;</span></td>
<td class="ptop"><span class="note">Optional - required for commercial credit cards only.</span>
</td>
</tr>
</table>
</div>
<br />
<table cellspacing="0" cellpadding="0" width="100%" align="center">
<tr>
<td colspan="2" align="center">
<input name="USERGROUPID" type="hidden" value="shopping_cart1830/12-Cart">
<input type="hidden" name="ERROR_PAGE" value="https://secure.bmtmicro.com/ShoppingCart/01830/12/CartError.html">
<input name="REFERRAL" type="hidden" value="##REFERRAL##">
<input name="SUBMISSIONID" type="hidden" value="">
<input name="Submit" value="Place secure order" alt="Place secure order" class="secureorder" type="image" src="https://secure.bmtmicro.com/ShoppingCart/01830/12/img/blank.gif" tabindex="29" ><br /><div style="display: none"><input type="submit" name="Submit" value="Place secure order"></div> </td>
</tr>
<tr><td colspan="2">&nbsp;</td></tr>
<tr><td colspan="2" align="center"><img alt="We accept Visa, MasterCard/Maestro, American Expess, Discover, Diners, JCB, Switch/Solo, and Paypal" src="https://secure.bmtmicro.com/ShoppingCart/cardsbar.gif" border="0" ></td></tr>
<tr>
<td align="center" colspan="2"><span class="note">Orders processed by: BMT Micro, Inc. 5019 Carolina Beach Rd Ste 202 Wilmington, NC 28412&nbsp;&nbsp;<a href="http://www.bmtmicro.com/developer-privacy-policy.html" target="_blank">Privacy Policy</a></span></td>
</tr>
</table>
</form>
<!--
BEGIN Import.Footer
//-->
</div>
</div>
<div class="footer">
<div class="align">
Orders are processed by BMT Micro Inc. Copyright &copy; BMT Micro Inc. All Rights Reserved. Contact: (910)792-9100<br />
Copyright &copy; Component Owl. All rights reserved.
</div>
</div>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-16362539-2");
pageTracker._trackPageview();
} catch(err) {}</script>
<!--
END Import.Footer
//-->
</body>
</html>