// JavaScript Document //function to preload the AJAX loader image function preloader(){ ajaxLoader = new Image(); ajaxLoader.src = "http://www.alfrescoemporium.com.au/images/general/ajax-loader.gif"; } function openWindowSizeable(file,w,h,x,y){ window.open(file,'newWin','scrollbars=1,status=0,width=' + w + ',height=' + h + ',left=' + x + ',top=' + y + ''); } function openWindowNoResize(file,w,h,x,y){ window.open(file,'newWin','scrollbars=0,status=0,width=' + w + ',height=' + h + ',left=' + x + ',top=' + y + ''); } function clearInput(item) { if (item.defaultValue==item.value) item.value = "" } function createCookie(c_name,value,expiredays) { var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()); } function readCookie(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) { createCookie(name,"",-1); } function msgSent(msg){ if (msg == 1){ alert ('Thank you for your enquiry!\nYou will receive a response by email shortly.'); }else if (msg == 2){ alert ('Sorry, there are errors with your form.\n\nPlease provide:\n - valid Email Address'); }else if (msg == 3){ alert ('Sorry, there are errors with your form.\n\nPlease provide:\n - Tile Number and/or Tile Name'); }else if (msg == 4){ alert ('Sorry, there are errors with your form.\n\nPlease provide:\n - valid Email Address\n - Tile Number and/or Tile Name'); } } //function to swap product images function loadImage2(image2){ aryImages[1] = image2; for (i=0; i < aryImages.length; i++){ var preload = new Image(); preload.src = aryImages[i]; } } function loadImage3(image3){ aryImages[2] = image3; for (i=0; i < aryImages.length; i++){ var preload = new Image(); preload.src = aryImages[i]; } } function loadImage4(image4){ aryImages[3] = image4; for (i=0; i < aryImages.length; i++){ var preload = new Image(); preload.src = aryImages[i]; } } function loadImage5(image5){ aryImages[4] = image5; for (i=0; i < aryImages.length; i++){ var preload = new Image(); preload.src = aryImages[i]; } } function loadImage6(image6){ aryImages[5] = image6; for (i=0; i < aryImages.length; i++){ var preload = new Image(); preload.src = aryImages[i]; } } //function to swap images on mouse click events function swap(imgIndex){ document['imgMain'].src = aryImages[imgIndex]; } //function to change the background colours on mouse over events function ChangeBG(obj,status) { if(status=="on") { obj.bgColor='#F1EFEB'; } else if(status=="off") { obj.bgColor='#FFFFFF'; } return true; } //function to show the postcode input text field depending on the country selected //web page: cartMyBasket.asp function showPostcode(country,basketTotal,url){ document.getElementById('orderTotal').innerHTML = ' $' + basketTotal.toFixed(2) + '  inc GST'; if(country.value=="AUSTRALIA"){ createCookie('country','AUSTRALIA',30); showPostcodeAustralia(basketTotal,url); } else if(country.value==""){ createCookie('country','',30); showPostcodeBlank(); } else{ createCookie('country',country.value,30); showPostcodeInternational(country.value); } } function checkPostageCookie(country,basketTotal,url){ if(country=="AUSTRALIA"){ showPostcodeAustralia(basketTotal,url); } else if(country==""){ showPostcodeBlank(); } else{ showPostcodeInternational(country); } } function showPostcodeAustralia(basketTotal,url){ document.getElementById('AUSTRALIA').selected = true; document.getElementById('deliveryPcode').style.display = 'inline'; document.getElementById('postcode').style.backgroundColor = '#ffffff'; document.getElementById('postcode').style.borderColor = '#cccccc'; document.getElementById('deliveryTotal').style.display = 'inline'; document.getElementById('deliveryMessage').style.display = 'none'; document.getElementById('postcode').value = ""; document.getElementById('deliveryTitle').innerHTML = ''; document.getElementById('deliveryAmount').innerHTML = ''; var pc = readCookie('postcode'); if(pc != null && pc != ""){ document.getElementById('postcode').value = pc; calculatePostage(basketTotal,url); } } function showPostcodeBlank(){ document.getElementById('none').selected = true; document.getElementById('deliveryPcode').style.display = 'none'; document.getElementById('deliveryTotal').style.display = 'none'; document.getElementById('deliveryMessage').style.display = 'none'; } function showPostcodeInternational(country){ var deliveryMsg = 'Please note we do not calculate international delivery charges at the time of purchase
read more'; document.getElementById(country).selected = true; document.getElementById('deliveryPcode').style.display = 'none'; document.getElementById('deliveryTotal').style.display = 'none'; document.getElementById('deliveryMessage').style.display = 'inline'; document.getElementById('message').style.padding = '0px 6px 0px 6px'; document.getElementById('message').innerHTML = deliveryMsg; } //function to validate a postcode and give a postage quote in the Postage Calculator //web page: cartMyBasket.asp function calculatePostage(basketTotal,url){ var pc = document.getElementById('postcode'); createCookie('postcode',pc.value,30); if(pc.value==""){ setHtmlElementsError(basketTotal); displayDeliveryMessage('Please provide your postcode'); } else if(IsNumeric(pc.value)==false || pc.value.length<3){ setHtmlElementsError(basketTotal); displayDeliveryMessage('Please enter a valid postcode'); } else{ var XMLHttpRequestObject = false; try { XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP"); //IE8 } catch (exception1) { try { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); //IE5+ } catch (exception2) { XMLHttpRequestObject = false; } } if (!XMLHttpRequestObject && window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); //Mozilla, FireFox } if(XMLHttpRequestObject) { XMLHttpRequestObject.open("GET", url+"scripts/postcodeChecker.asp?pc=" + pc.value, true); var XMLHttpRequestObjectTimeout = setTimeout("ajaxTimeout()",10000); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { clearTimeout(XMLHttpRequestObjectTimeout); checkValidPostcode(XMLHttpRequestObject.responseText, basketTotal, url, pc.value); } else{ document.getElementById('deliveryAmount').innerHTML = ''; } } XMLHttpRequestObject.send(null); function ajaxTimeout(){ XMLHttpRequestObject.abort(); alert("AJAX request timed out"); // Note that at this point you could try to send a notification to the // server that things failed, using the same xhr object. } } } } //function to check the http response that checks the validity of a postcode in script 'postcodeChecker.asp' //called by function calculatePostage() function checkValidPostcode(httpResponse, basketTotal, url, pc){ if(httpResponse == "true"){ document.getElementById('deliveryTitle').innerHTML = 'Delivery:'; getPostage(basketTotal, url, pc); } else{ setHtmlElementsError(basketTotal); displayDeliveryMessage('Please enter a valid postcode'); } } //function to create an AJAX request and get a delivery price //called by function calculatePostage() function getPostage(basketTotal, url, pc){ var XMLHttpRequestObject = false; try { XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP"); //IE8 } catch (exception1) { try { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); //IE6+ } catch (exception2) { XMLHttpRequestObject = false; } } if (!XMLHttpRequestObject && window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); //Mozilla, Firefox } if(XMLHttpRequestObject) { XMLHttpRequestObject.open("GET", url+"scripts/postCalculator.asp?pc="+pc, true); var XMLHttpRequestObjectTimeout = setTimeout("ajaxTimeout()",10000); document.getElementById('orderTotal').innerHTML = ' $' + basketTotal.toFixed(2) + '  inc GST'; XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { clearTimeout(XMLHttpRequestObjectTimeout); displayDeliveryTotal(XMLHttpRequestObject.responseText,basketTotal); } else{ document.getElementById('deliveryAmount').innerHTML = ''; } } XMLHttpRequestObject.send(null); function ajaxTimeout(){ XMLHttpRequestObject.abort(); alert("AJAX request timed out"); // Note that at this point you could try to send a notification to the // server that things failed, using the same xhr object. } } } //function to display result from XMLHttpRequest postage calculator in script 'cartMyBasket.asp' //function called from above function 'getPostage' function displayDeliveryTotal(httpResponse,basketTotal){ document.getElementById('deliveryTotal').style.display = 'inline'; document.getElementById('deliveryTitle').innerHTML = 'Delivery:'; document.getElementById('deliveryMessage').style.display = 'none'; document.getElementById('postcode').style.backgroundColor = '#ffffff'; document.getElementById('postcode').style.borderColor = '#cccccc'; document.getElementById('deliveryAmount').innerHTML = ' $'+parseFloat(httpResponse).toFixed(2); document.getElementById('orderTotal').innerHTML = ' $' + (basketTotal+parseFloat(httpResponse)).toFixed(2) + '  inc GST'; } //function to display HTML elements before an error message function setHtmlElementsError(basketTotal){ document.getElementById('deliveryTotal').style.display = 'none'; document.getElementById('deliveryMessage').style.display = 'inline'; document.getElementById('postcode').style.backgroundColor = '#fce1e1'; document.getElementById('postcode').style.borderColor = '#FF0000'; document.getElementById('orderTotal').innerHTML = ' $' + basketTotal.toFixed(2) + '  inc GST'; } //function to display an error message in the Postage Calculator //web page: cartMyBasket.asp function displayDeliveryMessage(msg) { document.getElementById('message').style.padding = '0px'; document.getElementById('message').innerHTML = '' + msg; } //function to check that an input text field only contains numbers function IsNumeric(sText) { var ValidChars = "0123456789"; var IsNumber=true; var Char; for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) { IsNumber = false; } } return IsNumber; } //function to prevent browser sending a submit request to server when pressing any keyboard key function checkEnter(e){ //e is event object passed from function invocation var characterCode //literal character code will be stored in this variable if(e && e.which){ //if which property of event object is supported (NN4) e = e characterCode = e.which //character code is contained in NN4's which property } else{ e = event characterCode = e.keyCode //character code is contained in IE's keyCode property } if(characterCode == 13){ //if character code is equal to ascii 13 (if enter key) return false //return false to the event handler }else{ return true //return true to the event handler } } //functions to present form input fields in Subscription page function chkBoxEmail_OnClick(itemId) { if (document.getElementById(itemId).checked==false) { if (document.getElementById("chkBoxCatalogue").checked==false) { document.getElementById("tdChkBoxEmail").style.border="1px solid #FF0000" document.getElementById("tdChkBoxCatalogue").style.border="1px solid #FF0000" } disableEmailAddress(); } else { document.getElementById("tdChkBoxEmail").style.border="1px solid #FFFFFF" document.getElementById("tdChkBoxCatalogue").style.border="1px solid #FFFFFF" enableEmailAddress(); } } function chkBoxCatalogue_OnClick(chkBoxId) { if (document.getElementById(chkBoxId).checked==false) { if (document.getElementById("chkBoxEmail").checked==false) { document.getElementById("tdChkBoxEmail").style.border="1px solid #FF0000" document.getElementById("tdChkBoxCatalogue").style.border="1px solid #FF0000" } disableCatalogueAddress(); } else { document.getElementById("tdChkBoxEmail").style.border="1px solid #FFFFFF" document.getElementById("tdChkBoxCatalogue").style.border="1px solid #FFFFFF" enableCatalogueAddress(); } } function disableLabel(item) { document.getElementById(item).style.color="#CCCCCC"; } function enableLabel(item) { document.getElementById(item).style.color="#333333"; } function disableInput(item) { document.getElementById(item).style.backgroundColor="#FFFFFF"; document.getElementById(item).disabled=true; document.getElementById(item).style.color="#CCCCCC"; } function enableInput(item) { document.getElementById(item).style.backgroundColor="#FFCC66"; document.getElementById(item).disabled=false; document.getElementById(item).style.color="#333333"; } function disableCatalogueAddress() { //street address 1 disableLabel("lblStreetAddress"); disableInput("txtStreetName1"); //street address 2 disableInput("txtStreetName2"); //suburb disableLabel("lblSuburb"); disableInput("txtSuburb"); //postcode disableLabel("lblPostcode"); disableInput("txtPostcode"); //state disableLabel("lblState"); disableInput("selectState"); //country disableLabel("lblCountry"); disableInput("txtCountry"); disableLabel("lblAustDel"); } function enableCatalogueAddress() { //street address 1 enableLabel("lblStreetAddress"); enableInput("txtStreetName1"); //street address 2 enableInput("txtStreetName2"); //suburb enableLabel("lblSuburb"); enableInput("txtSuburb"); //postcode enableLabel("lblPostcode"); enableInput("txtPostcode"); //state enableLabel("lblState"); enableInput("selectState"); document.getElementById("lblState").style.color="#333333"; //country enableLabel("lblCountry"); enableInput("txtCountry"); enableLabel("lblAustDel"); } function disableEmailAddress() { disableLabel("lblEmailAddress"); disableInput("txtEmail"); } function enableEmailAddress() { enableLabel("lblEmailAddress"); enableInput("txtEmail"); }