
function ReloadCaptcha(image_selector, captchaKey, captchaHeight) {
	var antiCache = Math.floor(Math.random() * 100000);
	$(image_selector).attr({src: "/captcha.php?get_captcha=" + captchaKey + "&height=" + captchaHeight + "&anc=" + antiCache});
}
function to_int(v) {
	v = parseInt(v);
	if(isNaN(v)){
		v = 0;
	}
	return v;
}

var cartTimer;
var cartRecountTimer;
var slider_delivery_time_timer;

$(document).ready(function(){

	if($('#search').val() == 'Поиск...') {
		$('#search').css({color:'#797979'});
	}else {
		$('#search').css({color:'#000000'});
	}
	$('#search').focusin(function(){
		$(this).css({color: '#000000'});
		if($(this).val() == 'Поиск...'){
			$(this).val(null);
		}
	});
	$('#search').focusout(function(){
		if($(this).val() == ''){
			$(this).css({color:'#797979'});
	    	$(this).val('Поиск...');
	    }
	});

    $.tools.dateinput.localize("ru", {
   		months: 'Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь',
   		shortMonths:  'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec',
   		days:         'Понедельник,Вторник,Среда,Четверг,Пятница,Суббота,Воскресенье',
   		shortDays:    'Вс,Пн,Вт,Ср,Чт,Пт,Сб'
	});

	if($('a.fancy_foto').length){
		$("a.fancy_foto").fancybox({
	  		overlayShow: true,
    		overlayOpacity: 0,
    		speedIn: 100,
    		speedOut:100
  		});
	}
	$(".map-box .fancy_foto").hover(
    	function(){
    		$(this).parent('.holder').css({borderColor: '#818181'});
    	},
    	function(){
    		$(this).parent('.holder').css({borderColor: '#D2DADD'});
    	}
    );

    $('#feedbackForm').submit(function(){
    	var f = $(this);
    	// отключаем кнопку
    	$('[name=send]', f).attr({disabled: true});
    	setTimeout(function(){$('[name=send]', f).attr({disabled: false});}, 1000);
    	// показываем лоадер
    	$.fancybox.showActivity();
    	// удаляем старые уведомления
    	$('#feedbackBox .error, #feedbackBox .note').remove();
    	// отправлем данные формы
    	$.post('/contacts/', f.serialize(), function(data){
    		if(data.sended == '1') {
    			// очищаем поле сообщения
    			$('[name=umessage]', f).val(null);
    		}
    		// показываем уведомление
    		f.before(data.message_html);
    		// прячем лоадер
    		$.fancybox.hideActivity();
    		// обновляем капчу
    		$('[name=captcha_keystring]', f).val(null);
    		ReloadCaptcha('#feedbackCaptcha', $('[name=captcha_key]', f).val(), 30);
    	}, 'json');

    	return false;
    });

    $('#addReviewForm').submit(function(){
    	var f = $(this);
    	// отключаем кнопку
    	$('[name=send]', f).attr({disabled: true});
    	setTimeout(function(){$('[name=send]', f).attr({disabled: false});}, 1000);
    	// показываем лоадер
    	$.fancybox.showActivity();
    	// удаляем старые уведомления
    	$('.error, .note').remove();
    	// отправлем данные формы
    	$.post('/reviews/', f.serialize(), function(data){
    		if(data.sended == '1') {
    			// очищаем поле сообщения
    			$('[name=autor]', f).val(null);
    			$('[name=text_item]', f).val(null);
    		}
    		// показываем уведомление
    		f.before(data.message_html);
    		// прячем лоадер
    		$.fancybox.hideActivity();
    	}, 'json');

    	return false;
    });

    $('.btn-cart').click(function(){
    	var f = $($(this).attr('href'));
    	var a = $(this);
    	// показываем лоадер
    	$.fancybox.showActivity();
    	// удаляем старые уведомления
    	$('.cart_note').remove();
    	clearTimeout(cartTimer);
		$("#cart").removeClass('hover');
    	// отправлем данные формы
    	$.get('/shop/cart/', f.serialize(), function(data){
    		// показываем уведомление
    		a.parent('div').after(data.message_html);
    		// обновляем товары в корзине
    		$('#cart').html(data.cart_html);
    		$("#cart").addClass('hover');
			cartTimer = setTimeout(function() {
				$("#cart").removeClass('hover');
			}, 5000);
    		// прячем лоадер
    		$.fancybox.hideActivity();
    	}, 'json');

		return false;
    });

    $('.cancel_order').click(function(){
        return confirm('Вы действительно желаете отменить заказ?');
    });
    $('.repeat_order').click(function(){
        return confirm('Вы действительно желаете повторить заказ?');
    });
    $('.change_system_of_pay').click(function(){
    	var box = $($(this).attr('href'));
		if(box.is(':visible')) {
			box.hide();
		}else {
			box.show();
		}
		return false;
    });
   

	$("#gallerySlideshow .slider ul").tabs("#gallerySlideshow .frame ul > li", {
		current: 'active',
		tabs: 'li',
		effect: 'fade',
		/*fadeInSpeed: 10000,*/
		fadeOutSpeed: 'slow',
		rotate: true
	}).slideshow({
		autoplay: true,
		interval: 8000
	});

    $('[name=on_page]').change(function(){
    	$('.on_page_form').submit();
    });
	// корзина
	if($('#cartForm').length > 0) {
		$('.btn-number .up').click(function(){
	    	var box = $($(this).attr('href'));
	    	var id = box.attr('name');
	    	var val = to_int(box.val());
            var max = 0;
            if(box.attr('max') != undefined) {
                max = to_int(box.attr('max'));
            }
            val = val + 1;
            if(max > 0 && val > max) {
                val = max;
            }
	    	box.val(val);
	    	recountCartItem(id);
			return false;
	    });

	    $('.btn-number .down').click(function(){
	    	var box = $($(this).attr('href'));
	    	var id = box.attr('name');
	    	var val = to_int(box.val());
	    	if(val > 1) {
	    		box.val(val - 1);
	    		recountCartItem(id);
	    	}else {
	    		box.val(1);
	    	}

			return false;
	    });

	    $('.count_input').bind('blur keyup keydown', function() {
	        var box = $(this);
	        var val = to_int(box.val());
            var max = 0;
            if(box.attr('max') != undefined) {
                max = to_int(box.attr('max'));
            }
	    	if(val < 1) {
	    		val = 1;
	    	}
            if(max > 0 && val > max) {
                val = max;
            }
            
            $(this).val(val);
            
			recountCartItem($(this).attr('name'));
		});

	    $('#recount_order').bind('click', function() {
			recountCart(true);
			return false;
		});

	    $('.delete_cart_item').bind('click', function(data) {
	    	if(confirm('Вы уверены, что хотите удалить?')) {
	    		$.fancybox.showActivity();
	    		var a = $(this);
		    	$.get(a.attr('href'), {}, function(){
	    			a.parent('td').parent('tr').remove();
		    		recountCart(false);
		    		//$.fancybox.hideActivity();
		    	});
	    	}
			return false;
		});
	}
	// товары
	else {
	    $('.btn-number .up').click(function(){
	    	var box = $($(this).attr('href'));
            var val = to_int(box.val());
            var max = 0;
            if(box.attr('max') != undefined) {
                max = to_int(box.attr('max'));
            }
            val = val + 1;
            if(max > 0 && val > max) {
                val = max;
            }
            
	    	box.val(val);
			return false;
	    });

	    $('.btn-number .down').click(function(){
	    	var box = $($(this).attr('href'));
	    	var val = to_int(box.val());
	    	if(val > 1) {
	    		box.val(val - 1);
	    	}else {
	    		box.val(1);
	    	}
			return false;
	    });
        
	    $('.count_input').bind('blur keyup keydown', function() {
	        var box = $(this);
	        var val = to_int(box.val());
            var max = 0;
            if(box.attr('max') != undefined) {
                max = to_int(box.attr('max'));
            }
	    	if(val < 1) {
	    		val = 1;
	    	}
            if(max > 0 && val > max) {
                val = max;
            }
            
            $(this).val(val);
		});

	}

	// оформление заказа
	if($('#orderForm').length > 0) {
		$('#orderForm').submit(function(){
            var site_users_phone = $("[name=site_users_phone]").val();
			if(site_users_phone == '') {
				alert('Для оформления заказа необходимо указать телефон');
				return false;
			}else if(site_users_phone.charAt(3) == "8") {
			     return confirm('Ваш номер телефона '+site_users_phone+'. Верно?')
			}
            
            if($('[name=cond_of_delivery]:checked').val() == 2 && ($("[name=delivery_date]").val() == '' || $("[name=delivery_time_from]").val() == '' || $("[name=delivery_time_to]").val() == '')) {
				alert('Укажите дату и время к которому приготовить Ваш заказ');
				return false;
            }
		});
	    $("[name=site_users_phone]").mask("8 (999) 999-99-99");
	    $("[name=site_users_fax]").mask("8 (999) 999-99-99");
	    $("[name=delivery_order_phone_1]").mask("8 (999) 999-99-99");
	    $("[name=delivery_order_phone_2]").mask("8 (999) 999-99-99");
	    $("[name=delivery_time_from]").mask("99:99");
	    $("[name=delivery_time_to]").mask("99:99");

	    //в пределах 3-го кольца
	    $('#mkad_id_234').click(function(){
	        $('.mkad_id_233_info').hide();
	        $('.not_mkad_id_233_info').show();
	        recountDelivery();
	    });
	    //в пределах МКАД
	    $('#mkad_id_232').click(function(){
	        $('.mkad_id_233_info').hide();
	        $('.not_mkad_id_233_info').show();
	        recountDelivery();
	    });
	    //за МКАД
	    $('#mkad_id_233').click(function(){
	        $('.mkad_id_233_info').show();
	        $('.not_mkad_id_233_info').hide();
	        recountDelivery();
	    });
	    if($('[name=mkad_id]:checked').val() == 233) {
	        $('.mkad_id_233_info').show();
	        $('.not_mkad_id_233_info').hide();
	    }else {
	        $('.mkad_id_233_info').hide();
	        $('.not_mkad_id_233_info').show();
	    }
		// доставка / самовывоз
	    if($('[name=cond_of_delivery]:checked').val() == 3) {
	        $('.cond_of_delivery_info').show();
	        $('.no_delivery_info').hide();
	    }else {
	        $('.cond_of_delivery_info').hide();
	        $('.no_delivery_info').show();
	    }
	    $('#cond_of_delivery_3').click(function(){
	        $('.cond_of_delivery_info').show();
	        $('.no_delivery_info').hide();
	        recountDelivery();
	    });
	    $('#cond_of_delivery_2').click(function(){
	        $('.cond_of_delivery_info').hide();
	        $('.no_delivery_info').show();
	        recountDelivery();
	    });

	    $('[name=mkad_km]').bind('blur keyup keydown', function() {
	    	if($('[name=mkad_id]:checked').val() == 233) {
            	if(slider_delivery_time_timer)
                	clearTimeout(slider_delivery_time_timer);

				slider_delivery_time_timer = setTimeout(recountDelivery, 500);
	    	}
		});

	    $("[name=address_street]").autocomplete('/shop/cart/', {
			width: 318,
			max: 20,
			delay: 10,
			minChars: 2,
			matchSubset: false,
			autoFill: false,
			maxItemsToShow: 20
		});

	    $("#slider_delivery_time").slider({
	        from: 0,
	          to: 24,
	          step: 0.5,
	          round: 1,
	          dimension: '',
	          scale: ['00', '03', '06', '09', '12', '15', '18', '21', '24'],
	          limits: false,
	          onstatechange: function(value){
	            var f_t = value.split(";");
	            var r_value = Math.floor(f_t[0]);
	            if(f_t[0] < 10) {
	                r_value = "0" + Math.floor(f_t[0]);
	            }
	            if(Math.floor(f_t[0]) != f_t[0]) {
	                r_value = r_value + ':30';
	            }else {
	                r_value = r_value + ':00';
	            }
	            $("[name=delivery_time_from]").val(r_value);
	            var r_value = Math.floor(f_t[1]);
	            if(f_t[1] < 10) {
	                r_value = "0" + Math.floor(f_t[1]);
	            }
	            if(Math.floor(f_t[1]) != f_t[1]) {
	                r_value = r_value + ':30';
	            }else {
	                r_value = r_value + ':00';
	            }
	            $("[name=delivery_time_to]").val(r_value);

            if(slider_delivery_time_timer)
                clearTimeout(slider_delivery_time_timer);

			slider_delivery_time_timer = setTimeout(recountDelivery, 1000);

	          }
	    });
	}

});

