Event.addBehavior.reassignAfterAjax = true;

var ConfirmRequired = Behavior.create({
	onclick: function() {
		return confirm('Are you sure?');
	}
});

var FileFieldAdder = Behavior.create({
	initialize: function() {
		this.element.down().insert({after:"<a href='#'>Add More Fields</a>"});
		this.addLink = this.element.down().next('a');
		new FileFieldAdder.AddFieldLink(this.addLink, this.element);
	}
});

FileFieldAdder.AddFieldLink = Behavior.create({
	initialize: function(parentField) {
		this.parentField = parentField;
		this.elementToInsert = this.parentField.down('.fileUpload');
	},
	onclick: function() {
		this.parentField.down('dl').insert({bottom:this.elementToInsert.innerHTML});
		return false;
	}
});

var ListFader = Behavior.create({
	initialize: function() {
		this.listItems = this.element.childElements();
		this.currentItem = 0;
		this.delay = 8000;
		var self = this;
		this.next = function() {
			/* Change the style of the currentItem to invisible */
			Effect.Fade(this.listItems[this.currentItem]);
			/* Calculate the next index */
			this.currentItem = this.currentItem + 1;
			if (this.currentItem >= this.listItems.length)
				this.currentItem = 0;
			/* Change the style of the currentItem to visible */
			Effect.Appear(this.listItems[this.currentItem], {queue:'end'});
		}
		setInterval(function() {self.next.call(self)}, self.delay);
	}
});

var FlashMovie = Behavior.create({
	initialize: function() {
		this.flashObject = this.element.innerHTML;
		this.element.innerHTML = '';
		this.element.insert(this.flashObject);
	}
});

Event.addBehavior({
	'.confirmRequired': ConfirmRequired,
	'#newPicturesFields, #newDocumentsFields' : FileFieldAdder,
	'#news' : ListFader,
	'.remoteLink' : Remote,
	'.flashMovie' : FlashMovie
});