﻿/***************************************************/
//Key press filters & blockers
$j(function() {
    $j(':text').bind("keypress", function(evt) {
        var charCode = (evt.which) ? evt.which : window.event.keyCode;
        if (charCode <= 13) {
            return true;
        }
        else {
            var keyChar = String.fromCharCode(charCode);
            var re = /[-\d\w\s`'\(\)\.\/\\",@:;]/;
            return re.test(keyChar);
        }
    });
    $j(':text').blur(function(evt) {
        var text = $j(this).val().replace(/[^-\d\w\s`'\(\)\.\/\\",@:;]*/, "");
        $j(this).val(text);
    });
});
/***************************************************/
//Currency
function updateCurrency() {
    try {
        if (readCookie("dispcurrency")) {
            setcurrencycookie(readCookie("dispcurrency"));
            //location.reload(true);
        }
    }
    catch (e) { alert(e.message); }
}

var rdoSet = false;
var bViewing = false;
function showCurrencyConvertor() {
    window.clearTimeout(cTID);
    if (bViewing) return;
    bViewing = true;
    var bubbleId = $("hidCurrencyBubbleId").value;
    if (!rdoSet) {
        clearcurrencyselection();
        rdoSet = true;
        var currency = "AUD";
        if (readCookie("dispcurrency")) {
            currency = readCookie("dispcurrency");
        }
        else {
            setcurrencycookie(currency);
        }
        switch (currency) {
            case "AUD":
                $j("#rdaud").attr("checked", "checked");
                break;
            case "CAD":
                $j("#rdcad").attr("checked", "checked");
                break;
            case "USD":
                $j("#rdusd").attr("checked", "checked");
                break;
            case "GBP":
                $j("#rdgbp").attr("checked", "checked");
                break;
            case "NZD":
                $j("#rdnzd").attr("checked", "checked");
                break;
            case "EUR":
                $j("#rdeur").attr("checked", "checked");
                break;
            default:
                break;
        }
    }
    $(bubbleId).style.display = 'block';
}

var cTID;
function hideCurrencyConverter() {
    try {
        window.clearTimeout(cTID);
        cTID = window.setTimeout(closeCurrencyConverter, 500);
    }
    catch (e) { }
}

function closeCurrencyConverter() {
    rdoSet = false;
    bViewing = false;
    var bubbleId = $("hidCurrencyBubbleId").value;
    $(bubbleId).style.display = 'none';
}


function clearcurrencyselection() {
    $("rdaud").checked = false;
    $("rdusd").checked = false;
    $("rdgbp").checked = false;
    $("rdnzd").checked = false;
    $("rdeur").checked = false;
    $("rdcad").checked = false;
}
function setcurrencycookie(currency) {
    try {
        var rate = 1;
        var symbol = "$";
        dc_select_currency(currency);
        if (currency != "AUD") {
            rate = /([0-9]+\.[0-9]{2}).*?([0-9]+\.[0-9]{2})/.exec(dc_convert(1))
            symbol = rate[0].slice(rate[0].indexOf(";") + 1, rate[0].lastIndexOf(";") + 1);
            rate = (typeof (rate) == 'object') ? rate[2] : 1;
            if (!IsNumeric(rate)) {
                closeCurrencyConverter();
                alert("Currency conversion failed");
                return;
            }
        }
        createCookie("dispcurrency", currency, 93);
        createCookie("dispcurrencyrate", rate);
        createCookie("dispcurrencysymbol", symbol);
    }
    catch (e) {
        alert(e);
        closeCurrencyConverter();
        return;
    }
}

function selectdispcurrency() {
    if ($("rdaud").checked)
        setcurrencycookie("AUD");
    else if ($("rdusd").checked)
        setcurrencycookie("USD");
    else if ($("rdgbp").checked)
        setcurrencycookie("GBP");
    else if ($("rdnzd").checked)
        setcurrencycookie("NZD");
    else if ($("rdeur").checked)
        setcurrencycookie("EUR");
    else if ($("rdcad").checked)
        setcurrencycookie("CAD");

    else
        setcurrencycookie("AUD");
}

/*cookie functions*/
function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    value = value;
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function IsNumeric(sText) {
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;


    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;

}
/***************************************************/
//Category Menu
function showCategoryName(catID) {
    $('catName' + catID).style.visibility = 'visible';
}

function hideCategoryName(catID) {
    $('catName' + catID).style.visibility = 'hidden';
}
/***************************************************/
//Top Menu
$j(function() {
    $j(".top_menu_text").removeClass("white");

    if (String(document.location).search('/information/') > 0) {
        $j("#info_highlight").show();
        $j("#info_text").addClass("white");
    }
    else if (String(document.location).search('/delivery/') > 0) {
        $j("#delivery_highlight").show();
        $j("#delivery_text").addClass("white");
    }
    else if (String(document.location).search('/customerservice/') > 0) {
        $j("#cs_highlight").show();
        $j("#cs_text").addClass("white");
    }
    else if (String(document.location).search('/members/') > 0) {
        $j("#members_highlight").show();
        $j("#members_text").addClass("white");
    }
    else if (String(document.location).search('/chat') > 0) {
        $j("#chat_highlight").show();
        $j("#chat_text").addClass("white");
    }
});
/***************************************************/
//tabs
function collapseTabs(tabId) {
    if ($j(tabId).is(':visible'))
        $j(tabId).hide();
    else {

        if ($j('#pnlTab1').is(':visible') ||
                    $j('#pnlTab2').is(':visible') ||
                    $j('#pnlTab3').is(':visible') ||
                    $j('#pnlTab4').is(':visible'))
            $j(tabId).show();
        else
            $j(tabId).show("slow");

        /*$j('html, body').animate({
        scrollTop: $j("#bottomDiv").offset().top
        }, 2000);*/

    }
}
/***************************************************/
//payment processing
function processPayment() {
    if (Page_ClientValidate()) {
        $j("#paymentButton").hide();
        $j("#confirmPay").hide();
        $j("#confirmPayProcessing").show();
    }
    
}
/***************************************************/
//additions
function selExtra(ddl) {
    var ddlExtra = $j("#" + ddl.id);
    var img = $j("img[extratype|=" + ddlExtra.attr("extratype") + "]");
    if (img != null) {
        var imgPath = "/images/products/extras/" + ddlExtra.attr("extratype") + ((ddlExtra.val() != "") ? "_sel.jpg" : ".jpg");
        img.attr("src", imgPath);
    }
}
function selWine(ddl) {
    var ddlExtra = $j("#" + ddl.id);
    var img = $j("img[extratype|=Wine]");
    if (img != null) {
        if (ddlExtra.val() != "") {
            var txt = $j("option:selected", ddlExtra).text();
            var imgPath = "/images/products/extras/wine" + ((txt.indexOf('red') > -1) ? "_red" : "_white") + "_sel.jpg";
        }
        else
            var imgPath = "/images/products/extras/wine.jpg";
        img.attr("src", imgPath);
    }
}
/***************************************************/
//preload images
function preload(arrayOfImages) {
    $j(arrayOfImages).each(function() {
        $j('<img/>')[0].src = this;
    });
}
