function checkLogin()
{
var emailfilter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
document.getElementById('notifier').style.display = "none";
if (!emailfilter.test(document.getElementById('email').value) || (document.getElementById('email').value.length < 4))
{
document.getElementById('email').focus();
document.getElementById('notifier').innerHTML = "
Please enter a valid e-mail address.";
document.getElementById('notifier').style.display = "block";
return false;
}
else if ((document.getElementById('password').value == "") || (document.getElementById('password').value.length < 4))
{
document.getElementById('password').focus();
document.getElementById('notifier').innerHTML = "
Please enter your password.";
document.getElementById('notifier').style.display = "block";
return false;
}
confirmLogin();
}
function confirmLogin()
{
var email = escape(document.getElementById('email').value);
var password = escape(document.getElementById('password').value);
var ajaxhttp = new sack();
ajaxhttp.requestFile = "datacontrols.php?email="+email+"&password="+password+"&type=login";
ajaxhttp.onCompletion = function()
{
try
{
if (ajaxhttp.response == "0")
{
document.getElementById('notifier').style.display = "none";
document.getElementById('notifier').innerHTML = "
Invalid login credentials.";
document.getElementById('notifier').style.display = "block";
email=password="";
}
else
{
top.location.href="checkout.php";
email=password="";
}
}
catch (e) { alert(e.description); }
};
ajaxhttp.runAJAX();
}
function checkCoupon()
{
document.getElementById('notifier').style.display = "none";
// basic check
if ((document.getElementById('coupon').value == "") || (document.getElementById('coupon').value.length < 3))
{
document.getElementById('coupon').focus();
document.getElementById('notifier').innerHTML = "
Please enter a valid coupon.";
document.getElementById('notifier').style.display = "block";
return false;
}
else
{
// we have a coupon
var coupon = document.getElementById('coupon').value;
var ajaxhttp = new sack();
ajaxhttp.requestFile = "datacontrols.php?coupon="+coupon+"&type=coupon";
ajaxhttp.onCompletion = function()
{
try
{
document.getElementById('notifier').style.display = "none";
var licqty = document.getElementById('licqty').value;
var couponval = ajaxhttp.response;
// invalid coupon
if (parseFloat(couponval) == 0)
{
document.getElementById('coupon').focus();
document.getElementById('notifier').innerHTML = "
That coupon is invalid and/or expired.";
document.getElementById('notifier').style.display = "block";
}
// valid coupon
else
{
document.getElementById('notifier').style.display = "none";
var couponvalue = parseFloat(couponval).toFixed(2);
document.getElementById('discount').innerText = "(" + couponvalue + ")";
// update price
updatePrice(licqty);
document.getElementById('ubutton').disabled='true';
}
}
catch (e) { alert(e.description); }
};
ajaxhttp.runAJAX();
}
}
function SetCookie(cookieName,cookieValue)
{
var today = new Date();
var expire = new Date();
expire.setTime(today.getTime() + 900000*1);
document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString()+";path=/";
}
function ReadCookie(cookieName)
{
var theCookie=""+document.cookie;
var ind=theCookie.indexOf(cookieName);
if (ind==-1 || cookieName=="")
return "";
var ind1=theCookie.indexOf(';',ind);
if (ind1==-1)
ind1=theCookie.length;
return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}
function updatePrice(qty)
{
var product_price = document.getElementById('price').innerText;
var subtotal = parseFloat(product_price * qty);
var discount = (document.getElementById('discount').innerText).replace(/[\(\)]/g, "");
var shipping = document.getElementById('shipping').innerText;
var total = parseFloat(subtotal - discount) + parseFloat(shipping);
if (!isNaN(tax) || tax != 0 || tax != "0.00")
{
var taxamount = total*(tax/100);
total += taxamount;
document.getElementById('tax').innerText = taxamount.toFixed(2);
SetCookie("tax", document.getElementById('tax').innerText);
total = parseFloat(total);
}
SetCookie("discount1", discount);
SetCookie("subtotal", subtotal);
SetCookie("qty", qty);
document.getElementById('subtotal').innerText = subtotal.toFixed(2);
document.getElementById('discount').innerText = '(' + discount + ')';
document.getElementById('total').innerText = total.toFixed(2);
document.getElementById('paymentAmount').value = base64_encode(total.toFixed(2));
}
function base64_encode( data ) {
// http://kevin.vanzonneveld.net
// + original by: Tyler Akins (http://rumkin.com)
// + improved by: Bayron Guevara
// + improved by: Thunder.m
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// - depends on: utf8_encode
// * example 1: base64_encode('Kevin van Zonneveld');
// * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
// mozilla has this native
// - but breaks in 2.0.0.12!
//if (typeof window['atob'] == 'function') {
// return atob(data);
//}
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1, o2, o3, h1, h2, h3, h4, bits, i = ac = 0, enc="", tmp_arr = [];
data = utf8_encode(data);
do { // pack three octets into four hexets
o1 = data.charCodeAt(i++);
o2 = data.charCodeAt(i++);
o3 = data.charCodeAt(i++);
bits = o1<<16 | o2<<8 | o3;
h1 = bits>>18 & 0x3f;
h2 = bits>>12 & 0x3f;
h3 = bits>>6 & 0x3f;
h4 = bits & 0x3f;
// use hexets to index into b64, and append result to encoded string
tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
} while (i < data.length);
enc = tmp_arr.join('');
switch( data.length % 3 ){
case 1:
enc = enc.slice(0, -2) + '==';
break;
case 2:
enc = enc.slice(0, -1) + '=';
break;
}
return enc;
}
function utf8_encode ( string ) {
// http://kevin.vanzonneveld.net
// + original by: Webtoolkit.info (http://www.webtoolkit.info/)
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: sowberry
// * example 1: utf8_encode('Kevin van Zonneveld');
// * returns 1: 'Kevin van Zonneveld'
string = string.replace(/\r\n/g,"\n");
var utftext = "";
var start, end;
start = end = 0;
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
var enc = null;
if (c < 128) {
end++;
} else if((c > 127) && (c < 2048)) {
enc = String.fromCharCode((c >> 6) | 192) + String.fromCharCode((c & 63) | 128);
} else {
enc = String.fromCharCode((c >> 12) | 224) + String.fromCharCode(((c >> 6) & 63) | 128) + String.fromCharCode((c & 63) | 128);
}
if (enc != null) {
if (end > start) {
utftext += string.substring(start, end);
}
utftext += enc;
start = end = n+1;
}
}
if (end > start) {
utftext += string.substring(start, string.length);
}
return utftext;
}