jQuery.fn.validate = function() {
	var form=$(this);
	$(this).submit(function(){
		form.attr("valid", 1);
		$("input.email", form).each(function(){
			var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
			if (filter.test($(this).val())){
				$(this).removeClass("error");
			}else{
				$(this).addClass("error");
				form.attr("valid", 0);
			}
		});
		
		$("input.required", form).each(function(){
			if ($(this).val()){
				$(this).removeClass("error");
			}else{
				$(this).addClass("error");
				form.attr("valid", 0);
			}
		});
		
		$("input.required[name='phone']", form).each(function() {
			var filter = /^([0-9_\.\-\+\,\ \(\)\[\]])+$/;
			if (filter.test($(this).val())){
				$(this).removeClass("error");
			}else{
				$(this).addClass("error");
				form.attr("valid", 0);
			}
		});
		
		$("textarea.required", form).each(function(){
			if ($(this).val()){
				$(this).removeClass("error");
			}else{
				$(this).addClass("error");
				form.attr("valid", 0);
			}
		});

		$("select.required[name!='city']", form).each(function(){

			if(!$(this).get(0).selectedIndex) {

				$(this).addClass("error");
				form.attr("valid", 0);
			}
			else {

				$(this).removeClass("error");
			}
		});

		$("select.required[name='city']", form).each(function() {

			if(!$(this).get(0).selectedIndex) {

				if(!$(this).parent().find("input[name='city2']").val()) {

					$(this).addClass("error");
					form.attr("valid", 0);
				}
				else {

					$(this).removeClass("error");
				}
			}
			else {

				$(this).removeClass("error");
			}
		});
		

		if(form.attr("valid")==0) {

			$.jGrowl('Неправильно заполненная форма.')
			return false;
		}
	});
};

