jQuery(document).ready(function () {

	// Enable the Placeholder plugin;
	$('input, textarea').placeholder();

	$.fn.animateHighlight = function(highlightColor, duration) {
	    var highlightBg = highlightColor || "#FEFFDE";
	    var animateMs = duration || 500;
	    var originalBg = this.css("backgroundColor");
	    this.stop().css("background-color", highlightBg).stop().animate({backgroundColor: originalBg}, animateMs);
	};
	
	$.fn.textFlash = function(highlightColor, duration) {
	    var highlightBg = highlightColor || "#FEFFDE";
	    var animateMs = duration || 500;
	    var originalBg = this.css("color");
	    this.stop().css("color", highlightBg).stop().animate({color: originalBg}, animateMs);
	};
	
	$('#category_picker').change(function() {
		if($(this).val() != "none")
			window.location.href = "/categories/view/"+$(this).val();
	});

	var open = 0;

	$('#login-show').click(function () {
		if(open == 0)
		{
			$('#login').animate({ top: 0 }, 500);
			$('#site').animate({ marginTop: 81 }, 500);
			$('#store').animate({ marginTop: 81 }, 500);
			open = 1;
		}
		else
		{
			open = 0;
			$('#login').animate({ top: -81 }, 500);
			$('#site').animate({ marginTop: 0 }, 500);
			$('#store').animate({ marginTop: 0 }, 500);
		}
	});

	$('#content').css({ minHeight: parseInt($('#right').css('height')+10)+'px' });
	
	
	$(window).scroll(function () { 		
	
       	if($('div#site').attr('nodeName'))
        {
            if($(document).scrollTop() > 322)
    		{
     			var boxHeight = $("#right").height() + $("#footer").height() + 130;
			
     			if($(document).scrollTop() < parseInt($(document).height() - boxHeight))
     			{
    				$("#right.front").css({ top: parseInt($(document).scrollTop() + 20 )+'px' }); 
    	      	}
            }
    		else
    		{
     			$("#right.front").css({ top: 342 });
    		}	
        }
        else
        {
            if($(document).scrollTop() > 142)
    		{
     			var boxHeight = $("#right").height() + $("#footer").height() + 130;
			
     			if($(document).scrollTop() < parseInt($(document).height() - boxHeight))
     			{
    				$("#right").css({ top: parseInt($(document).scrollTop() + 20 )+'px' }); 
    	      	}
            }
    		else
    		{
     			$("#right").css({ top: 162 });
    		}	
        }

    });
	
	jQuery('#maplink').click(function (e) {
		$('#map_modal').fadeIn();
		$('#blackout').fadeIn();
		
		
		var latlng = new google.maps.LatLng(52.043243,1.155993);
	    var myOptions = {
	      zoom: 13,
	      center: latlng,
	      mapTypeId: google.maps.MapTypeId.TERRAIN
	    };
	    var map = new google.maps.Map(document.getElementById("map_canvas"),
	        myOptions);
	  	
			var contentString = '<h2>Suffolk Food Hall</h2><p>Underneath the Orwell bridge, just south of Ipswich.<br/>Follow the brown signs from the A14/A137 junction (J 56).<br/><br/><a target="_blank" href="http://maps.google.co.uk/maps?f=d&source=s_d&saddr=+&daddr=Wherstead+Hall,+Peppers+Ln,+Wherstead,+Ipswich,+Suffolk+IP9+2AB+(Suffolk+Food+Hall)&hl=en&geocode=%3BCVRs-3V1r94GFYrPGQMd8qIRACGgzWCXuOSUJA&mra=ls&sll=52.02567,1.155796&sspn=0.084605,0.166512&ie=UTF8&ll=52.032789,1.155654&spn=0.087248,0.166512&z=13&iwloc=ddw1">Get Directions</a></p>';

			var infowindow = new google.maps.InfoWindow({
			    content: contentString
			});

			var marker = new google.maps.Marker({
		        position: new google.maps.LatLng(52.023178,1.155826), 
				animation: google.maps.Animation.DROP,
				icon: '/images/marker.png',
		        map: map, 
		        title:"Suffolk Food Hall"
		    });
		
			google.maps.event.addListener(marker, 'click', toggleBounce);
			google.maps.event.addListener(map, 'drag', bounce);
			
			infowindow.open(map,marker);

			function bounce() {

			    marker.setAnimation(google.maps.Animation.BOUNCE);
				infowindow.close(map,marker);
			  
			}

			function toggleBounce() {

			  if (marker.getAnimation() != null) {
			    marker.setAnimation(null);
				infowindow.open(map,marker);
			  } else {
			    marker.setAnimation(google.maps.Animation.BOUNCE);
				infowindow.close(map,marker);
			  }
			}
			
	
		 
		
		return false;
	});
	
	$('#mapclose').click(function (e) {
		$('#map_modal').fadeOut();
		$('#blackout').fadeOut();
		return false;
	});
	
	$('#blackout').click(function (e) {
		$('#map_modal').fadeOut();
		$('#blackout').fadeOut();
		return false;
	});

});
	

