
var validityDates = {

    "30/05/2011": null,
    "31/05/2011": new Array("fbi001", "fbi002", "fbi003", "fbi004", "fbi005", "fbi006", "fbi007", "fbi008", "fbi009", "fbi010", "fbi011", "fbi012", "ffr001", "ffr002", "ffr003", "ffr004", "ffr005", "ffr006", "ffr007", "ffr008", "ffr009", "ffr010", "ffr011", "ffr012", "fwl013", "fwl014", "fwl015", "fwl016", "fwl017", "fwl018", "fwl019", "fwl020", "fwl021", "fwl022", "fwl023", "fwl024", "fbc015", "fbc016", "fbc017", "fbc018", "fbc019", "fbc020", "fbc021", "fbc022", "fbc023", "fbc024", "fbc025", "fbc026", "fsy013", "fsy014", "fsy015", "fsy016", "fsy017", "fsy018", "fsy019", "fsy020", "fsy021", "fsy022", "fsy023", "fsy024", "fsu013", "fsu014", "fsu015", "fsu016", "fsu017", "fsu018", "fsu019", "fsu020", "fsu021", "fsu022", "fsu023", "fsu024"),
    "29/08/2011": null,
    "25/12/2011": null,
    "26/12/2011": null
};

var pricingChanges = {
    "bulkhampers": '',
    "2workingdays": '',
    "7daydelivery": '',
    "nextday": '',
    "sameday": '',
    "hampers": ''
}


/* corphampers start */
function BulkHampersCheck(deliveryType, txtdate) {
    if ((txtdate == "13/3/2010") || (txtdate == "14/3/2010")) {
        Venda.Ebiz.EnableDeliveryOption("li.bulkhampers");
        Venda.Ebiz.DisableDeliveryOption("li.hampers");
        Venda.Ebiz.DisableDeliveryOption("li.nextday");
        Venda.Ebiz.DisableDeliveryOption("li.sameday");
        Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
        Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
    } else {
        Venda.Ebiz.DisableDeliveryOption("li.bulkhampers");
    }
}

$(document).ready(function () {
    BulkHampersCheck('bulkhampers', $('input[name="orxorderdate"]').val());

    if (pricingChanges != null) {
        for (var pricingChange in pricingChanges) {
            if (pricingChanges[pricingChange] != null) {

                var pinky = String(($("li." + String(pricingChange)).html()))
                var myregex = new RegExp('<[^/].+?>.+?</.+?>', 'gmi');
                var tempOut = '';
                var tempTotal = new Array();
                while (tempOut != null) {
                    tempOut = myregex.exec(pinky)
                    if (tempOut != null) {
                        tempTotal[tempTotal.length] = tempOut[0];
                    }
                }
                tempTotal[tempTotal.length] = tempTotal[tempTotal.length - 1];
                tempTotal[tempTotal.length - 2] = pricingChanges[pricingChange];
                $("li." + String(pricingChange)).html(tempTotal.join(' '));

            }
        }
    }
});
/* corphampers END */
function SwapJsonKeyValues(input) {
    var one, output = {};
    for (one in input) {
        if (input.hasOwnProperty(one)) {
            output[input[one]] = one;
        }
    }
    return output;
}
var flippedDates = SwapJsonKeyValues(validityDates);

function parseToDate(ukDateString) {
    return new Date(Number(ukDateString.substring(6, 10)), (Number(ukDateString.substring(3, 5)) - 1), Number(ukDateString.substring(0, 2)), 12, 0, 0, 0);
}

function kindaInArray(elem, array) {
    if (array != null) {
        for (var i = 0, length = array.length; i < length; i++) {
            if (String(elem).indexOf(String(array[i])) == 0) {
                return i;
            }
        }
    }

    return -1;
}

function SkusOnPageAreValid(skuArray) {
    var hasValidSkus = true;
    if (skuArray != null) {
        var skusOnPage = $('input.pdxtdelivery[type="hidden"]');
        hasValidSkus = (skusOnPage.length > 0);
        skusOnPage.each(function () {
            var pageSku = String($(this).attr('name')).replace('pdxtdelivery', '');
            if (kindaInArray(pageSku, skuArray) < 0) {
                hasValidSkus = false;
                return false;
            }
        });
    }
    return hasValidSkus;
}

function TestForValidity(workingDate) {
    if (validityDates != null) {
        for (var validityDate in validityDates) {
            if (validityDates[validityDate] != null) {
                var tempDate = parseToDate(validityDate);
                if (tempDate.toUTCString() == workingDate.toUTCString()) {
                    if (SkusOnPageAreValid(validityDates[validityDate])) {
                        return YAHOO.widget.Calendar.DISPLAY_DAYS;
                    }
                }
            }
        }
    }
    return null;
}

function ApplyInvalidity(Calendar, CalendarCustomRenderer) {
    if (validityDates != null) {
        for (var validityDate in validityDates) {
            var tempDate = parseToDate(validityDate);
            if ((validityDates[validityDate] == null) || (TestForValidity(tempDate) == null)) {
                Calendar.addRenderer(String(Number(tempDate.getMonth()) + 1) + '/' + String(tempDate.getDate()) + '/' + String(tempDate.getFullYear()), CalendarCustomRenderer);
            }
        }
    }
}


function IsExplicitlyInvalid(workingDate, cell, calendar) {
    if (validityDates != null) {
        for (var validityDate in validityDates) {
            var tempDate = parseToDate(validityDate);
            if (workingDate.toUTCString() == tempDate.toUTCString()) {
                if ((validityDates[validityDate] == null) || (TestForValidity(tempDate) == null)) {
                    cell.innerHTML = calendar.buildDayLabel(workingDate);
                    return "S";
                }
            }
        }
    }
    return null;
}

/**
* @fileoverview ebiz.js: A module used for client specific functionality
*
* This module defines a single symbol named "Venda.Ebiz"
* all ebiz utility functions are stored as properties of this namespace
* functions that are spacific this site shoudl be added to this file only.
*/

//Declare namespace for ebiz
Venda.namespace("Ebiz");

/**
* The following global variables (directly below) are NEEDED to support legacy javascript functions - DO NOT REMOVE! see RT#113376 for more details.
* 1. shown
* 2. hidden
*/

var shown = new Image();
shown.src = "/venda-support/images/bulleton.gif";
var hidden = new Image();
hidden.src = "/venda-support/images/bulletoff.gif";

/**
* Split a string so it can be displayed on multiple lines so it does not break display layout - used on order confirmation and order receipt page
* @param {string} strToSplit string that needs to be split 
* @param {Integer} rowLen length of row which will hold the string
* @param {string} displayElem the html container which will display the splitted string
*/
Venda.Ebiz.splitString = function (strToSplit, rowLen, dispElem) {
    if (document.getElementById(dispElem)) {
        var stringlist = new Array();
        while (strToSplit.length > rowLen) {
            stringlist.push(strToSplit.slice(0, rowLen));
            strToSplit = strToSplit.substr(rowLen);
        }
        if (strToSplit.length) {
            stringlist.push(strToSplit);
        }
        document.getElementById(dispElem).innerHTML = stringlist.join('<br>');
    }
};

/**
* A skeleton function for validating user extened fields - needs to be amended by the build team
* @param {object} frmObj HTML form containing user extended field elements
*/
Venda.Ebiz.validateUserExtendedFields = function (frmObj) {
    if (frmObj) {
        return true;
    }
};
Venda.Ebiz.GetPaddingDay = function (option) {
    if (option == "sameday") {
        return new Array(1, 0, 0, 0, 0, 0, 0);
    } else if (option == "nextday") {
        return new Array(2, 1, 1, 1, 1, 1, 3);
    } else if (option == "hampers") {
        return new Array(2, 2, 2, 2, 5, 4, 3);
    } else if (option == "7daydelivery") {
        return new Array(8, 7, 7, 7, 7, 7, 7);
    } else if (option == "bulkhampers") {
        return new Array(0, 0, 0, 0, 0, 0, 0);
    } else { /*default 2 working day */
        return new Array(3, 3, 3, 3, 3, 5, 4);
        /** jH 27052011 moved forward 2 working days to 3
        */
    }
};

