;(function($) {
	jQuery.fn.EditAttributeForm = function(args) {
		
		var container = this;
		var options_container = null;
		var type_selector = null;
		var opts = {};
		
		
		function init() {
			if (!container) { return; }
			opts = $.extend(opts, args);
			type_selector = $("select#attribute-type", container);
			options_container = $("#attribute-options-container", container);
			
			if (type_selector) {
				type_selector.change(check_type_selector);
			}
			
			
			check_type_selector();
			options_container.append('<div><a href="#" id="link-new-option">'+opts.new_option_label+'</a></div>');
			
			init_options();
		}
		
		
		function check_type_selector() {
			if(type_selector.val() == 'select') {
				options_container.parent().parent().show();
				$("#attribute-used-in-pricing-container").show();
			} else {
				options_container.parent().parent().hide();
				$("#attribute-used-in-pricing-container").hide();
			}
			init_options();
		}
		
		
		function new_option(option) {
			var new_o = opts.option_template;
			new_o = new_o.replace('{{option_value}}', '');
			new_o = new_o.replace(/\{\{option_number\}\}/g, ($('ul li',options_container).length+1) );
			new_o = new_o.replace('{{option_id}}', '' );
			$('ul',options_container).append(new_o);
			init_options();
		}
		
		
		function init_options() {
			$('a.link-delete-option',options_container).click(function(){
				// remove value from option
				$("input[type=text]", $(this).parent()).attr('value','');
				//$(this).parent().remove();
				$(this).parent().hide();
				return false;
			});
			
			var select = (type_selector.val() == 'select');
			options_container.find("input").attr('disabled',!select);
			//$("input", options_container).each(function(){ alert(select); $(this).attr('disabled',!select); });
			
			$('#link-new-option',options_container).unbind('click');
			$('#link-new-option',options_container).click(function() {
				new_option();
				return false;
			});
		}
		
		init();
		return container;
	}
})(jQuery);


