var rowcount = 0;

function addRow(type) {
	var tablebody = $('edit-' + type + '-interval-body');
	new Ajax.Request('/blank.php', {
		parameters: {
			'do': 'training_getIntervalRow',
			'type': type
		},
		method: 'get',
		evalScripts: true,
		onSuccess: function(transport) {
			var children = tablebody.childElements();
			var lastrow = children[children.length - 1];
			new Insertion.Before(lastrow, transport.responseText);
			rowcount++;
		}
	});
	return true;
}

function removeRow(node, type) {
	var tablebody = $('edit-' + type + '-interval-body');
	tablebody.removeChild(node);
	rowcount--;
	new Ajax.Request('/blank.php', {
		parameters: {
			'do': 'training_updateRowCount',
			'type': type
		},
		method: 'get'
	})
	return true;
}

var types = {cycling: 1,
			running: 2,
			swimming: 3}

function setUpTrainingFormSections(id) {
	$('category').observe('change', function(event) {
			if($F(this) == 1) {
				Effect.BlindDown('cycling-training');
				activateFormElements('cycling-training');
				Effect.BlindUp('running-training');
				deactivateFormElements('running-training');
				Effect.BlindUp('swimming-training');
				deactivateFormElements('swimming-training');
			}
			if($F(this) == 2) {
				Effect.BlindUp('cycling-training');
				deactivateFormElements('cycling-training');
				Effect.BlindDown('running-training');
				activateFormElements('running-training');
				Effect.BlindUp('swimming-training');
				deactivateFormElements('swimming-training');
			}
			if($F(this) == 3) {
				Effect.BlindUp('cycling-training');
				deactivateFormElements('cycling-training');
				Effect.BlindUp('running-training');
				deactivateFormElements('running-training');
				Effect.BlindDown('swimming-training');
				activateFormElements('swimming-training');
			}
	});
}

function attachSingleMultipleSwitcher(type) {
	var shortform = type.substring(0, 3);
	$('type_' + types[type]).observe('change', function(event) { 
		if(this.options[this.selectedIndex].value == 3) {
			if($(shortform + '-stats').getStyle('display') != 'none') {
				$(shortform + '-stats').hide();
				deactivateFormElements(shortform + '-stats');
			}
			var multidiv = $(shortform + '-stats-multiple');
			if(!multidiv) {
				var md = Builder.node('div', {'id': shortform + '-stats-multiple'});
				md.appendChild(Builder.node('h4', 'Interval Stats'));
				$(shortform + '-stats').parentNode.appendChild(md);
				multidiv = md;
				new Ajax.Request('/blank.php', {
					parameters: {
						'do': 'training_getIntervalForm',
						'type': type
					},
					method: 'get',
					onSuccess: function(transport) {
						multidiv.update(transport.responseText);
						multidiv.show();
					}
				});
			}else{
				activateFormElements(shortform + '-stats-multiple');
				multidiv.show();
			}
		}else{
			var multidiv = $(shortform + '-stats-multiple');
			if(multidiv) {
				multidiv.hide();
				deactivateFormElements(shortform + '-stats-multiple');
			}
			if($(shortform + '-stats').getStyle('display') != 'block') {
				activateFormElements(shortform + '-stats');
				$(shortform + '-stats').show();
			}
		}
	});
}

function setUpTrainingForm() {
	setUpTrainingFormSections('category');
	attachSingleMultipleSwitcher('cycling');
	attachSingleMultipleSwitcher('running');
	attachSingleMultipleSwitcher('swimming');
}