/**
* A GetDeliverydate fucntion for generate delivery rate from FWDIILOG-8
* @param {string} todaydate ::: set server time - get value from (venda_time time=now,format=dd/mm/yyyy hh:mm)
* @param {boolean} isNextdateDelivery ::: true = Next Day Flower Delivery , false = Same Day Flower Delivery 
* @returns {Object} return object(Full month name, Full Week name,Date())
*/
Venda.Ebiz.GetDeliverydate = function (todaydate, deliveryoption) {
    var DateTimeArray = todaydate.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4}) (\d{1,2}):(\d{1,2})$/);
    var notovermsg = '';
    var DeliveryDate = new Date();
    var generatedDate = { strMonth: "", strDay: "", strMessage: "", strTodayFulldate: todaydate, strTodayShortdate: "", strDeliveryShortdate: "", FullDate: DeliveryDate };
    if (DateTimeArray) {
        var Day = DateTimeArray[1];
        var Month = DateTimeArray[2];
        var Year = DateTimeArray[3];
        var Hour = DateTimeArray[4];
        var Minute = DateTimeArray[5];
        var TodayFulldate = Day + '/' + parseInt(Month) + '/' + Year;
        var weekdayString = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
        var monthString = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
        var SameDayPadding = Venda.Ebiz.GetPaddingDay("sameday");
        var NextDayPadding = Venda.Ebiz.GetPaddingDay("nextday");
        var Next2DayPadding = Venda.Ebiz.GetPaddingDay("2workingdays");
        var Next7DayPadding = Venda.Ebiz.GetPaddingDay("7daydelivery");
        var HampersPadding = Venda.Ebiz.GetPaddingDay("hampers");
        var BulkHampersPadding = Venda.Ebiz.GetPaddingDay("bulkhampers");
        DeliveryDate.setFullYear(Year, Month - 1, Day);
        DeliveryDate.setHours(Hour, Minute, 0);
        var Weekday = DeliveryDate.getDay();
        Hour = parseInt(Hour);
        Minute = parseInt(Minute);
        generatedDate.strTodayShortdate = TodayFulldate;
        var todaysTempDate = new Date(DeliveryDate.toUTCString());
        switch (deliveryoption) {
            case "sameday":
                /* Same Day Flower Delivery */
                if ((Hour == 15 && Minute >= 00) || (Hour > 15)) { /* not deliver on saturday over 15:30 :: set order to nextday */
                    DeliveryDate.setDate(DeliveryDate.getDate() + 1);
                } else {
                    notovermsg = '(if you order by 3.00pm today) ';
                }
                DeliveryDate.setDate(DeliveryDate.getDate() + SameDayPadding[DeliveryDate.getDay()]);
                generatedDate.strMessage = notovermsg + "Or any day after this between Monday and Saturday.";
                break;
            case "nextday":
                /* Next Day Flower Delivery */
                if ((Hour == 15 && Minute >= 00) || Hour > 15) {  /* not deliver on satureday over 16:00 :: set order to nextday */
                    DeliveryDate.setDate(DeliveryDate.getDate() + 1);
                } else {
                    notovermsg = '(if you order by 4pm today) ';
                }
                DeliveryDate.setDate(DeliveryDate.getDate() + NextDayPadding[DeliveryDate.getDay()]);
                generatedDate.strMessage = notovermsg + "Or any day after this between Tuesday and Saturday.";
                break;
            case "7daydelivery":
                /* 7 Day Flower Delivery */
                if ((Hour == 15 && Minute >= 00) || Hour > 15) {  /* not deliver on satureday over 16:00 :: set order to nextday */
                    DeliveryDate.setDate(DeliveryDate.getDate() + 1);
                } else if (DeliveryDate.getDay() != 0) {
                    notovermsg = '(if you order by 4pm today) ';
                }
                DeliveryDate.setDate(DeliveryDate.getDate() + Next7DayPadding[DeliveryDate.getDay()]);
                generatedDate.strMessage = notovermsg + "Or any day after this between Monday and Saturday.";
                break;
            case "hampers":
                if ((Hour == 15 && Minute >= 00) || Hour > 15) {/* not deliver on satureday over 16:00 :: set order to nextday */
                    if (Weekday != 6 && Weekday != 0) { DeliveryDate.setDate(DeliveryDate.getDate() + 1); }
                } else {
                    notovermsg = '(if you order by 4pm today) ';
                }
                DeliveryDate.setDate(DeliveryDate.getDate() + HampersPadding[DeliveryDate.getDay()]);
                generatedDate.strMessage = notovermsg + " Or any day after this between Tuesday and Friday.";
                break;
            case "bulkhampers":
                if ((Hour == 15 && Minute >= 00) || Hour > 15) {/* not deliver on satureday over 16:00 :: set order to nextday */
                    if (Weekday != 6 && Weekday != 0) { DeliveryDate.setDate(DeliveryDate.getDate() + 1); }
                } else {
                    if (Weekday == 0) {
                        notovermsg = '(if you order by 10am today) ';
                    } else {
                        notovermsg = '(if you order by 4pm today) ';
                    }
                }
                if (Weekday == 0 && Hour >= 10) {
                    DeliveryDate.setDate(DeliveryDate.getDate() + BulkHampersPadding[DeliveryDate.getDay()] + 1);
                } else {
                    DeliveryDate.setDate(DeliveryDate.getDate() + BulkHampersPadding[DeliveryDate.getDay()]);
                }
                generatedDate.strMessage = notovermsg + " Or any day after this between Monday and Saturday.";
                break;
            default:
                /* 2 Working Days Flower Delivery */
                if ((Hour == 15 && Minute >= 0) || Hour > 15) {/* not deliver on satureday over 16:00 :: set order to nextday */
                    if (Weekday != 6 && Weekday != 0) { DeliveryDate.setDate(DeliveryDate.getDate() + 1); }
                } else {
                    notovermsg = '(if you order by 4pm today) ';
                }
                DeliveryDate.setDate(DeliveryDate.getDate() + Next2DayPadding[DeliveryDate.getDay()]);
                generatedDate.strMessage = notovermsg + "Or any day after this between Tuesday and Saturday.";
        }
        var lowerBound = todaysTempDate.getDate();
        var upperBound = DeliveryDate.getDate();
        for (var dayWalker = lowerBound; dayWalker < upperBound; dayWalker++) {
            var formattedDate = (new Date(todaysTempDate.toUTCString()));
            formattedDate.setDate(dayWalker);
            var tmonth = ((formattedDate).getMonth() + 1);
            var tyear = (formattedDate).getFullYear();
            var tday = (formattedDate).getDate();
            var tformat = (tday < 10 ? '0' : '') + String(tday) + '/' + (tmonth < 10 ? '0' : '') + String(tmonth) + '/' + String(tyear);
            var skuArray = validityDates[tformat];
            if (skuArray != null && SkusOnPageAreValid(skuArray)) {
                if ((Weekday == 0) && (Hour >= 10) && (tformat == (Day + '/' + Month + '/' + Year))) {
                    Venda.Ebiz.DisableDeliveryOption("li.bulkhampers");
                } else {
                    DeliveryDate = formattedDate;
                }
                break;
            }
        }

        generatedDate.strDeliveryShortdate = DeliveryDate.getDate() + "/" + (DeliveryDate.getMonth() + 1) + "/" + DeliveryDate.getFullYear();
        //disableSameday=(generatedDate.strDeliveryShortdate==generatedDate.strTodayShortdate)? false:true;
        generatedDate.strMonth = monthString[DeliveryDate.getMonth()];
        generatedDate.strDay = weekdayString[DeliveryDate.getDay()];
        generatedDate.FullDate = DeliveryDate;
        return generatedDate;
    } else {/*invalid date format */
        return null;
    }
};

