﻿// JScript File
function textChanger(obj, text) {
    if (text == null) { text = '' }
    if (obj.value == '')
        obj.value = text;
    else if (obj.value == text)
        obj.value = '';
    else if (obj.value != text)
        return;
}
function CheckVal() {
    var val = document.getElementById("txtSearch");
    val = val.value;
    if (val != '' && val != 'Search') { return true; }
    else {
        alert("-- Please enter search keyword(s).");
        return false;
    }
}
// Check cookies for the website
function IsCookieEnabled() {
    accepts_cookies = false;
    document.cookie = "test_cookie=test_value";
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf("test_cookie=");
        if (c_start != -1) {
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            if (unescape(document.cookie.substring(c_start + "test_cookie=".length, c_end)) == "test_value")
                accepts_cookies = true;
        }
    }
    if (!accepts_cookies)
        alert('EncaffEnergyStix.com requires your browser to accept "cookies".\nTo enable them, check the security settings on your browser.');
    return accepts_cookies;
}

function createFlashObject(filePath, width, height, flashvars) {
    document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' width='" + width + "' height='" + height + "' align='top'>");
    document.write("<param name='movie' value='" + filePath + "' />");
    document.write("<param name='quality' value='high' />");
    document.write("<param name='wmode' value='transparent' />");
    if (flashvars) {
        document.write("<param name='FlashVars' value='" + flashvars + "' />");
    }
    document.write("<embed FlashVars='" + flashvars + "' src='" + filePath + "' quality='high' pluginspage='https://www.macromedia.com/go/getflashplayer' wmode='transparent' type='application/x-shockwave-flash' width='" + width + "' height='" + height + "' align='top'></embed></object>");
    //document.write("");
}

//Random String Generator//
function RamdomString(intLen) {
    var strRet = "";
    var iCntr = 0;
    var rndNo = 0;
    var arrCharacters = new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
    for (iCntr = 0; iCntr < intLen; iCntr++) {
        rndNo = Math.floor((61 - 1 + 1) * Math.random() + 1);
        strRet = strRet + arrCharacters[rndNo];
    }
    return strRet;
}

/* Used in Advanced Search Page */
function checkLeftSearch(obj) {
    var txt = document.getElementById(obj);
    if (txt.value == "") {
        alert("Please Enter Search Text.");
        return false;
    } else {
        return true;
    }
}
// Function Use for Displaying search criteria in advance search.
function displaySearchOptions(sObj, dObj) {
    var panel = document.getElementById(dObj);
    if (panel.style.display == "none") {
        panel.style.display = "block";
        sObj.style.display = "none";
    } else {
        panel.style.display = "none";
    }
}
// Validation of Advance Search Page for All fields.
function ValidateSearch() {
    var from = document.getElementById("ctl00_CPH1_txtLowerPrice");
    var to = document.getElementById("ctl00_CPH1_txtHigerPrice");

    if (checkLeftSearch("ctl00_CPH1_txtKeyword") == false)
        return false;
    else {
        if (from.value != "" && to.value == "") {
            alert('Please enter price To!');
            return false;
        } else if (to.value != "" && from.value == "") {
            alert('Please enter price From!');
            return false;
        } else if (to.value != "" && from.value != "") {
            if (!isNaN(from.value) && !isNaN(to.value)) {
                if (parseFloat(from.value) > parseFloat(to.value)) {
                    alert('From price should be less then To price!');
                    return false;
                } else
                    return true;
            } else {
                alert('Please Enter Correct Price Value!');
                return false;
            }
        } else {
            if (from.value == "0")
                from.value = 1;
            return true;
        }
    }
}
/* End - Used in Advanced Search Page */

// Function that will check the quantity in Product Detail & Shopping Cart Page.
function checkQuantity(obj) {
    var qty = document.getElementById(obj);

    if (qty.value != "") {
        if (isNaN(qty.value) == false) {
            if (parseInt(qty.value) <= 0) {
                alert("Quantity must be more than Zero.");
                qty.value = 1;
                return false;
            } else
                return true;
        } else {
            alert("Please Enter only Numeric Value in Quantity Field.");
            return false;
        }
    } else {
        alert("Please Enter Quantity.");
        qty.value = 1;
        return false;
    }
}

// Validating Payment Field at Pro Method of Payment.
function mod10(cardNumber) {
    // LUHN Formula for validation of credit card numbers.
    var ar = new Array(cardNumber.length);
    var i = 0, sum = 0;

    for (i = 0; i < cardNumber.length; ++i) {
        ar[i] = parseInt(cardNumber.charAt(i));
    }

    for (i = ar.length - 2; i >= 0; i -= 2) {
        // you have to start from the right, and work back.
        ar[i] *= 2; 	// every second digit starting with the right most (check digit)
        if (ar[i] > 9) ar[i] -= 9; // will be doubled, and summed with the skipped digits.
    } // if the double digit is > 9, ADD those individual digits together 

    for (i = 0; i < ar.length; ++i) {
        sum += ar[i]; // if the sum is divisible by 10 mod10 succeeds
    }
    return (((sum % 10) == 0) ? true : false);
}

