window.addEvent('domready', function() {
	
	$$('.is-dependent').each(function(el, i) {
		var dependencyString = el.get('class').match(/depends\-[a-zA-Z0-9_\-]+/);
		if (!dependencyString || !dependencyString.length) { return false; }
		var dependencyInfo = dependencyString[0].split('-');
		var parents = $$('*[name=' + dependencyInfo[1] + ']');
		parents.addEvent('change', executeDependencies);
		parents.each(function(el, i){
			executeDependencies({target: el});
		});
	});
	
	function executeDependencies(evt) {
		var trgt = $(evt.target);
		$$('*[class*=depends-' + trgt.get('name') + '-]').each(function(dependent, i) {
			if (dependent.match('.depends-' + trgt.get('name') + '-' + trgt.get('value'))) {
				dependent.setStyle('display', 'block');
			} else {
				dependent.setStyle('display', 'none');
			}
		});
	}
});