//var baseURL = "http://localhost:50552/";
var baseURL = "http://www.calvertfreeman.com/";
//var baseURL = "http://qa.calvertfreeman.com/";

var cartItems = [];
var cartString = '';

var CartMethods = {
    AddItemsToCart: function() {
        cartKey=getCookie('cartKey').replace("version=\"1.0\" encoding=\"utf-8\"", "");
		if(cartKey == null || cartKey == ""){
			cartKey = $('#cart').attr('rel');
			setCookie('cartKey',cartKey,1);
		}
		var qtyOrder = "0";
		if($('#cal_boxes').length>0){
			qtyOrder = $('#cal_boxes').val();
		} else {
			qtyOrder = $('#cal_qty').val();
		}
		$.ajax({ url: baseURL+"JsonWebMethods.asmx/AddItemToOrder",
            data: { cartKey: "" + cartKey + "", productId: ""+$('#hfproductid').val()+"", qty: ""+qtyOrder+"", pri: ""+$('#hfdiscount').val()+"" },
            dataType: "jsonp",
            success: function(json) {
				//doCart(json.d);
            },
            error: function() {
                //alert("Hit error fn!");
            }
        });
		$('#itemAddedToCart').html('This item has been added to your cart.');
		$('#itemAddedToCart').fadeIn(250);
		setTimeout(function() {
			$('#itemAddedToCart').fadeOut('fast');
			$('#cal_qty').val('');
			try{$('#cal_boxes').val('');}catch(Error){}
			$('#cal_total').val('');
			$('cal_actual').val('');
		}, 5000);
    },
	AddAccessorieToOrder: function(id) {
        cartKey=getCookie('cartKey').replace("version=\"1.0\" encoding=\"utf-8\"", "");
		
		//if(parseInt($('#qty'+id).val()) > parseInt($('#hfAcceStock'+id).val())){
		//	$('#item_qty'+id).html('We do not have that quantity in stock.<br />Please edit your order.');
		//	$('#item_qty'+id).fadeIn(250);
		//}else{
			if(cartKey == null || cartKey == ""){
				cartKey = $('#cart').attr('rel');
				setCookie('cartKey',cartKey,1);
			}
			$.ajax({ url: baseURL+"JsonWebMethods.asmx/AddAccessoryItemToOrder",
				data: { cartKey: "" + cartKey + "", productId: ""+id+"", qty: ""+$('#qty'+id).val()+"", relProductId: ""+$('#hfproductid').val()+"" },
				dataType: "jsonp",
				success: function(json) {
					//doCart(json.d);
				},
				error: function() {
					//alert("Hit error fn!");
				}
			});
			$('#item_qty'+id).html('This item has been added to your cart.');
			$('#item_qty'+id).fadeIn(250);
			setTimeout(function() {
				$('#item_qty'+id).fadeOut('fast');
				$('#qty'+id).val('');
			}, 3000);
		//}
    },
	AddProductOptionToOrder: function(id) {
        cartKey=getCookie('cartKey').replace("version=\"1.0\" encoding=\"utf-8\"", "");
		
		//if(parseInt($('#qty'+id).val()) > parseInt($('#hfAcceStock'+id).val())){
		//	$('#item_qty'+id).html('We do not have that quantity in stock.<br />Please edit your order.');
		//	$('#item_qty'+id).fadeIn(250);
		//}else{
			qtyOrder = $('#hfOptionsActual'+id).val();
			if(cartKey == null || cartKey == ""){
				cartKey = $('#cart').attr('rel');
				setCookie('cartKey',cartKey,1);
			}
			$.ajax({ url: baseURL+"JsonWebMethods.asmx/AddProdOptionItemToOrder",
				data: { cartKey: "" + cartKey + "", productId: ""+id+"", qty: ""+qtyOrder+"", relProductId: ""+$('#hfproductid').val()+"" },
				dataType: "jsonp",
				success: function(json) {
					//doCart(json.d);
				},
				error: function() {
					//alert("Hit error fn!");
				}
			});
			$('#item_qty'+id).html('This item has been added to your cart.');
			$('#item_qty'+id).fadeIn(250);
			setTimeout(function() {
				$('#item_qty'+id).fadeOut('fast');
				$('#qty'+id).val('');
				$('#cal_actual'+id).val('');
				$('#cal_total'+id).val('');
			}, 3000);
		//}
    },
	OrderSamples_PopulateAddress: function(){
		try{$('#sampleShippingLocation').html(getCookie('DefaultShippingAddress').replace("version=\"1.0\" encoding=\"utf-8\"", ""));}
		catch(err){}
	},
	OrderSamples: function(){
		//$('#samplesbox').slideDown('fast');
		$('#sampleOverlay').fadeIn('fast');
		$('#samplesBox').fadeIn(250);
		$('#sampleOverlay').click(function(){CartMethods.OrderSamplesClose();});
	},
	OrderSamplesOptions: function(id, name, prodNum){
		$('#sampleOverlay').fadeIn('fast');
		$('#samplesBox').fadeIn(250);
		$('#sampleOverlay').click(function(){CartMethods.OrderSamplesClose();});
		
		$('#sampleId').val(id);
		$('#sampleName').val(name);
		$('#sampleProductNumber').val(prodNum);
	},
	OrderSamplesSubmit: function(){
		var isvalid=true;
		if($('#sampleQty').val() == ""){isvalid=false;$('#sampleqty').addClass('error');}else if(parseInt($('#sampleQty').val())>4){isvalid=false;$('#sampleqty').addClass('error');}else{$('#sampleqty').removeClass('error');}
		if($('#sampleJobName').val() == ""){isvalid=false;$('#samplejobname').addClass('error');}else{$('#samplejobname').removeClass('error');}
		if($('#sampleDealerPO').val() == ""){isvalid=false;$('#sampleponumber').addClass('error');}else{$('#sampleponumber').removeClass('error');}
		if($('#sampleShippingLocation').val() == ""){isvalid=false;$('#sampleshipaddress').addClass('error');}else{$('#sampleshipaddress').removeClass('error');}
		
		if($('#ddlAccountType').val().length > 0 || $('#sampleShippingAccountNumber').val().length > 0){
			if($('#ddlAccountType').val().length == 0){isvalid=false;$('#sampleshippaccounttype').addClass('error');}else{$('#sampleshippaccounttype').removeClass('error');}
			if($('#sampleShippingAccountNumber').val().length == 0){isvalid=false;$('#sampleshippaccountnumber').addClass('error');}else{$('#sampleshippaccountnumber').removeClass('error');}
		}
		if(isvalid){
			cartKey=getCookie('cartKey').replace("version=\"1.0\" encoding=\"utf-8\"", "");
			$.ajax({ url: baseURL+"JsonWebMethods.asmx/OrderSample",
				data: { cartKey: ""+cartKey+"", itemId: ""+$('#sampleId').val()+"", qty: ""+$('#sampleQty').val()+"", itemName: ""+$('#sampleName').val()+"", productNumber: ""+$('#sampleProductNumber').val()+"", jobName: ""+$('#sampleJobName').val()+"", dealerPO: ""+$('#sampleDealerPO').val()+"", shippingLocation: ""+$('#sampleShippingLocation').val()+"", shippingAccount: ""+$('#ddlAccountType').val()+"<br />"+$('#sampleShippingAccountNumber').val()+"" },
				dataType: "jsonp",
				success: function(json) {
					CartMethods.OrderSamplesClose();
				},
				error: function() {
					CartMethods.OrderSamplesClose();
				}
			});
			$('#samplesform').fadeOut('fast',function(){
				$('#samplesordered').fadeIn('fast');
			});
			setTimeout(function() {
				CartMethods.OrderSamplesClose();
			}, 3000);
		}
	},
	OrderSamplesClose: function(){
		$('#sampleOverlay').fadeOut('fast');
		$('#samplesBox').fadeOut('fast');
		
		$('#sampleQty').val('');
		$('#sampleJobName').val('');
		$('#sampleDealerPO').val('');
		$('#sampleShippingLocation').val('');
		$('#sampleShippingAccountNumber').val('');
		$('#samplesform').fadeIn('fast');
		$('#samplesordered').fadeOut('fast');
		
		$('#sampleqty').removeClass('error');
		$('#samplejobname').removeClass('error');
		$('#sampleponumber').removeClass('error');
		$('#sampleshipaddress').removeClass('error');
		$('#sampleshippaccountnumber').removeClass('error');
		$('#sampleshippaccounttype').removeClass('error');
	},
	SetCartURL: function(){
		cartKey = $.query.get('CartKey');
		if(cartKey == null || cartKey == ""){
			cartKey = getCookie('cartKey').replace("version=\"1.0\" encoding=\"utf-8\"", "");
		}else{
			setCookie('cartKey',cartKey,1);
			cartKey = getCookie('cartKey').replace("version=\"1.0\" encoding=\"utf-8\"", "");
		}
		
		if (cartKey!=null && cartKey!=""){
			$('#cart').attr('href',$('#cart').attr('href') + '?CartKey='+cartKey + "&Redirect=" + location);
			$('#cart').attr('rel',cartKey);
		} else {
			if (cartKey!=null && cartKey!=""){
				setCookie('cartKey',cartKey,1);
				$('#cart').attr('href',$('#cart').attr('href') + '?CartKey='+cartKey + "&Redirect=" + location);
				$('#cart').attr('rel',cartKey);
			}
		}
	},
	SetGetDealerCookie: function(){
		dealername = $.query.get('Dealer');
		if(dealername == null || dealername == ""){
			dealername = getCookie('dealername');
		}else{
			setCookie('dealername',dealername,1);
			dealername = getCookie('dealername');
		}
		if(dealername != ""){
			$('#welcome').html('Welcome ' + dealername);
		}else{
			location.href = baseURL+"Login.aspx?State=Logout&Mess=Your session has ended. Please login";
		}

	},
	SetDACookie: function(){
		DefaultShippingAddress = $.query.get('DA');
		if(DefaultShippingAddress == null || DefaultShippingAddress == ""){
			DefaultShippingAddress = getCookie('DefaultShippingAddress');
		}else{
			setCookie('DefaultShippingAddress',DefaultShippingAddress,1);
			DefaultShippingAddress = getCookie('DefaultShippingAddress');
		}
	},
	SetPurchaseCookie: function(){
		disablepurchase = $.query.get('PU');
		if(disablepurchase == null || disablepurchase == ""){
			disablepurchase = getCookie('disablepurchase');
		}else{
			setCookie('disablepurchase',disablepurchase,1);
			disablepurchase = getCookie('disablepurchase');
		}
	},
	CalculateOptions: function(id) {
		$('#item_qty'+id).fadeOut('fast');
		
		$('#hfOptionsActual'+id).val(Math.ceil($('#qty'+id).val() / $('#hfAmountPerPrice'+id).val()));
		$('#cal_actual'+id).val(addCommas(($('#hfOptionsActual'+id).val() * $('#hfAmountPerPrice'+id).val()).toFixed(2)));
		$('#cal_total'+id).val('$' + addCommas(($('#cal_actual'+id).val().replace(".00","").replace(",","") * $('#hfOptionPrice'+id).val()).toFixed(2)));
	}, 
    CalculateCart: function() {
		$('#itemAddedToCart').fadeOut('fast');
		if($('#cal_boxes').length>0){
			$('#cal_boxes').val(addCommas(Math.ceil($('#cal_qty').val() / $('#hfamountperbox').val())));
			$('#cal_total').val('$' + addCommas((($('#cal_boxes').val().replace(".00","").replace(",","") * $('#hfamountperbox').val()) * $('#hfcostperitem').val()).toFixed(2)));
			$('#cal_actual').val(addCommas(($('#cal_boxes').val().replace(".00","").replace(",","") * $('#hfamountperbox').val()).toFixed(2)));
		} else {
			$('#cal_total').val('$' + addCommas(($('#cal_qty').val() * $('#hfcostperitem').val()).toFixed(2)));
		}
    },
	ShowCartUpdated: function(){
		$('#cartdetails_container').slideDown(250,function(){
			$('#message').html('Item Added to Cart');
		});
		setTimeout(function() {
			CartMethods.CloseCartDetails();
		}, 3000);
	}, 
	CloseCartDetails: function(){
		$('#cartdetails_container').slideUp('fast');
	}
}
function doCart(total){
	$('#carttotal').html("("+total+")");
	CartMethods.ShowCartUpdated();
}
function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

    
