/*****************************************************************************************************/
/*                                                                                                   */
/*                                     'CONTACT PANEL' CLASS                                         */          
/*                                                                                                   */
/*****************************************************************************************************/

function CONTACT_GINFO(parent){
	var JSObject = this;
	this.type = "Contact"; 
	this.arr_inputs = ["_inp_FullName","_inp_Email","_inp_Comment"];
	this.form = document.getElementById("contact_form");
	this.ajax = false;
	
	this.seconds = 6;
	this.interval;
	
	/*****************************************************************************************************/
	/*                                                                                                   */
	/*                                  FUNCTION INIT INPUTS CONTACT PANEL                               */          
	/*                                                                                                   */
	/*****************************************************************************************************/
	this.init = function(){
		/*****************************************************************************************************/
		/*                                                                                                   */
		/*                                          INFORMATION                                              */          
		/*                                                                                                   */
		/*****************************************************************************************************/
		this._inp_FullName = new INPUTFIELD(this, document.getElementById('contact_name'));
		this._inp_Email = new INPUTFIELD(this, document.getElementById('contact_email'));
		this._inp_Comment = new INPUTFIELD(this, document.getElementById('contact_message'));
		
		
	}
	
	
	/*****************************************************************************************************/
	/*                                                                                                   */
	/*                                  FUNCTION CREATE CONTACT PANEL                                    */          
	/*                                                                                                   */
	/*****************************************************************************************************/
	this.initCreate = function(){
		/*****************************************************************************************************/
		/*                                                                                                   */
		/*                                    INPUT 'NAME' ACTIONS                                           */          
		/*                                                                                                   */
		/*****************************************************************************************************/
		var input = this._inp_FullName.input;
		this._inp_FullName.setRequired("yes");
		this._inp_FullName.addData(input.value);
		if (this._inp_FullName.data.length > 0){
			this._inp_FullName.setReadySubmit(true);
		}
		else{
			this._inp_FullName.setReadySubmit(false);
		}
		this._inp_FullName.setForm(this.form); 
		this._inp_FullName.setValidationType("alpha_extended");
		var extentedChars = [".","-","_","'"," "];
		this._inp_FullName.addExtendedChars(extentedChars);
		var errors = ["Numele este obligatoriu de completat.",
				  	  "Doar litere, spatiu, punct(.), linie(-) si apostrof(') sunt acceptate!"];
		this._inp_FullName.addErrors(errors);
		this._inp_FullName.setErrorsContainer("contact_name_container");
		this._inp_FullName.initActions();
		this._inp_FullName.input.onfocus = function(){
			JSObject.ajax = false;	
		}
		
		
		
		/*****************************************************************************************************/
		/*                                                                                                   */
		/*                                      INPUT 'EMAIL' ACTIONS                                        */          
		/*                                                                                                   */
		/*****************************************************************************************************/
		var input = this._inp_Email.input;
		this._inp_Email.setRequired("yes");
		if (this._inp_Email.data.length > 0){
			this._inp_Email.setReadySubmit(true);
		}
		else{
			this._inp_Email.setReadySubmit(false);
		}
		this._inp_Email.setValidationType("email");
		this._inp_Email.setForm(this.form);
		var errors = ["Adresa de email este obligatorie de completat.",
				      "Adresa de email trebuie sa fie in formatul nume@domeniu.com"];
		this._inp_Email.addErrors(errors);
		this._inp_Email.setErrorsContainer("contact_email_container");
		this._inp_Email.initActions();
		this._inp_Email.input.onfocus = function(){
			JSObject.ajax = false;	
		}
		
		
		
		/*****************************************************************************************************/
		/*                                                                                                   */
		/*                                      INPUT 'COMMNENT' ACTIONS                                     */          
		/*                                                                                                   */
		/*****************************************************************************************************/
		var input = this._inp_Comment.input;
		this._inp_Comment.setRequired("yes");
		this._inp_Comment.setReadySubmit(false);
		this._inp_Comment.setValidationType("normal");
		var errors = ["Scrieti un mesaj."];
		this._inp_Comment.addErrors(errors);
		this._inp_Comment.setErrorsContainer("contact_message_container");
		this._inp_Comment.initActions();
		this._inp_Comment.input.onfocus = function(){
			JSObject.ajax = false;	
		}
		
	}
	
	
	
	
	/*****************************************************************************************************/
	/*                                                                                                   */
	/*                                 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,
			 'contact_name='+JSObject._inp_FullName.data+
			 '&contact_email='+JSObject._inp_Email.data+
			 '&contact_message='+JSObject._inp_Comment.data,
			 function(response) {
				// alert(response)
				 if (response == 1){
					 var cell = document.getElementById('contact_container');
					 cell.innerHTML = "";
					
					 cell.innerHTML = '<table width="100%" cellspacing="0" cellpadding="0">'+
										'<tr><td align="center">'+
										'<table width="100%" cellpadding="0" cellspacing="0">'+
											'<tr><td align="center" style="padding-top:30px"><span class="tab_info">Iti multumim pentru mesaj. Iti vom raspunde in cel mai scurt timp. <br><br> In <b><font color="#FF0000" id="seconds">5</font></b> secunde vei fi redirectionat catre prima pagina.</span></td></tr>'+
										'</table>'+
										'</td></tr></table>';
				 	
					 this.interval = setTimeout("window.ContactObject.info.changeURL()",1000);
					 
				 }
				 else{
					 //
				 }
				 //alert(response)
			 }
			 );	
			
		}
		else return false;
		
	}
	
	
	/*****************************************************************************************************/
	/*                                                                                                   */
	/*                                 FUNCTION CHANGE URL                                               */          
	/*                                                                                                   */
	/*****************************************************************************************************/
	this.changeURL = function(){
		this.seconds--;
		this.interval = setTimeout("window.ContactObject.info.changeURL()",1000);
		document.getElementById("seconds").innerHTML = this.seconds;
		
		if (this.seconds == 0){ 
			clearTimeout(this.interval);
			parent.location.href = parent.LOCALPATH;
		}
	}
	
}
