/*****************************************************************************************************/
/*                                                                                                   */
/*                                'RECOVER PASSWORD PANEL' CLASS                                     */          
/*                                                                                                   */
/*****************************************************************************************************/

function RECOVER_PASSWORD_GINFO(parent){
	var JSObject = this;
	this.type = "RecoverPassword"; 
	this.arr_inputs = ["_inp_Email"];
	this.form = document.getElementById("recover_password_form");
	this.ajax = false;
	
	/*****************************************************************************************************/
	/*                                                                                                   */
	/*                            FUNCTION INIT INPUTS RECOVERPASSWORD PANEL                             */          
	/*                                                                                                   */
	/*****************************************************************************************************/
	this.init = function(){
		/*****************************************************************************************************/
		/*                                                                                                   */
		/*                                          INFORMATION                                              */          
		/*                                                                                                   */
		/*****************************************************************************************************/
		this._inp_Email = new INPUTFIELD(this, document.getElementById('recover_email'));
	}
	
	
	/*****************************************************************************************************/
	/*                                                                                                   */
	/*                                  FUNCTION CREATE RECOVERPASSWORD PANEL                            */          
	/*                                                                                                   */
	/*****************************************************************************************************/
	this.initCreate = function(){
		/*****************************************************************************************************/
		/*                                                                                                   */
		/*                                      INPUT 'EMAIL' ACTIONS                                        */          
		/*                                                                                                   */
		/*****************************************************************************************************/
		var input = this._inp_Email.input;
		this._inp_Email.setRequired("yes");
		this._inp_Email.setReadySubmit(false);
		this._inp_Email.setValidationType("email");
		this._inp_Email.setValidationNetworkType("server");
		this._inp_Email.setForm(this.form);
		
		this._inp_Email.setAJAXFunction(function (data){
													Email.www.post(document.getElementById("checkemailpath").value,
																 'email='+data, 
																  function(response) {
																	 if (parseInt(response)==1){
																		Email.hideError();
																		Email.setReadySubmit(true);
																		Email.ajaxReturn = true;
																		//alert(JSObject.ajax)
																		if (JSObject.ajax == true){
																			Email.return_validateF();
																		}
																	  }
																	  else{
																		Email.displayError(Email.errors[2]);
																		Email.setReadySubmit(false);
																		Email.ajaxReturn = false;
																		JSObject.ajax = false;
																	  }
																	  Email.www = new WWW(true,'xmlhttp'); 
																  }
																 );
															});
		
		var errors = ["Camp obligatoriu.",
					  "Sunt permise doar caracterele alfanumerice, _ , punct si un @.",
					  "Adresa de email nu exista in baza de date!"];
		this._inp_Email.addErrors(errors);
		this._inp_Email.setErrorsContainer("recover_email_container");
		var Email = this._inp_Email;
		this._inp_Email.www = new WWW(true,'xmlhttp');
		this._inp_Email.validateF = function(){
			if (this.submit_ready == true){
				this.ajaxF(this.data);
				this.ajaxReturn = false;
			}
			else{
				JSObject.ajax = false;	
			}
		}
		this._inp_Email.return_validateF = function(){
			JSObject.validate();
		}
		this._inp_Email.initActions();
		//anulez functia de apasare buton
		this._inp_Email.input.onfocus = function(){
			JSObject.ajax = false;	
		}
	}
	
	
	/*****************************************************************************************************/
	/*                                                                                                   */
	/*                             FUNCTION SERVER VALIDATE(AJAX - Email)                                */          
	/*                                                                                                   */
	/*****************************************************************************************************/
	this.initServerValidate = function(){
		this.ajax = true;
		
		//daca s-a facut validarea de continut, se face validarea AJAX
		if (this._inp_Email.submit_ready == true){
			this._inp_Email.validateF();
		}
		else{
			this.validate();
		}
		
	}
	
	
	/*****************************************************************************************************/
	/*                                                                                                   */
	/*                                 FUNCTION VALIDATE INFORMATION                                     */          
	/*                                                                                                   */
	/*****************************************************************************************************/
	this.validate = function(){
		var countErrors = 0;
		// aflam cate erori sunt in formular
		for (var i=0; i<this.arr_inputs.length; i++){
			var obj = this[this.arr_inputs[i]];
			if (obj.submit_ready == false && obj.data.length == 0 && obj.required=="yes"){
				obj.displayError(obj.errors[0]);
				obj.setReadySubmit(false);
				countErrors++;
			}
			else if (obj.submit_ready == true && obj.data.length == 0 && obj.required=="yes"){
				obj.displayError(obj.errors[0]);
				obj.setReadySubmit(false);
				countErrors++;
			}
			else if (obj.submit_ready == false){ 
				countErrors++;
			}
		}
		
		if (countErrors==0){ 
			www.post(this.form.action,
			 'email='+JSObject._inp_Email.data, 
			 function(response) {
				
				 if (response.length == 0) return;
				 if (!isNaN(response)){
					 var cell = document.getElementById('recoverpassword_container');
					 cell.innerHTML = "";
					 cell.height = "110px";
					 cell.vAlign = "middle";
					 cell.align = "center";
					 cell.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0">'+
											'<tr><td align="left"><span class="news_title">Veti primi un email cu datele d-voastra de autentificare la adresa: <b>'+JSObject._inp_Email.data+'</b>. <br>Veti fi redirectionat la prima pagina in <span id="seconds" style="color:#FF0000">5</span> secunde.</span></td></tr>'+
										'</table>';
					 sec = 5;
					 setTimeout(redirectRecoverPassword,1000);
				 }
			 }
			 );	
		}
		else{ 
			return false;
		}
		
	}
	
}