
/*-----------------------------------------------------AJAX .JS-------------------------------------------------------------------*/
function sack(file){this.AjaxFailedAlert="Your browser does not support the enhanced functionality of this website, and therefore you will have an experience that differs from the intended one.\n";this.requestFile=file;this.method="POST";this.URLString="";this.encodeURIString=true;this.execute=false;this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(err){this.xmlhttp=null;}}
if(!this.xmlhttp&&typeof XMLHttpRequest!="undefined")
this.xmlhttp=new XMLHttpRequest();if(!this.xmlhttp){this.failed=true;}};this.setVar=function(name,value){if(this.URLString.length<3){this.URLString=name+"="+value;}else{this.URLString+="&"+name+"="+value;}}
this.encVar=function(name,value){var varString=encodeURIComponent(name)+"="+encodeURIComponent(value);return varString;}
this.encodeURLString=function(string){varArray=string.split('&');for(i=0;i<varArray.length;i++){urlVars=varArray[i].split('=');if(urlVars[0].indexOf('amp;')!=-1){urlVars[0]=urlVars[0].substring(4);}
varArray[i]=this.encVar(urlVars[0],urlVars[1]);}
return varArray.join('&');}
this.runResponse=function(){eval(this.response);}
this.runAJAX=function(urlstring){this.responseStatus=new Array(2);if(this.failed&&this.AjaxFailedAlert){alert(this.AjaxFailedAlert);}else{if(urlstring){if(this.URLString.length){this.URLString=this.URLString+"&"+urlstring;}else{this.URLString=urlstring;}}
if(this.encodeURIString){var timeval=new Date().getTime();this.URLString=this.encodeURLString(this.URLString);this.setVar("rndval",timeval);}
if(this.element){this.elementObj=document.getElementById(this.element);}
if(this.xmlhttp){var self=this;if(this.method=="GET"){var totalurlstring=this.requestFile+"?"+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true);}else{this.xmlhttp.open(this.method,this.requestFile,true);}
if(this.method=="POST"){try{this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded')}catch(e){}}
this.xmlhttp.send(this.URLString);this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;self.onCompletion();if(self.execute){self.runResponse();}
if(self.elementObj){var elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response;}else{self.elementObj.innerHTML=self.response;}}
self.URLString="";break;}};}}};this.createAJAX();}
/*-----------------------------------------------------AJAX .JS-------------------------------------------------------------------*/



