$(function(){

	$('.callback-trigger').click(function(){
		popup_show();
		$('#callback').show().css({top: 64});
		if ($.browser.msie && $.browser.version < 7) {
			$('.c .bg', '#callback').height(
				$('.c', '#callback').height()
			);
		}
		$('img', '#callback').attr('src', '/cap/' + Math.random() * 10000 + '.jpg');
		return false;
	});
	
	$('.callback').click(function(){
		popup_show();
		$('#callback').show();
		if ($.browser.msie && $.browser.version < 7) {
			$('.c .bg', '#callback').height(
				$('.c', '#callback').height()
			);
		}
		$('#callback').css({
			top: (self.pageOffsetY || document.documentElement.scrollTop) +
				Math.ceil(($(window).height() - $('#callback').height()) / 2) 
		});
		$('img', '#callback').attr('src', '/cap/' + Math.random() * 10000 + '.jpg');
		return false;
	});

    $('.close', '#callback').click(function(){
	   popup_hide();
	   return false;
	});

	$('input[type=text], textarea', '#callback').attr('autocomplete', 'off').val('');
	$('.select .current', '#callback').html('&nbsp;');
		
	$('.trigger a, .current', '#callback').click(function(){
		var $select = $(this).parents('.select');
		$('ul', $select).toggle();
		return false;	
	});
	$('.select li', '#callback').hover(function(){
		$(this).addClass('hover');
	}, function(){
		$(this).removeClass('hover');
	});
	$('.select li', '#callback').click(function(){
		var $select = $(this).parents('.select');
		$('.current', $select).html($(this).html());
		$select.prev('input').val($(this).html());
		$('ul', $select).hide();
		return false;
	});
	$('form', '#callback').submit(function(){
		if (!$('#f_name', '#callback').val()) {
			alert('Укажите имя');
			$('#f_name', '#callback').focus();
			return false;
		}
		if (!$('#f_phone', '#callback').val().replace(' ', '') ||
			!/^[-0-9()+ ]+$/.test($('#f_phone', '#callback').val())) {
			alert('Укажите телефон');
			$('#f_phone', '#callback').focus();
			return false;
		}
		if (!$('#f_from', '#callback').val()) {
			alert('Укажите время звонка');
			$('#f_from', '#callback').next('.select').find('ul').show();
			return false;
		}
		if (!$('#f_to', '#callback').val()) {
			alert('Укажите время звонка');
			$('#f_to', '#callback').next('.select').find('ul').show();
			return false;
		}
		
		//pageTracker._trackPageview('/callback/');
		_gaq.push(['_trackPageview', '/callback/']);
		
		$.post('/callback.php', $(this).serialize(), function(reply){
				if (reply == -1) {
					alert('Неверный код подтверждения');
					//$('img', '#callback').attr('src', '/cap/' + Math.random() * 10000 + '.jpg');
					//$('#f_cap', '#callback').focus();
				} else {
					$('form', '#callback').hide(250, function(){
						if (reply == 1)
							$(this).after('<p>Спасибо, ваш запрос принят!</p>');
						else
							$(this).after('<p>Произошла ошибка, попробуйте повторить ваш&nbsp;запрос позже.</p>');
						$('input[type=text], textarea', '#callback').val('');
						$('.select .current', '#callback').html('&nbsp;');
					});
				}
		});		
	
		return false;
	});
	
	
	$('input[type=text]', '.callback-fast')
		.attr('autocomplete', 'false')
		.focus(function(){
			if ($(this).val() == 'Номер Вашего телефона')
				$(this).val('');
		}).blur(function(){
			if ($(this).val() == '')
				$(this).val('Номер Вашего телефона');
		});
		
	$('.callback-fast-form').submit(function(){
		if (!$('.ffast_phone', this).val().replace(' ', '') ||
			!/^[-0-9()+ ]+$/.test($('.ffast_phone', this).val())) {
			alert('Укажите телефон');
			$('.ffast_phone', this).focus();
			return false;
		}
		
		_gaq.push(['_trackPageview', '/callback/']);
		
		var self = this;
		$.post('/callback-fast.php', $(this).serialize(), function(reply){
				if (reply == -1) {
					alert('Неверный код подтверждения');
				} else {
					if (reply == 1)
						var html = 'Спасибо, ваш запрос принят!';
					else
						var html = 'Произошла ошибка, попробуйте повторить ваш&nbsp;запрос позже.';
					$('td.reply', self).html(html);	
				}
		});		
	
		return false;
	});

});