/**
* Validate date format only DD/MM/YY and day not over 29, 30 and 31
* @param {string} Orxfuneraldate ::: date format DD/MM/YY
*/
Venda.Ebiz.validateDateformat = function (Orxfuneraldate) {
    if (Orxfuneraldate) {
        var month = Orxfuneraldate[2];
        var day = [Orxfuneraldate[1], 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
        if ((month >= 1 && month <= 12) && (day[0] >= 1 && day[0] <= day[eval(month)])) {
            return true;
        }
    }
    return false;
};

/**
* Validate time format only HH:MM (Hour:Minute), HH = 00-23, MM = 00-59
* @param {string} Orxfuneraldate ::: date format DD/MM/YY
*/
Venda.Ebiz.validateTimeformat = function (Orxfuneraltime) {
    if (Orxfuneraltime) {
        var hour = parseInt(Orxfuneraltime[1]);
        var minute = parseInt(Orxfuneraltime[2]);
        if ((hour >= 0 && hour <= 23) && (minute >= 0 && minute <= 59)) {
            return true;
        }
    }
    return false;
};

Venda.Ebiz.InitOrxfuneralorder = function () {
    // WC slide 8
    //alert($('[name=set_oitemxgiftMessage_868]').val());
    //alert($("input[name=set_oitemxgiftMessage_868]").val()); 
    jQuery(".deliveryrate").hide(); // to hide delivery rate on order confirmation 
    jQuery("#orxfields_312").hide();
    jQuery("#orxfields_317").hide();
    jQuery("#divpackageoption").removeClass('orxfieldsset');
    // Birthday and Aiversary Option deleted on request 2871
    //document.getElementById("divpackageoption").innerHTML = "This order is for a:   &nbsp;&nbsp; funeral  &nbsp;<input type=checkbox value=on name=orxfuneralorder>  wedding&nbsp;<input type=checkbox value=on name=orxweddingorder>   birthday&nbsp;<input type=checkbox value=on name=orxbirthdayorder>  anniversary&nbsp;<input type=checkbox value=on name=orxanniversary order>";
    document.getElementById("divpackageoption").innerHTML = "This order is for a:   &nbsp;&nbsp; funeral  &nbsp;<input type=checkbox value=on name=orxfuneralorder>  wedding&nbsp;<input type=checkbox value=on name=orxweddingorder>";
    // WC slide 8
    if (jQuery("input[name='orxfuneralorder']").attr("checked")) {
        jQuery("#orderconfirmation #orxfields_313, #orderconfirmation #orxfields_314,#orderconfirmation #orxfields_315,#orderconfirmation #orxfields_316").show();
        jQuery(".funeralsmsg").show(); //show special msg for funeral order only
    }
    else {
        jQuery(".funeralsmsg").hide();
    }
    jQuery("input[name='orxfuneralorder']").click(function () {
        if (jQuery(this).attr("checked")) {
            jQuery("#orderconfirmation #orxfields_313, #orderconfirmation #orxfields_314,#orderconfirmation #orxfields_315,#orderconfirmation #orxfields_316").show();
            jQuery(".funeralsmsg").show();
        } else {
            jQuery("#orderconfirmation #orxfields_313, #orderconfirmation #orxfields_314,#orderconfirmation #orxfields_315,#orderconfirmation #orxfields_316").hide();
            jQuery(".funeralsmsg").hide();
        }
        jQuery("#orderconfirmation #orxfields_313 input, #orderconfirmation #orxfields_314 input,#orderconfirmation #orxfields_315 input,#orderconfirmation #orxfields_316 input").attr("value", "");
    });
    jQuery("#orderconfirmation #orxfields_313 label,#orderconfirmation #orxfields_314 label,#orderconfirmation #orxfields_315 label").append('<span class="require">*</span>');
};

Venda.Ebiz.InitOrxweddingorder = function () {
    if (jQuery("input[name='orxweddingorder']").attr("checked")) {
        jQuery("#orderconfirmation #orxfields_318").show();
    }
    jQuery("input[name='orxweddingorder']").click(function () {
        if (jQuery(this).attr("checked")) {
            jQuery("#orderconfirmation #orxfields_318").show();
        } else {
            jQuery("#orderconfirmation #orxfields_318").hide();
        }
        jQuery("#orderconfirmation #orxfields_318").attr("value", "");
    });
    jQuery("#orderconfirmation #orxfields_318 label").append('<span class="require">*</span>');
};

$(document).ready(function () {
    jQuery(".Lcattree a:last").addClass("last");
    jQuery("table.orderdetails tbody tr:last").addClass("last");
});

Venda.Ebiz.EnableDeliveryOption = function (jQueryClass) {
    jQuery(jQueryClass + " input[type=radio]").removeAttr("disabled");
    jQuery(jQueryClass).show();
};
Venda.Ebiz.DisableDeliveryOption = function (jQueryClass) {
    jQuery(jQueryClass + " input[type=radio]").attr("disabled", "disabled");
    jQuery(jQueryClass + " input[type=radio]").removeAttr("checked");
    jQuery(jQueryClass).hide();
};
Venda.Ebiz.setCookie = function (Cookiename, Cookievalue) {
    var jar = new CookieJar({
        expires: 10 * 24 * 60 * 60,   // seconds
        path: '/',
        secure: 'secure'
    });
    jar.put(Cookiename, Cookievalue);
};
Venda.Ebiz.readCookie = function (name) {
    var jar = new CookieJar();
    var Cookievalue = jar.get(name);
    if (Cookievalue != "") {
        return Cookievalue;
    } else {
        return false;
    }
};
Venda.Ebiz.removeCookie = function (name) {
    var jar = new CookieJar({ expires: 1, path: '/' });
    jar.put(name, "");
};

Venda.Ebiz.OrcfDelivery = function (todayDate) {
    var Deliverytype = 0;
    var Deliverytxt = new Array("sameday", "nextday", "2workingdays", "7daydelivery", "hampers");
    jQuery("input[name=orxorderdate]").attr("id", "orxorderdate");
    jQuery("input.pdxtdelivery").each(function (index) {
        if (parseInt(jQuery(this).attr("value")) > Deliverytype) { Deliverytype = parseInt(jQuery(this).attr("value")); }
    });

    if (document.getElementById("orxorderdate")) { // 11302011
        if (document.getElementById("orxorderdate").value == "") {
            jQuery(".deliveryrate input[type=radio]").removeAttr("checked");
        } else {
            var torxorderdate = document.getElementById("orxorderdate").value;
            var orxorderdateDateArray = torxorderdate.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);
        }
    }


    var EstimateDelivery = Venda.Ebiz.GetDeliverydate(todayDate, Deliverytxt[Deliverytype]);
    var minDate = (EstimateDelivery.FullDate.getMonth() + 1) + '/' + EstimateDelivery.FullDate.getDate() + '/' + EstimateDelivery.FullDate.getFullYear();
    /* Deliverytype=sameday and estimate delivery date != current date, Deliverytype=nextday or 2workingdays */
    Venda.Ebiz.CreateCalendar(Deliverytxt[Deliverytype], "calendar", "orxorderdate", minDate, EstimateDelivery);
    document.getElementById("mindate").innerHTML = EstimateDelivery.FullDate.getDate() + "/" + (EstimateDelivery.FullDate.getMonth() + 1) + '/' + EstimateDelivery.FullDate.getFullYear();
    var DateTimeArray = todayDate.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4}) (\d{1,2}):(\d{1,2})$/);
    var Hour = parseInt(DateTimeArray[4]);
    var Minute = parseInt(DateTimeArray[5]);
    if (document.getElementById("orxorderdate")) {
        if (document.getElementById("orxorderdate").value != "") {
            jQuery(".y" + orxorderdateDateArray[3] + " .m" + (orxorderdateDateArray[2]) + " .d" + orxorderdateDateArray[1]).addClass("selected");
            TempminDate = EstimateDelivery.FullDate.getDate() + '/' + (EstimateDelivery.FullDate.getMonth() + 1) + '/' + EstimateDelivery.FullDate.getFullYear();
            if (jQuery(".y" + orxorderdateDateArray[3] + " .m" + (orxorderdateDateArray[2]) + " .d" + orxorderdateDateArray[1]).hasClass("sameday")) {
                Venda.Ebiz.DisableDeliveryOption("li.nextday");
                Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
                Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
            }
            else if (jQuery(".y" + orxorderdateDateArray[3] + " .m" + (orxorderdateDateArray[2]) + " .d" + orxorderdateDateArray[1]).hasClass("nextday")) {
                if (Deliverytxt[Deliverytype] == "sameday") {
                    Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
                    Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
                }
                else if ((Hour == 15 && Minute >= 0) || Hour > 15) {
                    Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
                    Venda.Ebiz.DisableDeliveryOption("li.nextday");
                }
                else {
                    Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
                    Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
                }
                Venda.Ebiz.DisableDeliveryOption("li.sameday");
            }
            else { /* 2wd */
                var NextDate = new Date();
                var preNextDate = new Date();
                var Next2DayPadding = Venda.Ebiz.GetPaddingDay("2workingdays");
                var DateTimeArray = todayDate.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4}) (\d{1,2}):(\d{1,2})$/);
                NextDate.setFullYear(DateTimeArray[3], DateTimeArray[2] - 1, DateTimeArray[1]);
                var TodayDayWeekday = NextDate.getDay();
                preNextDate.setFullYear(DateTimeArray[3], DateTimeArray[2] - 1, DateTimeArray[1]);
                if (Deliverytype == 2 && ((Hour == 15 && Minute >= 0) || Hour > 15)) {
                    if (TodayDayWeekday > 0) { NextDate.setDate(NextDate.getDate() + 1); }
                    NextDate.setDate(NextDate.getDate() + Next2DayPadding[NextDate.getDay()]);
                } else if (Deliverytype == 0 && TodayDayWeekday == 5) {
                    NextDate.setDate(NextDate.getDate() + Next2DayPadding[NextDate.getDay()] - 1);
                } else {
                    NextDate.setDate(NextDate.getDate() + Next2DayPadding[NextDate.getDay()]);
                }
                preNextDate.setDate(preNextDate.getDate() + Next2DayPadding[preNextDate.getDay()] - 1);
                var NextDatestr = NextDate.getDate() + "/" + (NextDate.getMonth() + 1) + "/" + NextDate.getFullYear();
                var preNextDatestr = preNextDate.getDate() + "/" + (preNextDate.getMonth() + 1) + "/" + preNextDate.getFullYear();
                if (NextDatestr == document.getElementById("orxorderdate").value) {
                    Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
                } else {
                    Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
                }
                Venda.Ebiz.DisableDeliveryOption("li.sameday");
                Venda.Ebiz.DisableDeliveryOption("li.nextday");
            }
            if (Deliverytype == 4) {
                Venda.Ebiz.DisableDeliveryOption("li.sameday");
                Venda.Ebiz.DisableDeliveryOption("li.sameday");
                Venda.Ebiz.DisableDeliveryOption("li.nextday");
                Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
                Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
            } else {
                Venda.Ebiz.DisableDeliveryOption("li.hampers");
            }
            jQuery(".deliveryrate").show();
        }
        else {
            if ((Deliverytype == 0 && (EstimateDelivery.strTodayShortdate != EstimateDelivery.strDeliveryShortdate && EstimateDelivery.FullDate.getDay() != 1)) || Deliverytype == 1 || Deliverytype == 2) {
                Venda.Ebiz.DisableDeliveryOption("li.sameday");
            }
            if (Deliverytype == 2) {
                Venda.Ebiz.DisableDeliveryOption("li.nextday");
            }
            if (Deliverytype == 4) {
                Venda.Ebiz.DisableDeliveryOption("li.sameday");
                Venda.Ebiz.DisableDeliveryOption("li.sameday");
                Venda.Ebiz.DisableDeliveryOption("li.nextday");
                Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
                Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
            } else {
                Venda.Ebiz.DisableDeliveryOption("li.hampers");
            }
            jQuery(".deliveryrate").hide();
        }
    }

};

