<!--

Initialise.addEvent(function () {	

	var catalog = $('catalog');
	catalog.observe('change',Catorder.observer,false);
	
	if (catalog.checked == true) {
		$('cataloglist').show();
		Catorder.addMandatoryMarker();
	} else {
		$('cataloglist').hide();
	}
});

Catorder = {
	mandatory: [
		'name',
		'address',
		'state',
		'city',
		'zip'
	],

	observer: function () {
		if (this.checked == true)
		{
			$('cataloglist').show();
			Catorder.addMandatoryMarker();
		} else {
			$('cataloglist').hide();
			Catorder.removeMandatoryMarker();
		}
	},
	
	addMandatoryMarker: function () {
		Catorder.mandatory.each(function(m) {
			e = $$('label[for="'+m+'"]');
			
			if ((e[0].select('span').length < 1) /*&& (e[0].next() == null)*/)
				e[0].insert('<span class="mandatorymarker">*</span>');
		});
	},
	
	removeMandatoryMarker: function () {
		
		Catorder.mandatory.each(function(m) {
			
			// alter label elements
			e = $$('label[for="'+m+'"]');
			e.each(function(f) {
				// remove mandatory marker.
				if (f.select('span').length > 0) 
					f.select('span')[0].remove();
				// remove possible class name "invalid"
				if (f.hasClassName('invalid'))
					f.removeClassName('invalid');
			});
			
			// remove "invalid" classes from input and select elements
			e = $$('input[name="'+m+'"]');

			if ( e.length == 0)
				e = $$('select[name="'+m+'"]');
				
			e.each(function (i) {
				if (i.hasClassName('invalid'))
					i.removeClassName('invalid');
			});
		});
	},
}

-->
