// JavaScript Document

$(function() {
	var page = $("#page").val();
	var pattern = /^[1-9]{1}\d{0,2}$/;
	var basket = '/basket/';
	
	recheck();
		
	$('.lightBox').lightBox();
		
	$("#loadingWindow").ajaxStart(function() {
		$(this).modal({
			opacity:20,
			overlayCss: {backgroundColor:"#a6c9e2"}
		});
    }).ajaxStop(function() {
		$.modal.close();
    });
	
	$("#sb").click(function () {
		if($("#sf").val() != '') $(this).parent().submit();		
	});
	
	$("#TM" + page).addClass('selectedBg');
	$("#TM" + page + " a").css('color', '#FFF');	
	
	$("#TMenu a").hover(function() {
		var sPage = $(this).parent().attr('id').substr(2, $(this).parent().attr('id').length);
		if(sPage != page) {
			$(this).parent().removeClass('unselectedBg').addClass('selectedBg');
			$(this).css('color', '#FFF');
		}
	}, function() {
		var sPage = $(this).parent().attr('id').substr(2, $(this).parent().attr('id').length);
		if(sPage != page) {
			$(this).parent().removeClass('selectedBg').addClass('unselectedBg');
			$(this).css('color', '#623c05');
		}
	});
	
	$(".brandstyres div").hover(function() {
		if($(this).hasClass('unselectedBrand') || $(this).hasClass('selectedBrandtyres'))
			$(this).removeClass('unselectedBrand').addClass('selectedBrandtyres');
	}, function() {
		if($(this).hasClass('unselectedBrand') || $(this).hasClass('selectedBrandtyres'))
			$(this).removeClass('selectedBrandtyres').addClass('unselectedBrand');
	});
	
	$(".brandsdisks div").hover(function() {
		if($(this).hasClass('unselectedBrand') || $(this).hasClass('selectedBranddisks'))
			$(this).removeClass('unselectedBrand').addClass('selectedBranddisks');
	}, function() {
		if($(this).hasClass('unselectedBrand') || $(this).hasClass('selectedBranddisks'))
			$(this).removeClass('selectedBranddisks').addClass('unselectedBrand');
	});
	
	
	$('.basket').live('click', function (){ // добавление в корзину
		$('#table2 input').removeClass('error');
		var id = $(this).parent().parent().find('td:eq(1) input').val();
		var quantity = $(this).parent().parent().find('td:eq(8) input').val();		
		page = (page == 'search') ? $("#searchType").val() : page;
		var request = "id=" + id + "&quantity=" + quantity + "&type=" + page;
		var obj = $(this);
		var position = obj.position();
		if(pattern.test($(this).parent().prev().prev().children().val())) {			
			$.post(basket + "add", request, function(data) {							  				
				if(data.status == 'ok') {	
					$("#message").text('Товар добавлен в корзину').css({"left":position.left + 120 + "px", "top":position.top + 245 + "px"}).fadeIn('slow', function(){
						$(this).delay(1000).fadeOut();
						recheck();
					});
					
				} else if(data.status == 'error'){ //если ошибка
					$("#message").text(data.text).css({"left":position.left + 20 + "px", "top":position.top + 245 + "px"}).fadeIn('slow', function(){
						obj.parent().prev().prev().children().val(data.rest);
						var total = (data.rest == 0) ? 0 : data.rest * parseFloat(obj.parent().prev().prev().prev().text()) + " руб."
						obj.parent().prev().text(total);					
						$(this).delay(1000).fadeOut();
					});
					return;
				}
			}, 'json');		
		} else 
			$(this).parent().prev().prev().children().focus().addClass('error');
	});
	
	$('.price').live('keyup', function (){ // изменение кол-во товаров в корзине	
		$('#table2 input').removeClass('error');
		if(pattern.test($(this).val())) {
			var total = ($(this).val() == 0) ? 0 : $(this).val() * parseFloat($(this).parent().prev().text()) + " руб."
			$(this).parent().next().text(total)
		} else 
			$(this).addClass('error');
	});
});

	function createFilters(form, type, pref, size, convert) {	
		dfd = new jQuery.Deferred();
		$.post('/filters/getFilters', form.serialize() + "&type=" + type + "&convert=" + convert, function(data) {	
			fillFields(data, pref, size);
			 dfd.resolve("ok");		
		}, 'json');
	}
	
	function fillFields(data, pref, size) {
		$.each(data, function (name, value) {	
			if(name == 'pin') {
				$("#Tpin").attr('checked', value.checked);
				$("#Tpin").attr('disabled', value.disabled);
			} else if($("#" + pref + name).length>0 && $("#" + pref + name).attr('type') != 'hidden')
				$("#" + pref + name).html(value).css('width', size);
		});
	}
	
	function recheck() {
		$.post("/basket/recheck", null, function(data) {	
			$("#bq").text(data.quantity);
			$("#bt").text(data.total);
			if($("#summ").length > 0) 
				$("#summ").text(data.total + 500 + " руб.");
		}, 'json');
	}
	
	function loadListModels(path, page, value) { // загрузка списка моделей для шин
		$.post(path + "loadListModels", "type=" + value + "&page=" + page, function(data) {	
			$("#ajaxData").html(data);
		});	
	}	
