/*
c. jeremy van winkle. 2011 - brothers van winkle / visualstoryline  -> www.brothersvanwinkle.com / www.visualstoryline.com
*
*  
*
* created by visualstoryline - 2011
* site/code is for use by www.bernhardtwatch.com
* programming by jeremy van winkle - 01/20/2011
* c. www.visualstoryline.com
* 
* SHOPPING CART JAVASCRIPTS
* 
*/

/*
AJAX FORMAT:
    var AjaxResponse = $j.ajax({
        url: URL,
        async: false
    }).responseText;     
    
    //var AjaxResponse=ajaxFunction(URL);              
* 
* 
$.ajax({
  url: URL,
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});
 
* 
*/            


function updateItem(c){
    var reloadPage = true; 
    var productId = document.getElementById(c+'productId').value;
    var variationId = document.getElementById(c+'variationId').value;
    var variationCost = document.getElementById(c+'variationCost').value;
    var input = document.getElementById(c+'qty');
    if(input != null){
        input.disabled = true;
        var qty = input.value;
        var URL = 'includes/modules/shoppingCart/ajax.php?action=updateItem&productId='+productId+'&variationId='+variationId+'&qty='+qty;
        var AjaxResponse = $j.ajax({
            url: URL,
            async: false
        }).responseText;                                                                             
        var response = AjaxResponse.split('^^^');    
        //if(response[0].replace(/ /g, "").replace(/\n/g, "") == "success"){ 
        if(response[0].replace(/\s/g, "")  == 'success'){        
            if(variationCost != null && variationCost != 0){ 
                var newItemSubtotal = variationCost*response[1];     
                var ItemSubtotalDisplay = document.getElementById(c+'itemCost');
                if(ItemSubtotalDisplay != null && response[1] != '0'){
                    ItemSubtotalDisplay.innerHTML = '$'+addCommas(newItemSubtotal.toFixed(2));
                    //reloadPage = false;
                    //alert ('done.');
                }   
            } 
            if(reloadPage == true){
                window.location.reload(true);   
                return;
            }
        }else{    
            if(response[1] != null){
                alert (response[0]+' '+response[1]+': '+response[2]);
                //return;
            }else{
                alert ('unknown internal error 628: cart may not have been updated.');
                window.location.reload(true);   
            }
        }
        input.disabled = false;  
    }else{
        alert ('unknown internal error 352: cart may not have been updated.');
        window.location.reload(true);   
    }
    return;
}


function updateCartAll(){ 
    var alwaysReloadPage = true;                    
    var reloadPage = 0;   
    var cartItemList = document.getElementsByName('cartItems');    
    var updateCartAllButton = document.getElementById('updateCartAllButton');
    /*
    if(updateCartAllButton != null){               
        updateCartAllButton.style.display = 'none';
    }
    */ 
    var itemNumber;
    var productId;
    var productOptions;
    var qty;
    var input;               
    var cartItemListCount = cartItemList.length;
    for(x in cartItemList){              
        itemNumber = cartItemList[x].value;
        if(itemNumber != null){
            productId = document.getElementById(itemNumber+'productId').value;
            variationId = document.getElementById(itemNumber+'variationId').value;      
            qty = document.getElementById(itemNumber+'qty').value;
            input = document.getElementById(itemNumber+'qty');
            variationCost = document.getElementById(itemNumber+'variationCost').value;
            if(input != null) input.disabled = true;
            var URL = 'includes/modules/shoppingCart/ajax.php?action=updateItem&productId='+productId+'&variationId='+variationId+'&qty='+qty;
            var AjaxResponse = $j.ajax({
                url: URL,
                async: false
            }).responseText;                                                                                       
            var response = AjaxResponse.split('^^^');    
            //if(response[0].replace(/ /g, "").replace(/\n/g, "") == "success"){  
            if(response[0].replace(/\s/g, "")  == 'success'){      
                if(variationCost != null && variationCost != 0){                       
                    var newItemSubtotal = variationCost*response[1];                          
                    var ItemSubtotalDisplay = document.getElementById(itemNumber+'itemCost');
                    if(ItemSubtotalDisplay != null && response[1] != '0'){
                        ItemSubtotalDisplay.innerHTML = '$'+addCommas(newItemSubtotal.toFixed(2));
                        reloadPage = reloadPage + 1;  
                    }   
                }       
            }       
            if(input != null) input.disabled = false;
        }              
    }                                               
    if( (reloadPage < cartItemListCount) || (alwaysReloadPage == true) ){
        window.location.reload(true);   
        return;
    }        
}


function removeItem(c){
    var productId = document.getElementById(c+'productId').value;
    var variationId = document.getElementById(c+'variationId').value;              
    var URL = 'includes/modules/shoppingCart/ajax.php?action=removeItem&productId='+productId+'&variationId='+variationId;
    var AjaxResponse = $j.ajax({
        url: URL,
        async: false
    }).responseText;                                                                                
    var response = AjaxResponse.split('^^^');            
    //if(response[0].replace(/ /g, "").replace(/\n/g, "") == "success"){
    if(response[0].replace(/\s/g, "")  == 'success'){   
        window.location.reload(true);   
        return;
    }else{
        if(response[1] != null){
            alert (response[0]+' '+response[1]+': '+response[2]);
            return;
        }else{
            alert ('unknown internal error 628: item may not have been removed.'+AjaxResponse);
            window.location.reload(true);   
        }
    }                          
    
}

