/*
 * @author Gproxy Design Inc.
 * @copyright (c) 2010, Gproxy Design Inc. All rights reserved.
 * @version 1.0
 *
 * Gproxy doesn't allow to copy or change this code without Gproxy authorization.
 * See http://www.gproxy.com/licenses/license01.pdf for the full license governing this code.
 */
var intIntervalCartID = 0;
var dteBookingExpireTime = null;
var messageContent = "";
function popupMessage(){
    $j(".win").remove();
    $j("body").append('<div class="win">' + messageContent + "</div>");
    $j(".win").fadeTo(0, 0).css({
        position: "fixed",
        left: "50%",
        top: "50%",
        width: "300px",
        height: "80px",
        background: "#fff",
        color: "#333",
        "font-size": "14px",
        "text-align": "center",
        border: "3px solid #EAA722",
        padding: "20px 10px",
        "margin-left": "-160px",
        "margin-top": "-60px"
    });
    $j(".win").append('<div class="close">x Close</div>');
    $j(".close").css({
        border: "2px solid #666666",
        color: "#666",
        "font-size": "11px",
        width: "45px",
        margin: "10px auto",
        "font-weight": "bold",
        cursor: "pointer",
        "font-family": "arial",
        overflow: "hidden",
        padding: "1px"
    });
    $j(".win").fadeTo(500, 1);
    $j(".close").click(function(){
        $j(".win").fadeTo(500, 0, function(){
            $j(".win").remove()
        })
    })
}

function mcartGetItems(C, B){
    var A = new RegExp("Book-a-Delivery-Slot", "gi");
    if (A.exec(document.URL) !== null) {
        setTimeout(function(){
            mcartAjaxGetItems(C, B)
        }, 3000)
    }
    else {
        mcartAjaxGetItems(C, B)
    }
}

function mcartAjaxGetItems(B, A){
    $j.ajax({
        url: B,
        type: "GET",
        dataType: "html",
        success: function(J){
            var D = $j(J).find("tr[id^=carttablerow]");
            var C = [];
            var F = [];
            var H = null;
            var I = "";
            $j("#" + A).html("");
            $j("<ul>").attr("id", "mcart_list").appendTo("#" + A);
            if (D.length === 0) {
                $j("ul#mcart_list").append('<li class="minicart-empty">0 Items in your basket</li>')
            }
            $j(D).each(function(Q){
                var L = $j(this).find('td:contains("Delivery Slot Expire Time"):last');
                if (L.length == 1) {
                    F.push("mcart_list_item" + Q);
                    strDateTimeStamp = L.html();
                    strDateTimeStamp = strDateTimeStamp.replace("Delivery Slot Expire Time: ", "");
                    var M = strDateTimeStamp.split(" ");
                    if (M !== null) {
                        var R = M[0].split("/");
                        var N = M[1].split(":");
                        var P = new Date();
                        P.setDate(R[0]);
                        P.setMonth((R[1] - 1));
                        P.setFullYear(R[2]);
                        P.setHours(N[0]);
                        P.setMinutes(N[1]);
                        P.setSeconds(N[2]);
                        if (H === null) {
                            H = P;
                            I = "mcart_list_item" + Q
                        }
                        else {
                            if (H < P) {
                                H = P;
                                I = "mcart_list_item" + Q
                            }
                        }
                    }
                }
                var O = $j(this).find("td:eq(0)").html();
                var S = $j(this).find("td:eq(1)").html();
                var K = $j(this).find("td:eq(2) input").attr("value");
                var T = $j(this).find("td:eq(4)").html();
                $j("<li>").attr("id", "mcart_list_item" + Q).appendTo("#mcart_list");
                $j('<div class="mini-image">').html(O).appendTo("#mcart_list_item" + Q);
                $j('<div class="mini-name">').html(S).appendTo("#mcart_list_item" + Q);
                $j('<div class="mini-qty">').html('<div class="wrap-mini-qty"><span class="miniqty">Qty:&nbsp;' + K + '</span><span class="miniprice">' + T + "</span></div>").appendTo("#mcart_list_item" + Q)
            });
            if (I !== "" && F.length == 1) {
                dteBookingExpireTime = H
            }
            else {
                dteBookingExpireTime = null
            }
            if (I !== "" && F.length > 1) {
                for (var G = 0; G < F.length; G++) {
                    if (I != F[G]) {
                        C.push(F[G])
                    }
                }
                for (var E = 0; E < C.length; E++) {
                    $j("#" + C[E]).remove()
                }
            }
            $j("#" + A).fadeTo(0, 1);
            intIntervalCartID = setInterval(function(){
                checkBookingExpireTime()
            }, 2000)
        },
        error: function(C, E, D){
        }
    })
}

function checkBookingExpireTime(){
    if (!GPR_OPTIONS.options().isNotDelivery) {
        if (dteBookingExpireTime !== null) {
            var E = new Date();
            var D = 60000;
            if (dteBookingExpireTime > E) {
                var B = readCookie("_av_bet_advise");
                var G = 0;
                var C = false;
                var F = null;
                if (B !== null && B !== "") {
                    var A = new Date(B);
                    if ((A - E) < 0) {
                        if ((dteBookingExpireTime - E) < (15 * D)) {
                            F = new Date(E.setMinutes(E.getMinutes() + 20));
                            createCookie("_av_bet_advise", F.toString());
                            G = Math.round(((dteBookingExpireTime - E) / D));
                            C = true
                        }
                    }
                }
                else {
                    if ((dteBookingExpireTime - E) < (15 * D)) {
                        F = new Date(E.setMinutes(E.getMinutes() + 20));
                        createCookie("_av_bet_advise", F.toString());
                        G = Math.round(((dteBookingExpireTime - E) / D));
                        C = true
                    }
                }
                if (C) {
                    var H = "Please note your reserved delivery slot will expire in 15 mins...";
                    popupMessage()
                }
                
            }
        }
    }
}

function checkBookingMiniCart(C, B){
	 if (!GPR_OPTIONS.options().isNotDelivery) {
	 	if (dteBookingExpireTime !== null) {
	 		var A = new Date();
	 		if (A > dteBookingExpireTime) {
	 			messageContent = "Your delivery slot has expired...";
	 			popupMessage()
	 		}
	 		else {
	 			document.location.href = C
	 		}
	 	}
	 	else {
	 		document.location.href = B
	 	}
	 }
}

function createCookie(C, D, E){
    var A = "";
    if (E) {
        var B = new Date();
        B.setTime(B.getTime() + (E * 24 * 60 * 60 * 1000));
        A = "; expires=" + B.toUTCString()
    }
    else {
        A = ""
    }
    document.cookie = C + "=" + escape(D) + A + "; path=/"
}

function readCookie(A){
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(A + "=");
        if (c_start != -1) {
            c_start = c_start + A.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length
            }
            return unescape(document.cookie.substring(c_start, c_end))
        }
    }
    return null
}

