
	// 処理中確認フラグ
	var glv_mat_working = false;

	Event.observe(window, "load", loadMatCart );

	function addMatCart (id) {
		if (id == "") { alertmsg('Please Select Options.'); return; }
		if (glv_mat_working == true) return;
		glv_mat_working = true;
		Element.show('mat_loader');
		
		params = id + "/" + glv_key + "/?" + timestr();

		var a = new Ajax.Request(
			glv_webroot + "mat_carts/add/" + params, {
				method: "get",
				onSuccess: function(httpObj) {
					switch (httpObj.responseText) {
						case "ok":    loadMatCart(); return;
						case "login": alertmsg("Please login to order."); break;
					}
					glv_mat_working = false; Element.hide('mat_loader');
					return;
				},
				onFailure: function(httpObj) {
					alertmsg('An error occurred. Please contact us.');
					glv_mat_working = false; Element.hide('mat_loader');
					return;
				},
				onException: function (httpObj) {
					loadMatCart();
					return;
				}
			}
		);
	}

	function delMatCart (id) {
		if (glv_mat_working == true) return;
		glv_mat_working = true;
		Element.show('mat_loader');
		
		params = id + "/" + glv_key + "/?" + timestr();

		var a = new Ajax.Request(
			glv_webroot + "mat_carts/del/" + params, {
				method: "get",
				onSuccess: function(httpObj) {
					switch (httpObj.responseText) {
						case "ok":    loadMatCart(); return;
						case "login": alertmsg("Please login to order."); break;
					}
					glv_mat_working = false; Element.hide('mat_loader');
					return;
				},
				onFailure: function(httpObj) {
					alertmsg('An error occurred. Please contact us.');
					glv_mat_working = false; Element.hide('mat_loader');
					return;
				},
				onException: function (httpObj) {
					loadMatCart();
					return;
				}
			}
		);
	}

	function loadMatCart() {
		if ($('sid_mat_list') && glv_key != "") {
			params = glv_key + "/?" + timestr();
			var a = new Ajax.Updater(
				"sid_mat_list", glv_webroot + "mat_carts/view/" + params, {
					method: "get",
					onSuccess: function(httpObj) { glv_mat_working = false; Element.hide('mat_loader'); },
					onFailure: function(httpObj) { glv_mat_working = false; Element.hide('mat_loader'); },
					onException: function (httpObj) { glv_mat_working = false; Element.hide('mat_loader'); }
				}
			);
		}
	}

	function orderMatCart() {
		
		var els = $$(".quantity");
		for (i=0;i<els.length;i++) {
			if (isNaN(els[i].value)) {
				alertmsg("Please input the numerical value.");
				els[i].focus();
				return;
			}
		}

		if (glv_mat_working == true) return;
		glv_mat_working = true;
		
		params = glv_key + "/?" + timestr();
		Element.update($('cart_msg'), "");
		var a = new Ajax.Request(
			glv_webroot + "mat_carts/order/" + params, {
				method: "post", parameters: Form.serialize("ajax_form"),
				onSuccess: function(httpObj) {
					switch (httpObj.responseText) {
						case "ok":    loadMatCart(); Element.update($('cart_msg'), "The order was received."); return;
						case "err":   loadMatCart(); Element.update($('cart_msg'), "An error occurred. Please contact us."); break;
						case "login": Element.update($('cart_msg'), "Please login to order."); break;
						default: $('CartMemo').value = httpObj.responseText;
					}
					glv_mat_working = false;
					return;
				},
				onFailure: function(httpObj) {
					glv_mat_working = false;
					Element.update($('cart_msg'), "An error occurred. Please contact us.");
					return;
				},
				onException: function (httpObj) {
					glv_mat_working = false;
					Element.update($('cart_msg'), "An error occurred. Please contact us.");
					loadMatCart();
					return;
				}
			}
		);
	}

//	function alertmsg(msg) {
//		alert(msg);
//	}
//
//	function timestr () {
//		objDate = new Date();
//		return "stamp" + objDate.toTimeString().replace(" ", "");
//	}
