// JQuery JavaScript Document
$(function(){
	$(".addToBasketClientside").click(
		function(e) {
			e.preventDefault();	
			var isMultiplePriceOptionPage = ($(this).is('.multiPriceOptionAdd')) ? true : false;		

			if(isMultiplePriceOptionPage){ //multi price option product - this will add multiple items at a time
				var $containing_element = $('#products');
				var productID = $containing_element.find('.productId').val();
				var productOptionGUID = ($('.productOption', $containing_element).find('option:selected').val()) ? $('.productOption', $containing_element).find('option:selected').val() : '';
				var mapDataItems = {};
				var productOptionDataString = '';
				
				var $productOptionListItems = $('.productpriceOptionList li .txtQty').filter(function(){
					var textBoxValue = $(this).val();
					if(textBoxValue.length > 0 && parseInt(textBoxValue)){
						return true;
					}else{
						return false;	
					}
				});
				$productOptionListItems.each(function(index){
					var qty = $(this).val();
					var guid = $(this).closest('li').find('.txtGUID').val();
					productOptionDataString += qty + '|' + guid
					if(index != ($productOptionListItems.length -1)){
						productOptionDataString	+= '&'
					}
				});
				//qty is passed through via the productOptionDataString variable
				mapDataItems = {'productID': productID, 'guid': productOptionGUID,  'qty': 0, 'relQty': 0, 'isLargeEvent': false, 'relGuid': '', 'productOptionDataString': productOptionDataString};
				AddToBasketViaAjax(mapDataItems);
			}else{ //normal product - this will add items one at a time
				var $containing_li = $(this).closest('li')
				var $containing_table = $containing_li.find('table');
				var productID = $containing_table.attr('id');
				var guid = ($('.productOption', $containing_li).find('option:selected').val()) ? $('.productOption', $containing_li).find('option:selected').val() : '';
				var relGuid = ($('.relProductOption', $containing_li).find('option:selected').val()) ? $('.relProductOption', $containing_li).find('option:selected').val() : '';
				var isLargeEvent = ($containing_table.is('.largeEvents')) ? true : false;
				var qty = ($('.qty' ,$containing_table).val()) ? $('.qty' ,$containing_table).val() : 0;
				var relQty = ($('.relQty' ,$containing_table).val()) ? $('.relQty' ,$containing_table).val() : 0;
				mapDataItems = {'productID': productID, 'guid': guid,  'qty': qty, 'relQty': relQty, 'isLargeEvent': isLargeEvent, 'relGuid': relGuid};
				//console.log(qty);
				if((!qty || qty < 1) & (!relQty || relQty < 1)){
					return; //stop users from adding 0 items to the basket. 
				}
				AddToBasketViaAjax(mapDataItems);
			}
			
			$('#ModalBasket').modal({onOpen: modalOpen, onClose: modalClose, width: 800, position: ["160px"]});
			closeModalClicksHandlers();
		}
	); //End Click
	
	var AddToBasketViaAjax = function(dataItems){
		$('#ModalBasket .inner').html('<div class="imgLoaderContainer"><img src="/img/ajax-loader.gif" /></div>');
		$.ajax({
			url: '/rpc/addToBasket.aspx',
			type: 'post',
			datatype: "html",
			data: dataItems,
			success: function(sReturnHtml)
			{
				$('#ModalBasket .inner').html(sReturnHtml);
			}
		}); //End ajax	
	}
	var modalOpen = function(dialog) {
		dialog.overlay.fadeIn('fast', function () {
			dialog.container.slideDown('fast', function () {
				dialog.data.show().fadeIn('fast', function(){
				});	 
			});
		});
	}
	var modalClose = function(dialog) { 
		dialog.data.fadeOut('fast', function() {
			dialog.container.fadeOut('fast', function () {
				dialog.overlay.fadeOut('fast', function () {
					$.modal.close();
				});
			});						
		});
	}	
	var displayDebugLine = function(sDebugLine) {
		$("#debug").append(sDebugLine + "<br />")
	}
	var renderBasket = function(sJson) {
	}
	var closeModalClicksHandlers = function() {
		$("#simplemodal-overlay").bind("click", function(objEvent){
			$.modal.close();
		});
		$('#ModalBasket a.continue').live('click', function(objEvent){
			objEvent.preventDefault();												  
			$.modal.close();
			return false;
		});
	}
});	// End Document Load