$('.addItem').submit(function (e) {
	
	e.preventDefault();
	
	var productID = $('input[type=hidden]', this).val();
	var productQty = $('select', this).val();
		
	$('select', this).val('1');
	
	$.ajax({
	      url: "/basket/ajax_add_item",
	      global: false,
	      type: "POST",
	      data: "id="+productID+"&qty="+productQty,
	      dataType: "html",
	      async:false,
	      success: function(msg){
				
				var itmsCount = parseInt($('.itmsCount').html());
							
				if(itmsCount >= 1)
				{
					$('#numberOfItems').animateHighlight();
					$('.itmsCount').fadeOut('fast');
					$('.itmsCount').each( function () {
						$(this).html(parseInt(itmsCount) + parseInt(productQty));
					});
					$('.itmsCount').fadeIn('fast');
				}
				else
				{
					$('#shopping_bag').fadeOut('fast');
					$('#shopping_bag').html('<div id="numberOfItems" style="float: left; display: inline"><span class="itmsCount"></span> items</div><a id="button" href="/basket">Checkout</a><div style="clear: left"></div><p>Click checkout to purchase your goods and arrange delivery or collection from the Food Hall.</p>');
					
					$('.itmsCount').each( function () {
						$(this).html(parseInt(itmsCount) + parseInt(productQty));
					});
					
					$('#shopping_bag').fadeIn('fast');
				}
	      }
	   }
	);
				
});



$('.addToQuantity').click(function (e) {
	
	var pID = $(this).attr('title');
	
	
	$.ajax({
	      url: "/basket/ajax_add_item",
	      global: false,
	      type: "POST",
	      data: "id="+$(this).attr('alt')+"&qty=1",
	      dataType: "html",
	      async:false,
	      success: function(msg){			
			
			drawCart(msg);			
			
			var itmsCount = $('.itmsCount').html();
			if(itmsCount >= 1)
			{
				//$('#numberOfItems').animateHighlight();
				$('.itmsCount').fadeOut('fast');
				$('.itmsCount').each( function () {
					$(this).html(parseInt(itmsCount) + 1);
				});
				$('.itmsCount').fadeIn('fast');
			}
			else
			{
				$('#shopping_bag').fadeOut('fast');
				$('#shopping_bag').html('<div id="numberOfItems" style="float: left; display: inline"><span class="itmsCount">'+parseInt(1)+'</span> items</div><a id="button" href="/basket">Checkout</a><div style="clear: left"></div><p>Click checkout to purchase your goods and arrange delivery or collection from the Food Hall.</p>');
				$('#shopping_bag').fadeIn('fast');
			}
			$('#input_'+pID).val(parseInt($('#input_'+pID).val())+1);
			
	      }
	   });
	
});


// called when someone decriments an item quanitity
$('.takeFromQuantity').click(function (e) {
	
	//product ID used in AJAX call
	var pID = $(this).attr('title');
		
	//if there is zero items dont allow them to go negative
	if($('#input_'+pID).val() > 0)
	{
		$.ajax({
		      url: "/basket/ajax_remove_item",
		      global: false,
		      type: "POST",
		      data: "id="+$(this).attr('alt')+"&qty=1",
		      dataType: "html",
		      async:false,
		      success: function(msg){
				
				//redraw totals
				drawCart(msg);
				
				var itmsCount = $('.itmsCount').html();
				
				//flash and update total number of items
				if(itmsCount >= 1)
				{
					$('#numberOfItems').animateHighlight();
					$('.itmsCount').fadeOut('fast');
					$('.itmsCount').each( function () {
						$(this).html(parseInt(itmsCount) - 1);
					});
					$('.itmsCount').fadeIn('fast');
				}
				else
				{
					$('#shopping_bag').fadeOut('fast');
					$('#shopping_bag').html('<div id="numberOfItems" style="float: left; display: inline"><span class="itmsCount">'+parseInt(1)+'</span> items</div><a id="button" href="/basket">Checkout</a><div style="clear: left"></div><p>Click checkout to purchase your goods and arrange delivery or collection from the Food Hall.</p>');
					$('#shopping_bag').fadeIn('fast');
				}
				
				//decriment the quanity shown to user
				$('#input_'+pID).val(parseInt($('#input_'+pID).val())-1);	
		   }
		   });
	}
});


// Redraw the /basket view post ajax calls
function drawCart(msg) {
	var cart = $.parseJSON(msg);
		
	$('#subtotal').html(cart.subtotal);
	
	$('#total_price_'+cart.item.id).html(cart.item.price);
	
}

