$(function() {
	if ($.mask) {
		$(".phone").mask("+7(999) 999-9999");
		$(".phone").attr('placeholder', '+7(код) ___-____');
		$(".date").mask("99-99-9999");
		$(".date").attr('placeholder', 'дд-мм-гггг');
	}
	
	if ($.placeholder) {
		$('input[placeholder], textarea[placeholder]').placeholder();
	}
	
	$('form.dynamic select').change(function() {
		var $el = $(this).parent().find('.sel-other')
			val = $.trim($(this).val().toLowerCase());		
		if ($el.length) {
			if ('иное' == val || 'другое' == val || 'иной' == val || 'другой' == val ) {
				$el.fadeIn();
			} else {
				$el.fadeOut();
			}
		}
	})
	
	$('form.dynamic').each(function() {
		var $gForm = $(this);
				
		$gForm.submit(function() {
			var $form = $(this);		
			$('div.err').remove();
			if ($form.data('code_checked')) {
				return true;
			}
			var f = $form.data('validate_func') ? $form.data('validate_func') : checkForm;
			//console.log(f);
			if (f($form, $gForm.data('show_err') ? true : false)) {
				if ($form.find('input[name=captcha]').length) {
					$.get($form.attr('action'), {
							action: 'check_captcha',
							captcha: $form.find('input[name=captcha]').val()
						},
						function(data) {
							if (data) {
								$form.data('code_checked', true);
								$form.submit();
							} else {
								$form.data('code_checked', false);
								$form.find('.captcha_lnk').click();
								if ($form.data('alert_err')) {
									alert('Был указан не верный код.');							
								} else {
									showErrBlock($form.find('input[name=captcha]'), 'Был указан не верный код.');
								}
							}
						},
						'json'
					);
				} else {
					return true;
				}
			}
			
			return false;
		});
		
		$gForm.find('.captcha_lnk').click(function() {
			var path = $gForm.data('captcha_path') ? $gForm.data('captcha_path')+'&' : '/captcha.php?'; 
			$(this).parent().parent().parent().find('img.captcha').attr('src', path+Math.random());
			$(this).parent().parent().parent().find('input[name=captcha]').val('');
			return false;
		});
	
		$gForm.find('.captcha_lnk').click();
	});
});