﻿function Cart(){}

Cart.prototype = {
    addToCart : function(instanceID){
        var skuValues = "";
    
        $('.skufield[@rel="' + instanceID + '"]').each(function(){
            skuValues += $(this).val() + ",";
        });
        
        WebMethods.addToCart(instanceID, skuValues.substring(0, skuValues.length-1), contentLoadedSuccess, contentLoadedError, "addToCart");
    }, 
    
    updateSKUPrice : function(thisObj, instanceID){
        var skuValues = "";
        
        $('.skufield[@rel="' + instanceID + '"]').each(function(){
            skuValues += $(this).val() + ",";
        });            
        
        WebMethods.updateSKUPrice(instanceID, skuValues.substring(0, skuValues.length-1), contentLoadedSuccess, contentLoadedError, instanceID);
    },
    
    removeFromCart : function(thisObj, ecommerceSkuId){        
        $(thisObj).parents('tr').remove();
        WebMethods.removeFromCart(ecommerceSkuId);
    }
}

function contentLoadedSuccess(result, context, methodName)
{
    if(result.indexOf("Error") > -1)
        alert(result);
    else
    {
        switch(methodName)
        {
            case "addToCart":
                location.href = result;
                break;
            case "updateSKUPrice":
                var salePrice;
                var price; 
                var qty;
                var arr = result.split("|"); 
                var inID = context;

                if(result.indexOf("|") > -1 && result.indexOf("|", result.indexOf("|") + 1) > -1)
                {        
                    salePrice = arr[0];
                    price = arr[1]
                    qty = arr[2];
                    $(".skuPrice[@rel='" + inID + "']").css("text-decoration", "line-through");
                }
                else
                {
                    salePrice = "";
                    price = arr[0];
                    qty = arr[1];
                    $(".skuPrice[@rel='" + inID + "']").css("text-decoration", "none");
                }
                
                if  (qty < 1)
                {
                    $(".soldOut[@rel='" + inID + "']").show();
                    $("a[@rel='" + inID + "']").hide(); 
                }
                else
                {
                    $(".soldOut[@rel='" + inID + "']").hide();
                    $("a[@rel='" + inID + "']").show(); 
                }
                
                $(".skuSalePrice[@rel='" + inID + "']").text(salePrice);   
                $(".skuPrice[@rel='" + inID + "']").text(price);                        
                   
                break;
        }
    }       
}

function contentLoadedError(result, context, methodName)
{
    hideLoading();
    var error = result.get_message();
    alert(error);
}

function loadInputMasks()
{
    $('.dateMask').mask("99/99/9999");
    $('.phoneMask').mask("(999) 999-9999");
    $('.creditExpMask').mask("99/9999");
    $('.percentMask').mask("99%");
}

function searchInstances(resultsPage, searchType, thisObj)
{
    window.location = "/" + resultsPage + "?type=" + searchType + "&searchTerm=" + $(':text:first', $(thisObj).parent().parent()).val();
}

var obj;

var EmailSignUp = {
    submitNewSignUpEmail : function(thisObj, successMessage){
        obj = thisObj;
        var email = $(':text', obj.parent().parent()).val();
        
        WebMethods.addNewSignUpEmail(email, successMessage, EmailSignUp.addNewSignUpEmailComplete);
    },
    
    addNewSignUpEmailComplete : function(result){
        if(result.indexOf("Error:") > -1)
            $('.emailSignUpError').html(result.substring(7));
        else 
            obj.parent().parent().slideUp(400, function(){
                $(this).html(result);
                $(this).slideDown(400);
            });        
    },
    
    enterSubmit : function(e, btn, successMessage){
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {  
            EmailSignUp.submitNewSignUpEmail($('#'+btn), successMessage);
            return false;  
        } 
        else
            return true;         
    }
}
