var ResortEvent = new Class({
	initialize: function(event_id,dom_elements, messages,lang) {
		this.eventId             = event_id;
		
		this.registrationTrigger = false;
		this.emailRecipient      = false;
		this.nameRecipient       = false;
		this.tyMessage           = false;
		this.lead                = false;
		this.description         = false;
		this.startDate           = false;
		this.startTime			 = false;
		this.endDate             = false;
		this.endTime			 = false;
		this.recurringTrigger    = false;
		this.recurringValue      = false;
		this.messages            = messages;
		this.language            = lang;
		
		if(typeof dom_elements.trigger_registration != 'undefined') {
			this.registrationTrigger = dom_elements.trigger_registration;
			this.registrationTrigger.addEvent('click',function() {
				$new('page')(this.eventId)('setDefault')({
					'requiresRegistration': this.registrationTrigger.checked
				}).exec();
			}.bind(this));
		}

		if(typeof dom_elements.email_recipient != 'undefined') {
			this.emailRecipient = dom_elements.email_recipient;
			this.emailRecipient.addEvent('blur', function() {
				$new('page')(this.eventId)('setDefault')({
					'emailRecipient': this.emailRecipient.value
				}).exec();
			}.bind(this));
		}
		
		if(typeof dom_elements.name_recipient != 'undefined') {
			this.nameRecipient = dom_elements.name_recipient;
			this.nameRecipient.addEvent('blur', function() {
				$new('page')(this.eventId)('setDefault')({
					'nameRecipient': this.nameRecipient.value
				}).exec();
			}.bind(this));
		}
		
		if(typeof dom_elements.ty_message != 'undefined') {
			this.tyMessage = dom_elements.ty_message;
			this.tyMessage.addEvent('blur', function() {
				$new('page')(this.eventId)('updateText')(
					'tyMessage', this.tyMessage.value
				).exec();
			}.bind(this));
		}

		if(typeof dom_elements.start_date != 'undefined') {
			this.startDate = dom_elements.start_date;
			this.startDate.addEvent('blur', function() {
				$new('page')(this.eventId)('setDefault')({
					'startDate': this.startDate.getValue()
				}).exec();
			}.bind(this));
		}
		
		if(typeof dom_elements.start_time != 'undefined') {
			this.startTime = dom_elements.start_time;
			this.startTime.addEvent('click', function() {
				$new('page')(this.eventId)('setDefault')({
					'startTimeFormat': this.startTime.checked
				}).exec(); 		
			}.bind(this));
		}

		if(typeof dom_elements.end_date != 'undefined') {
			this.endDate = dom_elements.end_date;
			this.endDate.addEvent('blur', function() {
				this._checkDates(this.startDate.getValue(),
									this.endDate.getValue());
				$new('page')(this.eventId)('setDefault')({
					'endDate': this.endDate.getValue()
				}).exec();
				
			}.bind(this));
		}
		
		if(typeof dom_elements.end_time != 'undefined') {
			this.endTime = dom_elements.end_time;
			this.endTime.addEvent('click', function() {
				$new('page')(this.eventId)('setDefault')({
					'endTimeFormat': this.endTime.checked
				}).exec(); 
			}.bind(this));
		}
		
		if(typeof dom_elements.trigger_recurring != 'undefined') {
			this.recurringTrigger = dom_elements.trigger_recurring;
			this.recurringTrigger.addEvent('click',function() {
				$new('page')(this.eventId)('setDefault')({
					'isRecurring': this.recurringTrigger.checked
				}).exec();
			}.bind(this));
		}
		
		if(typeof dom_elements.config_recurringValue != 'undefined') {
			this.recurringValue = dom_elements.config_recurringValue;
			this.recurringValue.addEvent('blur', function() {
				var values = {};
				var key = 'recurringValue_'+this.language;
				
				values[key] = this.recurringValue.value;
				
				$new('page')(this.eventId)('setDefault')(values).exec();
			}.bind(this));
		}
	},
	
	_checkDates: function(start_date, end_date) {
		var self = this;
		if(start_date > 0 && start_date >= end_date) {
			Alert({
				title: self.messages.end_date_title,
				content: self.messages.end_date_message
				        +' <a class="Right" style="display:block"'
				        +' href="javascript:overlay.hide()">'
				        +self.messages.close+'</a>'
			});
		}
	}
});
