/* **********************************
 *
 *   JS for ajax add item to basket
 *
 * **********************************/

 function addItemTocart(item) {
   ajaxPostFormAsXML('shop_poduct_'+item, 'ajax_basket', 'add', 'addItemToCartCallBack')
 }

 function setBasketItemCount(itemCount) {
   var basketItemCount ;
   var basketText ;
     
   basketItemCount = document.getElementById('basket_item_count') ;
   if (!isNull(basketItemCount)) {
     if (itemCount == 0) {
       basketText = 'your cart is empty' ;
     }
     else {
       if (itemCount == 1) {
         basketText = '1 item in cart' ;
       }
       else {
         basketText = itemCount + ' items in cart' ;        
       }   
       
       basketText = '<a href="/shop/basket.html">'+basketText+'</a>';
     }
     
     basketItemCount.innerHTML = basketText;
   }     
}
 
 function addItemToCartCallBack(responce) {
 //alert(unescape(responce));
    var basketRowHidden ;
   var basketRow ;
   var basketItems ;
   var productId = 0 ;
   var product ;
   var doc ;
   var prod;
   var total = 0;
   var basketItemId = 0 ;
   var itemCount = 0 ;

   doc = parseXML(unescape(responce)) ;
   var basket ;
   basket = doc.getElementsByTagName('basket') ;   
   basket = basket[0] ;
   itemCount = basket.getAttribute('itemcount') ;
   
   setBasketItemCount(itemCount) ;
   
   prod = doc.getElementsByTagName('product') ;   
   
   var productCount = prod.length;
   
   if (productCount > 0) {
     prod = prod[0] ;
     productId = prod.getAttribute('id') ;
     product = prod.getAttribute('name') ;
     price = prod.getAttribute('price') ;
     basketItemId = prod.getAttribute('basketitemid') ;
     total = prod.getAttribute('total') ;
   }

   basketItems = document.getElementById('basket_items') ;
   
   if (basketItems != null) {
     if (productId > 0) {   
       document.getElementById('empty_basket').style.display = 'none' ;
     
       basketItems = document.getElementById('basket_items') ;
       var newRow = addElement(basketItems, 'div', 'small_basketItem_'+basketItemId) ;
       newRow.className = 'basket_item' ;

       var obj = addElement(newRow, 'div', 'basketItem_remove_'+basketItemId) ;
       obj.className = 'basket_item_remove' ;
       obj.innerHTML = '<a href="javascript:decreaseQuantity('+basketItemId+')">-</a>' ;

       var obj = addElement(newRow, 'div', 'basketItem_add_'+basketItemId) ;
       obj.className = 'basket_item_add' ;
       obj.innerHTML = '<a href="javascript:increaseQuantity('+basketItemId+')">+</a>' ;
  
       var obj = addElement(newRow, 'div', 'basket_item_price'+basketItemId) ;
       obj.className = 'basket_item_price' ;
       obj.innerHTML = '&pound;'+price ;

       newRow.innerHTML = newRow.innerHTML+'<a href="">'+product+'</a>' ;
     }
   }

   setBasketTotal(total) ;
 }
 

/* **********************************
 *
 *   JS for ajax to clear basket
 *
 * **********************************/

 function clearBasket() {
   cueXMLHTTPPost('ajax_basket', 'clear', '', 'clearBasketCallBack')
 }

 function clearBasketCallBack(responce) {
   var basketItems = document.getElementById('basket_items') ;

   if (!isNull(basketItems)) {
     basketItems.innerHTML = "" ;
   }
   
   setBasketItemCount(0) ;
   document.getElementById('empty_basket').style.display = 'block' ;

   setBasketTotal('0.00') ;
   
   var basketItemsList = document.getElementById('basket_items_list') ;

   if (!isNull(basketItemsList)) {
     basketItemsList.innerHTML = '' ;
   }

 }
 
/* **********************************
 *
 *   JS for ajax to 
 *
 * **********************************/

 function decreaseQuantity(basketItemId) {
   cueXMLHTTPPost('ajax_basket', 'decrease/'+basketItemId, '', 'quantityCartItemCallBack')
 }

 function quantityCartItemCallBack(responce) {
   var doc ;
   var basketItem ;
   var basketItemId ;
   var quantity ;
   var total ;

   doc = parseXML(unescape(responce)) ;

   var basket ;
   basket = doc.getElementsByTagName('basket') ;   
   basket = basket[0] ;
   itemCount = basket.getAttribute('itemcount') ;
   
   setBasketItemCount(itemCount) ;

   basketItem = doc.getElementsByTagName('basketitem') ;

   if (basketItem.length > 0) {
     basketItem = basketItem[0] ;
     basketItemId = basketItem.getAttribute('id') ;
     quantity = basketItem.getAttribute('quantity') ;
     total = basketItem.getAttribute('total') ;

     setBasketTotal(total) ;

     if (quantity < 1) {
       basketItemDiv = document.getElementById('small_basketItem_'+basketItemId) ;

       if (!isNull(basketItemDiv)) {
         basketItemDiv.style.display = 'none' ;
       }

       basketItemDiv = document.getElementById('basketItem_'+basketItemId) ;

       if (!isNull(basketItemDiv)) {
         basketItemDiv.style.display = 'none' ;
       }
     }
     else {
       basketItemQuantity = document.getElementById('basket_item_quantity_'+basketItemId) ;
       
       if (!isNull(basketItemQuantity)) {
         basketItemQuantity.innerHTML = quantity ;
       }

       basketItemQuantity = document.getElementById('small_basket_item_quantity_'+basketItemId) ;
       
       if (!isNull(basketItemQuantity)) {
         basketItemQuantity.innerHTML = quantity ;
       }

     }
   }
   
 }
 
/* **********************************
 *
 *   JS for ajax to 
 *
 * **********************************/
 
 function increaseQuantity(basketItemId) {
   cueXMLHTTPPost('ajax_basket', 'increase/'+basketItemId, '', 'quantityCartItemCallBack')
 }

 function setBasketTotal(Total) {
   var smallBasketTotal = document.getElementById('small_basket_total') ;

   if (!isNull(smallBasketTotal)) {
     smallBasketTotal.innerHTML = Total ;
   }
   
   var basketTotalValue = document.getElementById('basket_total_value') ;

   if (!isNull(basketTotalValue)) {
     basketTotalValue.innerHTML = Total ;
   }
 }
 
/* **********************************
 *
 *   Sign up/Registration functions
 *
 * **********************************/

 function submitLoginForm() {
   var form ;
   var signUpRadio ;
   
   form = document.getElementById('signup_form') ;
   
   signUpRadio = document.getElementById('signup') ;
   
   if (signUpRadio.checked) {
     form.action = "/members/register.html" ;
   }
   
   form.submit() ;
 } 
 
 
 
 function addDiscountCode() {
   var discountCode ;
   discountCode = document.getElementById('discount_code') ;
   
   if (discountCode != null) {
     discountCode = discountCode.value ;
   }
   
   if (discountCode != '') {
     cueXMLHTTPPost('ajax_basket', 'discount/'+escape(discountCode), '', 'addDiscountCodeCallBack')     
   }
 }
 
 function addDiscountCodeCallBack(responce) {
   if (!processResponceErrors(responce, 'discount_code_error')) { 
     location.reload(true) ;  
   }
 }