//проверка формы обратной связи
$(function() {
	$('div.callback-actions a.btn').click(function(){
		var name1 = $( "#form_feedback input[name=name1]" );
		var code = $( "#form_feedback input[name=code]" );
		var number = $( "#form_feedback input[name=number]" );
		var text = $( "#form_feedback textarea[name=text]" );
		var allFields = $( [] ).add( name1 ).add( code ).add( number ).add( text );
	
		function checkLength( o, n, min, max ) {
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass( "ui-state-error" );
				//updateTips( "Length of " + n + " must be between " + //	min + " and " + max + "." );
				return false;
			} else {
				return true;
			}
		}

		function checkRegexp( o, regexp, n ) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass( "ui-state-error" );
				updateTips( n );
				return false;
			} else {
				return true;
			}
		}
				
		var bValid = true;
		allFields.removeClass( "ui-state-error" );

		bValid = bValid && checkLength( name1, "username", 3, 16 );
		bValid = bValid && checkLength( code, "username", 3, 5 );
		bValid = bValid && checkLength( number, "username", 6, 10 );
		bValid = bValid && checkLength( text, "username", 3, 200 );
		
		if ( bValid ) {
			$("div.callback form").submit();
			$("div.callback").hide();
		}
		return false;
	});	
	//----------------------
	$('form[name=SIMPLE_FORM_1] input[type=submit]').click(function(){
		var form_text_1 = $( "form[name=SIMPLE_FORM_1] input[name=form_text_1]" );
		var form_text_2 = $( "form[name=SIMPLE_FORM_1] input[name=form_text_2]" );
		var form_email_3 = $( "form[name=SIMPLE_FORM_1] input[name=form_email_3]" );
		var form_text_4 = $( "form[name=SIMPLE_FORM_1] input[name=form_text_4]" );
		var form_textarea_5 = $( "form[name=SIMPLE_FORM_1] textarea[name=form_textarea_5]" );
		var allFields = $( [] ).add( form_text_1 ).add( form_text_2 ).add( form_email_3 ).add( form_text_4 ).add( form_textarea_5 );
	
		function checkLength( o, n, min, max ) {
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass( "ui-state-error" );
				//updateTips( "Length of " + n + " must be between " + //	min + " and " + max + "." );
				return false;
			} else {
				return true;
			}
		}

		function checkRegexp( o, regexp, n ) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass( "ui-state-error" );
				//updateTips( n );
				return false;
			} else {
				return true;
			}
		}
				
		var bValid = true;
		allFields.removeClass( "ui-state-error" );
			
		bValid = bValid && checkLength( form_text_1, "username", 3, 16 );
		bValid = bValid && checkLength( form_text_2, "username", 6, 16 );
		bValid = bValid && checkRegexp( form_text_2, /([0-9])+/i, "" );
		bValid = bValid && checkLength( form_email_3, "username", 9, 16 );
		bValid = bValid && checkRegexp(form_email_3,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "Некорректно заполнено поле \"Email\"");
		bValid = bValid && checkLength( form_text_4, "username", 3, 16 );
		bValid = bValid && checkLength( form_textarea_5, "username", 3, 200 );
		
		if ( bValid ) {
			$(this).click();
		}
		return false;
	});
	//----------------------
	$('form[name=SIMPLE_FORM_2] input[type=submit]').click(function(){
		var form_text_6 = $( "form[name=SIMPLE_FORM_2] input[name=form_text_6]" );
		var form_email_7 = $( "form[name=SIMPLE_FORM_2] input[name=form_email_7]" );
		var form_text_8 = $( "form[name=SIMPLE_FORM_2] input[name=form_text_8]" );
		var form_textarea_9 = $( "form[name=SIMPLE_FORM_2] textarea[name=form_textarea_9]" );
		var allFields = $( [] ).add( form_text_6 ).add( form_email_7 ).add( form_text_8 ).add( form_textarea_9 );
	
		function checkLength( o, n, min, max ) {
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass( "ui-state-error" );
				//updateTips( "Length of " + n + " must be between " + //	min + " and " + max + "." );
				return false;
			} else {
				return true;
			}
		}

		function checkRegexp( o, regexp, n ) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass( "ui-state-error" );
				//updateTips( n );
				return false;
			} else {
				return true;
			}
		}
				
		var bValid = true;
		allFields.removeClass( "ui-state-error" );
			
		bValid = bValid && checkLength( form_text_6, "username", 3, 16 );
		bValid = bValid && checkLength( form_email_7, "username", 9, 16 );
		bValid = bValid && checkRegexp(form_email_7,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "Некорректно заполнено поле \"Email\"");
		
		bValid = bValid && checkLength( form_text_8, "username", 6, 16 );
		bValid = bValid && checkRegexp( form_text_8, /([0-9])+/i, "" );
		bValid = bValid && checkLength( form_textarea_9, "username", 3, 200 );
		
		if ( bValid ) {
			$(this).click();
		}
		return false;
	});
	//----------------------
	$('form[name=SIMPLE_FORM_3] input[type=submit]').click(function(){
		var form_text_11 = $( "form[name=SIMPLE_FORM_3] input[name=form_text_11]" );
		var form_text_12 = $( "form[name=SIMPLE_FORM_3] input[name=form_text_12]" );
		var form_textarea_13 = $( "form[name=SIMPLE_FORM_3] textarea[name=form_textarea_13]" );
		var allFields = $( [] ).add( form_text_11 ).add( form_text_12 ).add( form_textarea_13 );
	
		function checkLength( o, n, min, max ) {
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass( "ui-state-error" );
				//updateTips( "Length of " + n + " must be between " + //	min + " and " + max + "." );
				return false;
			} else {
				return true;
			}
		}

		function checkRegexp( o, regexp, n ) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass( "ui-state-error" );
				//updateTips( n );
				return false;
			} else {
				return true;
			}
		}
				
		var bValid = true;
		allFields.removeClass( "ui-state-error" );
			
		bValid = bValid && checkLength( form_text_11, "username", 3, 16 );
		bValid = bValid && checkLength( form_text_12, "username", 9, 16 );
		bValid = bValid && checkRegexp(form_text_12,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "Некорректно заполнено поле \"Email\"");
		
		bValid = bValid && checkLength( form_textarea_13, "username", 3, 200 );
		
		if ( bValid ) {
			$(this).click();
		}
		return false;
	});
});

