$(document).ready(function () {
	cart = new Cart('maincart', {
		'presision':4
	}).load('maincart');	
	$('.addtocart').click(function(){
		var id = parseInt(this.id.substr(9));
		var quant=parseInt($('form#toCart'+id+' .search_field').val());
		var price = parseFloat($(this).parents('form').prev().html().replace(/,/,'.'));
		if (!/^[0-9]+?/.test($('form#toCart'+id+' .search_field').val())) {
			return false;
		}
		cart.add(id, price, quant);
	});
	$('.addtocartp').click(function(){
		var id = parseInt(this.id.substr(10));
		var quant=parseInt($('form.addcart .search_field').val());
		var price = parseFloat($(this).parents('form').children().eq(0).html().replace(/,/,'.'));
		if (!/^[0-9]+?/.test($('form.addcart .search_field').val())) {
			return false;
		}
		cart.add(id, price, quant);
	});
	//Красивые Alert'ы
 	window._alert = window.alert;
	window.alert = function(message) {
		$.pnotify({
			pnotify_title: 'Системное сообщение',
			pnotify_text: message,
			pnotify_delay: 5000
		});
	};
	$('.darkness').click(function(){
		$(this).fadeOut(200, function(){
			$('.feedback').hide(1, function(){
				var form = $('form[name="feedback"]');
				form.find('input,textarea').each(function(){
					$(this).parent().parent().removeClass('error');
				});
			});
		});
	});
	
	$('#closepopup').click(function(){
		$('.darkness').fadeOut(200, function(){
			$('.feedback').hide(1, function(){
				var form = $('form[name="feedback"]');
				form.find('input,textarea').each(function(){
					$(this).parent().parent().removeClass('error');
				});
			});
		});
	});
	
	$('#feedback_form').click(function(){
		$('.darkness').add('.feedback').show();
		return false;
	});
	
	$('#submitFeedback').live('click',function(){
		var form = $('form[name="feedback"]');
		var form_filled = true;
		form.find('input,textarea').each(function(){
			if ($(this).val()=='') {
				$(this).parent().parent().addClass('error');
				form_filled=false;
			} else {
				$(this).parent().parent().removeClass('error');
			}
		});
		if (form_filled) {
			$.ajax({
				'url':'/ajaxes/feedback/',
				'type':'POST',
				'data':form.serialize(),
				'success':function(data){
					data = JSON.parse(data);
					if (data=='OK') {
						var oldfeedback = $('.feedback').html(); 
						$('.feedback').addClass('thin');
						$('.feedback').html('<center>Ваша заявка успешно отправлена</center>');
						setTimeout((function(){
							$('.darkness').fadeOut(200, function(){
								$('.feedback').hide(1, function(){
									$('.feedback').html(oldfeedback).removeClass('thin');
								});
							});
						}),	3000);
					} else {
						for (var err in data) {
							$('#feedback_'+err).parent().parent().addClass('error');
						}
					}
				},
				'error':function(err){
					alert('Ошибка сервера');
				}
			});
		}
		return false;
	});
	
	$('.del_link').click(function(){
		var id=$(this).parent().parent().attr('id').substr(5);
		cart.remove(id); 
		return false;
	});
	
	$('.order_quantity').keyup(function(e){
		if (!/^[0-9]+?/.test($(this).val())) {
			return false;
		}
		var id=$(this).parent().parent().attr('id').substr(5);
		var quant=parseInt($(this).val());
		var price=parseFloat($(this).parent().prev().html());
		cart.add(id, price, quant, 'set_count');
	});
	
	//cart handlers
	$(window).bind('add2cart remove2cart load2cart', function(e, data) {
		if (data.cart.quantity.toString().length>1) {
			var lastTwo = parseInt(data.cart.quantity.toString().substr(data.cart.quantity.toString().length-2,2));
			if (lastTwo>=11 && lastTwo<=14) var suff='товаров'; 
		}
		if (suff==undefined) {
			var lastOf = parseInt(data.cart.quantity.toString().charAt(data.cart.quantity.toString().length-1));
			if (lastOf==1) var suff='товар';
			if (lastOf>1 && lastOf<5) var suff='товара';
			if ((lastOf>=5 && lastOf<=9) || lastOf==0) var suff='товаров';
		}
		$('.cart_ins p a').text(data.cart.quantity+' '+suff);
	});
	$(window).bind('add2cart', function(e, data) {
		$('#order'+data.params.id+' .total').html(data.cart.items[data.params.id].total);
		$('tr.last .carttotal').html(data.cart.total+' руб.');
	});
	$(window).bind('remove2cart', function(e, data){
		var hasprops=0;
		for (var prop in data.cart.items) {
			hasprops++;
		}
		if (!hasprops) {
			$('.content form').add('.content h2').remove();
			$('.content').append('<h2>Ваша корзина пуста</h2>');
			return false;
		}
		var obj=$('#order'+data.params.id);
		var index=obj.index();
		$('.cart_tbl tr:not(:last)').each(function(){
			if ($(this).index()>index) {
				$(this).children().eq(0).html(parseInt($(this).children().eq(0).html()-1)); 
			}
		});
		obj.remove();
		$('tr.last .carttotal').html(data.cart.total+' руб.');
	});
	
	$('.param').click(function(){
		$(this).next().css({'clear':'left'});
		$(this).next().slideToggle();
		return false;
	})
});
