var PRICES = new Array();
PRICES["mountain"] = new Array(100, 380, 300, 560, 499, 800, 699, null);
PRICES["city"]     = new Array(100, 380, 300, 560, 499, 800);
PRICES["tourism"]  = new Array(300, 560, 499, 800);
PRICES["child"]    = new Array(100, 380);
PRICES["road"]     = new Array(499, 800);
PRICES["stunt"]    = new Array(100, 380, 300, 560, 499, 800, 699, null);

var catalogIndex = 0;
var PICTURE_WIDTH = 206;

var visualTimeOut = null;
var visualHtml    = null;
var hideTimeOut   = null;

function sliderVal(left, right, leftId, rightId, postfix) {
	$(leftId).get(0).value = left + postfix
	$(rightId).get(0).value = right + postfix
}

$(document).ready(function(){
	nextVisual();

	if ($('#slider-price').length) $('#slider-price').trackbar({
		onMove : function() {
			sliderVal(this.leftValue, this.rightValue, "#slider-price-l", "#slider-price-r", "$");
		},
		width : 288, // px
		leftLimit : 50, // unit of value
		leftValue : (parseInt($("#slider-price-l").val()) || 100), // unit of value
		rightLimit : 3000, // unit of value
		rightValue : (parseInt($("#slider-price-r").val()) || 800), // unit of value
		roundUp: 25,
		clearLimits : true,
		clearValues : true
	});
	if ($('#slider-price2').length) $('#slider-price2').trackbar({
		onMove : function() {
			sliderVal(this.leftValue, this.rightValue, "#slider-price2-l", "#slider-price2-r", "$");
		},
		width : 180, // px
		leftLimit : 0, // unit of value
		leftValue : (parseInt($("#slider-price2-l").val()) || 100), // unit of value
		rightLimit : 3000, // unit of value
		rightValue : (parseInt($("#slider-price2-r").val()) || 800), // unit of value
		roundUp: 25,
		clearLimits : true,
		clearValues : true
	});


	$(".b-cat__head h2 .link-js").click(function(){
		$(".b-cat__head").slideUp("slow")
		$(".b-cat__tale").slideDown("slow")
		return false
		})
	$(".b-cat__tale h2 .link-js").click(function(){
		$(".b-cat__head").slideDown("slow")
		$(".b-cat__tale").slideUp("slow")
		return false
		})

});

function catalogLeft() {
    if (catalogIndex < 0) {
        catalogIndex = catalogIndex + 1;
        scrollCatalog();
    }
    return false;
}

function catalogRight() {
    if (catalogIndex > 3 - $(".b-car__i2 div").size()) {
        catalogIndex = catalogIndex - 1;
        scrollCatalog();
    }
    return false;
}

function scrollCatalog() {
    $(".b-car__i2").animate({ "left" : catalogIndex * PICTURE_WIDTH }, "normal");
}

function showBikes(id, obj) {
	cancelHideBikes();

	if (visualTimeOut) {
		clearInterval(visualTimeOut);
		visualTimeOut = null;
		if ($(".visual-index").children("img")) visualHtml = $(".visual-index").html();
	}

	catalogIndex = 0;

	var prices = PRICES[id];

	$(obj).parent().siblings().removeClass("cur");
	$(obj).parent().addClass("cur");

	var root = $(".visual-index");
	root.children().remove();

	$("<img />").attr({ "src": "/i/visual/" + id + ".jpg" }).appendTo(
		$("<div />").attr({ "class": "img-holder" }).appendTo(root)
	);

	var holder = $("<div />").attr({ "class": "b-car" }).html('<a href="#" class="b-car__prev" onclick="return catalogLeft();"></a><a href="#" class="b-car__next" onclick="return catalogRight();"></a>').appendTo(root);
	holder = $("<div />").attr({ "class": "b-car__i" }).appendTo(holder);
	holder = $("<div />").attr({ "class": "b-car__i2" }).css({ "width": PICTURE_WIDTH * prices.length + "px" }).appendTo(holder);

	for (var i = 0; i < prices.length / 2; i++) {
		var price;
		if (prices[2 * i] && prices[2 * i + 1]) {
			price = prices[2 * i] + "-" + prices[2 * i + 1];
		}
		else {
			price = prices[2 * i] ? "от " + prices[2 * i] : "до " + prices[2 * i + 1];
		}
		price += '$';

		var url = id + '/?';
		url = url + "price[]=" + (prices[2 * i] || '') + '&';
		url = url + "price[]=" + (prices[2 * i + 1] || '');

		$("<div />").html('<a href="/catalogue/' + url + '"><img src="/i/visual/' + id + '/' + (i + 1) + '.jpg" alt="" />' + price + '</a>').appendTo(holder);
	}

	return false;
}

function cancelHideBikes() {
	if (hideTimeOut) {
		clearTimeout(hideTimeOut);
		hideTimeOut = null;
	}
}

function hideBikes() {
	if ($(".visual-index .b-car").length && !hideTimeOut) {
		hideTimeOut = setTimeout(realHideBikes, 200);
	}
}

function realHideBikes() {
	clearTimeout(hideTimeOut);
	hideTimeOut = null;

	$(".b-nav-side li.cur").removeClass("cur");

	$(".visual-index").children().remove();
	nextVisual();
	$(".visual img").css({ "opacity": 0 });
	$(".visual img.current").css({ "opacity": 1 });
}

function nextVisual() {
	if (!visualTimeOut) {
		if (visualHtml) {
			$(".visual-index").html(visualHtml);
		}
		visualTimeOut = setInterval(nextVisual, 5000);
		return;
	}

	$(".visual img").css({ "visibility": "visible" });

    var current = $(".visual img.current").removeClass("current");
    var next    = current.prev("img").length ? current.prev("img") : $(".visual img:last");

    next.animate({ "opacity": 1 }, 2000);
    current.animate({ "opacity": 0 }, 2000);

    next.addClass("current");
}