var Main = new (Class.create({

	content: null,
	form: null,
	messages: [],


	initialize: function() {
		Event.observe(document, 'dom:loaded', function() { this.refresh() }.bind(this));
		this.messages = [];
	},

	refresh: function() {
		this.content = $('content');
		this.form = this.content.down('form');
		if (!this.form) {
			return;
		}

		this.form.observe('submit', this.validate.bindAsEventListener(this))



	},

	validate: function(event) {

		try {
			var name = this.form.down('input[name="name"]').getValue();
			var email = this.form.down('input[name="email"]').getValue();
			var cause = this.form.down('select[name="cause"]').getValue();
			var phone = this.form.down('input[name="phone"]').getValue();
			var text = this.form.down('textarea[name="text"]').getValue();
		} catch (exc) {
			this.messages.push('Ошибка приложения. Перезагрузите страницу');
			this.error(event);
		}

		/*
		console.log(name, email, cause, phone, text);
		this.error(event);

		var nameElement = this.form.down('input[name="name"]');
		var emailElement = this.form.down('input[name="email"]');
		var causeElement = this.form.down('select[name="cause"]');
		var phoneElement = this.form.down('input[name="phone"]');
		var textElement = this.form.down('textarea[name="text"]');
		if (!nameElement || !emailElement || !causeElement || !phoneElement || !textElement) {
			this.messages.push('Ошибка приложения. Перезагрузите страницу');
			this.error(event);
		}
		*/


		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if (reg.test(email) === false) {
			this.messages.push('Ошибка! Неверный почтовый адрес');
		}
		if (name.length < 3) {
			this.messages.push('Пожалуйста, правильно укажите своё имя');
		}
		if (cause.length < 3) {
			this.messages.push('Пожалуйста, правильно укажите тему');
		}
		if (phone.length < 10) {
			this.messages.push('Ошибка! Неверный телефон');
		}
		if (text.length < 3) {
			this.messages.push('Пожалуйста, укажите текст сообщения');
		}


		if (this.messages.length) {
			this.error(event);
		}
	},

	error: function(event) {
		Event.stop(event);
		var message = this.messages.join('\n');
		this.messages = [];
		alert(message);
	}

}));