/*
 Christine Sanders Chocolates
 version 1.2
*/
jQuery(function(a){var G=function(d,k){var j=false,o={},g;for(g=d.length;g--;)o[d[g].name]=d[g].value;g=k.find(".reqdField").filter(function(){var p=!o[this.name];(a(this).is(":checkbox")?a(this).parent():a(this)).toggleClass("reqdFieldMissing",p);return p});if(g.length){j=true;g[0].focus()}else if(k.find(".reqdField[name=cemail]").length&&o.cemail2&&o.cemail2!=o.cemail){j=true;k.find("[name=cemail2]").addClass("reqdFieldMissing").get(0).focus()}return!j};a(".homePage #intro").each(function(){a(this).flash({swf:"graphics/intro.swf",
height:"100%",width:"100%"})});a("#charityflash").each(function(){a(this).flash({swf:"graphics/every30secs.swf",height:"100%",width:"100%"})});a("#charityYouTube").each(function(){a(this).flash({swf:a("a",this).attr("href"),height:"100%",width:"100%",allowFullScreen:true,allowScriptAccess:"always"})});a("a.targetBlank").attr({target:"_blank"});a("#topMenu").each(function(){var d=(window.location.href.match(/\w+\.\w+$/)||[])[0];d&&a("a",this).filter("[href$="+d+"]").addClass("currentPage");a("li",
this).hover(function(k){a(">*",this).toggleClass("topShowSubMenu",k.type=="mouseenter")})});a("#contactForm").length&&a("#contactForm").ajaxForm({beforeSubmit:G,data:{csc:"contact"},dataType:"json",success:function(d){if(d.ok){a("#contactSubmit").hide();a("#contactError").hide();a("#contactThankyou").show()}else{a("#contactThankyou").hide();a("#contactError").html(d.error).show()}}});if(a("#pageTasters").length){a("#tastersLarge").cycle({fx:"fade",delay:5E3,timeout:5E3,speed:1500,startingSlide:0});
a("#tastersPlayPause").click(function(){this.blur();a("#tastersLarge").cycle(a(this).toggleClass("tastersPaused").is(".tastersPaused")?"pause":"resume");return false});a("#tastersThumbs").click(function(d){d=a(d.target).filter("img");d.length&&a("#tastersLarge").cycle(d.index()+1);return false})}a("#pageBasket").length&&a.getJSON("csc.php",{csc:"basket",z:(new Date).getTime()},function(d){var k=a("#basket tbody"),j=0,o=a("#basket th:first"),g=function(h){return d.CSC.currency+" "+h.toFixed(2)},
p=function(h){h.ok&&k.find("tr").slice(1).remove().end().show();a("#basket .noSubstitutions").hide();a("#basket2Checkout").addClass("greyedOut");a("#wait").hide()},t=function(){var h=a(this).closest("form"),e=this.name.replace(/^dsame/,"dc");h=a("[name="+e+"]",h);var l=this.checked;e=e=="dcname"?h:a(":text:gt(0)","#checkoutDelivery");l?e.removeClass("reqdField reqdFieldMissing").val("").each(function(){this.disabled=true}):e.each(function(){this.disabled=false}).filter(".optionallyReqd").addClass("reqdField");
h.focus()},u=function(){a("#checkoutNoSubstitutions").val(this.checked?"1":"")};if(d.item.length){a.each(d.item,function(h,e){if(e&&e.qty){var l=d.CSC.boxes[e.size],m=e.content?"<ul class='basketItemContents clearR'>"+a.map(e.content,function(s){return"<li><span class='floatR'>"+s.quantity+"</span><em>"+s.name+"</em></li>"}).join("")+"</ul>":"";l="<tr><td>"+[e.content?"<a class='basketItemContentsReveal' href='#' title='Reveal or hide the contents of this box...'><img src='graphics/contents.png' alt='Reveal or hide the contents of this box of chocolates' /></a>"+
l+" x "+l+" Box"+m:l,g(e._unit),"<form action='csc.php' method='post'><input type='hidden' name='item' value='"+e._item+"' /><span class='basketItemControl'><a class='incOne' href='#' title='Increase the quantity...'><img src='graphics/add.png' alt='plus one' /></a><a class='decOne' href='#' title='Decrease the quantity...'><img src='graphics/delete.png' alt='minus one' /></a></span><span class='basketItemQuantity'>"+e.qty+"</span></form>",g(e._sub),g(e._pp)].join("</td><td>")+"</td></tr>";k.append(l);
j+=e.qty}});k.append("<tr><td colspan='3' class='alignR vlGreyBG'><strong>Sub-totals</strong></td><td id='basketSubCost'>"+g(d._totals.sub)+"</td><td id='basketSubPack'>"+g(d._totals.pp)+"</td></tr>");k.append("<tr><td colspan='3' class='basketGrandTotal vlGreyBG'><strong class='floatR'>Total</strong><input class='basketClear siteButton' type='button' value='Clear Basket' /></td><td id='basketTotal' colspan='2'>"+g(d._totals.grand)+"</td></tr>");a(".incOne,.decOne").click(function(){var h=a(this).closest("form");
if(!(this.className=="decOne"&&h.find(".basketItemQuantity").text()==1)||window.confirm("Please confirm that you wish to completely\nremove this box from your basket..."))h.ajaxSubmit({data:{csc:this.className},dataType:"json",success:function(e){if(e.ok){var l=e.totals;if(e.empty)p(e);else{if(e.remove)h.closest("tr").remove();else{h.find(".basketItemQuantity").text(e.qty);h.closest("td").prev().html(g(e.unit)).end().next().html(g(e.cost)).next().html(g(e.pp))}a("#basketSubCost").html(g(l.sub));a("#basketSubPack").html(g(l.pp));
a("#basketTotal").html(g(l.grand))}}}});this.blur();return false});a(".basketItemContentsReveal").click(function(){a(this).siblings("ul").slideToggle();this.blur();return false});a(".basketClear").click(function(){if(window.confirm("Please confirm that you wish to remove all items from your basket...")){a("#wait").show();a.getJSON("csc.php",{csc:"clear"},p)}this.blur();return false});a("#page").cycle({fx:"fade",timeout:0,duration:500,startingPage:0,cleartype:1});a("#basket2Checkout").removeClass("greyedOut");
a("#basketEmpty").hide();a("#basket .noSubstitutions").show()}a("#basket2Checkout").click(function(){a(this).hasClass("greyedOut")||a("#page").cycle(1);this.blur();return false});a("#checkout2Basket").click(function(){a("#page").cycle(0);this.blur();return false});a("#basketNoSubstitutions").click(u);a("#checkoutForm").ajaxForm({beforeSubmit:G,data:{csc:"checkout"},success:function(){window.location.href="payment.php"}});a(".checkoutSameAs :checkbox").click(t);(function(){if(d.ref||d.CSC.retainCustomer){var h=
a("#checkoutForm input"),e=d.cust.address||{},l=d.cust.delivery||{},m,s;for(m in d.cust)if(d.cust[m]){s=h.filter("[name=c"+m+"]");if(s.is(":checkbox"))s[0].checked=d.cust[m]=="Yes";else s.val(d.cust[m]);m=="email"&&h.filter("[name=cemail2]").val(d.cust[m])}for(m in e)e[m]&&h.filter("[name=c"+m+"]").val(e[m]);if(!l.samename){h.filter("[name=dsamename]").each(function(){this.checked=false;t.call(this)});h.filter("[name=dcname]").val(l.name)}if(!l.sameaddr1){h.filter("[name=dsameaddr1]").each(function(){this.checked=
false;t.call(this)});a.each(["addr1","addr2","addr3","town","county","postcode"],function(){var z=(l.address||{})[this];z&&h.filter("[name=dc"+this+"]").val(z)})}for(m in{message:1,notes:1})l[m]&&a("#checkoutForm textarea[name=dc"+m+"]").val(l[m]);a("#basketNoSubstitutions").each(function(){this.checked=!d.subst;u.call(this)})}})();o.width(o.width());a("#wait").hide()});a("#pagePayment").length&&a("#paymentSubmit").click(function(){this.disabled=true;a.getJSON("csc.php",{csc:"payment",z:(new Date).getTime()},
function(d){if(d.ok){var k,j=a("#paymentForm");a.each(d,function(o,g){switch(o){case "ok":break;case "action":j.attr({action:d.action});break;default:k=o.substr(1);j.append('<input type="hidden" name="'+k+'" value="'+g+'" />')}});j[0].submit()}else{window.alert("Your Basket appears to be empty!");window.location.href="basket.html"}});return false});a("#pagePicker").length&&a.getJSON("csc.php",{csc:"params",z:(new Date).getTime()},function(d){var k=d.dims,j={cssClose:{},cssOpen:{},timer:null},o=a(".pickFrom"),
g=a("img",o),p=0,t=0,u=1,h=a.map(d.boxes,function(b){return parseInt(b,10)===b?b:null}),e=a(".pickBoxCell:first img"),l=e.attr("src"),m=e.width(),s=e.height(),z=m+2,L=s+2,q=0,A=h.slice(-1),M=A*A;e=k.imageHeight+k.topSpacer+k.bottomSpacer+k.rowSpacer-k.labelTopOffset+(o.length-1)*(0.5*(k.imageHeight+k.jqdockSize)+k.rowSpacer-k.labelTopOffset);var w=[],H=g.map(function(b){w[b]={name:this.title,ct:0};return a("<li class='pickListItem hide'><input class='pickListItemNme' type='text' readonly='readonly' name='choc["+
b+"]' value='"+this.title+"' /><input class='pickListItemQty' type='text' readonly='readonly' name='qty["+b+"]' value='0' /></li>").get(0)}),N=a.map(h,function(b,c){var f=b*b>g.length?"even distribution":"no duplicates",i=d.currency+d.prices[c].toFixed(2);return a("<li><span>"+i+"</span><a class='pickAutofill pickAutofillDistr' href='#' title='A "+b+"x"+b+" box costs "+i+" (excl. P&P)'>"+b+" x "+b+" box, "+f+"</a></li>").get(0)}),x=a("#pickCells").each(function(){var b=a(".pickBoxRow",this),c=
b.first().find(".pickBoxCell"),f=b.length,i=c.first();b.each(function(){for(var n=c.length;n<A;n++)i.clone().appendTo(this)});for(b=b.first();f<A;f++)b.clone().appendTo(this)}).find(".pickBoxCell").map(function(){return a("<img class='boxHelper' src='"+l+"' alt='' ></A>").get(0)}),I=function(b,c){var f=H.eq(b);p+=c;w[b].ct+=c;a(".pickListItemQty",f).val(w[b].ct);if(w[b].ct===0)f.addClass("hide");else c>0&&w[b].ct===1&&f.removeClass("hide");a("#pickListEmpty")[p?"hide":"show"]();a("#pickListTotalX").text(p)},
r=function(b){u+=b?1:-1;if(b&&u==1||!b&&!u){a("#wait")[b?"show":"hide"]();a("#pickSubmit").toggleClass("greyedOut",p<t||!!b);a("#pickStartOver")[p&&!b?"show":"hide"]()}},B=function(b){var c={},f=a("#pickerWrap").offset(),i;for(i in b)c[i]=b[i]-f[i];return c},O=function(b){b=h[b];return a("#pickCells .pickBoxRow:lt("+b+")").find(".pickBoxCell:lt("+b+")").not(".pickBoxCellSet")},J=function(b,c,f){var i=O(q).first().addClass("pickBoxCellSet").data("helperIndx",x.index(b)),n=B(a("img",i).offset());b.show().animate(a.extend({width:m,
height:s,opacity:1},n),800,function(){a("img",i).attr({src:b.attr("src"),title:c});b.hide();f&&f()})},v=function(b){var c=h[q];b=b||null;t=c*c;a("#pickBox").animate({width:c*z+2,height:c*L+2},b);c=h[q];a("#pickListBoxNum").val(q);a("#pickListSize").html(c+" x "+c);a("#pickListPrice").html(d.currency+d.prices[q].toFixed(2));a("#pickListTotalY").text(""+c*c)},P=function(){var b=h[--q],c=a("#pickCells"),f=a(".pickBoxCellSet",c).not(c.find(".pickBoxRow:lt("+b+")").find(".pickBoxCell:lt("+b+")"));f.length?
f.each(function(i){var n=a(this),C=x.eq(n.data("helperIndx")).show();n=n.removeClass("pickBoxCellSet").removeData("helperIndx").find("img");var D=n.attr("title")||"";n.attr({src:l,title:""});J(C,D,i<f.length-1?false:function(){v(r)})}):v(r)},K=function(b){var c=b||a.noop,f;if(p>=M){c();window.alert("You have completely filled the largest box available!")}else{f=x.not("img.helperInUse").eq(0).addClass("helperInUse");if(f.length){b=a.proxy(function(){var i=a(this);i=a.extend({width:i.width(),height:i.height(),
opacity:0},B(i.offset()));var n=g.index(this);I(n,1);J(f.data("pickSrc",this).css(i).attr({src:this.src}),w[n].name,c)},this);if(p>=t){++q;v(b)}else b()}else c()}return false},E=function(b){var c=a("img",this),f=x.eq(a(this).data("helperIndx")).css(B(c.offset())).show(),i=a(f.data("pickSrc")),n=a.extend({width:i.width(),height:i.height(),opacity:0},B(i.offset()));c.attr({src:l,title:""});I(g.index(i),-1);a(this).removeClass("pickBoxCellSet").removeData("helperIndx");f.animate(n,800,function(){f.hide().css({opacity:1}).removeClass("helperInUse").removeData("pickSrc");
b&&b()})};a("#pickerWrap").animate({paddingTop:e},k.jqdockFadein);v(function(){a(this).css({opacity:0}).removeClass("invisible").animate({opacity:1})});a("#pickAutofillOptions").empty().append(N).find("a").bind("click",function(){var b=a(this).hasClass("pickAutofillDistr"),c,f;if(!u){r(true);q=a("#pickAutofills a.pickAutofill")[b?"filter":"not"](".pickAutofillDistr").index(this);c=a(".pickBoxCellSet");f=function(){for(var i=0,n=-1,C=function(F,Q){return Q},D=function(F){return F===n?null:F},y=a.map(g,
C);i<t;i++){n=y[Math.round(Math.random()*(y.length-1))];if(b)y=y.length>1?a.map(y,D):a.map(g,C);K.call(g.get(n),i<t-1?null:r)}};c.length?c.each(function(i){E.call(this,i<c.length-1?null:function(){v(f)})}):v(f)}this.blur();return false});a("#pickStartOver").bind("click",function(){var b=a(".pickBoxCellSet");if(!u&&b.length){r(true);q=0;b.each(function(c){E.call(this,c<b.length-1?null:function(){v(r)})})}this.blur();return false});a("#pickListContents").append(H.hover(function(b){a(".pickBoxCellSet img[title="+
a(".pickListItemNme",this).val()+"]").parent().add(this).toggleClass("pickListHover",b.type=="mouseenter")}).find("input").focus(function(){this.blur();return false}).end());o.first().before(x);o.jqDock({align:"middle",size:k.jqdockSize,labels:"tc",fadeIn:k.jqdockFadein});g.click(function(){r(true);K.call(this,r)});a("#pickSubmit").click(function(){var b=false;if(a(this).hasClass("greyedOut"))this.blur();else b=true;return b});a(".pickBoxCellSet").live("click",function(){var b=q?h[q-1]:0,c=b?b*b:
0;b=!!b&&p-1<=c;r(true);E.call(this,b?null:r);b&&P();return false});a("#wait").height(a("#pickAutofills").height());r();j.timeout=function(b){if(j.timer){window.clearTimeout(j.timer);j.timer=null}if(b&&b.type=="mouseleave")j.timer=window.setTimeout(function(){j.close.call(a("#pickerFlyout").unbind()[0])},3E3)};j.open=function(){a(this).stop().animate({opacity:0},function(){a(this).hide()});a("#pickerFlyout").stop().animate(j.cssOpen).one("click",j.close).bind("mouseenter mouseleave",j.timeout);return false};
j.close=function(){j.timeout();a(this).stop().unbind().animate(j.cssClose);a("#pickFlyoutTrigger").stop().css({opacity:0}).show().animate({opacity:1},function(){a(this).one("click",j.open)});return false};a("#pickFlyoutTrigger").each(function(){var b=a(this),c=b.next();c.find("form").each(function(){var f=a("input[name=setbox]",this).val();if(f&&d.prices[f]){a(".pickFixedBoxPrice",this).html(d.currency+d.prices[f].toFixed(2));a(".imageSubmit",this).show()}});c.find(".imageSubmit").click(function(){a(this).parent("form").submit();
return false});j.cssClose={width:b.width(),height:b.height()};j.cssOpen={width:c.width(),height:c.height()}}).one("click",j.open)})});