function recountCartItem(id)
{
	clearTimeout(cartRecountTimer);
	cartRecountTimer = setTimeout(function() {
		recountCart(false);
	}, 400);
}

function recountCart(is_msg)
{
    // показываем лоадер
    $.fancybox.showActivity();
    // удаляем старые уведомления
    $('.error, .note, .performed').remove();
    // отправлем данные формы
    $.post('/shop/cart/', $('#cartForm').serialize(), function(data){
    	// товары
        $.each(data.cart_items, function(i, item) {
        	$('#cart_item_price_'+item.id).html(number_format(item.price, 0, '.', ' '));
        	$('#cart_item_sum_'+item.id).html(number_format(item.sum, 0, '.', ' '));
        });
    	// Итого цена
		$('#order_sum_value').html(number_format(data.order_sum, 0, '.', ' '));
    	// Итого количество
		var totalquantity = 0;
		$('.count_input').each(function(index) {
		    totalquantity += to_int($(this).val());
		});
		$('#totalquantity').html(totalquantity);
		// Скидка на шары
		if(data.balloon_discount_sum > 0) {
			$('#balloon_discount_value').html(data.balloon_discount_value);
			$('#balloon_discount_sum').html(number_format(data.balloon_discount_sum, 0, '.', ' '));
			$('#balloon_discount_row').show();
		}else {
			$('#balloon_discount_row').hide();
		}
		// Скидка по дисконтной карте
		if(data.coupon_discount_sum > 0) {
			$('#coupon_discount_value').html(data.coupon_discount_value);
			$('#coupon_discount_sum').html(number_format(data.coupon_discount_sum, 0, '.', ' '));
			$('#coupon_discount_row').show();
		}else {
			$('#coupon_discount_row').hide();
		}
		// Всего
		$('#full_sum_value').html(number_format(data.full_sum, 0, '.', ' '));
		// Дисконтная карта
		if(data.coupon_message_html != '' && is_msg) {
			$('.discount-card').append(data.coupon_message_html);
		}
		// сумма шариков < || > 500
		if(data.balloon_sum < 500) {
			$('.allowed_hide').show();
			$('.allowed_visible').hide();
		}else {
			$('.allowed_hide').hide();
			$('.allowed_visible').show();
		}
    	// прячем лоадер
    	$.fancybox.hideActivity();

    	// обновляем корзину в меню
    	$.get('/shop/cart/', {action: 'load_cart'}, function(data){
    		$('#cart').html(data.cart_html);
    	}, 'json');

    }, 'json');

}