/*----------------------------------------- FLY TO BASKET.JS ----------------------------------------------*/
var flyingSpeed=25;var url_addProductToBasket='/addProduct.php';var url_removeProductFromBasket='/removeProduct.php';var txt_totalPrice='Total: ';var txt_openBracket='(';var txt_closeBracket=')';var shopping_cart_div=false;var flyingDiv=false;var currentProductDiv=false;var shopping_cart_x=false;var shopping_cart_y=false;var slide_xFactor=false;var slide_yFactor=false;var diffX=false;var diffY=false;var currentXPos=false;var currentYPos=false;var ajaxObjects=new Array();function shoppingCart_getTopPos(inputObj)
{var returnValue=inputObj.offsetTop;while((inputObj=inputObj.offsetParent)!=null){if(inputObj.tagName!='HTML')returnValue+=inputObj.offsetTop;}
return returnValue;}
function shoppingCart_getLeftPos(inputObj)
{var returnValue=inputObj.offsetLeft;while((inputObj=inputObj.offsetParent)!=null){if(inputObj.tagName!='HTML')returnValue+=inputObj.offsetLeft;}
return returnValue;}
function addToBasket(productId)
{if(!shopping_cart_div)shopping_cart_div=document.getElementById('shopping_cart');if(!flyingDiv){flyingDiv=document.createElement('DIV');flyingDiv.style.position='absolute';document.body.appendChild(flyingDiv);}
shopping_cart_x=shoppingCart_getLeftPos(shopping_cart_div);shopping_cart_y=shoppingCart_getTopPos(shopping_cart_div);currentProductDiv=document.getElementById('slidingProduct'+productId);currentXPos=shoppingCart_getLeftPos(currentProductDiv);currentYPos=shoppingCart_getTopPos(currentProductDiv);diffX=shopping_cart_x-currentXPos;diffY=shopping_cart_y-currentYPos;var shoppingContentCopy=currentProductDiv.cloneNode(true);shoppingContentCopy.id='';flyingDiv.innerHTML='';flyingDiv.style.left=currentXPos+'px';flyingDiv.style.top=currentYPos+'px';flyingDiv.style.zIndex='1000';flyingDiv.appendChild(shoppingContentCopy);flyingDiv.style.display='block';flyingDiv.style.width=currentProductDiv.offsetWidth+'px';flyToBasket(productId);}
function flyToBasket(productId)
{var maxDiff=Math.max(Math.abs(diffX),Math.abs(diffY));var moveX=(diffX/maxDiff)*flyingSpeed;;var moveY=(diffY/maxDiff)*flyingSpeed;currentXPos=currentXPos+moveX;currentYPos=currentYPos+moveY;flyingDiv.style.left=Math.round(currentXPos)+'px';flyingDiv.style.top=Math.round(currentYPos)+'px';if(moveX>0&&currentXPos>shopping_cart_x){flyingDiv.style.display='none';}
if(moveX<0&&currentXPos<shopping_cart_x){flyingDiv.style.display='none';}
if(flyingDiv.style.display=='block')setTimeout('flyToBasket("'+productId+'")',10);else ajaxAddProduct(productId);}
function showAjaxBasketContent(ajaxIndex)
{var itemBox=document.getElementById('shopping_cart_items');var productItems=ajaxObjects[ajaxIndex].response.split('|||');if(document.getElementById('shopping_cart_items_product'+productItems[0])){var row=document.getElementById('shopping_cart_items_product'+productItems[0]);if(document.getElementById('cart_empty')!=null){document.getElementById('cart_empty').innerHTML="";document.getElementById('cart_empty').removeElement("li");}}else{items=document.getElementById('numProds').value;var numItms=parseInt(items)+1;if(document.getElementById('cart_empty')!=null){document.getElementById('cart_empty').innerHTML="";$("#myList > li").remove();}
$("#shopping_cart2").show("slow");setTimeout(function(){$('#shopping_cart2').fadeOut('slow');},10000);var container=document.getElementById('myList');var new_element=document.createElement('li');new_element.id='shopping_cart_items_product'+productItems[0]
var addspan="<span style='display:none;' id=span_"+productItems[0]+">1</span>";var image='<a class="mini-prod" href="/'+productItems[3]+'/'+productItems[4]+'.html "><img alt=" " src="/uploads/products/basket/'+productItems[2]+'" /></a>';var mydiv='<div class="product-desc"><h4><a href="/'+productItems[3]+'/'+productItems[4]+'.html" >'+productItems[1]+'</a></h4><a class="mini-remove" href="javascript:void(0);" onclick="removeProductFromBasket('+productItems[0]+');">X</a></div>';new_element.innerHTML=addspan+image+''+mydiv;container.insertBefore(new_element,container.firstChild);document.getElementById('numProds').value=numItms;var a=document.getElementById('link');if(document.getElementById('numProds').value>1)
{}}
addItemsCount(productItems[0]);ajaxObjects[ajaxIndex]=false;}
function addItemsCount(id){Qty=document.getElementById('span_'+id).innerHTML;document.getElementById('showQty'+id).innerHTML="Added To Basket";document.getElementById('showQty'+id).style.display="block";document.getElementById('slidingProduct'+id).className="product-image sliding_product in-basket";document.getElementById('basket_'+id).setAttribute('onClick','');}
function itemCount()
{var itemBox=document.getElementById('shopping_cart_items');var totalPrice1=0;var itemIds='';for(var no=1;no<itemBox.rows.length;no++){totalPrice1=parseInt(totalPrice1)+parseInt(itemBox.rows[no].cells[0].innerHTML);itemIds=itemIds+itemBox.rows[no].cells[2].innerHTML+",";}
document.getElementById('items_ids').value=itemIds;document.getElementById('total_items').innerHTML=txt_openBracket+totalPrice1+txt_closeBracket;}
function updateTotalPrice()
{var itemBox=document.getElementById('shopping_cart_items');var totalPrice=0;if(document.getElementById('shopping_cart_totalprice')){for(var no=1;no<itemBox.rows.length;no++){totalPrice=totalPrice+(itemBox.rows[no].cells[0].innerHTML.replace(/[^0-9]/g)*itemBox.rows[no].cells[2].innerHTML);}
document.getElementById('shopping_cart_totalprice').innerHTML=txt_totalPrice+totalPrice.toFixed(2);}}
function removeProductFromBasket(productId)
{var productRow=document.getElementById('shopping_cart_items_product'+productId);$("#"+productRow).remove();productRow.parentNode.removeChild(productRow);setTimeout(function(){$('#shopping_cart2').fadeOut('slow');},10000);items=document.getElementById('numProds').value;var numItms=parseInt(items)-1;document.getElementById('numProds').value=numItms;if(document.getElementById('numProds').value<=1)
{var a=document.getElementById('link');}
ajaxRemoveProduct(productId);}
function ajaxValidateRemovedProduct(ajaxIndex)
{if(ajaxObjects[ajaxIndex].response!='OK')alert('Error while removing product from the database');}
function ajaxRemoveProduct(productId)
{var ajaxIndex=ajaxObjects.length;ajaxObjects[ajaxIndex]=new sack();ajaxObjects[ajaxIndex].requestFile=url_removeProductFromBasket;ajaxObjects[ajaxIndex].setVar('productIdToRemove',productId);ajaxObjects[ajaxIndex].onCompletion=function(){ajaxValidateRemovedProduct(ajaxIndex);document.getElementById('showQty'+productId).innerHTML=" 0 in Basket ";document.getElementById('showQty'+productId).style.display="none";document.getElementById('slidingProduct'+productId).className="product-image sliding_product ";document.getElementById('basket_'+productId).setAttribute('onClick','addToBasket('+productId+');return false;');if(document.getElementById('myList').getElementsByTagName("li").length===0){if(document.getElementById('cart_empty')===null){child=document.getElementById('myList');var newdiv=document.createElement('li');newdiv.setAttribute('id','cart_empty');child.appendChild(newdiv);document.getElementById('cart_empty').innerHTML="cart is empty";}
else{document.getElementById('cart_empty').innerHTML="cart is empty";}}};ajaxObjects[ajaxIndex].runAJAX();}
function ajaxAddProduct(productId)
{var ajaxIndex=ajaxObjects.length;ajaxObjects[ajaxIndex]=new sack();ajaxObjects[ajaxIndex].requestFile=url_addProductToBasket;ajaxObjects[ajaxIndex].setVar('productId',productId);ajaxObjects[ajaxIndex].onCompletion=function(){showAjaxBasketContent(ajaxIndex);};ajaxObjects[ajaxIndex].runAJAX();}
/*----------------------------------------- FLY TO BASKET.JS ----------------------------------------------*/