// spinnerElement & errorPop effects
// requires lowpro prototype extension
// http://www.danwebb.net/2006/9/3/low-pro-unobtrusive-scripting-for-prototype

var spinnerElement = $img({src:'../images/spinner.gif', id:'spinner', alt:'Spinner'});
var errorPop = $div({id:'error_pop'},$div($h3("Please select an available program.")));

var submitSpinner = Behavior.create({
	initialize: function() {
		this.element.insert({ before:spinnerElement });
		spinnerElement.hide();
	},
	onclick: function() {
		spinnerElement.show();
		this.element.disabled=true;
		this.element.form.submit();
	}
});
		
var optInCheck = Behavior.create({
	initialize: function() {
		this.element.insert({before:spinnerElement});
		this.element.insert({after:errorPop});
		errorPop.hide();
		spinnerElement.hide();
	},
	onclick: function(evt) {
		var checkBox = $$('input[type=checkbox]');
		for (var i = 0, l = checkBox.length; i < l; i++) {
			var item = checkBox[i];
			if (item.checked) {
				errorPop.hide();
				spinnerElement.show();
				this.element.disabled=true;
				this.element.form.submit();
				return true;
			}
		};
		Effect.Appear(errorPop, { duration: 0.35 });
		Effect.Fade(errorPop, { duration: 3, from: 1, to: 0, delay: 2 });
		evt.stop();
	}
});

Event.addBehavior({
	'.stage_one div#submit input, .stage_three div#submit input': submitSpinner,
	'.shared div#submit input': optInCheck
});