// стандартная ajax-формаfunction general_form_default_ajax_submit (form_name, ajax_url, fnc_ok, fnc_err)	{		var label = $("#"+form_name+"_submit_btn").attr("value");		general_form_wait_start(form_name);		$.ajax({			url: ajax_url,			type: "POST",			timeout: 3600,			error: function () {							general_form_wait_finish(form_name);							$("#div_error_show").html("<p>Возникла ошибка при отправке и сохранении данных. Попробуйте еще раз.</p>").slideDown("slow");								},			success: function (data) {							general_form_wait_finish(form_name, label);							if ($.evalJSON(data).err>0) 											{												if ($.evalJSON(data).value != null) $("#div_error_show").html($.evalJSON(data).value).slideDown("slow").delay(5000).slideUp("slow");												else $("#div_error_show").html("<p>Возникла ошибка при отправке и сохранении данных. Попробуйте еще раз.</p>").slideDown("slow").delay(5000).slideUp("slow");												if (fnc_err) fnc_err.call(null,data);											}							else 											{												if ($.evalJSON(data).value != null) $("#div_confirm_show").html($.evalJSON(data).value).slideDown("slow").delay(5000).slideUp("slow");												else $("#div_confirm_show").html("Данные успешно сохранены!").slideDown("slow").delay(5000).slideUp("slow");												if (fnc_ok) fnc_ok.call(null,data);											}									},			data: $("#" + form_name + "form").serialize(),			cache: false		});	}// состояние "Ожидаем" при отправке формы (_submit_btn, _submit_wait - кнопка, картинка)function general_form_wait_start(form_name)	{		// прячем сообщения об ошибках		$("#div_error_show").hide();		$("#div_confirm_show").hide();		$("#"+form_name+"_submit_btn").attr("value","Обработка данных...").attr("disabled", "disabled");		$("#"+form_name+"_submit_wait").show();	}// выход из состояния "Ожидаем" при отправке формыfunction general_form_wait_finish (form_name, label)	{		if (!label) label = "Сохранить";		$("#"+form_name+"_submit_btn").attr("value",label).removeAttr("disabled");		$("#"+form_name+"_submit_wait").hide();		var Stamp = new Date();		$('#code_img').attr('src', 'http://tools20.ru/captcha/img.php?time=' + Stamp.getTime()); 		$('#code').val('');	}// показ формы входаvar show_auth_form_st = 0;var show_auth_form_vkload = 0;function show_auth_form ()	{		if (show_auth_form_st == 1)			{				$('#div_auth').hide();				$('#topdown').attr('src','http://tools20.ru/img/down.png');				show_auth_form_st = 0;			}		else			{				$('#div_auth').show();				$('#topdown').attr('src','http://tools20.ru/img/up.png');				show_auth_form_st = 1;				if (show_auth_form_vkload == 0)					{						show_auth_form_vkload = 1;						 VK.Widgets.Auth('vk_auth_top', {width: "200px", onAuth: function(vk_data) {							$.post("http://tools20.ru/auth/login_vk_ajax.php", $.param(vk_data),function(data){							if (data=='true') after_auth();							else alert("Неверные логин или пароль");							});						}});					}			}		return false;	}var validate = {	// http://docs.jquery.com/Plugins/Validation/Methods/emailemail: function(value) {	// contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/	return /^((([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.test(value);},// http://docs.jquery.com/Plugins/Validation/Methods/urlurl: function(value) {	// contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/	return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([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])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);}}	$(document).ready(function(){$(".menu_a").mouseover(function(){$(this).prev().attr("src","http://tools20.ru/img/sep_act.gif");}).mouseout(function(){$(this).prev().attr("src","http://tools20.ru/img/sep.gif");});$(".menu_aa").mouseover(function(){$(this).prev().attr("src","http://tools20.ru/img/sep.gif");}).mouseout(function(){$(this).prev().attr("src","http://tools20.ru/img/sep_act.gif");});});function OpenWindow(w,v,d,s)	{	eval("window.open('"+v+"','"+w+"','height="+s+",width="+d+",status=no,location=no,scrollbars=1;toolbar=no,directories=no,menubar=no');");	}function after_auth()	{		$('#menu_auth').html("<a href='http://tools20.ru/auth/logout.php'>Выход</a><br><a href='http://tools20.ru/profile'>Профиль</a>");		$('#div_auth').hide();	}function ajax_auth (form)	{		var all_err = "";		if (!$('input[name=user_mail]', form).val().length) all_err += "Необходимо указать email-адрес!\n";		else if (!validate.email($('input[name=user_mail]', form).val())) all_err += "Неверный формат email-адреса";		if (all_err) $('input[name=user_mail]', form).addClass('errbox');		if (($('input[name=user_password]', form).val().length<5)||($('input[name=user_password]', form).val().length>16)) 			{				all_err += "Неверная длина пароля!\n";				$('input[name=user_password]', form).addClass('errbox');			}		if (all_err)			{				alert("Войти не удалось. Причина:\n"+all_err);				return false;			}		$.post("http://tools20.ru/auth/login_ajax.php", "user_mail="+$('input[name=user_mail]', form).val()+"&user_password="+$('input[name=user_password]',form).val()+"&stay_in_system="+($('input[name=stay_in_system]',form).is(":checked")?'1':'0'),function(data){					if (data=='true') after_auth();					else alert("Войти не удалось. Причина:\nНеверные логин или пароль");			});		return false;	}