function expired(month, year) {
    var now = new Date(); // this function is designed to be Y2K compliant.
    var expiresIn = new Date(year, month, 0, 0, 0); 	// create an expired on date object with valid thru expiration date
    expiresIn.setMonth(expiresIn.getMonth() + 1); 	// adjust the month, to first day, hour, minute & second
    //	of expired month
    if (now.getTime() < expiresIn.getTime()) {
        return false;
    }
    return true; // then we get the miliseconds, and do a long integer comparison
}

function validateCard(cardNumber, cardType, cardMonth, cardYear, cardCode, ship) {
    /*
    if(ship.value.length == 0)
    {
    alert("Please Select Shipping Service.");
    return false;        
    }
    */
    if (cardType.length == 0) {
        alert("Please Select Card Type.");
        return false;
    }
    if (cardNumber.length == 0) {
        //most of these checks are self explanitory
        alert("Please Enter Valid Card Number.");
        return false;
    }
    for (var i = 0; i < cardNumber.length; ++i) {
        // make sure the number is all digits.. (by design)
        var c = cardNumber.charAt(i);

        if (c < '0' || c > '9') {
            alert("Please Enter Valid Card Number. Use only digits. do not use Spaces or Hyphens.");
            return false;
        }
    }

    var length = cardNumber.length; 	//perform card specific length and prefix tests

    switch (cardType) {
        case 'a':
            if (length != 15) {
                alert("Please Enter Valid American Express Card Number.");
                return false;
            }
            var prefix = parseInt(cardNumber.substring(0, 2));
            if (prefix != 34 && prefix != 37) {
                alert("Please Enter Valid American Express Card Number.");
                return false;
            }
            break;
        case 'd':
            if (length != 16) {
                alert("Please Enter Valid Discover Card Number.");
                return false;
            }
            var prefix = parseInt(cardNumber.substring(0, 4));
            if (prefix != 6011) {
                alert("Please Enter Valid Discover Card Number.");
                return false;
            }
            break;
        case 'm':
            if (length != 16) {
                alert("Please Enter Valid MasterCard Number.");
                return false;
            }
            var prefix = parseInt(cardNumber.substring(0, 2));
            if (prefix < 51 || prefix > 55) {
                alert("Please Enter Valid MasterCard Number.");
                return false;
            }
            break;
        case 'v':
            if (length != 16 && length != 13) {
                alert("Please Enter Valid Visa Card Number.");
                return false;
            }
            var prefix = parseInt(cardNumber.substring(0, 1));
            if (prefix != 4) {
                alert("Please Enter Valid Visa Card Number.");
                return false;
            }
            break;
    }

    if (!mod10(cardNumber)) {
        // run the check digit algorithm
        alert("Sorry! This is not a Valid Credit Card Number.");
        return false;
    }
    if (expired(cardMonth, cardYear)) {
        // check if entered date is already expired.
        alert("Sorry! The Expiration Date you have Entered would make this Card Invalid.");
        return false;
    }
    if (cardCode == "") {
        alert("Please Eneter Card Code.");
        return false;
    } else {
        for (var i = 0; i < cardCode.length; ++i) {
            var c = cardCode.charAt(i);
            if (c < '0' || c > '9') {
                alert("Please Enter Valid Card Code Number. Use only digits.");
                return false;
            }
        }
    }
    return true; // at this point card has not been proven to be invalid
}

//Provides the Default text of a textbox and when focus is lost the Default text appears
function textChanger(obj, text) {
    if (text == null) { text = '' }
    if (obj.value == '') {
        obj.value = text;
    } else if (obj.value == text) {
        obj.value = '';
    } else if (obj.value != text) {
        return;
    }
}

function CheckNewsLetterEmail() {
    var email = document.getElementById('txtNewsLetterEmail').value;
    var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (email == '' || email == 'Enter Email Address') {
        alert('Please enter Email Address');
        return false;
    }
    else if (reg.test(email) == false) {
        alert('Invalid Email Address');
        return false;
    }
    else
        return true;
}

function CheckLogin() {
    var username = document.getElementById('txtUsername').value;
    var password = document.getElementById('txtPassword').value;
    var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    var flag = 0;
    var msg = '';
    if (username == '' || username == 'Username') {
        msg += 'Please enter Username\n';
    }
    else {
        if (reg.test(username) == false) {
            msg += 'Invalid Username\n';
        }
    }
    if (password == '' || password == 'Password') {
        msg += 'Please enter Password\n';
    }

    if (msg != '') {
        alert(msg);
        return false;
    }
    else
        return true;
}

function CheckVal() {
    var val = document.getElementById("txtSearch");
    val = val.value;
    if (val != '' && val != 'Search') { return true; }
    else {
        alert("-- Please enter search keyword(s).");
        return false;
    }
}
