2799 lines
113 KiB
HTML
2799 lines
113 KiB
HTML
<!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 = {
|
|
""" : "\"",
|
|
"<" : "<",
|
|
">" : ">",
|
|
" " : "\u00A0",
|
|
"<br />" : "\n"
|
|
};
|
|
|
|
function decodeServletHTML (string) {
|
|
return (string.replace(/("|<|>| |<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]);" /> [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]);" /> [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]);" /> [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;">« 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>
|
|
<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>
|
|
<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>
|
|
</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): <strong>800-414-4268</strong><br >
|
|
International: <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>
|
|
<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 €</td>
|
|
|
|
<td class="number total">60.28 €</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% VAT <strong>11.45 €</strong></td>
|
|
|
|
</tr>
|
|
<tr>
|
|
<td align="right" class="price">Total price: <strong>71.73 €</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"> 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"> </td></tr>
|
|
<tr>
|
|
<td width="5%"> </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%"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td width="5%"> </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%"> </td>
|
|
</tr>
|
|
|
|
<tr><td colspan="3"> </td></tr>
|
|
<tr><td> </td><td colspan="2" align="center"><input type="button" name="OK" value=" OK " onClick="chkLogin(document.forms[0]);"> </td> <td> </td></tr>
|
|
<tr align="center"><td colspan="4"> </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"> </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"> </td></tr>
|
|
<tr>
|
|
<td class="pad" width="35%"><label for="FIRSTNAME"><b>First 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 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 is 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 name</b></label><label
|
|
id="someoneelse-label"
|
|
for="REGISTERNAME"><b>License to this 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><option value="JP">Japan</option><option value="JE">Jersey</option><option value="JO">Jordan</option><option value="KZ">Kazakhstan</option><option value="KE">Kenya</option><option value="KI">Kiribati</option><option value="KR">Korea, Republic of</option><option value="XK">Kosovo</option><option value="KW">Kuwait</option><option value="KG">Kyrgyzstan</option><option value="LA">Laos</option><option value="LV">Latvia</option><option value="LB">Lebanon</option><option value="LS">Lesotho</option><option value="LR">Liberia</option><option value="LY">Libya</option><option value="LI">Liechtenstein</option><option value="LT">Lithuania</option><option value="LU">Luxembourg</option><option value="MO">Macau</option><option value="MK">Macedonia</option><option value="MG">Madagascar</option><option value="MW">Malawi</option><option value="MY">Malaysia</option><option value="MV">Maldives</option><option value="ML">Mali</option><option value="MT">Malta</option><option value="MH">Marshall Islands</option><option value="MQ">Martinique</option><option value="MR">Mauritania</option><option value="MU">Mauritius</option><option value="YT">Mayotte</option><option value="XC">Melilla</option><option value="MX">Mexico</option><option value="FM">Micronesia</option><option value="MD">Moldova</option><option value="MC">Monaco</option><option value="MN">Mongolia</option><option value="ME">Montenegro</option><option value="MS">Montserrat</option><option value="MA">Morocco</option><option value="MZ">Mozambique</option><option value="NA">Namibia</option><option value="NR">Nauru</option><option value="NP">Nepal</option><option value="NL">Netherlands</option><option value="NC">New Caledonia</option><option value="NZ">New Zealand</option><option value="NI">Nicaragua</option><option value="NE">Niger</option><option value="NG">Nigeria</option><option value="NU">Niue</option><option value="NF">Norfolk Island</option><option value="MP">Northern Mariana Islands</option><option value="NO">Norway</option><option value="OM">Oman</option><option value="PK">Pakistan</option><option value="PW">Palau</option><option value="PS">Palestinian Territory</option><option value="PA">Panama</option><option value="PG">Papua New Guinea</option><option value="PY">Paraguay</option><option value="PE">Peru</option><option value="PH">Philippines</option><option value="PN">Pitcairn Islands</option><option value="PL">Poland</option><option value="PT">Portugal</option><option value="PR">Puerto Rico</option><option value="QA">Qatar</option><option value="RE">Réunion</option><option value="RO">Romania</option><option value="RU">Russian Federation</option><option value="RW">Rwanda</option><option value="BL">Saint Barthélemy</option><option value="SH">Saint Helena</option><option value="KN">Saint Kitts and Nevis</option><option value="LC">Saint Lucia</option><option value="MF">Saint Martin (France)</option><option value="PM">Saint Pierre and Miquelon</option><option value="VC">Saint Vincent and the Grenadines</option><option value="WS">Samoa</option><option value="SM">San Marino</option><option value="ST">São Tomé and Príncipe</option><option value="SA">Saudi Arabia</option><option value="SN">Senegal</option><option value="RS">Serbia</option><option value="SC">Seychelles</option><option value="SL">Sierra Leone</option><option value="SG">Singapore</option><option value="SX">Sint Maarten</option><option value="SK">Slovak Republic</option><option value="SI">Slovenia</option><option value="SB">Solomon Islands</option><option value="SO">Somalia</option><option value="ZA">South Africa</option><option value="GS">South Georgia and the South Sandwich Islands</option><option value="ES">Spain</option><option value="LK">Sri Lanka</option><option value="SR">Suriname</option><option value="SJ">Svalbard and Jan Mayen</option><option value="SZ">Swaziland</option><option value="SE">Sweden</option><option value="CH">Switzerland</option><option value="XA">Tahiti</option><option value="TW">Taiwan</option><option value="TJ">Tajikistan</option><option value="TZ">Tanzania</option><option value="TH">Thailand</option><option value="TG">Togo</option><option value="TK">Tokelau</option><option value="TO">Tonga</option><option value="TT">Trinidad and Tobago</option><option value="TA">Tristan da Cunha</option><option value="TN">Tunisia</option><option value="TR">Turkey</option><option value="TM">Turkmenistan</option><option value="TC">Turks and Caicos Islands</option><option value="TV">Tuvalu</option><option value="UG">Uganda</option><option value="UA">Ukraine</option><option value="AE">United Arab Emirates</option><option value="GB">United Kingdom</option><option value="US">United States</option><option value="UY">Uruguay</option><option value="UZ">Uzbekistan</option><option value="VU">Vanuatu</option><option value="VA">Vatican City</option><option value="VE">Venezuela</option><option value="VN">Viet Nam</option><option value="VG">Virgin Islands (British)</option><option value="VI">Virgin Islands (US)</option><option value="WK">Wake Island</option><option value="WF">Wallis and Futuna Islands</option><option value="YE">Yemen</option><option value="ZM">Zambia</option><option value="ZW">Zimbabwe</option>
|
|
</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 exemption 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 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 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 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 security 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 order 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"> </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"> </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 <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 © BMT Micro Inc. All Rights Reserved. Contact: (910)792-9100<br />
|
|
Copyright © 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> |