var quant = new Array();

$(function(){
	$("#jquery-test").html("jQuery is loaded");
});


$(document).ready(function() {
	
	$("#shipping_method").bind('change', updateShipping);
	$("#sameAsBilling").bind('click', sameAsBilling);
	
	updateGift();
	$("#is_gift").bind('change', updateGift);
	
	$(".qty").bind('change', changeQuantity);

	checkCart();
	
	// Verticaly scrolling fixed element
	if($('#fixed').length > 0) {

		var $el = $('#fixed');
		var $top = $el.position().top;
		var $abs_top = $el.offset().top;
		var $left = $el.position().left;
		var $top_offset = 20;
		var $left_offset = 183;
		var $scroll_top = parseInt($abs_top) - parseInt($top_offset);
		
		$(window).scroll(function(e){ 

			if ($(this).scrollTop() > $scroll_top && $el.css('position') != 'fixed'){ 					
				$el.css({'position': 'fixed', 'top': $top_offset + 'px', 'left': '50%', 'margin-left': $left_offset + 'px'});
			} 
			else if ($(this).scrollTop() <= $scroll_top && $el.css('position') != 'absolute'){ 
				$el.css({'position': 'absolute', 'top': $top + 'px', 'left': '50%', 'margin-left': $left_offset + 'px'}); 
			} 
		});
	} // if #fixed
	
	if($('#slider').length > 0) {
		
		var slider = $('#slider').bxSlider({
	        auto: false,
	        autoControls: false,
	        autoHover: true,
			pager: false,
	        controls: false
		});
		
		 $('.slider_nav').click(function(){
		    	
		    	$('.slider_nav').removeClass('current');
		    	$(this).addClass('slider_nav current');
		        	    	
		    	slider.goToSlide($('.slider_nav').index($(this)));
		 });
		 
		var trgt = window.location.hash;
		if(trgt.length > 0) {
			$('.slider_nav').each(function(index) {
				if($(this).attr('href') == trgt) {
					slider.goToSlide(index);
				}
			});
		}
			
		 
		 
	} // if #slider
});


function updateGift() {

	if($('#is_gift').attr('checked')) {
		$('#gift_message_wrapper').show();
	}
	else $('#gift_message_wrapper').hide();

}

function changeQuantity() {
	
	id = $(this).attr('id').split("-");
	id = id[1];
	quantity = $(this).val();
	
	updateQuantity(id, quantity);
}

function checkCart() {
	checkQuantity();
}

function checkQuantity() {
		
	$.each(quant, function(id, value) {
		if($("#qty-" + id).val()) {
			if($("#qty-" + id).val() != value) {
				value = $("#qty-" + id).val();				
				registerQuantity(id, value);
				updateQuantity(id, value);
			}
		}
	});
	
	setTimeout('checkQuantity()', 600);
}


function registerQuantity(id, value) {
	if(id) quant[id] = value;
}

function sameAsBilling() {
	
	$("#shipping_title").val($("#title").val());
	$("#shipping_first_name").val($("#first_name").val());
	$("#shipping_last_name").val($("#last_name").val());
	$("#shipping_company").val($("#company").val());
	$("#shipping_address").val($("#address").val());
	$("#shipping_address_2").val($("#address_2").val());
	$("#shipping_city").val($("#city").val());
	$("#shipping_state").val($("#state").val());
	$("#shipping_zip").val($("#zip").val());
	
	$("label").inFieldLabels('init');
	
}

function setShipper(id) {
	
	// 55 Degrees
	if(id == 3) {
		$("#shipping_company").val('55 Degrees');
		$("#shipping_address").val('1210 Church St');
		$("#shipping_city").val('St Helena');
		$("#shipping_state").val('CA');
		$("#shipping_zip").val('94574');
	}
	
	// All Ways Cool
	if(id == 4) {
		$("#shipping_company").val('All Ways Cool');
		$("#shipping_address").val('3350 Coffey Lane, #B');
		$("#shipping_city").val('Santa Rosa');
		$("#shipping_state").val('CA');
		$("#shipping_zip").val('95403');
	}
	
	// Buffalo Shipping
	if(id == 5) {
		$("#shipping_company").val('Buffalo Shipping');
		$("#shipping_address").val('2471 Solano Ave');
		$("#shipping_city").val('Napa');
		$("#shipping_state").val('CA');
		$("#shipping_zip").val('94558');
	}
	
	// Napa Valley Wine Lockers
	if(id == 6) {
		$("#shipping_company").val('Napa Valley Wine Lockers');
		$("#shipping_address").val('736 California Blvd');
		$("#shipping_city").val('Napa');
		$("#shipping_state").val('CA');
		$("#shipping_zip").val('94559');
	}
	
	// Vinfolio
	if(id == 7) {
		$("#shipping_company").val('Vinfolio');
		$("#shipping_address").val('644 Hanna Dr, Suite E');
		$("#shipping_city").val('American Canyon');
		$("#shipping_state").val('CA');
		$("#shipping_zip").val('94503');
	}
	
	// Winery Pickup
	if(id == 8) {
		$("#shipping_company").val('Rudius');
		$("#shipping_address").val('1313 Hestia Way');
		$("#shipping_city").val('Napa');
		$("#shipping_state").val('CA');
		$("#shipping_zip").val('94558');
	}
	
}

function updateQuantity(id, value) {
	
	if(value < 0) {
		value = 0;
	}


	$.getJSON('/cart/update_quantity/' + id + '/' + value + '/', function(data) {
	
		updateDisplay("subtotal_display", data.subtotal);
		updateDisplay("shipping_display", data.shipping);
		updateDisplay("discount_display", data.discount);
		updateDisplay("tax_display", data.tax);
		updateDisplay("total_display", data.total);
		
		var $quantity = data.quantity;				
		//$("#qty-" + id).val($quantity);

	});
}

function updateDisplay(id, value) {
	
	if(value > 0)  {
		$('#' + id).html(value); 
	}
	else {
		$('#' + id).html("0.00");
	}
	
}

function updateShipping() {
	
	var ship_method = $("#shipping_method").val();
	
	$.getJSON('/cart/update_shipping_method/' + ship_method + '/', function(data) {
		
		if(data.shipping > 0) 
			$('#shipping_display').html(data.shipping); 
		else 
			$('#shipping_display').html("0.00");
		
		$('#total_display').html(data.total);
		$('#final_total_display').html(data.total);
	});
	
	if(ship_method > 2) setShipper(ship_method);
}
