function valueSwitcher(options) {
	var
		jValueControl = $(options.valueControl),
		jDependentControl = $(options.dependentControl),
		jDependentOrig = jDependentControl.clone(),
		jContainer = $(options.container),
		jContentItems = jContainer.find("." + options.contentItemsClass);
		
	attachEvents();
	changeItems();

	
	function attachEvents() {
		if (jValueControl.get(0).tagName == "SELECT") {
			jValueControl.bind("change keyup", changeItems);
		}
	}
	
	function changeItems() {
		var selector = "." + options.contentItemsClass + "-" + jValueControl.val();
		if(jValueControl.val() != -1)
		{
			jContentItems.filter(selector).removeClass("hidden");
			jContentItems.not(selector).addClass("hidden");
		}
		else
			jContentItems.removeClass('hidden');
		
		if(jDependentControl !== 'undefined')
			updateDependent(jValueControl.val());
	};
	
	function updateDependent(){
		var selector = '.r_' + jValueControl.val();
		var jDependentClone = jDependentOrig.clone(true);
		var jDependentItems = jDependentClone.find('option');
		if(jDependentItems.filter(selector).length > 1 && window.location.hash == '#full'){
			jDependentControl.parent('label').removeClass('hidden');
			selector += ',.all';
			jDependentControl.find('option').remove();
			jDependentControl.append(jDependentItems.filter(selector));	
		}
		else {
			jDependentControl.parent('label').addClass('hidden');
		}
		jDependentControl.val('-1');
		jDependentControl.change();
	}
}
