
/**
+ ---------------------------------------------------------------------------+
|    soliland
|
|     http://www.soliland.fr
|     cyril.janssens@free.fr
|
|     Released under the terms and conditions of the
|     GNU General Public License (http://gnu.org).
|
|	$Header: /soliland/V2/html/default/js/lib/formValidator.js,v 1.9 2008-09-24 17:00:03 cyril Exp $
|   $Source: /soliland/V2/html/default/js/lib/formValidator.js,v $
|   $Revision: 1.9 $
|   $Date: 2008-09-24 17:00:03 $
|   $Author: cyril $
|	$State: Exp $
+----------------------------------------------------------------------------+
 */
/**
* CLASS
*/
        
var formValidatorGlobalRedirector;
var validator = function(me){

	ajaxDisplayLoadingMessage();
	//alert(1);
	this.DOMsubmitButton = me;
	//alert(2);
	this.setFormElement();
	//alert(3);
	this.fillDataElement();
	//alert(4);
	this.sendForm();     
	//alert(5);       
	ajaxHideLoadingMessage();
}

validator.prototype.DOMsubmitButton;
validator.prototype.DOMformElement;
validator.prototype.DOMdataElement;

validator.prototype.setFormElement = function(){

	var _tmp = this.DOMsubmitButton.parentNode;
	
	while(_tmp){
		if(_tmp.tagName == 'FORM'){
			this.DOMformElement = _tmp;
			formValidatorGlobalRedirector = this.DOMformElement.action;
			break;
		}
		_tmp = _tmp.parentNode;
	}
}

validator.prototype.fillDataElement = function(){
	var formId = this.DOMformElement.id;
	this.DOMdataElement = $("#" + formId).serialize();
}

validator.prototype.sendForm = function(){	
	$.ajax({
		async: false,
		type: "POST",
		url: this.DOMformElement.action,
		data: this.DOMdataElement,
		success: function(e){
			document.location.href = formValidatorGlobalRedirector;
		}
	});
}       

/**
*	DEFAULT EVENT
**/
$(document).ready(function() {
		$(".submitButton").click(function() {
			new validator(this);
		});
 });
