Shop Easter Collection
You might also like...
×
Our delivery areas:
£ 5.00 | Brading, Sandown, Bembridge
£ 12.00 | Compton (South West)
£ 15.00 | Freshwater, Newbridge
£ 8.00 | Newport, Shanklin, East cowes
£ 5.00 | Outside of Ryde
£ 5.00 | Ryde
'); } else { $(s).removeClass('chk-fieldstate-error'); } return r; } errors = 0; function chk_validate() { errors = 0; $('.form-errors').empty(); $('.form-errors').css('display', 'none'); errors += fieldval('select[name=delivery_title]', 'Title is required', fieldreq); errors += fieldval('input[name=delivery_name]', 'Name is required', fieldreq); var no_post_del_checked = $('input[name="no_postcode_delivery"]:checked'); if (!no_post_del_checked) { errors += fieldval('input[name=delivery_postcode]', "
The address you have entered is not in our delivery area. However, the shop has been notified of your details.
In the mean time, we suggest calling us on 01983 811 291 or contacting us by email.
Lastly, you may wish to click and collect by returning to the basket and selecting collect.
Thank you.
", postcode_val); } else { errors += fieldval('input[name=radio_delivery_choice]', 'Please select a rough location for delivery.', fieldreq); } errors += fieldval('input[name=delivery_property]', 'Property name/number is required', fieldreq); errors += fieldval('input[name=delivery_town]', 'Town/city is required', fieldreq); if (errors) { $('.form-errors').prepend('
'); $('.form-errors').slideDown(600); } else { $('#chk_form').submit(); } } $('#chk-submit').click(function (e) { if (errors) { $('.form-errors').slideUp(600, function () { chk_validate(); }); } else chk_validate(); e.preventDefault(); return (errors == 0); }); $('#chk-deliver-local').click(function () { if (current_delivery_cost == 0) current_delivery_cost = standard_delivery_cost; else current_delivery_cost = 0; $('#chk-del-fee').html(currency + current_delivery_cost.toFixed(2)); }); $('#chk-delivery-link').click(function (e) { e.preventDefault(); $('#chk-deliver-local').click(); }); $(function() { /* Initialize code */ var col_disabled = $('.del-method-input-div').attr('disable-collect') == '1'; // if (col_disabled) { // console.log('Col disabled') // } else { // console.log('Col enabled') // $('input[name="delivery_method_input"]').trigger('change'); // } /* Initialize collect type only */ // if ($('input[name="delivery_method_input"]:checked').val() == 'collect') { // setVars('collect'); // } }); async function updateDeliveryByPostcode(pc) { var polygon_data = ''; if (!pc) { console.log('Blank postcode'); $('#delivery-calendar').hide(); return; } var respPostcode = await getLatLngFromPostcodeLocal(pc); respPostcode = getLatLngFromPostcodeIdeal(pc); console.log('Api response remote', respPostcode); console.log('------ Using IDEAL API ------'); if (respPostcode.hasOwnProperty('status') && respPostcode.status == 200 && respPostcode.hasOwnProperty('result')) { if (respPostcode.result.latitude && respPostcode.result.longitude) { var postcodeData = respPostcode.result; console.log('Found geoloc:', postcodeData.latitude + ',' + postcodeData.longitude); cause = 'valid'; // Postcode changes $('.no-postcode-delivery-div').addClass('hide'); // Set polygon_data only if type is polygon polygon_data = postcodeData.latitude + ',' + postcodeData.longitude; } else { console.log('Object missing lat lng'); cause = 'API failure'; } } else if (respPostcode.hasOwnProperty('status') && respPostcode.status >= 400) { $('#crafty_postcode_display').html(''); console.log('Error finding lat lng:', respPostcode.message); cause = 'Invalid postcode'; $('#delivery-calendar').hide(); } else { $('#crafty_postcode_display').html(''); console.log('Error finding lat lng'); cause = 'API failure'; $('#delivery-calendar').hide(); } /* Courier service - enable/disable submit button based on postcode */ if (delivery_type == 'post' || delivery_type == 'courier_local') { if (cause == 'valid') { $('#postcode-error').html(''); $('#chk-submit').show(); } else { $('#postcode-error').html("
The postcode you have entered is invalid.
"); // if (!use_local_for_courier) { $('#chk-submit').hide(); // } setTimeout(function() { $('#delivery_courier').hide() }, 1000) } } $('input[name="delivery_lat_lng"]').val(polygon_data); console.log('Cause', cause); console.log('delivery_type', delivery_type); console.log('use_local_for_courier', use_local_for_courier); console.log('delivery_ajax_url', delivery_ajax_url); /* Post/courier delivery items - no need to check for polygon/postcode */ if (delivery_type != 'post' || use_local_for_courier) { $.post(delivery_ajax_url, { 'pc': pc, 'op': choiceop, 'delivery_type': delivery_type, 'polygon_data': polygon_data, 'cause': cause, 'respPostcode': respPostcode, 'delivery_date': $('input[name="delivery_date"]').val() }, function (data) { if (data.ok) { //local delivery $('#delivery_courier').hide(); $('#delivery-calendar').show(); /* Check for free delivery */ if (data.is_free_local) { var ch = data.choices[0]; $("#chk-del-fee").html(currency + '0 Free delivery'); $("input[name='delivery_choice']").val(0); } else { var ch = data.choices[0]; $("#chk-del-fee").html(currency + ch.fee); $("input[name='delivery_choice']").val(ch.id); } $('#del-header-descr, #del-header-descr-local, #delivery_choices').removeClass('hidden'); $('#delivery_courier, #del-header-descr-post, #delivery_variable').addClass('hidden'); if (delivery_type == 'local') { $("input[name='delivery_method_type']").val('local'); } else { $("input[name='delivery_method_type']").val('courier_local'); } $('#delivery-calendar').show(); $('#postcode-error').html(''); $('[name="delivery-submit"]').removeClass('hidden'); if (postcode_enter_pressed) { postcode_enter_pressed = false; // $('.findaddress').prop('disabled', false); $('.findaddress').trigger('click'); } } else { $('#delivery-calendar').hide(); if (delivery_type == 'post' || delivery_type == 'courier_local') { console.log('post type found') if (data.is_free_local) { // $('#del-header-descr, #del-header-descr-post').removeClass('hidden'); // delivery_courier - show free message } $('#del-header-descr, #delivery_courier, #del-header-descr-post').removeClass('hidden'); $('#del-header-descr-local, #delivery_choices, #delivery_variable').addClass('hidden'); $("input[name='delivery_method_type']").val('post'); $('[name="delivery-submit"]').removeClass('hidden'); $('#delivery_courier').show(); } else { if (delivery_type == 'variable') { $('#delivery_variable').removeClass('hidden'); $('#del-header-descr, #del-header-descr-local, #del-header-descr-post, #delivery_choices, #delivery_courier').addClass('hidden'); $("input[name='delivery_method_type']").val('post'); } else { // $("input[name='delivery_method_type']").val(''); // Postcode changes // $('#delivery_choices').addClass('hidden'); console.log('Local postcode invalid response'); if (cause == 'Invalid postcode' || cause == 'API failure') { $('#postcode-error').html('
' + invalid_pc_msg + '
'); // Postcode changes $('#delivery-calendar').hide(); } else { cause = 'Outside delivery area'; // data.msg $('#postcode-error').html('
' + outside_del_area_msg + '
'); $('#delivery_choices').addClass('hidden'); $('#delivery-calendar').hide(); } } $('[name="delivery-submit"]').addClass('hidden'); } } }, "json"); } } function lookupResponse(respPostcode) { var pc = $('input[name="delivery_postcode"]').val(); var polygon_data = ''; var cause = 'API failure'; console.log('lookupResponse respPostcode ', respPostcode) if (respPostcode.hasOwnProperty('code') && respPostcode.code == '4040') { $('#crafty_postcode_display').html(''); console.log('Error finding lat lng:', respPostcode.message); cause = 'Invalid postcode'; // $('#delivery_choices').addClass('hidden'); // Postcode changes var del_method = $('input[name="delivery_method_type"').val(); if (del_method == 'local') { $('.no-postcode-delivery-div').removeClass('hide'); $("#delchoice").val(''); } else { $('.no-postcode-delivery-div').addClass('hide'); } } /* Courier service - enable/disable submit button based on postcode */ if (delivery_type == 'post' || delivery_type == 'courier_local') { if (cause == 'valid') { $('#postcode-error').html(''); $('#chk-submit').show(); } else { $('#postcode-error').html("
The postcode you have entered is invalid.
"); // if (!use_local_for_courier) { $('#chk-submit').hide(); // } setTimeout(function() { $('#delivery_courier').hide() }, 1000) } } $('input[name="delivery_lat_lng"]').val(polygon_data); console.log('Check cause ', cause) } function getLatLngFromPostcodeIdeal(postcode) { var url = "https://api.postcodes.io/postcodes/"+postcode+"?api_key=ak_kkgpvz2omJqAABCSlVmKSWhTmuOvb"; request = new XMLHttpRequest(); request.open('GET', url, false); request.setRequestHeader('Content-Type', 'application/json'); var data = {}; request.onreadystatechange = function() { if (this.readyState === 4) { data = JSON.parse(this.responseText); } }; request.send(); return data; } function getLatLngCraftyClicks(postcode) { var parameters = { key: "ed74a-66810-ca17a-00b9e", postcodes: [postcode] }; var url = "https://pcls1.craftyclicks.co.uk/json/geocode"; request = new XMLHttpRequest(); request.open('POST', url, false); request.setRequestHeader('Content-Type', 'application/json'); request.onreadystatechange = function() { if (this.readyState === 4){ if (this.status >= 200 && this.status < 400){ data = JSON.parse(this.responseText); } else { throw 'HTTP Request Error'; } } }; request.send(JSON.stringify(parameters)); return data; } async function getLatLngFromPostcodeLocal(postcode) { /* Check FT DB first, if not found call Crafty clicks */ // var latLngResp; return await $.post(delivery_ajax_url, {'op': 'find_postcode', 'pc': postcode}, function(response) { // console.log('data found', response) // return resp; } , "json" ); // return latLngResp; } // $('#chk_form').on('submit', function() { // console.log('Form submit cause check:', cause); // console.log('No postcode checked:', $("#no-postcode-delivery").is(':checked')); // var del_method = $('input[name="delivery_method_type"').val(); // });