// JavaScript Document
//function to preload the AJAX loader image
function preloader(){
ajaxLoader = new Image();
ajaxLoader.src = "https://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");
}