Venda.Ebiz.CreateCalendar = function (deliveryType, contrainerID, targetID, Targetmindate, EstimateDelivery) {
    var DateArray = Targetmindate.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/); /* mm/dd/yyyy */
    if (document.getElementById("orxorderdate")) {
        if (document.getElementById("orxorderdate").value != "") {
            var selecteddatearray = document.getElementById("orxorderdate").value.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/); /* dd/mm/yyyy*/
            var SetPagedate = selecteddatearray[2] + "/" + selecteddatearray[3];
        } else {
            var SetPagedate = DateArray[1] + "/" + DateArray[3];
        }
    }

    /* get current date information */
    var Currentweekday = EstimateDelivery.FullDate.getDay();
    var CurrentHour = EstimateDelivery.FullDate.getHours();
    var CurrentMinute = EstimateDelivery.FullDate.getMinutes();

    var DateTimeArray = EstimateDelivery.strTodayFulldate.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4}) (\d{1,2}):(\d{1,2})$/);
    var TodayDay = DateTimeArray[1];
    var TodayMonth = DateTimeArray[2];
    var TodayYear = DateTimeArray[3];
    var TodayHour = parseInt(DateTimeArray[4]);
    var TodayMinute = parseInt(DateTimeArray[5]);
    var TodayDate = new Date();
    TodayDate.setFullYear(TodayYear, TodayMonth - 1, TodayDay);
    var TodayDayWeekday = TodayDate.getDay();
    var Next2DayPadding = Venda.Ebiz.GetPaddingDay("2workingdays");

    var CalendarCustomRenderer = function (workingDate, cell) {
        var validityResult = TestForValidity(workingDate);
        if (validityResult != null) {
            return validityResult;
        }
        var shorworkingDate = (workingDate.getMonth() + 1) + "/" + workingDate.getDate() + "/" + workingDate.getFullYear();
        if (shorworkingDate == Targetmindate) {
            return YAHOO.widget.Calendar.DISPLAY_DAYS;
        } else {
            cell.innerHTML = this.buildDayLabel(workingDate);
            YAHOO.util.Dom.addClass(cell, "calcell");
            return YAHOO.widget.Calendar.STOP_RENDER;
        }
    }
    var CalendarhandleSelect = function (type, args, obj) {
        var dates = args[0]; var date = dates[0];
        var year = date[0], month = date[1], day = date[2];
        if (Calendar.getSelectedDates().length > 0) {
            var selDate = Calendar.getSelectedDates()[0];
            var wStr = Calendar.cfg.getProperty("WEEKDAYS_LONG")[selDate.getDay()];
            var dStr = selDate.getDate();
            var mStr = Calendar.cfg.getProperty("MONTHS_LONG")[selDate.getMonth()];
            var yStr = selDate.getFullYear();
            var nday = selDate.getDate();
            var nmonth = selDate.getMonth() + 1;
            var nyear = selDate.getFullYear();
        }
        var txtDate1 = document.getElementById(targetID);
        var txtdate = wStr + " " + dStr + " " + mStr + " " + yStr;
        txtdate = nday + "/" + nmonth + "/" + nyear;
        txtDate1.value = txtdate;
        var id = "Calcalendar_cell" + YUICalgetCellIndex(Calendar.getSelectedDates()[0]);
        var ids = document.getElementById(id);
        jQuery(".deliveryrate input[type=radio]").removeAttr("checked");

        Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
        if (YAHOO.util.Dom.hasClass(ids, "sameday")) {
            /* Show only same day delivery */
            if (((TodayHour == 15 && TodayMinute >= 00) || (TodayHour > 15))) {
                Venda.Ebiz.DisableDeliveryOption("li.sameday");
                Venda.Ebiz.EnableDeliveryOption("li.nextday");
            } else {
                Venda.Ebiz.EnableDeliveryOption("li.sameday");
                Venda.Ebiz.DisableDeliveryOption("li.nextday");
            }
            Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
            Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
        } else if (YAHOO.util.Dom.hasClass(ids, "nextday")) {
            /* Show only Next day delivery */
            Venda.Ebiz.DisableDeliveryOption("li.sameday");
            if (deliveryType == "sameday") {
                Venda.Ebiz.EnableDeliveryOption("li.nextday");
                Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
            } else if (((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15))) {
                Venda.Ebiz.DisableDeliveryOption("li.nextday");
                Venda.Ebiz.EnableDeliveryOption("li.2workingdays");
                Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
            } else {
                Venda.Ebiz.EnableDeliveryOption("li.nextday");
                Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
                Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
            }
        } else if (deliveryType == "7daydelivery") {
            /* Show only 7 day delivery */
            Venda.Ebiz.DisableDeliveryOption("li.sameday");
            Venda.Ebiz.DisableDeliveryOption("li.nextday");
            Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
            Venda.Ebiz.EnableDeliveryOption("li.7daydelivery");
        } else {
            /* Show only 2 working day delivery */
            TempSelecteddate = nmonth + "/" + nday + "/" + nyear;
            var NextDate = new Date();
            var preNextDate = new Date();
            NextDate.setDate(TodayDate.getDate() + Next2DayPadding[TodayDate.getDay()]);
            preNextDate.setDate(TodayDate.getDate() + Next2DayPadding[TodayDate.getDay()] - 1);
            var NextDatestr = (NextDate.getMonth() + 1) + "/" + NextDate.getDate() + "/" + NextDate.getFullYear();
            var preNextDatestr = (preNextDate.getMonth() + 1) + "/" + preNextDate.getDate() + "/" + preNextDate.getFullYear();
            if (deliveryType == "sameday" && TodayDayWeekday == 5 && YAHOO.util.Dom.hasClass(ids, "wd1") && preNextDatestr == TempSelecteddate) {
                Venda.Ebiz.EnableDeliveryOption("li.2workingdays");
                Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
            } else {
                if (NextDatestr == TempSelecteddate) {
                    if (deliveryType == "sameday" && TodayDayWeekday == 5) {
                        Venda.Ebiz.EnableDeliveryOption("li.7daydelivery");
                        Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
                    } else {
                        Venda.Ebiz.EnableDeliveryOption("li.2workingdays");
                        Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
                    }
                } else if (TempSelecteddate == Targetmindate) {
                    Venda.Ebiz.EnableDeliveryOption("li.2workingdays");
                    Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
                } else {
                    Venda.Ebiz.EnableDeliveryOption("li.7daydelivery");
                    Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
                }
            }
            Venda.Ebiz.DisableDeliveryOption("li.nextday");
            Venda.Ebiz.DisableDeliveryOption("li.sameday");
            Venda.Ebiz.DisableDeliveryOption("li.hampers");
        }

        BulkHampersCheck(deliveryType, txtdate);

        if (deliveryType == "hampers") {
            Venda.Ebiz.EnableDeliveryOption("li.hampers");
            Venda.Ebiz.DisableDeliveryOption("li.nextday");
            Venda.Ebiz.DisableDeliveryOption("li.sameday");
            Venda.Ebiz.DisableDeliveryOption("li.7daydelivery");
            Venda.Ebiz.DisableDeliveryOption("li.2workingdays");
        } else {
            Venda.Ebiz.DisableDeliveryOption("li.hampers");
        }
        jQuery(".deliveryrate").show();
    };
    /* YUI calendar get CellIndex from YUI Calendar v.2.7.0*/
    var YUICalgetCellIndex = function (I) { var H = -1; if (I) { var G = I.getMonth(), N = I.getFullYear(), M = I.getDate(), K = Calendar.cellDates; for (var J = 0; J < K.length; ++J) { var L = K[J]; if (L[0] === N && L[1] === G + 1 && L[2] === M) { H = J; break; } } } return H; }
    var marknextday = function (workingDate, cell) {
        var validityResult = IsExplicitlyInvalid(workingDate, cell, this);
        if (validityResult != null) {
            return validityResult;
        }

        YAHOO.util.Dom.addClass(cell, "nextday");
        YAHOO.util.Dom.addClass(cell, this.Style.CSS_CELL_SELECTABLE);
        cell.innerHTML = '<a href="#" class="' + this.Style.CSS_CELL_SELECTOR + '">' + this.buildDayLabel(workingDate) + "</a>";
        return YAHOO.widget.Calendar.STOP_RENDER;
    };
    var marksameday = function (workingDate, cell) {
        var validityResult = IsExplicitlyInvalid(workingDate, cell, this);
        if (validityResult != null) {
            return validityResult;
        }

        YAHOO.util.Dom.addClass(cell, "sameday");
        YAHOO.util.Dom.addClass(cell, this.Style.CSS_CELL_SELECTABLE);
        cell.innerHTML = '<a href="#" class="' + this.Style.CSS_CELL_SELECTOR + '">' + this.buildDayLabel(workingDate) + "</a>";
        return YAHOO.widget.Calendar.STOP_RENDER;
    };
    /* YUI Calendar: initial config and create calendar - set mindate and pagedate */
    var Calendar = new YAHOO.widget.Calendar("Cal" + contrainerID, contrainerID, { pagedate: SetPagedate, mindate: Targetmindate });
    /* hide week that out of current month */
    Calendar.cfg.queueProperty("hide_blank_weeks", true);
    /* add select/click event to each date */
    Calendar.selectEvent.subscribe(CalendarhandleSelect, Calendar, true);
    /* mark posible nextday date */
    Calendar.addWeekdayRenderer(1, CalendarCustomRenderer);

    ApplyInvalidity(Calendar, CalendarCustomRenderer);

    if (deliveryType == "sameday") {
        if ((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15)) {
            Calendar.addRenderer(Targetmindate, marknextday);
        } else {
            if (TodayDayWeekday > 0) {
                Calendar.addRenderer(Targetmindate, marksameday);
                var NextDayPadding = new Array(1, 1, 1, 1, 1, 1, 2); /*padding date*/
                var nextDate = new Date();
                nextDate.setFullYear(EstimateDelivery.FullDate.getFullYear(), EstimateDelivery.FullDate.getMonth(), EstimateDelivery.FullDate.getDate() + NextDayPadding[Currentweekday]);
                var nextDatetxt = (nextDate.getMonth() + 1) + "/" + nextDate.getDate() + "/" + nextDate.getFullYear();
                Calendar.addRenderer(nextDatetxt, marknextday);
            } else {
                Calendar.addRenderer(Targetmindate, marknextday);
            }
        }
    }
    if (deliveryType == "nextday") {
        Calendar.addRenderer(Targetmindate, marknextday);
    }

    /* disable delivers on mon */
    if (deliveryType == "2workingdays" || deliveryType == "nextday" || deliveryType == "hampers") { Calendar.addWeekdayRenderer(2, CalendarCustomRenderer); }
    /* disable delivers on Tue) */
    if ((deliveryType == "2workingdays" || deliveryType == "hampers") && (Currentweekday == 1)) { Calendar.addWeekdayRenderer(3, CalendarCustomRenderer); }
    /* disable delivers on Sat  */
    if (deliveryType == "hampers") { Calendar.addWeekdayRenderer(7, CalendarCustomRenderer); }
    /* render calendar */
    Calendar.render();
};

