// Set path to PHP script var phpscript ='http://www.dekomount.co.uk/ajax.php';var phpPage='http://www.dekomount.co.uk/'; /* ============================ MAKE XMLHttpRequest OBJECT ============================ */ function createRequestObject() { var req; if(window.XMLHttpRequest){ // Firefox, Safari, Opera... req = new XMLHttpRequest(); } else if(window.ActiveXObject){ // Internet Explorer 5+ req = new ActiveXObject("Microsoft.XMLHTTP"); } else{ // There is an error creating the object, // just as an old browser is being used. alert('There was a problem creating the XMLHttpRequest object'); } return req; } // Make the XMLHttpRequest object var http = createRequestObject(); /* ============================ CHECK POSTAL CODE ============================ */ function checkDeliveryAreaRequest(submitRef) { var formRef=submitRef.parentNode; var postalCode=formRef.postal_code.value; //remove old msg if(document.getElementById('checkDeliveryAreaMsg')){ document.getElementById('checkDeliveryAreaMsg').parentNode.removeChild(document.getElementById('checkDeliveryAreaMsg')); } if(postalCode==''){ return; } // Open PHP script for requests //http.open('get', phpscript, true); var params = 'postal_code='+postalCode+'&task=checkDeliveryArea&time='+Date(); http.open('post', phpscript, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); http.onreadystatechange = function(){checkDeliveryAreaResponse(submitRef)}; http.send(params); }//end function checkDeliveryAreaRequest function checkDeliveryAreaResponse(submitRef) { if(http.readyState == 4 && http.status == 200){ // Text returned from PHP script var response = http.responseText; var formRef=submitRef.parentNode; var pRef=document.createElement('p'); pRef.id='checkDeliveryAreaMsg'; if(response){ pRef.className='prod_attribute_info'; pRef.appendChild(document.createTextNode('Our service is available in your area')); } else{ pRef.className='prod_attribute_alert'; pRef.appendChild(document.createTextNode('Sorry, our service is not available in your area for delivery at the moment')); } formRef.insertBefore(pRef,formRef.firstChild); }//end if finish }//end function checkDeliveryAreaResponse /* ============================ SUBSCRIBE NEWSLETTER ============================ */ function subscribeNewsletterRequest() { var emailAddress=document.getElementById('subscribeNewsletter').email_address.value; //remove old msg if(document.getElementById('subscribeNewsletterMsg')){ document.getElementById('subscribeNewsletterMsg').parentNode.removeChild(document.getElementById('subscribeNewsletterMsg')); } if(emailAddress==''){ return; } // Open PHP script for requests //http.open('get', phpscript, true); var params = 'email_address='+emailAddress+'&task=subscribeNewsletter&time='+Date(); http.open('post', phpscript, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); http.onreadystatechange = subscribeNewsletterResponse; http.send(params); }//end function subscribeNewsletterRequest function subscribeNewsletterResponse() { if(http.readyState == 4 && http.status == 200){ // Text returned from PHP script var response = http.responseText; var formRef=document.getElementById('subscribeNewsletter'); var pRef=document.createElement('p'); pRef.id='subscribeNewsletterMsg'; if(response){ pRef.className='prod_attribute_info'; pRef.appendChild(document.createTextNode('You have been subscribed to our newsletter. An email was sent to your email address to confirm your subscription')); } else{ pRef.className='prod_attribute_alert'; pRef.appendChild(document.createTextNode('Sorry, could not send confirmation email, please try again later.')); } formRef.insertBefore(pRef,formRef.firstChild); document.getElementById('subscribeNewsletter').email_address.value=''; }//end if finish }//end function subscribeNewsletterResponse /* ============================ UPDATE PRODUCT ============================ */ function updateProductRequest(cartIndex) { var rowRef=document.getElementById('id'+cartIndex); if(rowRef.getElementsByTagName('select').length>0){ var howHot=rowRef.getElementsByTagName('select')[0].value; } else{ var howHot='undefined'; } if(arguments.length==2){ var checkout=true; } else{ var checkout='undefined'; } var amount=rowRef.getElementsByTagName('input')[0].value; // Open PHP script for requests //http.open('get', phpscript, true); var params = 'cart_index='+cartIndex+'&how_hot='+howHot+'&amount='+amount+'&checkout='+checkout+'&task=updateProduct&time='+Date(); http.open('post', phpscript, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); http.onreadystatechange = updateProductResponse; http.send(params); }//end function updateProductRequest function updateProductResponse() { if(http.readyState == 4 && http.status == 200){ // Text returned from PHP script var response = http.responseText; var divRef=document.getElementById('cart').parentNode; divRef.innerHTML=response; }//end if finish }//end function updateProductResponse /* ============================ REMOVE PRODUCT ============================ */ function removeProductRequest(cartIndex) { var rowRef=document.getElementById('id'+cartIndex); if(arguments.length==2){ var checkout=true; } else{ var checkout='undefined'; } // Open PHP script for requests //http.open('get', phpscript, true); var params = 'cart_index='+cartIndex+'&checkout='+checkout+'&task=removeProduct&time='+Date(); http.open('post', phpscript, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); http.onreadystatechange = removeProductResponse; http.send(params); }//end function removeProductRequest function removeProductResponse() { if(http.readyState == 4 && http.status == 200){ // Text returned from PHP script var response = http.responseText; var divRef=document.getElementById('cart').parentNode; //divRef.innerHTML=response; response = eval(response); divRef.innerHTML = response[1]; var ulRef=document.getElementById('top_nav'); //ulRef.innerHTML=response[0]; }//end if finish }//end function removeProductResponse /* ============================ SET DEFAULT SHIPPING AND BILLING ADDRESS ============================ */ function setDefaultAddressRequest(orderId,inputRef) { if(inputRef.checked==false){ return; } // Open PHP script for requests //http.open('get', phpscript, true); var params = 'order_id='+orderId+'&task=setDefaultAddress&time='+Date(); http.open('post', phpscript, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); http.onreadystatechange = function(){setDefaultAddressResponse(inputRef)}; http.send(params); }//end function setDefaultAddressRequest function setDefaultAddressResponse(inputRef) { if(http.readyState == 4 && http.status == 200){ inputRef.checked=true; inputRef.nextSibling.className='prod_attribute_info'; inputRef.nextSibling.firstChild.nodeValue='address was set as default'; }//end if finish }//end function setDefaultAddressResponse /**************************************************************************** * CHECK EMAIL ADDRESS *****************************************************************************/ function checkEmailAddressRequest(emailAddRef){ if(emailAddRef.value==''){ return; } var email=emailAddRef.value; //alert(email); // Open PHP script for requests //http.open('get', phpscript, true); var params = 'email='+email+'&task=checkEmailAddress&time='+Date(); http.open('post', phpscript, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); http.onreadystatechange = checkEmailAddressResponse; http.send(params); } function checkEmailAddressResponse() { if(http.readyState == 4 && http.status == 200){ if(http.responseText=='redirect'){ document.location.href="login.php" } else{ var response = http.responseText; document.getElementById('step1').innerHTML=response; } }//end if finish }//end function checkEmailAddressResponse /*************************************************************************** * VIEW RECORD DETAILS ***************************************************************************/ function fetchRecordDetailsRequest(pageAction,recordId) { // Open PHP script for requests //http.open('get', phpscript, true); var params = 'id='+recordId+'&task=fetchRecordDetails&ajax_call_page=on&time='+Date(); var phpscript=phpPage+pageAction; http.open('post', phpscript, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); http.onreadystatechange = fetchRecordDetailsResponse; http.send(params); }//end function fetchRecordDetailsRequest function fetchRecordDetailsResponse() { if(http.readyState == 4 && http.status == 200){ // Text returned from PHP script var response = http.responseText; if(response) { show_details(response,550, 600); }//end if response }//end if finish }//end function fetchRecordDetailsRequest