$(function () {
	var updateOptionAttributes = function() {
		var priceOffset = 0;

		var extractData = function (extraraw, index) {
			var data = 0;
			var extra = extraraw.split(/:/);
			if (extra && extra.length > index) {
				data = extra[index];
			}
			return data;
		}

		var extractPrice = function (extraraw) {
			return parseFloat(extractData(extraraw, 0));
		}

		var extractSaleApplies = function (extraraw) {
			return (parseInt(extractData(extraraw, 1)) > 0 ? true : false);
		}

		var extractStock = function (extraraw) {
			return parseInt(extractData(extraraw, 2));
		}

		var extractPreorder = function (extraraw) {
			return extractData(extraraw, 3);
		}

		var extractImage = function (extraraw) {
			return extractData(extraraw, 4);
		}


		$(".wrapperAttribsOptions select, .wrapperAttribsOptions input[type=checkbox]").each(function () {
			var $$ = $(this);
			if ($$.find("option").length) {
				// select element
				$$.find("option").each(function () {
					if ($(this).val() == $$.val()) {
						priceOffset += extractPrice($(this).attr("extra"));
					}
					if (extractImage($(this).attr("extra"))) {
						$$.attr("updateimage", "1");
					}
				});
			} else if ($$.attr("type") == "checkbox") {
				// checkbox element
				if ($$[0].checked) {
					priceOffset += extractPrice($$.attr("extra"));
				}
			}
		});
		
		var price = (originalPriceNoAttributes + priceOffset) + "";
		var priceF = "";
		var n = 0;
		for (var i = price.length - 1; i >= 0; i--) {
			n++;
			priceF = price.substr(i, 1) + priceF;
			if (n > 0 && n % 3 == 0) {
				priceF = "," + priceF;
			}
		}
		$("#productPriceNormalDisplay").html($("#productPriceNormalDisplay").html().replace(/[0-9,.]+\u5186/, priceF + "\u5186"));

		// image update
		$(this).each(function () {
			var $$ = $(this);
			if ($$.find("option").length) {
				// select element
				$$.find("option").each(function (i) {
					if (extractImage($(this).attr("extra"))) {
						$$.attr("updateimage", "1");
					}
				});
				if ($$.attr("updateimage")) {
					$$.find("option").each(function (i) {
						if ($$.val() == $(this).val()) {
							var image = extractImage($(this).attr("extra"));
                            var product_id = $('#product_id').html();
							if (image) {
								$("#productMainImage img.productMainImage").attr("src", "/images/thumbs/medium/" + image);
							} else {
								$("#productMainImage img.productMainImage").attr("src", "/images/thumbs/medium/" + image);
							}

							var saleapplies = extractSaleApplies($(this).attr("extra"));
							if (saleapplies && !$("#productPriceNoAlternateDisplay").length) {
								$("#productPriceNormalDisplay").hide();
								$("#productPriceAlternateDisplay").show();
							} else {
								$("#productPriceNormalDisplay").show();
								$("#productPriceAlternateDisplay").hide();
							}

							var stock = extractStock($(this).attr("extra"));
							var preorder = extractPreorder($(this).attr("extra"));
							
							if (stock > 0 && preorder == "0") {
								$("#productPreorderNotice")
									.empty()
								.end();
								$("#cartAdd")
									.show()
									.find("input[type=image]").attr("src", "includes/templates/lecreuset/buttons/japanese/button_in_cart.gif").end()
								.end();
                                $('#mainQuantity').css('display', 'none');
							} else if (stock > 0 && preorder != "0") {
								$("#productPreorderNotice")
									.empty()
									.append('<br/><br/>')
									.append('<img src="images/siteImg/preorder.png" />')
									.append('<br/><br/>')
									.append('<input type="hidden" name="id[txt_4]" value="' + (preorder ? '配送は' + preorder + '以降となります。' : '') + '" />')
									.append('<b style="font-size: 13px;">こちらの商品は予約注文商品限定です。</b><br/>')
									.append('<b style="font-size: 11px;">' + (preorder ? '配送は' + preorder + '以降となります。' : '') + '</b><br/><br/>')
								.end();
								$("#cartAdd")
									.show()
									.find("input[type=image]").attr("src", "includes/templates/lecreuset/buttons/japanese/button_preorder.gif").end()
								.end();
                                $('#mainQuantity').css('display', 'none');
							} else if (stock <= 0) {
								$("#productPreorderNotice")
									.empty()
									.append('<img src="includes/templates/lecreuset/buttons/japanese/button_sold_out.gif" />')
								.end();
								$("#cartAdd")
									.hide()
									.find("input[type=image]").attr("src", "includes/templates/lecreuset/buttons/japanese/button_in_cart.gif").end()
								.end();
                                $('#mainQuantity').css('display', 'block');
							}
						}
					});
				}
			}
		});
	}

	var originalImage = $("#productMainImage img.productMainImage").attr("src");
	
	var originalPriceNoAttributes = 0;
	var t = $("#productPriceNormalDisplay").text().match(/([0-9,.]+)\u5186/);
	if (t) {
		originalPriceNoAttributes = parseInt(t[1].replace(',', ''));
		$(".wrapperAttribsOptions select, .wrapperAttribsOptions input[type=checkbox]")
			.change(updateOptionAttributes);
		$(".wrapperAttribsOptions select, .wrapperAttribsOptions input[type=checkbox]")
			.change();
	}
	
	/*if ($("#productAttributes .attribImg img[optionid=1]").length > 1) {
		// Make sure there are at least two color options...
		
		$("#productAttributes .attribImg")
			.each(function () {
				if ($(this).find("img[optionid=1]").length < 1) {
					// Make sure it's an image attribute for color...
					return;
				}
				$(this)
					.clone()
					.appendTo("#attribImgHolder")
					.css("cursor", "pointer")
					.click(function () {
						var valueid = $(this).find("img").attr("valueid");
						$("#attrib-1").val(valueid).change();
					})
				.end();
			})
		.end();
	}*/
});
