		$(document).ready(function() {

			$('form :input').blur(function() 
			{
				//$(this).parents('div:first').removeClass('warning')
				$(this).parent().removeClass('warning').find('span.error-message').remove();
				$(this).parent().parent().removeClass('warning')
				.find('span.error-message').remove();
				if ($(this).is('.required')) 
				{
					//var $divItem = $(this).parents('div:first:not(.warning)');
					var $divItem = $(this).parent();
					if (this.value == '')
					{
						if ($divItem != null)
						{
							//var errorMessage = 'This is a required field';
							//$('<span></span>')
							//	.addClass('error-message')
							//	.text(errorMessage)
							//	.appendTo($divItem);
							$divItem.addClass('warning');
						}
					};
				};

				if ($(this).is('.email') || $(this).is('#Email_Address'))
				{
					//var $divItem = $(this).parents('div:first');
					var $divItem = $(this).parent();
					if (this.value != '' && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value))
					{
						//var errorMessage = 'Please use proper e-mail format(e.g. joe@example.com)';
						//$('<span></span>')
						//	.addClass('error-message')
						//	.text(errorMessage)
						//	.appendTo($divItem);
						$divItem.addClass('warning');
					};
				};

				if ($(this).is('.enquiry'))
				{
					var $divItem = $(this).parent();
					if (this.value.toLowerCase() == 'type your message here')
						$divItem.addClass('warning');
				}
				if ($(this).is('.first_name'))
				{
					var $divItem = $(this).parent();
					if (this.value.toLowerCase() == 'first name' || this.value.toLowerCase() == 'enter first name')
						$divItem.addClass('warning');
				}
				if ($(this).is('.last_name'))
				{
					var $divItem = $(this).parent();
					if (this.value.toLowerCase() == 'last name' || this.value.toLowerCase() == 'enter last name')
						$divItem.addClass('warning');
				}
				if ($(this).is('.full_name'))
				{
					var $divItem = $(this).parent();
					if (this.value.toLowerCase() == 'full name' || this.value.toLowerCase() == 'enter full name')
						$divItem.addClass('warning');
				}
				if ($(this).is('.phone'))
				{
					var $divItem = $(this).parent();
					if (this.value.toLowerCase() == 'phone')
						$divItem.addClass('warning');
				}
				if ($(this).is('.postcode'))
				{
					var $divItem = $(this).parent();
					if (this.value.toLowerCase() == 'postcode' || this.value.toLowerCase() == 'enter postcode')
						$divItem.addClass('warning');
				}
				if ($(this).is('.captcha_code'))
				{
					var $divItem = $(this).parent();
					if (this.value.toLowerCase() == 'enter security code' || this.value.toLowerCase() == 'enter code')
						$divItem.addClass('warning');
				}

			});
							
			/*
			$('form').submit(function() {
				$('.error-message').remove();
				$(':input.required').trigger('blur');
				var numWarnings = $('.warning', this).length;
				if ($(':input[type="radio"]').parent().parent('.required').length)
				{				
					$(':input[type="radio"]').parent().parent('.required').each(function(index)
					{
						$radio = $(this).children().children(':input[type="radio"]');
						if ($radio.length)
						{
							var radioName = $radio.attr('name');
							if ($('input:radio[name='+radioName+']:checked').length)
								$(this).removeClass('warning');
							else
							{
								$(this).addClass('warning');
								numWarnings++;
							}
						}
					});	
				}
				var terms_and_conditions = true;
				if ($('#Terms_and_Conditions').length)
				{
					var $divItem = $('#Terms_and_Conditions').parent().parent();
					if (!$('#Terms_and_Conditions').attr('checked'))
					{
						numWarnings++;
						if ($divItem.length != 0)
							$divItem.addClass('warning');
					}
					else
						$divItem.removeClass('warning');
				}

				if ($('#Email').length)
				{
					//var $divItem = $(this).parents('div:first');
					var $divItem = $('#Email').parent().parent();
					if (this.value != '' && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value))
					{
						numWarnings++;
						if ($divItem.length != 0)
							$divItem.addClass('warning');
					}
					else
						$divItem.removeClass('warning');
				}
				if ($('#Email_Address').length)
				{
					//var $divItem = $(this).parents('div:first');
					var $divItem = $('#Email_Address').parent().parent();
					if (this.value != '' && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value))
					{
						numWarnings++;
						if ($divItem.length != 0)
							$divItem.addClass('warning');
					}
					else
						$divItem.removeClass('warning');
				}
				if (numWarnings)
				{
					var fieldList = [];
					$('.warning Label').each(function() {
						fieldList.push($(this).text().replace('*',''));
					});
					if ($(':input[type="radio"]').parent().parent('.required').length)
					{		
						$(':input[type="radio"]').parent().parent('.required').each(function(index)
						{
							$radio = $(this).children().children(':input[type="radio"]');
							if ($radio.length)
							{
								var radioName = $radio.attr('name');
								if (!$('input:radio[name='+radioName+']:checked').length)
									fieldList.push(radioName.replace('_',''));
							}
						});
					}
					if (!terms_and_conditions)
						fieldList.push('Terms and Conditions');
					$('<div></div>')
						.attr({
							'id' : 'submit-message',
							'class' : 'warning'
						})
						.append('The form contains error(s). Please correct the following field(s) and try again.<br/><br/>')
						.append('&bull; ' + fieldList.join('<br/>&bull; '))
						//.insertBefore('#frmSwitchToLumo');
						return false;
				};
			});*/
		});

		function submitForm(frmID)
		{
			$('.error-message').remove();
			$('#'+frmID+' :input.required').parent().removeClass('warning');
			$('#'+frmID+' :input.required').parent().parent().removeClass('warning');
			$('#'+frmID+' :input.required').trigger('blur');
			var numWarnings = $('#'+frmID+' .warning').length;
			if ($('#'+frmID+' :input[type="radio"]').parent().parent('.required').length)
			{				
				$('#'+frmID+' :input[type="radio"]').parent().parent('.required').each(function(index)
				{
					$radio = $(this).children().children('#'+frmID+' :input[type="radio"]');
					if ($radio.length)
					{
						var radioName = $radio.attr('name');
						if ($('#'+frmID+' input:radio[name='+radioName+']:checked').length)
							$(this).removeClass('warning');
						else
						{
							$(this).addClass('warning');
							numWarnings++;
						}
					}
				});	
			}
			var terms_and_conditions = true;
			if ($('#'+frmID+' #Terms_and_Conditions').length)
			{
				var $divItem = $('#Terms_and_Conditions').parent().parent();
				if (!$('#'+frmID+' #Terms_and_Conditions').attr('checked'))
				{
					numWarnings++;
					if ($divItem.length != 0)
						$divItem.addClass('warning');
					terms_and_conditions = false;
				}
				else
					$divItem.removeClass('warning');
			}
			if (numWarnings)
			{
				var fieldList = [];
				$('#'+frmID+' .warning Label').each(function() {
					fieldList.push($(this).text().replace('*',''));
				});
				if ($('#'+frmID+' :input[type="radio"]').parent().parent('.required').length)
				{		
					$('#'+frmID+' :input[type="radio"]').parent().parent('.required').each(function(index)
					{
						$radio = $(this).children().children('#'+frmID+' :input[type="radio"]');
						if ($radio.length)
						{
							var radioName = $radio.attr('name');
							if (!$('input:radio[name='+radioName+']:checked').length)
								fieldList.push(radioName.replace('_',''));
						}
					});
				}
				if (!terms_and_conditions)
					fieldList.push('Terms and Conditions');
				if ($('#'+frmID).attr("class") == "small_form")
				{
					if (!$('.error-message-without-box').length)
					{
						$('<div id="submit_message" class="error-message-without-box">Please fill in the required field(s).</div>')
							.insertBefore('#'+frmID);
					}
				}
				else
				{
					$('<div></div>')
						.attr({
							'class' : 'error-message'
						})
						.append('Please fill in the highlighted required field(s).')
						//.append('&bull; ' + fieldList.join('<br/>&bull; '))
						.insertBefore('#'+frmID);
				}

				if ($('#container-profile').length)
					$('#container-profile').jScrollPane();

				return false;
			}
			else
				return true;
		}

		function pushedKeyboard(evt,formID) {

			var keyCode = evt.keyCode;

			if (keyCode == 13) {
				if (submitForm(formID))
				{
					$('#'+formID).submit();
					evt.cancelBubble = true;
				}
			}
			else
				return false;
		}
