function Feedback(){
	this.FormLoaded=false;	
	
	this.titleValid=false;
	this.mailValid=false;
	this.textValid=false;
	this.codeValid=false;
	this.DOMObject=document.createElement("DIV");
	
	this.CAPTHA_image=null;
	this.title_image=null;
	this.mail_image=null;
	this.code_image=null;

}

Feedback.prototype={
	
	LoadFeedbackForm: function(){			
		if (!this.FormLoaded){		
			AjaxEngine.sendGETRequest("ajaxControl.php?action=getFeedbackForm",
				this.feedback_form_loader, 0, this);	
			return;
		}
		
		this.show_feedback_form();
	},
	
	show_feedback_form: function(){
		
		this.DOMObject.innerHTML="";
		this.DOMObject.appendChild(this.FeedbackForm.form);		
		
		img=this.CAPTHA_image;
		img.src="administration/secure/securimage_show.php?width=125&height=22&font_size=17&dummy="+parseInt(Math.random()*100);
		
		this.title_image.src="Images/fail_icon.gif";
		this.mail_image.src="Images/fail_icon.gif";
		this.code_image.src="Images/fail_icon.gif";
		
		this.titleValid=false;
		this.mailValid=false;
		this.textValid=false;
		this.codeValid=false;
		
		this.FeedbackForm.form.title.value="";
		this.FeedbackForm.form.mail.value="";
		this.FeedbackForm.form.message.value="";
		this.FeedbackForm.form.code.value="";
		
		//$("feedback_error_message").innerHTML="";
	},

	feedback_form_loader: function(xmlHttp, _this){	
		//_this.DOMObject=document.createElement('DIV');
		_this.DOMObject.innerHTML=xmlHttp.responseText;		
		form=_this.DOMObject.getElementsByTagName("FORM")[0];		
		
		
		imgtages=form.getElementsByTagName("IMG");
		
		for (var i=0;i<imgtages.length;i++){		
			if (imgtages[i].id){
				if (imgtages[i].id=="feedback_CAPTCHA")
					_this.CAPTHA_image=imgtages[i];
					
				if (imgtages[i].id=="feedback_title_img")
					_this.title_image=imgtages[i];
					
				if (imgtages[i].id=="feedback_mail_img")
					_this.mail_image=imgtages[i];
					
				if (imgtages[i].id=="feedback_code_img")
					_this.code_image=imgtages[i];					
			}
		}		
		
		form.title.onblur=function(){
			_this.titleValid=_this.ValidateTitle();
			if (_this.titleValid)
				_this.title_image.src="Images/ok_icon.gif";
			else
				_this.title_image.src="Images/fail_icon.gif";
		};
		
		form.mail.onblur=function(){
			_this.mailValid=_this.ValidateMail();	
			if (_this.mailValid)
				_this.mail_image.src="Images/ok_icon.gif";
			else
				_this.mail_image.src="Images/fail_icon.gif";
			
		}
		
		form.message.onblur=function(){
			_this.textValid=_this.ValidateText();
		}
		
		form.code.onblur=function(){
			_this.ValidateCode();
			if (_this.codeValid)
				_this.code_image.src="Images/ok_icon.gif";
			else
				_this.code_image.src="Images/fail_icon.gif";
		}
		
		_this.FeedbackForm=new Form(form);		
		_this.FormLoaded=true;
			
		_this.FeedbackForm.init(
			//validate
			function(){			
				if (_this.FormValid()){			
					this.submit();					
				}
				else{
					this.onerror();
				}			
			},
			//submit
			function(){								
				AjaxEngine.submitFormViaPOST("ajaxControl.php?action=sendFeedback", this.form, 
					function(xmlHttp){
						resp=xmlHttp.responseText;
						_this.DOMObject.removeChild(_this.FeedbackForm.form);
						if (resp=="successed")
							_this.DOMObject.innerHTML="Ջեր հաղորդագրությունը ուղարկված է: Մենք շուտով կպատասխանենք ձեզ:";
						else
							_this.DOMObject.innerHTML="Այս պահին չի ստացվում ուղարկել ձեր հաղորդագրություն: Խնդրում ենք փորձել որոշ ժամանակ անց:";							
						_this.enabled = true;
					}, 
					_this);
				_this.enabled = false;
			},
			//on error
			function(){							
				if (!_this.titleValid){				
					$("feedback_error_message").innerHTML="Խնդրում ենք լրացնել վերնագիրը<p />";
					_this.FeedbackForm.form.title.focus();
				}
				else if (!_this.mailValid){		
					$("feedback_error_message").innerHTML="Խնդրում ենք լրացնել ձեր էլեկտրնային հասցեն, որպեսսզի մենք կարողանանք ձեր հետ կապնվել:<p />";
					_this.FeedbackForm.form.mail.focus();
				}
				else if (!_this.textValid){	
					$("feedback_error_message").innerHTML="Խնդրում ենք մուտքագրել ձեր հաղորդագրությունը:<p />";
					_this.FeedbackForm.form.message.focus();
				}
				else if (!_this.codeValid){		
					$("feedback_error_message").innerHTML="Նշեք նկարի վրա պատկերված կոդը որպեսզի մենք տարբերենք ձեզ Ռոբոտից:<p />";
					_this.FeedbackForm.form.code.focus();
				}
				
				this.enabled = true;
			}
		);
		_this.show_feedback_form();	
		
	},
	
	ValidateTitle: function(){	
		return this.FeedbackForm.form.title.value.trim().length!=0;
	},
	
	ValidateMail: function(){		
		re=new RegExp('^[a-z0-9\._-]+@[a-z0-9][a-z0-9_-]*(\.[a-z0-9_-]+)*'+
                         '\.([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|'+
                         'int|mil|museum|name|net|org|pro|travel)$', 'i');
		return re.test(this.FeedbackForm.form.mail.value);
	},
	
	ValidateText:function(){
		return this.FeedbackForm.form.message.value.trim().length!=0;
	},
	
	ValidateCode: function(){
		AjaxEngine.sendGETRequest("ajaxControl.php?action=validateCAPTCHACode&code="+
			this.FeedbackForm.form.code.value,
			function(xmlHttp, _this){
				answer=xmlHttp.responseText;				
				if (answer=="true"){
					_this.codeValid=true;
					_this.code_image.src="Images/ok_icon.gif";
				}
				else{
					_this.codeValid=false;
					_this.code_image.src="Images/fail_icon.gif";
				}				
			},
			0, this);	
		return true;
	},
	
	FormValid: function(){		
		return this.titleValid && this.mailValid && this.textValid && this.codeValid;
	}
}