function addItem(productId,variations,qty,action){     
    if(variations == 'list'){
        var variationsList = document.getElementById('productVariationsList');
        variations = '';
        //alert('ch1');
        if (variationsList != null){
            //alert('ch2');
            var list = variationsList.value;
            //alert('list:'+list);
            if( (list != null) && (list != '')){
                //alert('ch3');
                var listArray = list.split(',');
                for(x in listArray){              
                    //alert('ch4');
                    var optionId = listArray[x];
                    var selectOption = document.getElementById('selectOption'+optionId);
                    if (selectOption != null){
                        //alert('ch5');
                        var optionValue = selectOption.value;
                        if(optionValue != ''){
                            if(variations != '')variations += '**';
                            variations += optionId+'^'+optionValue;
                            //alert('ch6');
                        }
                    }
                    
                }
            }
        }
        if(variations == '') variations = 0;
        //alert(variations);
        //return;
    }                     
    var URL = 'includes/modules/shoppingCart/ajax.php?action=addItem&productId='+productId+'&variations='+variations+'&qty='+qty;
    var AjaxResponse = $j.ajax({
        url: URL,
        async: false
    }).responseText;                                                                             
    var response = AjaxResponse.split('^^^');        
    //if(response[0].replace(/ /g, "").replace(/\n/g, "") == "success"){
    if(response[0].replace(/\s/g, "")  == 'stock'){ 
        alert('the selected item is out of stock');
        return;  
    }else if(response[0].replace(/\s/g, "")  == 'success'){   
        if(action == 'cart'){
            /*  //INSERT HTTPS// ***/
            js_redirect('https://www.bernhardtwatch.com/index.php?page=cart');
            return;
        }else{
            window.location.reload(true);   
            return;
        }
    }else{    
        if(response[1] != null){
            alert (response[0]+' '+response[1]+': '+response[2]);
            return;
        }else{
            alert ('unknown internal error 628: item may not have been added to cart.'+AjaxResponse);
            window.location.reload(true);   
            return;
        }
    }   
}

                            
function selectOption(productId, optionId, valueId, optionsName){    
    //step 1. set Form select [hidden from view]  to the selected optional value                
    var selectOption = document.getElementById('selectOption'+optionId);
    if(selectOption != null){
        selectOption.value = valueId;                                    
        var optionsImages = document.getElementsByName(optionsName);    
        for(var n = 0; n < optionsImages.length; n++){
            obj =  optionsImages[n];      
            if(obj.id != null){                                                             
                obj.style.backgroundColor = 'transparent';  
            }      
        }     
        selectOptionImage = document.getElementById(optionId+'_'+valueId);
        if(selectOptionImage != null){
            selectOptionImage.style.backgroundColor = '#d5a749';                                   
        } 
    }      
    //step 3.swap out productImages                       
    var productImage1 = document.getElementById('productImage1');
    var productImage3 = document.getElementById('productImage3');       
    var URL = 'includes/modules/collections/ajax.php?action=getProductImage&productId='+productId+'&optionId='+optionId+'&valueId='+valueId; 
    //var AjaxResponse = $.ajax({
    var AjaxResponse = $j.ajax({   
        url: URL,
        async: false                      
    }).responseText;
    //})}.responseText;       
    var response = AjaxResponse.split('^^^');  
    //if(response[0] == 'success'){   
    if(response[0].replace(/\s/g, "")  == 'success'){   
        if( (productImage1 != null) && (response[1] != '') ){
            productImage1.src = response[1];
        }                           
        productImage1.src = response[1];
        if( (productImage3 != null) && (response[2] != '') ){
            productImage3.src = response[2];
        }
    } 
    
    var URL2 = 'includes/modules/collections/ajax.php?action=checkOptionStock&productId='+productId+'&optionId='+optionId+'&valueId='+valueId; 
    var AjaxResponse2 = $j.ajax({   
        url: URL2,
        async: false                      
    }).responseText;
    var response2 = AjaxResponse2.split('^^^');  
    if(response2[0].replace(/\s/g, "")  == 'success'){                                                                         
        outOfStockDiv = document.getElementById('outOfStockDiv');
        addToCartButtonDiv = document.getElementById('addToCartButtonDiv');
        if( (outOfStockDiv != null) && (addToCartButtonDiv != null) && (response2[1] == 'out of stock') ){
            outOfStockDiv.style.display = 'block';
            outOfStockDiv.style.visibility = 'visible';  
            addToCartButtonDiv.style.display = 'none';     
            addToCartButtonDiv .style.visibility = 'hidden';
        }else{
            outOfStockDiv.style.display = 'none';
            outOfStockDiv.style.visibility = 'hidden';  
            addToCartButtonDiv.style.display = 'block';     
            addToCartButtonDiv .style.visibility = 'visible';
        }
    } 
    
    
    
    
        
    return;    
}
     
function technicalSpecs(id){
    var URL = 'includes/modules/collections/ajax.php?action=getTechnicalSpecs&id='+id;   
    var AjaxResponse = $j.ajax({   
        url: URL,
        async: false                      
    }).responseText;           
    var response = AjaxResponse.split('^^^');  
    //if(response[0] == 'success'){ 
    if(response[0].replace(/\s/g, "")  == 'success'){     
        if( (response[1] != null) && (response[1] != '') ){
            var dragId = '';
            if( (response[2] != null) && (response[2] != '') )dragId = response[2];                
            lightboxOverlay(response[1], dragId);
        } 
    }     
    return;
}


function imageDetail(image,title){
    var URL = 'includes/modules/collections/ajax.php?action=getImageDetail&image='+image+'&title='+title;   
    var AjaxResponse = $j.ajax({   
        url: URL,
        async: false                      
    }).responseText;           
    var response = AjaxResponse.split('^^^');  
    //if(response[0] == 'success'){ 
    if(response[0].replace(/\s/g, "")  == 'success'){     
        if( (response[1] != null) && (response[1] != '') ){
            var dragId = '';
            if( (response[2] != null) && (response[2] != '') )dragId = response[2];                
            lightboxOverlay(response[1], dragId);
        } 
    }     
    return;
}
