	/**
	 * 
	 * Javascript Contact class
	 * 
	 * @name ModuleContact
	 * @author Vincent Cantin Bellemare
	 * @since 2009-06-20
	 * @version 1.0.0
	 * @package reptileframework
	 * 
	 */
	
	
	var Contact = {};
	
	Contact.errorClass 		= 'error_validation';
	
	Contact.elementsFields 	= 
	{
		'contactForm'	: Array('first_name', 'last_name', 'email', 'comments'),
		'careersForm'	: Array('first_name', 'last_name', 'email', 'phone_1', 'phone_2', 'job', 'cv_title')
	};
	
	Contact.cookie_prefix 	= 'contact_';
	
	/*
	 * Put red input (error input) if error
	*/
	Contact._displayStatus = function(validationElement,validationStatus)
	{		
		if(validationStatus == false)
		{
			if(!validationElement.hasClassName(Contact.errorClass))
			{
				validationElement.addClassName(Contact.errorClass); 
			}			
		}
		else
		{
			validationElement.removeClassName(Contact.errorClass); 
		}	
	};
	
	Contact._validateForm = function()
	{		
		var validationStatus = true;		
			
		Contact.elementsFields[Contact.currentForm.id].each
		(
			function(elementField)
			{							
				if($(Contact.currentForm[elementField]).getValue() == '')
				{
					Contact._displayStatus(Contact.currentForm[elementField],false);
					validationStatus = false;
				}
				else
				{
					Contact._displayStatus(Contact.currentForm[elementField],true);
				}							
			}
		);
		
		return validationStatus;
	};
	
	Contact.contactSubmit = function(currentForm)
	{
		Contact.currentForm = currentForm;
		Contact.setDefaultInputValues();
		
		var newInput = new Element
		(
			'input', 
			{ 
				'class': 'foo' ,
				'type' : 'hidden',
				'value' : Contact.currentForm.id,
				'name' : 'current_form'
			}	
		);
		
		Contact.currentForm.appendChild(newInput);
		
		if(Contact._validateForm())
		{
			Contact.currentForm.submit();	
		}
		else
		{
			Site.popAlert(PHPVars.get('contact.error_contact'));
		}	
	};
	
	Contact.assignDefaultInputValues = function()
	{		
		Contact.elementsFields[Contact.currentForm.id].each
		(		
			function(elementField)
			{							
				var cookieValue = Request.cookie(Contact.cookie_prefix + elementField);	
				
				try
				{
					Contact.currentForm[elementField].value = (cookieValue != null) ? cookieValue : '';			 					
				}
				catch(e){}
			}
		);
	};

	Contact.setDefaultInputValues = function()
	{		
		Contact.elementsFields[Contact.currentForm.id].each
		(		
			function(elementField)
			{							
				Request.setCookie(Contact.cookie_prefix + elementField, Contact.currentForm[elementField].value,'/');	
			}
		);
	};
