$(document).ready(function(){
	initOpenClose();
    initValidation();
});
function initOpenClose() {
	var _holder = $('.location-list,.brows-text');
	_holder.each(function(){
		var _els = _holder.find('a.open-close');
		_els.each(function(){
			var _parent = $(this).parents('li');
			$(this).click(function(){
				if (_parent.hasClass('active')) {
					_parent.removeClass('active');
				} else {
					_parent.addClass('active');
				}
				return false;
			});
		});
	});
}
function initValidation(){
	var _errorClass = 'error';
	var _mailData;
	var _regEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var _regEmails = /^([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4})+([, ]+[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4})*$/;
	var _regPhone = /^[0-9\-\ \()]+$/;
	var _regNum = /^[0-9]+$/;
	var _regDay = /^(([0]{1}[1-9]{1})|([1-9]{1})|([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1}))$/;
	var _regMon = /^(([0]{1}[1-9]{1})|([1-9]{1})|([1]{1}[0-2]{1}))$/;
	var _regYear = /^[19]{2}[0-9]{2}$/;
	
	$('form.contact').each(function(){
		var _form = $(this);
		function checkFields() {
            var message = '';
			var _flag = false;
			_form.find('.'+_errorClass).removeClass(_errorClass);

			// fields validation
			_form.find('input.required-name').each(function(){
                var _name_field = $.trim($(this).val());
				if (_name_field == null || _name_field == "" || _name_field == "First Name"){
                    addError($(this));
                    message += "Name field required\n";
                }
			});
			_form.find('input.required-email').each(function(){
				if(!_regEmail.test($(this).val())){
                    addError($(this));
                    message += "Email not valid\n";
                }
			});

			// error class adding
			function addError(_obj) {
				_obj.parent('span').addClass(_errorClass);
				_flag=true;
			}
            if(message)
                alert(message);
			return _flag;
		}

		// catch form submit event

		_form.submit(function(){
			if(checkFields()) {
				return false;
			}else{
				var _path = _form.attr('action');
				$.ajax({
					type: "POST",
					global: false,
                    data:_form.serialize(),
					url: _path,
					success: function(msg){
                        _form[0].reset();
                        alert(msg);
                    },
					error: function(msg){
						alert('Email send error!');
					}
				});
				return false;
			}
		});
	});
}
