function initForm(element_id) {
	// check for dependents and handle as such with sliding open/close rules
	var wrapper = document.id(element_id);
	var dependencies = wrapper.getElements('div[class~=depends]');
	if(dependencies) {
		var classes = Array();
		dependencies.each(function(dependent_element, i) {
			var d_classes = dependent_element.get('class');
			var d_idx = d_classes.indexOf('depends_on:');
			if(!classes.contains(d_classes.substring(d_idx+11))) classes.push(d_classes.substring(d_idx+11));
		});
		if(classes.length) {
			// we have some dependencies, defined buy field:value in this classes array
			classes.each(function (dep_info_str, i) {
				var collect;
				wrapper.getElements('div[class~=depends_on:'+dep_info_str+']').each(function (d_div, j) {
					if(j==0) {
						collect = new Element('div', {
							'class': 'collection collect:'+dep_info_str
						}).inject(d_div, 'before');
					} else {
						collect = wrapper.getElement('div[class~=collect:'+dep_info_str+']');
					}
					collect.grab(d_div);
				});
				var dep_info = dep_info_str.split(':');
				var control = document.id(element_id+'_'+dep_info[0]);
				if(control && control.get('value').replace(' ', '_').replace('/[^\w\d]/', '').toLowerCase() == dep_info[1].toLowerCase()) {
					collect.show();
				} else {
					collect.hide();
				}
				control.addEvent('change', function() {
					if(control.get('value').replace(' ', '_').replace('/[^\w\d]/', '').toLowerCase() == dep_info[1].toLowerCase()) {
						collect.show();	
					} else {
						collect.hide();
					}
				});
			})
		}
	}

	// check for multiple sections and handle as such with an accordion-esque process adding continue/back buttons to each section
}

