/*
 * Copyright (c) 2009 Night Agency LLC
 *
 */
/**
 * @requires jQuery version 1.3
 */
if(typeof(PUREX) === 'undefined') {
	PUREX = {};
}

PUREX.stainGuide = function() {
	var collapsed = false,
		categoryId = 0;

	var setCategory = function (id, focusNext) {
		expand();
		$('#sgw-step2 li').hide();
		$('#sgw-step2 li.stain-c-' + id).show();
		$('#sgw-step1 li.selected').removeClass('selected');
		$('#sgw-step1 li.stain-c-' + id).addClass('selected');
		categoryId = id;

		if (focusNext == undefined)
			_setFocus('#sgw-step2');

		return false;
	};

	var setStain = function (id, focusNext) {
		expand();
		$("#stainguide-lookup-form input[name='stain_id']").val(id);
		$("#sgw-step2 li.selected").removeClass('selected');
		$("#sgw-step2 li.stain-" + id).addClass('selected');
		if (focusNext == undefined)
			_setFocus('#sgw-step3');

		return false;
	};

	var setFabric = function (id, focusNext) {
		expand();
		$("#stainguide-lookup-form input[name='fabric_id']").val(id);
		$("#sgw-step3 li.selected").removeClass('selected');
		$("#sgw-step3 li.fabric-" + id).addClass('selected');
		if (focusNext == undefined)
			_setFocus('#sgw-step4');
		return false;
	};

	var _setFocus = function (selector) {
		var obj = $(selector);
		obj.children('.blocker').remove();
		obj.siblings().andSelf().removeClass('focused').removeClass('noborder');
		obj.addClass('focused');
		obj.prev('div').addClass('noborder');
	};

	var collapse = function () {
		if (!collapsed) {
			$("#stainguide-widget li.selected").siblings().hide();
			$("#stainguide-widget > div")
				.addClass('collapsed')
				.removeClass('focused')
				.removeClass('noborder');

			$('#sgw-step4 a').show();
			$("#sgw-step4 input[type='image']").hide();
			collapsed = true;
		}
	};

	var expand = function () {
		if (collapsed) {
			$("#stainguide-widget > div").removeClass('collapsed');
			$("#sgw-step1 li").show();
			$("#sgw-step2 li.stain-c-" + categoryId).show();
			$("#sgw-step3 li").show();

			$('#sgw-step4 a').hide();
			$("#sgw-step4 input[type='image']").show();
			collapsed = false;
		}
	};

	var init = function (category, stain, fabric) {
		$(document).ready(function () {
			$('#sgw-step4 a').click(function () {
				expand();
				return false;
			}).hide();
	
			if (category && stain && fabric) {
				setCategory(category, false);
				setStain(stain, false);
				setFabric(fabric, false);
				collapse();
			} else {
				$('#stainguide-widget > div:gt(0)').each(function(){
					$(this).prepend('<div class="blocker"></div>');
				});
				$('#sgw-step2 li').hide();
				$('#sgw-step2 li.stain-c-1').show();
				//setCategory(1);
			}
		});
	};

	return {
		init: init,
		expand: expand,
		collapse: collapse,
		setFabric: setFabric,
		setStain: setStain,
		setCategory: setCategory
	};
}();