Venda.Ebiz.Synclock = function () {
    DeliverytimeDiff++;
    setTime = setTimeout('Venda.Ebiz.Synclock()', 1000);
};

//pre-select add delivery address in register process
jQuery(document).ready(function () {
    jQuery("div.addcontactaddress input#differentaddress").attr("checked", true);
});

//pre-select news checkbox in register process
jQuery(document).ready(function () {
    jQuery("div.addcontactaddress input#blkemail").attr("checked", true);
});

//WC Pre Select 'Large' size in dropdown List for avaliable bouquet Slide 2 Changes
jQuery(document).ready(function () {
    var sel = document.getElementById($(".att2cls").attr('id'));
    if (sel != null) {
        for (var i = 0; i < sel.options.length; i++) {
            if (sel.options[i].value == 'Large') {
                sel.options[i].selected = true;
                sel.onchange();
                return;
            }
        }
    }
});

function pickSizeinDropdown(pSize) {

    var sel = document.getElementById($(".att2cls").attr('id'));
    if (sel != null) {
        for (var i = 0; i < sel.options.length; i++) {
            if (sel.options[i].value == pSize) {
                sel.options[i].selected = true;
                sel.onchange();
                return;
            }
        }
    }
}
function dmkcall() {
    //alert('call');
}



////Show Color Strips for avaliable bouquet
//jQuery(document).ready(function() {

//    if ($("select[name = att1]").html() != null) {
//        
//        var fullOptionStr = $("select[name = att1]").html();
//        var getRed = fullOptionStr.search("Red");
//        var getSelectedRed = fullOptionStr.search("selected value=Red");
//        var getPink = fullOptionStr.search("Pink");
//        var getSelectedPink = fullOptionStr.search("selected value=Pink");
//        var getWhite = fullOptionStr.search("White");
//        var getSelectedWhite = fullOptionStr.search("selected value=White");
//        var getBlue = fullOptionStr.search("Blue");
//        var getSelectedBlue = fullOptionStr.search("selected value=Blue");
//        var getMixed = fullOptionStr.search("Mixed");
//        var getSelectedMixed = fullOptionStr.search("selected value=Mixed");
//        var getOrange = fullOptionStr.search("Orange");
//        var getSelectedOrange = fullOptionStr.search("selected value=Orange");
//        var getYellow = fullOptionStr.search("Yellow");
//        var getSelectedYellow = fullOptionStr.search("selected value=Yellow");


