var Validate = {
	init:function(el,obj){
		Validate.fields = obj;
		el.addEvent('submit',Validate.doValidation);
		
	},
	send:function(){
		new Request({method: 'post', url: Validate.fields.url, onComplete: function(responseText){
			Validate.showConfirm();
     	}}).send({
     		data: {
     			'firstName':Validate.fields.firstName.value,
     			'lastName':Validate.fields.lastName.value,
     			'email':Validate.fields.email.value,
     			'message':Validate.fields.message.value
     		}
     	});
		
	},
	doValidation: function(e){
		e.stop();
		if(!Validate.fields.formErrorMsg.hasClass('hide')){
			Validate.fields.formErrorMsg.addClass('hide');
		}
		var emailReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		$$('#contact-form label').removeClass('error');
		var formLabels = $$('#contact-form label');
		
		
		
		var errors = "";
		if(Validate.fields.firstName.value == ""){
			errors +=Validate.fields.firstName.id+",";
		}
		if(Validate.fields.lastName.value == ""){
			errors +=Validate.fields.lastName.id+",";
		}
		if(emailReg.test(Validate.fields.email.value) == false){
			errors +=Validate.fields.email.id+",";
		}
		if(Validate.fields.message.value == ""){
			errors +=Validate.fields.message.id;
		}
		
		if(!errors==""){
			Validate.fields.formErrorMsg.removeClass('hide');
			var errors = errors.split(",");
			
			for(var i = 0; i < errors.length;i++){
				if(errors[i]){
					//$(errors[i]).getPrevious().addClass('error');
					var check = errors[i];
					for(var j = 0; j < formLabels.length;j++){
						if(check == formLabels[j].getProperty('for')){
							formLabels[j].addClass('error');	
						}	
					}
				}				
			}
			return;
		} else {
			Validate.send();
		}
		
	},
	showConfirm: function(){
			
		new StickyWin.Modal.Ajax({
			url:'contact-confirmation.html',
			modalOptions: {
				modalStyle:{
					'background-color':'#ffffff',
					'opacity':.5
				}
			},
			fadeDuration:400,
			fadeTransition: 'sine:in:out'
		}).update();						
	}
}
