$(document).ready(function(){
	
	var spinner = new Image().src = '/i/spinner-black.gif';

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// cart 09.09.10
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////

	$('table.good button[name=put]').click(function(){
		var btn = $(this);
		$('#cart div.info, #cart p.cart, #cart p.checkout').css('display', 'block');
		$('#cart div.info').html('<img src="/i/spinner.gif" alt="spinner" title="добавляемс в корзину..." />');
		
		var good = $(this).parents('table.good');
		good.find('select, button').attr('disabled', 'disabled');
		
		var id = good.attr('id').substr(2);
		var size = good.find('select[name=size]').val();
		var color = good.find('select[name=color]').val();
		var qty = good.find('select[name=qty]').val();
		$.getJSON('/cart/_cart.html', {'do': 'put', 'good_id': id, 'size_id': size, 'color_id': color, 'qty': qty},
			function(data){
				$('#cart div.info').html('<b class="cnt">'+data.cnt+'</b> товар.<br/>на <b class="total">'+data.total+'</b> р.');
				good.find('select, button').removeAttr('disabled');
			}
		);
	}).mouseenter(function(){
		$(this).css({'background-position': '0px -80px', 'border': '1px solid #aaa'})
	}).mouseleave(function(){
		$(this).css({'background-position': '0px 0px', 'border': '1px solid #ccc'})
	});

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// cart page 09.09.10
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////
	$('table.cart-goods tr.good')
	.mouseenter(function(){
		$(this).addClass('hover');
		var td = $(this).find('td.pic');
		var pic = td.find('img');
		$('#cart-good-preview img').attr('src', pic.attr('src'));
		$('#cart-good-preview').css({
			'top': td.offset().top,
			'left': td.offset().left-210
		}).show();
	})
	.mouseleave(function(){
		$(this).removeClass('hover');
		$('#cart-good-preview').hide();
	})
	
	$('table.cart-goods select[name=size]').change(function(){
		var tr = $(this).parents('tr.good');
		var id = tr.attr('id').substr(2);
		var size = $(this).val();
		cartGoodsOverlay(true);
		$.post('/cart/_cart.html', {'do': 'update', 'id': id, 'size_id': size},
			function(data){
				tr.find('td.size-price span.price').text(data);
				recalc();
				cartGoodsOverlay(false);
			}
		);
	});
	
	$('table.cart-goods select[name=color]').change(function(){
		var tr = $(this).parents('tr.good');
		var id = tr.attr('id').substr(2);
		var color = $(this).val();
		cartGoodsOverlay(true);
		$.post('/cart/_cart.html', {'do': 'update', 'id': id, 'color_id': color},
			function(){
				cartGoodsOverlay(false);
			}
		);
	});

	$('table.cart-goods select[name=qty]').change(function(){
		var tr = $(this).parents('tr.good');
		var id = tr.attr('id').substr(2);
		var qty = $(this).val();
		cartGoodsOverlay(true);
		$.post('/cart/_cart.html', {'do': 'update', 'id': id, 'qty': qty},
			function(){
				recalc();
				cartGoodsOverlay(false);
			}
		);
	});

	$('table.cart-goods a.delete').click(function(){
		$('#cart-good-preview').hide()
		if($(this).hasClass('all')){
			cartGoodsOverlay(true);
			$.post('/cart/_cart.html', {'do': 'delete', 'id': 'all'},
				function(){
					clearCart();
				});
		} else {
			var tr = $(this).parents('tr.good');
			var id = tr.attr('id').substr(2);
			cartGoodsOverlay(true);
			$.post('/cart/_cart.html', {'do': 'delete', 'id': id},
				function(){
					tr.remove();
					recalc();
					cartGoodsOverlay(false);
				}
			);
		}
		return false;
	});
	
	function clearCart(){
		cartGoodsOverlay(false);
		$('div.cart-goods-div').remove();
		$('div.cart-checkout-div').remove();
		$('.content h1').text('Ваша корзина пуста :(');
	}
	
	function cartGoodsOverlay(on){
		if(on){
			var t = $('table.cart-goods');
			$('#cart-goods-overlay').css({
				'top':	t.offset().top, 
				'left': t.offset().left,
				'width': t.width(),
				'height': t.height(),
				opacity: .7
			}).show();
			$('table.cart-goods select').attr('disabled', 'disabled');
		} else {
			$('#cart-goods-overlay').hide();
			$('table.cart-goods select').removeAttr('disabled');
		}
	}
	
	function recalc(){
		
		$('table.cart-goods tr.group').each(function(){
			if(!$(this).next().hasClass('good')){
				$(this).remove();
			}
		});
		
		var total = 0;
		$('table.cart-goods tbody td.subtotal').each(function(){
			var price = parseInt($(this).parents('tr.good').find('td.size-price span').text());
			var qty = $(this).parents('tr.good').find('select[name=qty]').val();
			$(this).find('span').text(price*qty);
			total = total + price*qty
		});
		$('table.cart-goods td.total').text(total+' р.');
		if(total == 0){clearCart()}
	}

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// cart checkout form 09.09.10
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////

	$('div.cart-checkout-div ul.delivery-type li:not(.active)')
	.mouseenter(function(){
		$(this).addClass('hover');
	})
	.mouseleave(function(){
		$(this).removeClass('hover');
	})
	
	function checkDeliveryType(){
		if($('div.cart-checkout-div input[name=dtype]:checked').val() == 1){
			$('li.post div.note').hide();
			$('li.courier div.note').show();
			$('div.cart-checkout-div input[name=name]').attr('title', 'Представьтесь пожалуйста');
			$('div.cart-checkout-div li.name span').show();
			$('div.cart-checkout-div li.city-msk').show();
			$('div.cart-checkout-div li.metro').show();
			$('div.cart-checkout-div textarea[name=address]').attr('title', 'Адрес доставки (улица, дом, кв, подъезд, домофон, этаж) и как к вам добраться (для курьера)');
		} else {
			$('li.post div.note').show();
			$('li.courier div.note').hide();
			$('div.cart-checkout-div input[name=name]').attr('title', 'Фамилия, имя и отчество');
			$('div.cart-checkout-div li.name span').hide();
			$('div.cart-checkout-div li.city-msk').hide();
			$('div.cart-checkout-div li.metro').hide();
			$('div.cart-checkout-div textarea[name=address]').attr('title', 'Адрес отправки (обязательно ИНДЕКС, город, улица, дом, кв)');
		}
		$('div.cart-checkout-div input[name=dtype]:not(:checked)').parent().removeClass('active');
		$('div.cart-checkout-div input[name=dtype]:checked').parent().addClass('active');		
	}
	checkDeliveryType();
	
	$('div.cart-checkout-div input[name=dtype]').change(function(){	
		$('div.cart-checkout-div div.note').slideToggle();
		if($(this).val() == 1){
			$('div.cart-checkout-div input[name=name]').attr('title', 'Представьтесь пожалуйста').val('Представьтесь пожалуйста');
			$('div.cart-checkout-div li.name span').show();
			$('div.cart-checkout-div li.city-msk').show();
			$('div.cart-checkout-div li.metro').show();
			$('div.cart-checkout-div textarea[name=address]').attr('title', 'Адрес доставки (улица, дом, кв, подъезд, домофон, этаж) и как к вам добраться (для курьера)').val('Адрес доставки (улица, дом, кв, подъезд, домофон, этаж) и как к вам добраться (для курьера)');
		} else {
			$('div.cart-checkout-div input[name=name]').attr('title', 'Фамилия, имя и отчество').val('Фамилия, имя и отчество');
			$('div.cart-checkout-div li.name span').hide();
			$('div.cart-checkout-div li.city-msk').hide();
			$('div.cart-checkout-div li.metro').hide();
			$('div.cart-checkout-div textarea[name=address]').attr('title', 'Адрес отправки (обязательно ИНДЕКС, город, улица, дом, кв)').val('Адрес отправки (обязательно ИНДЕКС, город, улица, дом, кв)');
		}
		$('div.cart-checkout-div input[name=dtype]:not(:checked)').parent().removeClass('active');
		$(this).parent().addClass('active');
		validateCheckoutForm();
	});
	
	$('div.cart-checkout-div input[type=text], div.cart-checkout-div select, div.cart-checkout-div textarea')
	.focus(function(){
		$(this).addClass('active').parent().addClass('active');
		if($(this).val() == $(this).attr('title')){ $(this).val('') }
	})
	.blur(function(){
		if($(this).val() == $(this).attr('title') || $(this).val() == ''){
			$(this).val($(this).attr('title')).removeClass('active').parent().removeClass('active');
		} else {
			$(this).parent().removeClass('active');
		}
	})
	
	$('div.cart-checkout-div')
	.find('input[type=text], select, textarea').width(500);
	
	$('div.cart-checkout-div label[for=rm]')
	.mouseenter(function(){
		$(this).parent().addClass('active');
	})
	.mouseleave(function(){
		$(this).parent().removeClass('active');
	})
	
	function validateCheckoutForm(){
		var err = 0;
		$('div.cart-checkout-div input[type=text], div.cart-checkout-div textarea[name=address]').each(function(){
			if($(this).val() == $(this).attr('title') || $(this).val() == ''){
				err++;
				$(this).removeClass('active');
			} else {
				$(this).addClass('active');
			}
		});

		if(err == 0){
			$('div.cart-checkout-div input[type=submit]').removeAttr('disabled');
		} else {
			$('div.cart-checkout-div input[type=submit]').attr('disabled', 'disabled');
		}
	}
	validateCheckoutForm();
	
	$('div.cart-checkout-div input[type=text], div.cart-checkout-div textarea').keyup(function(){
		validateCheckoutForm();
	})

})
