/* Fix awful naming of Secomm Recommendations Products */ if (document.getElementsByClassName('recommendations-title').length) document.getElementsByClassName('recommendations-title')[0].innerHTML = 'Recommended Products'; /* REMOVED - Piss off the awful Magento table class if (document.getElementsByClassName('std').length) { document.getElementsByClassName('std')[0].removeClassName('std'); } */ function gid(o) { return document.getElementById(o); } function setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i=0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } function eraseCookie(name) { document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } /* Allow closing the Feedback div - Cookie to not show again for 60 days */ setTimeout("if (gid('_hj-f5b2a1eb-9b07_feedback_open_close_phone')) gid('_hj-f5b2a1eb-9b07_feedback_open_close_phone').onclick = new Function(\"gid('_hj-f5b2a1eb-9b07_feedback').style.display = 'none'; setCookie('feedbackOff', 'true', 60); return true;\");", 10000); /* If feedbackOff cookie the dont show feedback div. Need to wait until after it loads */ setTimeout("if (getCookie('feedbackOff') == 'true' && gid('_hj-f5b2a1eb-9b07_feedback')) gid('_hj-f5b2a1eb-9b07_feedback').style.display = 'none';", 8000); // Delivery Estimate if (gid('postcode')) { // Fix catalogue item include can't use single quotes. Make vars equal their name deliverySubmit = 'deliverySubmit'; postcode = 'postcode'; var xhttp = new XMLHttpRequest(); function commonDeliveryFee(postcode) { // Store our postcode setCookie("postcode", postcode); // Validate given postcode if (isNaN(parseFloat(postcode))) { gid('deliveryResult').innerText = 'Invalid postcode'; return false; } xhttp.onreadystatechange = function() { // When our result is ready if (this.readyState == 4 && this.status == 200) { // Process our delivery fee result if (xhttp.responseText == -1) myString = 'Destination unavailable'; else if (xhttp.responseText == -2) myString = 'Invalid postcode'; else if (xhttp.responseText == 0) myString = ' FREE '; else myString = '$' + xhttp.responseText; // Display the result and flash the background color gid('deliveryResult').innerText = myString; gid('deliveryResult').style.backgroundColor = '#E0FFE0'; setTimeout("gid('deliveryResult').style.backgroundColor = '#FFFFFF';", 1200); } }; return true; } // Postcode and cata_id for hard items function deliveryFee(postcode, cata_id) { if (commonDeliveryFee(postcode)) { // Make the call xhttp.open("get", "//rocketdistribution.com.au/laybyland/additional_freight_charge.cfm?postcode=" + postcode + '&sku=' + cata_id, true); xhttp.send(); } } // Just Postcode for bulky items function ZDeliveryFee(postcode) { if (commonDeliveryFee(postcode)) { // Make the call xhttp.open("get", "//rocketdistribution.com.au/laybyland/bulky_goods_delivery.cfm?postcode=" + postcode, true); xhttp.send(); } } // Test mode if (document.location.search.indexOf('TestOn') == 1) setCookie('test', 'true', 30); if (document.location.search.indexOf('TestOff') == 1) setCookie('test', '', 0); // Test mode (add ?Freight to URL) if (document.location.search.indexOf('Freight') == 1 || getCookie('test')) { // Desktop - display the delivery query, Mobile - change to a plain style if ((!isMobile.any() || isMobile.any() == 'iPad')) gid('deliveryQuery').style.display = 'block'; else gid('deliveryQuery').id = 'deliveryQueryM'; // Restore our postcode cookie if it exists else default to 2000 gid('postcode').value = (getCookie('postcode')) ? getCookie('postcode') : 2000; gid('deliverySubmit').click(); } } // Finish Delivery Estimate