//        if (getRed != -1) {
//            if (getSelectedRed != -1) {
//                document.getElementById("imgRed").style.border = '1 solid black';
//            }
//            document.getElementById("imgRed").style.display = "block";

//        }
//        if (getPink != -1) {
//            if (getSelectedPink != -1) {
//                document.getElementById("imgPink").style.border = '1 solid black';
//            }
//            document.getElementById("imgPink").style.display = "block";

//        }
//        if (getBlue != -1) {
//            if (getSelectedBlue != -1) {
//                document.getElementById("imgBlue").style.border = '1 solid black';
//            }
//            document.getElementById("imgBlue").style.display = "block";

//        }
//        if (getWhite != -1) {
//            if (getSelectedWhite != -1) {
//                document.getElementById("imgWhite").style.border = '1 solid black';
//            }
//            document.getElementById("imgWhite").style.display = "block";

//        }
//        if (getMixed != -1) {
//            if (getSelectedMixed != -1) {
//                document.getElementById("imgMixed").style.border = '1 solid black';
//            }
//            document.getElementById("imgMixed").style.display = "block";

//        }
//        if (getOrange != -1) {
//            if (getSelectedOrange != -1) {
//                document.getElementById("imgOrange").style.border = '1 solid black';
//            }
//            document.getElementById("imgOrange").style.display = "block";
//        }
//        if (getYellow != -1) {
//            if (getSelectedYellow != -1) {
//                document.getElementById("imgYellow").style.border = '1 solid black';
//            }
//            document.getElementById("imgYellow").style.display = "block";

//        }

//    }


//});



function pickColorinDropdown(pcolorname) {
    $(".DivImgColor").removeClass('DivImgBorder');
    $("#" + pcolorname).addClass('DivImgBorder');

    getProduct('<venda_invtuuid>').changeAttributes(this);
    Venda.ProductDetail.changeSet(pcolorname);
    //    if (pcolorname == 'Pink') {
    //        document.getElementById("imgPink").style.border = '1 solid black';
    //        document.getElementById("imgRed").style.border = '0 solid black';
    //        document.getElementById("imgBlue").style.border = '0 solid black';
    //        document.getElementById("imgWhite").style.border = '0 solid black';
    //        document.getElementById("imgYellow").style.border = '0 solid black';
    //        document.getElementById("imgOrange").style.border = '0 solid black';
    //        document.getElementById("imgMixed").style.border = '0 solid black';
    //    }
    //    else if (pcolorname == 'Red') {
    //        document.getElementById("imgPink").style.border = '0 solid black';
    //        document.getElementById("imgRed").style.border = '1 solid black';
    //        document.getElementById("imgBlue").style.border = '0 solid black';
    //        document.getElementById("imgWhite").style.border = '0 solid black';
    //        document.getElementById("imgYellow").style.border = '0 solid black';
    //        document.getElementById("imgOrange").style.border = '0 solid black';
    //        document.getElementById("imgMixed").style.border = '0 solid black';
    //    }
    //    else if (pcolorname == 'Blue') {
    //        document.getElementById("imgPink").style.border = '0 solid black';
    //        document.getElementById("imgRed").style.border = '0 solid black';
    //        document.getElementById("imgBlue").style.border = '1 solid black';
    //        document.getElementById("imgWhite").style.border = '0 solid black';
    //        document.getElementById("imgYellow").style.border = '0 solid black';
    //        document.getElementById("imgOrange").style.border = '0 solid black';
    //        document.getElementById("imgMixed").style.border = '0 solid black';
    //    }
    //    else if (pcolorname == 'White') {
    //        document.getElementById("imgPink").style.border = '0 solid black';
    //        document.getElementById("imgRed").style.border = '0 solid black';
    //        document.getElementById("imgBlue").style.border = '0 solid black';
    //        document.getElementById("imgWhite").style.border = '1 solid black';
    //        document.getElementById("imgYellow").style.border = '0 solid black';
    //        document.getElementById("imgOrange").style.border = '0 solid black';
    //        document.getElementById("imgMixed").style.border = '0 solid black';
    //    }
    //    else if (pcolorname == 'Yellow') {    
    //        document.getElementById("imgPink").style.border = '0 solid black';
    //        document.getElementById("imgRed").style.border = '0 solid black';
    //        document.getElementById("imgBlue").style.border = '0 solid black';
    //        document.getElementById("imgWhite").style.border = '0 solid black';
    //        document.getElementById("imgYellow").style.border = '1 solid black';
    //        document.getElementById("imgOrange").style.border = '0 solid black';
    //        document.getElementById("imgMixed").style.border = '0 solid black';
    //    }
    //    else if (pcolorname == 'Orange') {
    //        document.getElementById("imgPink").style.border = '0 solid black';
    //        document.getElementById("imgRed").style.border = '0 solid black';
    //        document.getElementById("imgBlue").style.border = '0 solid black';
    //        document.getElementById("imgWhite").style.border = '0 solid black';
    //        document.getElementById("imgYellow").style.border = '0 solid black';
    //        document.getElementById("imgOrange").style.border = '1 solid black';
    //        document.getElementById("imgMixed").style.border = '0 solid black';
    //    }
    //    else if (pcolorname == 'Mixed') {
    //        document.getElementById("imgPink").style.border = '0 solid black';
    //        document.getElementById("imgRed").style.border = '0 solid black';
    //        document.getElementById("imgBlue").style.border = '0 solid black';
    //        document.getElementById("imgWhite").style.border = '0 solid black';
    //        document.getElementById("imgYellow").style.border = '0 solid black';
    //        document.getElementById("imgOrange").style.border = '0 solid black';
    //        document.getElementById("imgMixed").style.border = '1 solid black';
    //    }
}
// WC Added for Address/Zip field onfocus event


jQuery(document).ready(function () {

    //   01/05/2012 Added
    //alert($('input[type=hidden].csshipmethod').val());

    // Hide Calender and gift msg when product is Experience days
    //    if ($('input[type=hidden].hdneday').val() == 'experiencedays') {
    //        $('.divGmsg').hide();
    //        $('#picker-area').hide();
    //    }


    // WC Added for default Address field msg
    if (document.getElementById('num')) {
        //$("#num").val('House or Flat Number');
    }

    if (document.getElementById('zipc')) {
        //$("#zipc").val('Postcode');
    }

    $('#num').focus(function () {
        $("#num").val('');
    });

    $('#zipc').focus(function () {
        $("#zipc").val('');
    });

    //End 

    //WC added for dynamic price differences


    if (document.getElementById('m_invtatrsell2')) {
        if (document.getElementById('s_invtatrsell1')) {
            var mp = parseFloat($('input[type=hidden].m_invtatrsell2').val());
            var sp = parseFloat($('input[type=hidden].s_invtatrsell1').val());
            var diffms;
            if (mp > sp) {
                diffms = Math.round((mp - sp) * Math.pow(10, 2)) / 100;
            }
            else {
                diffms = Math.round((sp - mp) * Math.pow(10, 2)) / 100;
            }

            var fmtext = ('(+ £' + diffms + ')');
            $('.spn_pricemedium').html(fmtext);
        }
    }

    if (document.getElementById('l_invtatrsell3')) {
        if (document.getElementById('s_invtatrsell1')) {
            var lp = parseFloat($('input[type=hidden].l_invtatrsell3').val());
            var sp = parseFloat($('input[type=hidden].s_invtatrsell1').val());
            var diffls;
            if (lp > sp) {
                diffls = Math.round((lp - sp) * Math.pow(10, 2)) / 100;
            }
            else {
                diffls = Math.round((sp - lp) * Math.pow(10, 2)) / 100;
            }
            var fltext = ('(+ £' + diffls + ')');
            $('.spn_pricelarge').html(fltext);

        }
    }

    // price difference end


    if ($('select.clsatt1').find('option').length != 0) {
        ///
        var str = "<table><tr>";
        $('select.clsatt1').find('option').each(function () {
            //str += "<td><div id='" + $(this).val() + "' onclick=pickColorinDropdown('" + $(this).val() + "'); class=DivImgColor style=background-color:" + $(this).val() + "></div></td> ";
            if ($(this).val() == 'Mixed') {
                var srct = document.getElementById('mixedColor').value;
                str += "<td><div id='" + $(this).val() + "' onclick=pickColorinDropdown('" + $(this).val() + "'); class=DivImgColor><img height=100% width=100%  id=imgMixed src='" + srct + "'  title=Mixed  alt=Mixed /></div></td> ";
                //alert(srct);
            } else {
                str += "<td><div id='" + $(this).val() + "' onclick=pickColorinDropdown('" + $(this).val() + "'); class=DivImgColor style=background-color:" + $(this).val() + "></div></td> ";
            }
        });

        if (document.getElementById('colorDiv')) {
            document.getElementById('colorDiv').innerHTML = str + "</tr></table>";
        }
        //
    }



});

