var Order = Order || {};
var cookieName = 'phoShowOrder';
var tax = 0.0975;
(function($){
	Order.init = function() {
		$('.menu_item input').each(
			function (){
				var answerId = $(this).attr('id');
				$(this).click(function(){
					if ($('#'+answerId).is(':checked')){
						Order.addOrderEvent($(this).attr('id'));
					}else{
						Order.removeOrderEvent($(this).attr('id'));
					}
					
					
				});
			}
		);
		Order.revealCart ();
	};
	Order.addOrderEvent = function (answerId){
		Order.cast(answerId);
		Order.revealCart  ();
	};
	Order.removeOrderEvent = function (answerId){
		Order.remove(answerId);
		Order.revealCart  ();
	};

	getParameter = function(queryString, parameterName) {
		// Add "=" to the parameter name (i.e. parameterName=value)
		var parameterName = parameterName + "=";
		if ( queryString.length > 0 ) {
			// Find the beginning of the string
			begin = queryString.indexOf ( parameterName );
			// If the parameter name is not found, skip it, otherwise return the value
			if ( begin != -1 ) {
				// Add the length (integer) to the beginning
				begin += parameterName.length;
				// Multiple parameters are separated by the "&" sign
				end = queryString.indexOf ( "&" , begin );
				if ( end == -1 ) {
					end = queryString.length;
				}
				// Return the string
				return unescape ( queryString.substring ( begin, end ) );
			}
			// Return "null" if no parameter has been found
			return "null";
		}
	};
	Order.cast = function(answerId) {
		if (answerId && answerId!='' && answerId !='null'){
			Order.setVoteCookie(answerId);
		}
	};
	Order.remove = function(answerId) {
		if (answerId && answerId!='' && answerId !='null'){
			Order.unsetVoteCookie(answerId);
		}
	};
	getPosition = function (arrayName,arrayItem)
	{
	    for(var i=0;i<arrayName.length;i++){ 
	       if(arrayName[i]==arrayItem)
	            return i;
	    }
	}
	Order.unsetVoteCookie = function (value){
		if( !value ) return;
		var oVoteData = Order.getOrderCookie() || {};
		var aVotes = Order.getMyOrder(oVoteData);
		var sVoteCookie = '';
		
 		aVotes.splice(getPosition(aVotes, value), 1);

		sVoteCookie = aVotes.join( '|' );

		oVoteData['phoshow'] = sVoteCookie;

		sVoteCookie = jQuery.param(oVoteData);
		$.cookie(cookieName , sVoteCookie, { expires: 3 });		

	};
	Order.setVoteCookie = function (value){
		if( !value ) return;
		var oVoteData = Order.getOrderCookie() || {};
		var aVotes = Order.getMyOrder(oVoteData);
		var sVoteCookie = '';

		aVotes.push(value);
		sVoteCookie = aVotes.join( '|' );

		oVoteData['phoshow'] = sVoteCookie;

		sVoteCookie = jQuery.param(oVoteData);
		$.cookie(cookieName , sVoteCookie, { expires: 3 });		
	};

	Order.getOrderCookie = function (){
		var voteCookie = ($.cookie(cookieName));
		if (voteCookie == null || voteCookie == ''){
			return {};
		}
		return $.string(voteCookie).toQueryParams();
	};

	
	Order.getMyOrder = function (sVoteCookie){
		if (sVoteCookie !=null && sVoteCookie !=''){
			s = sVoteCookie['phoshow'];
			if (s != null && s != '') {
				return s.split('|');
			} else {
				return [];
			}
		}
		return [];
	};
	
	Order.getVoteCount = function(){
		var oVoteData = Order.getOrderCookie() || {};
		if (oVoteData){
			return Order.getMyOrder(oVoteData).length;
		}else{
			return 0;
		}
	};

	Order.revealCart = function (){
		var oVoteData = Order.getOrderCookie() || {};
		var myVotes = Order.getMyOrder(oVoteData);
		var total = 0;
		//myVotes.sort();
		$('#cartContent').html('');
		jQuery.each(myVotes, function(){
			$('#cartContent').append('<div>' + $('#item'+this).html() + '</div>');
			$('#'+this).attr('checked',true);
			total = total + parseFloat($('#price'+this).html());
			
		});
		var sss = $('#cartContent').children();
		var lastItem = sss[sss.length-1];
		
		//$(lastItem).animate( { backgroundColor: 'pink' }, 300)
    		//	.animate( { backgroundColor: 'white' }, 800);
	
		if (myVotes.length>0){
			$('#cartContent').append('<hr> <div> Tax: $' + Math.round(total*tax*100)/100 + '</div>');
			total = Math.round(total * (1+ tax)*100)/100;
			$('#cartContent').append('<hr> <div> Total: $' + total + '</div>');
			$('#cartContent').append('<div> (a delivery fee of $3.00 may be added) </div>');
			$('#cartContent').append('<input id="submitButton" type=button value="Send this order">');
			$('#submitButton').click(function (){
				var tmph = $(document).height();
				var tmpw = $('body').width();
				var cssObj = {
					position: 'absolute',
					zIndex:3000,
					left: 0,
					top: 0,
					height: tmph,
					width: tmpw,
					background: '#000',
					opacity: 0.75
				};

				$('div.overlay').css(cssObj);

				var cssObj = {
					left: tmpw/2-300,
					top: 110,
					background: '#000'

				};
				$('div.overlayCheckout').css(cssObj);
				$('div.overlay:last').show();
				$('#orderForm').show();
				$('a.close').show();
				return false;			
			
			
			}
			
			);
		}
		
	};
	
	$(document).ready(function() {
		Order.init();
		
		$('#copyAddress').click(function(){
			if ($(this).is(':checked')){
				$("input[name$='sname']").val($("input[name$='name']").val());
				$("input[name$='saddress']").val($("input[name$='address']").val());
				$("input[name$='scity']").val($("input[name$='city']").val());
				$("input[name$='sphone']").val($("input[name$='phone']").val());
				$("input[name$='szip']").val($("input[name$='zip']").val());
				$('#reception').hide();
			}else{
				$("input[name$='sname']").val('');
				$("input[name$='saddress']").val('');
				$("input[name$='scity']").val('');
				$("input[name$='sphone']").val('');
				$("input[name$='szip']").val('');

				$('#reception').show();
			
			}
		});
		$('#sendOrder').click(function(){
			var valid = true;
			if ($("input[name$='sname']").val()==''){
				valid =false;
			}
			if ($("input[name$='saddress']").val()==''){
				valid =false;
			}
			if ($("input[name$='scity']").val()==''){
				valid =false;
			}
			if ($("input[name$='sphone']").val()==''){
				valid =false;
			}
			if ($("input[name$='szip']").val()==''){
				valid =false;
			}
			if (valid === false){
				alert ("please fill in your customer information");
				return false;
			}else{
				if ($('#needDeliver').is(':checked')){
					
				}
				$("input[name$='cartContent']").val ($('#cartContent').html());
				$("#orderForm").submit();
			}

		});

		
	});
	    
})(jQuery);


var queryString = window.top.location.search.substring(1);

