function validateEmail(email)
{
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

window.addEvent('domready',function() {
	if ($('Submit')) {
		$('Submit').addEvent('click',function(e) {
			
			
			
			e.stop();
			
			
			
			if ($('errorbox')) $('errorbox').destroy();
			var required = $$('.req');
			errs = new Array();
			required.each(function(req,i) {
				var t = req.get('title');
				
				if (req.get('tag')=='select') {
					if (req.options[req.selectedIndex].text == '~ please select ~') {
						errs.push(t);
						req.addClass('error');
					}
				} else if (req.value=='') {
					errs.push(t);
					req.addClass('error');
				
				} else {
					if (req.hasClass('email')) {
						if (!validateEmail(req.value)) errs.push('Please check your email addresses');
					}
				}				
			});
			if (!errs.contains('Please check your email addresses')) if ($('email').value!==$('email_confirm').value) errs.push('Your email addresses do not match');

			if($('home_telephone').value==''&&$('mobile_telephone').value==''&&$('daytime_telephone').value=='') errs.push('Please enter at least one telephone number');
			if (errs.length>0) {
				
				
				var errmsg = '<p>Some errors have occured:</p><ul>';
				errs.each(function(err) {
					errmsg = errmsg + "<li>" + err + "</li>";
				});
				errmsg = errmsg + "</ul>";
				var errbox = new Element('div',{
					id:'errorbox',
					html: errmsg
				}).inject($('errorwindow'));
				var errors = $$('.error');
				errors.each(function(error) {
					error.addEvent('focus',function() {
						this.removeClass('error');
					});
				});
			} else {
				this.form.submit();
			}
		});
	}
	
	if ($('on_medication')) {
		$('on_medication').addEvent('change',function(){
			if (this.options[this.selectedIndex].text == 'Yes') {
				new Element('div',{'id':'which_med','class':'form_group'}).injectAfter(this.getParent());
				new Element('label',{'text':'What medication are you on?'}).inject($('which_med'));
				new Element('input',{'type':'text','name':'on_medication'}).inject($('which_med'));
			} else {
				if ($('which_med')) $('which_med').destroy();
			}
		});
	}	
	
	if ($('calculate_BMI')) {
		$('calculate_BMI').addEvent('click',function() {
			if ($('height_meters').value!==''&&$('weight_kilos').value!=='') {
				var bmi = $('weight_kilos').value / ($('height_meters').value * $('height_meters').value);
				bmi = bmi.round(2);
				$('your_BMI').set('text',bmi);
				$('BMI').value = bmi;
			}
		});
	}
	
});