faq = Class.create();

faq.prototype = {
	DefaultValues : {
		fb_text:'Задайте вопрос',
		fb_name:'Представитесь?',
		fb_mail:'Контактный E-Mail',
		fb_kod:'Введите код с картинки'
	},
	errors : {
		emptyText   : 'Вы не задали вопрос',
		invalidMail : 'Не верный формат поля E-mail',
		emptyKey	: 'Вы не ввели защитный код'
	},
	initialize: function(){
		this.setupHandlers($$('.fb_input'),$$('input.submit'));
		
	},
	setupHandlers:function(inputs,button){
		var obj = this;
		inputs.each(function(item){
			item.observe('focus',obj.activateField);
			item.observe('blur',obj.deactivateField);
		});
		button[0].observe('click',obj.submit);
	},
	activateField:function(event){
		this.addClassName('active');
		if (this.value.length == 0 || this.value == faq.DefaultValues[this.identify()]) {
			this.value = '';
		}
	},
	deactivateField:function(event){
		this.removeClassName('active');
		if (this.value.length == 0) {
			this.value = faq.DefaultValues[this.identify()]
		}else{
			this.removeClassName('error');
			$("fb_error_text").innerHTML = '';
		}
	},
	submit:function(){
		values = {};
		$$('.fb_input').each(function(item){
			if(faq.DefaultValues[item.identify()] != item.getValue()){
				values[item.readAttribute('name')] = item.getValue();
			}
		})
		if(!values.text){
			$("fb_error_text").innerHTML = faq.errors.emptyText;
			$("fb_text").addClassName('error');
			$("fb_text").focus();
			return false;
		}
		if(values.mail){
			reg = /^.+@.+\..+$/;
			if (!reg.test(values.mail)) {
				$("fb_error_text").innerHTML = faq.errors.invalidMail;
				$("fb_mail").addClassName('error');
				$("fb_mail").focus();
				return false;
			}
		}
		if (!values.kod) {
			$("fb_error_text").innerHTML = faq.errors.emptyKey;
			$("fb_kod").addClassName('error');
			$("fb_kod").focus();
			return false;
		}
		var myAjax = new Ajax.Request('/faq/index/add/', {
			method: 'post',
			parameters: values,
			onComplete: function (originalRequest){
				if('Код защиты не верен'==originalRequest.responseText){
					$("fb_error_text").innerHTML = originalRequest.responseText;
					$("fb_kod").addClassName('error');
					$("fb_kod").focus();
				}else{
					$('feedbackBorder').innerHTML = originalRequest.responseText;
				}
			}
		});
	},
	show: function(id){
		if($("otvet_"+id).style.display!="block"){
			$("otvet_"+id).style.display = "block";
//			$("faq_icon_"+id).className ="faq_icon_activ sprite";
		}else{
//			$("faq_icon_"+id).className ="faq_icon sprite";
			$("otvet_"+id).style.display = "none";
		}
	}
}

var faq = new faq();