function recountDelivery()
{
    // показываем лоадер
    $.fancybox.showActivity();
    // отправлем данные формы
    $.post('/shop/cart/', $('#orderForm').serialize(), function(data){
		$('#deliveryInfoBox').html(data.delivery_sum_html);
		$('#delivery_description_html').html(data.delivery_description_html);
		$('#delivery_time_message').html(data.delivery_time_html);
        
        if(data.order_allowed == 1) {
            $('.btn-send input').attr({disabled: false});
        }else {
            $('.btn-send input').attr({disabled: true});
        }
		$('#deliveryErrorBox').html(data.order_button_description_html);
        
    	// прячем лоадер
    	$.fancybox.hideActivity();
	}, 'json');
}

function number_format( number, decimals, dec_point, thousands_sep ) {	// Format a number with grouped thousands
	//
	// +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +	 bugfix by: Michael White (http://crestidg.com)

	var i, j, kw, kd, km;
	// input sanitation & defaults
	if( isNaN(decimals = Math.abs(decimals)) ){
		decimals = 2;
	}
	if( dec_point == undefined ){
		dec_point = ",";
	}
	if( thousands_sep == undefined ){
		thousands_sep = ".";
	}

	i = parseInt(number = (+number || 0).toFixed(decimals)) + "";

	if( (j = i.length) > 3 ){
		j = j % 3;
	} else{
		j = 0;
	}

	km = (j ? i.substr(0, j) + thousands_sep : "");
	kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
	//kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).slice(2) : "");
	kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");


	return km + kw + kd;
}

function recordOutboundLink(link, category, action) {
          try {
            var pageTracker=_gat._getTracker("UA-6823022-2");
            pageTracker._trackEvent(category, action);
            setTimeout('document.location = "' + link.href + '"', 100)
          }catch(err){}
        }
