////WC Shorten Product Description on Product Detail Page
////but hided due to client request 
//jQuery(document).ready(function () {
//    if ($('.invtdesc1').html() != null) {
//        var ftext = $('.invtdesc1').html();
//       
//        var getremoveIndex = ftext.search("FONT color=");
//        var getremoveIndex1 = ftext.search("font size");
//        if (getremoveIndex > -1 || getremoveIndex1 > -1) {
//            if (getremoveIndex > -1) {
//                var removeStr = ftext.substring(getremoveIndex - 1, ftext.lenght);
//                ftext = ftext.replace(removeStr, " ");
//                $('.invtdesc1').html('');
//                $('.invtdesc1').html(ftext);
//                $('input[type=hidden].invtdescjhd').val(ftext);
//            }
//            if (getremoveIndex1 > -1) {
//                var removeStr = ftext.substring(getremoveIndex1 - 1, ftext.lenght);
//                ftext = ftext.replace(removeStr, " ");
//                $('.invtdesc1').html('');
//                $('.invtdesc1').html(ftext);
//                $('input[type=hidden].invtdescjhd').val(ftext);
//            }
//        }
//        else {
//            $('input[type=hidden].invtdescjhd').val($('.invtdesc1').html());
//        }

//        var ppp = ftext.substring(0, 80);
//        $('.invtdesc1').html(ppp + '   ' + '<a href=# class=hrefMore alt=More onclick=showDesc(); ><b>More..</b></a>');
//        var f1Text = $('.invtdesc1').html(ppp + '   ' + '<a href=# class=hrefMore alt=More onclick=showDesc(); ><b>More..</b></a>');


//    }
//});

function showDesc() {
    var fhtext = $('input[type=hidden].invtdescjhd').val();  //$('.invtdescjhd').html();
    $('.invtdesc1').html(fhtext + '   ' + '<a href=# class=hrefMore alt=Hide Detail onclick=hideDesc(); ><b>Hide Details</b></a>');

}
function hideDesc() {
    var fhtext = $('input[type=hidden].invtdescjhd').val(); //$('.invtdescjhd').html();
    $('.invtdesc1').html(fhtext.substring(0, 80) + '    ' + '<a href=# class=hrefMore alt=More onclick=showDesc(); ><b>More..</b></a>');

}

// WC slide 8: added for Assigning Gift msg value to hiddden field			    
function assignGiftMsg() {
    var gmsg = $(".txtoitemxgiftMessage").val();
    $("input[type=hidden].csgiftmsg").val(gmsg);
}
// WC end here 	


// Call datepicker

jQuery(function () {

    var cDate = new Date();
    var nDate = new Date();
    var n2Days = new Date();
    var n3Days = new Date();
    var n4Days = new Date();
    var n5Days = new Date();
    nDate.setDate(nDate.getDate() + 1);
    n2Days.setDate(n2Days.getDate() + 2);
    n3Days.setDate(n3Days.getDate() + 3);
    n4Days.setDate(n4Days.getDate() + 4);
    n5Days.setDate(n5Days.getDate() + 5);

    var TodayHour = cDate.getHours();
    var TodayMinute = cDate.getMinutes();

    //WC hides Gift Message from product detail page if Product is Card 
    if ($('input[type=hidden].hdncard').val() == 'cards') {
        $('.divGmsg').hide();
        $('#qtysep').hide();
        $('#qty_area').hide();
    }



    //wc ends
    if (($('input[type=hidden].csshipmethod').val() == 'sameday') || ($('input[type=hidden].csshipmethod').val() == 'nextday') || ($('input[type=hidden].csshipmethod').val() == 'hampers')) {
        //same day 

        if ($('input[type=hidden].csshipmethod').val() == 'sameday') {

            if (((TodayHour == 12 && TodayMinute >= 0) || (TodayHour > 12)) && (cDate.getDay() == "6")) {
                //CASE :Saturday SAME DAY AFTER 3PM
                var cDay = n2Days.getDate();
                var cMonth = n2Days.getMonth();
                var cYear = n2Days.getFullYear();
                var nDay = 31;
                var nMonth = 12;
                var nYear = 2999;
                //alert('sat same after 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);

            }
            else if ((TodayHour < 12) && (cDate.getDay() == "6")) {
                //CASE :Saturday SAME DAY AFTER 3PM
                var cDay = cDate.getDate();
                var cMonth = cDate.getMonth();
                var cYear = cDate.getFullYear();
                var nDay = 31;
                var nMonth = 12;
                var nYear = 2999;
                //alert('sat same before 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);


            }
            else if ((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15)) {
                //CASE :SAME DAY AFTER 3PM
                var cDay = nDate.getDate();
                var cMonth = nDate.getMonth();
                var cYear = nDate.getFullYear();
                var nDay = 31;
                var nMonth = 12;
                var nYear = 2999;
                //alert('same after 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);

            }
            else {
                //CASE :SAME DAY BEFORE 3PM
                var cDay = cDate.getDate();
                var cMonth = cDate.getMonth();
                var cYear = cDate.getFullYear();
                var nDay = 31;
                var nMonth = 12;
                var nYear = 2999;
                //alert('same before 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);

            }
        }

        //next day
        if ($('input[type=hidden].csshipmethod').val() == 'nextday') {
            if ((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15)) {
                //CASE :NEXT DAY AFTER 3PM
                var cDay = n2Days.getDate();
                var cMonth = n2Days.getMonth();
                var cYear = n2Days.getFullYear();
                var nDay = 31;
                var nMonth = 12;
                var nYear = 2999;
                //alert('nd after ' + cDay + '/' + cMonth + '/' + cYear);

            }
            else {
                //CASE :NEXT DAY BEFORE 3PM
                var cDay = nDate.getDate();
                var cMonth = nDate.getMonth();
                var cYear = nDate.getFullYear();
                var nDay = 31;
                var nMonth = 12;
                var nYear = 2999;
                //alert('nd before ' + cDay + '/' + cMonth + '/' + cYear);

            }
        }

        // case :Hampers    
        //alert('hamper');
        if ($('input[type=hidden].csshipmethod').val() == 'hampers') {
            if (cDate.getDay() == "1" || cDate.getDay() == "2" || cDate.getDay() == "3") {
                if ((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15)) {
                    //var cDay = cDate.getDate();
                    //var cMonth = cDate.getMonth();
                    //var cYear = cDate.getFullYear();
                    var cDay = n3Days.getDate();
                    var cMonth = n3Days.getMonth();
                    var cYear = n3Days.getFullYear();
                    var nDay = 31;
                    var nMonth = 12;
                    var nYear = 2999;
                    //alert('hamper m T W after 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);
                }
                else {
                    //var cDay = cDate.getDate();
                    //var cMonth = cDate.getMonth();
                    //var cYear = cDate.getFullYear();
                    var cDay = n2Days.getDate();
                    var cMonth = n2Days.getMonth();
                    var cYear = n2Days.getFullYear();
                    var nDay = 31;
                    var nMonth = 12;
                    var nYear = 2999;
                    //alert('hamper m T W before 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);
                }
            }
            if (cDate.getDay() == "4" || cDate.getDay() == "5") {
                if ((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15)) {
                    //var cDay = cDate.getDate();
                    //var cMonth = cDate.getMonth();
                    //var cYear = cDate.getFullYear();
                    var cDay = n5Days.getDate();
                    var cMonth = n5Days.getMonth();
                    var cYear = n5Days.getFullYear();
                    var nDay = 31;
                    var nMonth = 12;
                    var nYear = 2999;
                    //alert('hamper T F after 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);
                }
                else {
                    //var cDay = cDate.getDate();
                    //var cMonth = cDate.getMonth();
                    //var cYear = cDate.getFullYear();
                    var cDay = n4Days.getDate();
                    var cMonth = n4Days.getMonth();
                    var cYear = n4Days.getFullYear();
                    var nDay = 31;
                    var nMonth = 12;
                    var nYear = 2999;
                    //alert('hamper T F before 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);
                }
            }
            if (cDate.getDay() == "0") {
                if ((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15)) {
                    //var cDay = nDate.getDate();
                    //var cMonth = nDate.getMonth();
                    //var cYear = nDate.getFullYear();
                    var cDay = n3Days.getDate();
                    var cMonth = n3Days.getMonth();
                    var cYear = n3Days.getFullYear();
                    var nDay = 31;
                    var nMonth = 12;
                    var nYear = 2999;
                    //alert('hamper sunday after 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);
                }
                else {
                    //var cDay = nDate.getDate();
                    //var cMonth = nDate.getMonth();
                    //var cYear = nDate.getFullYear();
                    var cDay = n2Days.getDate();
                    var cMonth = n2Days.getMonth();
                    var cYear = n2Days.getFullYear();
                    var nDay = 31;
                    var nMonth = 12;
                    var nYear = 2999;
                    //alert('hamper sunday before 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);
                }
            }
            if (cDate.getDay() == "6") {
                if ((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15)) {
                    //var cDay = cDate.getDate();
                    //var cMonth = cDate.getMonth();
                    //var cYear = cDate.getFullYear();
                    var cDay = n4Days.getDate();
                    var cMonth = n4Days.getMonth();
                    var cYear = n4Days.getFullYear();
                    var nDay = 31;
                    var nMonth = 12;
                    var nYear = 2999;
                    // alert('hamper sater after 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);
                }
                else {
                    //var cDay = cDate.getDate();
                    //var cMonth = cDate.getMonth();
                    //var cYear = cDate.getFullYear();
                    var cDay = n3Days.getDate();
                    var cMonth = n3Days.getMonth();
                    var cYear = n3Days.getFullYear();
                    var nDay = 31;
                    var nMonth = 12;
                    var nYear = 2999;
                    //alert('hamper sater before 3 ; so date is :' + cDay + '/' + cMonth + '/' + cYear);
                }
            }
        }
    }
    else {
        // Standard Delivery Bouquet   
        if ((TodayHour == 15 && TodayMinute >= 0) || (TodayHour > 15)) {
            var cDay = n3Days.getDate();
            var cMonth = n3Days.getMonth();
            var cYear = n3Days.getFullYear();
            var nDay = 31;
            var nMonth = 12;
            var nYear = 2999;
            //alert('standard after:' + cDay + '/' + cMonth + '/' + cYear);
        }
        else {
            var cDay = n2Days.getDate();
            var cMonth = n2Days.getMonth();
            var cYear = n2Days.getFullYear();
            var nDay = 31;
            var nMonth = 12;
            var nYear = 2999;
            //alert('standard before:' + cDay + '/' + cMonth + '/' + cYear);
        }


    }



    if ($("#datepicker").length > 0) {

        jQuery('#datepicker')
        //.datePicker({ inline: true })//.formatDate('yyyy-mm-dd')
        .datePicker({ inline: true,
            startDate: new Date(cYear, cMonth, cDay),
            endDate: new Date(nYear, nMonth, nDay)
        })
		.bind(
			'dateSelected',
			function (e, selectedDate, $td) {
			    var dt = new Date(selectedDate);
			    var dSelectedDate = padStr(dt.getDate()) + "/" + padStr((parseInt(dt.getMonth()) + 1)) + "/" + dt.getFullYear();
			    $("p.youpicker").text("You selected " + dSelectedDate);
			    $("input[type=hidden].csSelectedDate").val(dSelectedDate);





			}
		);
    }

});



