function validateEmailJS(field) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = field.value;
   if(reg.test(address) == false) {
      return false;
   } else {
   	 return true;
   }
}

var _Validation = Class.create({

	initialize: function() {
	
	},
	
	check_fields: function(form) {
		
		var numberOfErrors = 0;
		
		var elements = Form.getElements(form);
		
		var emailFound = 0;
		
		$A(elements).each(function(element) {
		

			
			var required = element.readAttribute('required');
			
			if (required == 'true') {
			
				switch (element.type) {
					
					case 'radio':
					
						var items = $$('input[type="radio"][name="'+element.name+'"]');
						
						if (items.length > 1) {
							
							var oneSelected = false;
							
							items.each(function(item) {

								if (item.checked == true) {
									oneSelected = true;
								}
							});
							
							if (oneSelected == true) {
								element.removeClassName('validation-failed');
							} else {
								numberOfErrors ++ ;
								
								element.addClassName('validation-failed');
							}
							
						} else {
							if (element.checked == false) {
								
								numberOfErrors ++ ;
								
								element.addClassName('validation-failed');
							} else {
								
								element.removeClassName('validation-failed');
							}
						}
					break;
					
					case 'select-one':
					
						if (element.value.empty() == true) {
							
							numberOfErrors ++ ;
							
							element.addClassName('validation-failed');
						} else {
							
							element.removeClassName('validation-failed');
						}
						
					break;
					
					default:
						if (element.value.empty() == true) {
							
							numberOfErrors ++ ;
							
							if (element.id == 'filecheck') {
								alert('Uploading a file is required');
							} else {
								element.addClassName('validation-failed');
							}
						} else {
							
							element.removeClassName('validation-failed');
						}
					break;
					
				}
								
			}
		});
		
			if (numberOfErrors == 0) {
				return true;
			} else {
				return false;
			}
		
		
	}
	
});