newjax.orders = function() {
	return {
		name:'orders',
		errors:{},
		dates:[],
		can_checkout:0,
		submit_payment: function() {
			$('payment_div').className = 'hide';
			$('processing_div').className = 'show';
			var data = $('payment_form').serialize(true);
			if (data) data.newjax_action = 'send_payment';
			newjax.update(
				'', 
				newjax.actions_page, 
				data, 
				function(t) {
					//
				}
			);
		},
		check_menu_items2: function(price, student) {
			var error = [];
			var message = '';
			var attribute = (price > 0) ? 
				'<a class="button_brown w101 text_center" href="checkout"><span>Checkout <img src="my_templates/fresh/cart.png"></span></a>': 
				'<a class="button_brown w101 text_center" name="Chekout" onmouseover="newjax.orders.popup(this, \''+student+'\');"><span>Checkout <img src="my_templates/fresh/cart.png"></span></a>';
				
			var attribute2 = (price > 0) ? 
				'<a href="checkout">Checkout</a>': 
				'<a name="Checkout" onmouseover="newjax.orders.popup(this, \''+student+'\');">Checkout</a>';
			for (var i in newjax.orders.errors) {
				if (!newjax.orders.errors[i]) continue;
				if (newjax.calendar.size == 'week') {
						error = i.split('_');
					message = (error[0] == 'sidea') ? 
						'Please pick your side or optional substitution!': 
						'Please pick your '+error[0]+'!';
							$('cal_date_e_'+error[0]+'_2009-'+error[1]+'-'+error[2]+'').innerHTML = newjax.orders.show_error(message);
				}
				/* DISABLE CHECKOUT */
				$('checkout_div').innerHTML = '<a class="button_brown w101 text_center" name="checkout" onmouseover="newjax.orders.popup(this, \''+student+'\');"><span>Checkout <img src="my_templates/fresh/cart.png"></span></a>';
				$('checkout_div2').innerHTML = '<a name="checkout" onmouseover="newjax.orders.popup(this, \''+student+'\');">Checkout</a>';
				if (newjax.calendar.size != 'week') return;
			}
			if (error.length > 0) return;
			/* ENABLE CHECKOUT */
			$('checkout_div').innerHTML = attribute;
			$('checkout_div2').innerHTML = attribute2;
		},
		show_error: function(message) {
		
			return '<div class="error"><img src="my_images/alert.gif" /> '+message+'</div>';
		
		},
		popup: function(div, student) {
			var popup = newjax.orders.show_error('There are no items in the cart for '+student+' or a mandatory menu item is unselected!');
			jz_popup(div, popup);
		
		},
		update_total: function() {
			newjax.update('', newjax.actions_page, { newjax_action:'update_total' });
		},
		check_radios: function(name, id) {
		
			var radio = document.getElementsByName(name);
		
			for (var i = 0; i < radio.length; i++) {
		
				if (radio[i].value == id) radio[i].checked = true;
				else radio[i].checked = false;
		
			} //radios
		
		},
		
		remove_items: function(date, child) {
			var sizes = [399,499,599];
			var types = ['entree','sidea','sideb','drink','snack'];
			
			newjax.update(
				'', 
				newjax.actions_page, 
				{ newjax_action:'remove_items', date:date, child:child }, 
				function() {
					//
				}
			);
			for (var type in types) {
				if ($('cal_date_'+types[type]+'_'+date))
					$('cal_date_'+types[type]+'_'+date).innerHTML = '';
				if ($('cal_date_e_'+types[type]+'_'+date))
					$('cal_date_e_'+types[type]+'_'+date).innerHTML = '';
				this.errors = {}
				for (var size in sizes) {
					var radio = document.getElementsByName(types[type]+'_'+date+'_'+sizes[size]);
					for (var i = 0; i < radio.length; i++) {
						radio[i].checked = false;
					} //radios
				} //sizes
			} //types
		},
		close_menu: function(date) {
			var sizes = [399,499,599];
			var types = ['entree','sidea','sideb','drink','snack'];

			// Check if "only drink" (no entree) is selected - possibly default drink - do not add items
			var types = ['entree'];
			var validate = false;
			for (var type in types) {
				for (var size in sizes) {
					var radio = document.getElementsByName(types[type]+'_'+date+'_'+sizes[size]);
					for (var i = 0; i < radio.length; i++) {
						if (radio[i].checked == true)
							validate = true;
					}
				}
			}
			
			if (validate) {
				var types = ['entree','sidea','sideb','drink','snack'];
				for (var type in types) {
					for (var size in sizes) {
						var radio = document.getElementsByName(types[type]+'_'+date+'_'+sizes[size]);
						for (var i = 0; i < radio.length; i++) {
							if (radio[i].checked == true) {
								var name = radio[i].name.split('_');
								var type = name[0];
								//var date = name[1];
								var size = name[2];
								//var type2 = (type == 'sideb') ? 'sidea' : type;
								//if ($('cal_date_'+type2+'_'+date)) $('cal_date_'+type+'_'+date).innerHTML = '';
								newjax.update(
									'', 
									newjax.actions_page, 
									{ newjax_action:'add_item', id:radio[i].value, type:type, size:size, date:date }, 
									function() {
										//
									}
								);
							}
						} //radios
					} //sizes
				} //types
			} // valid
		},
		add_item: function(radio) {
			var name = radio.name.split('_');
			var type = name[0];
			var date = name[1];
			var size = name[2];
			//var type2 = (type == 'sideb') ? 'sidea' : type;
			//if ($('cal_date_'+type2+'_'+date)) $('cal_date_'+type+'_'+date).innerHTML = '';
			newjax.update(
				'', 
				newjax.actions_page, 
				{ newjax_action:'add_item', id:radio.value, type:type, size:size, date:date }, 
				function() {
					//
				}
			);
			
		},
		change_status: function(id, type) {
			var x = $(type+'_status_'+id);
			var i = x.selectedIndex;
			var n = x.options[i].text;
			var v = x.options[i].value;
			newjax.update(
				'', 
				newjax.actions_page, 
				{ newjax_action:'change_status', type:type, id:id, status:v }, 
				function() {
					//callback
				}
			);
			return;
		},
		cancel_order: function(id, type, status) {
			newjax.update(
				'', 
				newjax.actions_page, 
				{ newjax_action:'change_status', type:type, id:id, status:status }, 
				function() {
					newjax.calendar.redraw();
				}
			);
			return;
		},
		refresh_order: function(id, date) {
			newjax.update(
				'', 
				newjax.actions_page, 
				{ newjax_action:'refresh_order', id:id },
				function() {
					//
				}
			);
		},
		menu_title: function(source) {
			var x = source;
			var i = x.selectedIndex;
			var n = x.options[i].text.toLowerCase();
			var v = x.options[i].value.toLowerCase();
			var t = x.options[i].text;
			var d = v.split('_');
			$('order_size_'+d[0]).innerHTML = t;
		}
	}
}();
Event.observe(window, 'load', function() {
	/* AFTER LOADING */
	if (newjax.current_page == 'order') setTimeout("newjax.orders.update_total()", 1000);
});