//jQuery(function () {


//    jQuery('#datepicker')
//		.datePicker({ inline: true })//.formatDate('yyyy-mm-dd')
//		.bind(
//			'dateSelected',
//			function (e, selectedDate, $td) {
//			    var dt = new Date(selectedDate);
//			    var dSelectedDate = padStr(dt.getDate()) + "/" + padStr((parseInt(dt.getMonth()) + 1)) + "/" + dt.getFullYear();
//			    $("p.youpicker").text("You selected " + dSelectedDate);
//			    //alert('<venda_invtref>');
//			    //$("input[name=set_oitemxdeldate_fd1741p]").val(dSelectedDate);
//			    $("input[type=hidden].csSelectedDate").val(dSelectedDate);
//			    //alert($('input[type=hidden].csSelectedDate').val());
//			    //$("p.youpicker").text("You selected " + selectedDate.format("mm/dd/yy"));
//			    //console.log('You selected ' + selectedDate);

//			    /// added on 26/07/11
//			    var CurrentDate = new Date();
//			    var theyear = CurrentDate.getFullYear()
//			    var themonth = CurrentDate.getMonth() + 1
//			    var thetoday = CurrentDate.getDate()
//			    var nowDate = thetoday + "/" + themonth + "/" + theyear;
//			    var CurrentMins = (CurrentDate.getHours() * 60) + CurrentDate.getMinutes();
//			    alert(dSelectedDate);

//			    alert(CurrentDate.getHours());
//			    alert(CurrentDate.getMinutes());

//			    alert($("#pdxtnextdaydelivery").val());
//			    alert($("#pdxtnextdaydelivery").toString());
//			    alert($("#pdxtnextdaydelivery").innerHTML);

//			    var isSameDay = document.getElementById("pdxtsamedaydelivery").value;
//			    var isNextDay = document.getElementById("pdxtnextdaydelivery").value;
//			    

//			    //alert(isSameDay);
//			    //alert(isNextDay);



//                
//			    if (nowDate == dSelectedDate) {
//			        if (parseInt(CurrentMins) <= 900) {
//			            var valApplicable = "sameday";
//			            $('[name="shipmethod_01"][value="' + valApplicable + '"]').attr('checked', true);
//			            alert('sameday_6.99');
//			        }
//			        else {
//			            var valApplicable = "nextday";
//			            $('[name="shipmethod_01"][value="' + valApplicable + '"]').attr('checked', true);
//			            alert('nextday_5.99');
//			        }
//			    }
//			    else {
//			        var valApplicable = "nextday";
//			        $('[name="shipmethod_01"][value="' + valApplicable + '"]').attr('checked', true);
//			        alert('nextday_5.99');
//			    }


//			}
//		);
//});

function padStr(i) {
    return ((i < 10) ? "0" + i : "" + i);
}
// WC slide-3
function addaccproduct(Checkboxid) {
    var ccc = "#" + Checkboxid;

    if ($(ccc).is(':checked') == true) {
        var str = "<input type='hidden' name='itemlist' value=" + Checkboxid + "><input type='text' name='qtylist' style='display:none' value='1'>";
        Checkboxid = "div" + Checkboxid;

        document.getElementById(Checkboxid).innerHTML = str;

    } else {
        Checkboxid = "div" + Checkboxid

        document.getElementById(Checkboxid).innerHTML = "";
    }

}
jQuery(document).ready(function () {

    // to hide green colur of current disabled date
    $('.current-month weekday today  disabled').removeClass().addClass('current-month weekday disabled');
    $('.current-month weekday today  disabled dp-hover').removeClass().addClass('current-month weekday disabled dp-hover');


    if ($('input[type=hidden].csshipmethod').val() != null) {

        if ($('input[type=hidden].csshipmethod').val() == 'nextday') {
            $('#divSameDayLink').show();
        }
    }

    //WC Hide Popupbasket
    if (document.getElementById("popupcart_panel")) {
        document.getElementById("popupcart_panel").style.display = "none";
    }
    //  
});

//WC close Addon Window
function closepAddon() {
    document.getElementById("popupwc").style.display = "none";
}
//WC close Addon Window     

  
