jQuery.noConflict();
var Azexis = Azexis || {};

Azexis.productPoolSelect = (function($){
	function fetch() {
		jQuery.get("shop/product.php", $('#product-pool-select').serialize(), function(result) {
			$('#shop-product-page').html(result);
			//Perform necessary checks to remove duplication of parent divs
			var innerDetails = $('#product div.details div.details');
			if(innerDetails.length){
				innerDetails.removeClass('details');
			} 
			var innerImages = jQuery('#product div.productImages div.productImages');
			if(innerImages.length){
				innerImages.removeClass('productImages');
			}
			var innerForm = $('#product div.productForm div.productForm');
			if(innerForm.length){
				innerForm.removeClass('productImages');
			}
			setTriggers();
		});
	}
	function setTriggers(){
		var options = $('#product-pool-select select');
		options.change(fetch);
	}

	return {
		fetch: fetch,
		setTriggers: setTriggers
	}
})(jQuery);

window.addEvent("domready", function() {
	var con = $("container");
	
	var largeImage = $E("#product img");
	var images = $$("#images .image img");
	var imgWidth = 100;
	var scrollDist = 376;
	
	var slideFx = con.effect("left", {
		onComplete: function() {
			// Remove scroll arrows if we have reached the edge.
			var pos = con.getStyle("left").toInt();
			
			if (-pos + scrollDist < images.length * imgWidth) {
				$("right-arrow").addClass('active');
			} else {
				$("right-arrow").removeClass('active');
			}
			
			if (pos < 0) {
				$("left-arrow").addClass('active');
			} else {
				$("left-arrow").removeClass('active');
			}
		}
	});
	
	function slide(dist) {
		slideFx.start(dist);
	}
	
/*
	$("right-arrow").addEvent("click", function(e) {
		var e = new Event(e);
		e.preventDefault;
		
		var pos = con.getStyle("left").toInt();

		if (-pos + scrollDist < images.length * imgWidth) {
			pos -= scrollDist;
		}
		slide(pos);
	});
	
	$("left-arrow").addEvent("click", function(e) {
		var e = new Event(e);
		e.preventDefault();
		
		var pos = con.getStyle("left").toInt();
		if (pos < 0) {
			pos += scrollDist;
		}
		slide(pos);
	});
*/

	images.each(function (image, i) {
		image.addEvent("click", function(e) {
			var e = new Event(e);
			e.preventDefault();
			
			$$("#images .image").each(function(el) {
				el.removeClass("active");
			});
			
			image.parentNode.parentNode.addClass("active");
			
			largeImage.src = image.getAttribute('data-url');
			
			window.scrollTo(0,150);
			
			return false;
		});
	});
});

jQuery(function($) {
	var poolSubmit = $('#product-pool-select-submit');
	if (poolSubmit.length) {
		poolSubmit.hide();
		Azexis.productPoolSelect.setTriggers();
	}
});

