﻿function setMenuItemActive(e)
{
	var p = $(this).parent();
		
	var imgh = $(".hover", p);
	if (!p.hasClass('active'))
	{
		imgh.css('display', '');
		p.css('z-index', 1);
		p.addClass('active');
	}
	else
	{
		imgh.css('display', 'none');
		p.removeClass('active');
		p.css('z-index', 3);
	}
}

function fade() {
	var obj = $(this);
	if (obj.css('display') == 'none') {
		obj.fadeIn('slow');
	}
	else {
		obj.fadeOut('slow');
	}
}

function setGoodImageSize(img, size, callback) {
	img.animate({
		width: size + 'px',
		height: size + 'px'
	}, 500, 'swing', callback);
}

function toggleGoodImage() {
	var imageBlock = $($(this).parents('.image').get(0));
	$('.magnify, .alt-images', imageBlock).each(fade);
}

function toggleGoodInfo() {
	var itemBlock = $($(this).parents('.item').get(0));
	var itemImage = $($('.image img', itemBlock).get(0));
	var itemImageHid = $(".image img.hidden", itemBlock);

	$('.show', itemBlock).toggle();
	$('.toggle', itemBlock).toggle('slow');
	$('.fade', itemBlock).each(fade);

	var srcAttr = "src";
	if (itemImage.attr("realsrc"))
		srcAttr = "realsrc";
	var newImgUrl = itemImageHid.attr(srcAttr);
	itemImageHid.attr( srcAttr, itemImage.attr(srcAttr));
	itemImage.attr( srcAttr, newImgUrl);
	
	if (srcAttr == "realsrc")
	{
		itemImage.get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + newImgUrl + "', sizingMethod='scale');";
	}


	if (!itemBlock.hasClass('item-full')) {
		itemBlock.addClass('item-full');
		itemBlock.animate({ minHeight: '205px' });

		$('.mounting', itemBlock).each(fade);
		setGoodImageSize(itemImage, 160, toggleGoodImage);
	}
	else {
		setGoodImageSize(itemImage, 80, null);

		itemBlock.animate({ minHeight: '75px' });
		itemBlock.removeClass('item-full');
	}
}

function toggleGoodListItem(ev) {
	var itemBlock = $($(this).parents('.item').get(0));

	if (!itemBlock.hasClass('item-full')) {
		$(this).each(toggleGoodInfo);
	}
	else {
		$('.magnify, .mounting', itemBlock).fadeOut('middle');
		$('.alt-images', itemBlock).fadeOut('middle', toggleGoodInfo);
	}
}

function addGoodToCart()
{
	var requestUrl = $(this).attr('href') + '&rnd=' + Math.random();
	
	$.get(requestUrl,
	  function(data){
			var iPos = data.search(/success/i);
	    if (iPos >= 0)
			{
				var iItemCount = parseInt(data.substr(iPos + 10, 4));
				alert("Товар успешно добавлен в корзину");
				$('.left-col .block-register .content .count span').html(iItemCount);
			}
	    else
				alert("Ошибка добавления товара");
		});
		
	return false;
}

function changeCartGood()
{
}

function setPlateContent(plate, text, image) {
	if (text)
		$('div.content', plate).html(text);
	if (image)
		$('.img img', plate).attr('src', image);
}

function setPlateText(e) {
	var a = $(this);
	var plate = a.parents('.plate').get(0);

	var text = a.next().html();
	var image = a.next().next().attr('src');

	setPlateContent(plate, text, image);
}

function setPlateDefault(e) {
	var plate;
	if ($(this).hasClass('plate'))
		plate = $(this);
	else
		plate = $(this).parents('.plate').get(0);

	var defText = $('.default span', plate).html();
	var defImage = $('.default img', plate).attr('src');

	setPlateContent(plate, defText, defImage);
}

var rotatorSpeedDefault = 1,
    rotatorFirstSpeed = 10,
    rotatorSecondSpeed = 25;

var rotatorTimer;
var rotatorMaxPosition = 0;
var rotatorMinPosition = 0;
var rotatorItems = Array();
var rotatorSpeed = rotatorSpeedDefault;

function rotatorStep(e) {
	var left = parseInt(e.position().left);
	if (left < -200)
		left = rotatorMaxPosition + 200;
	if (left > (rotatorItems.length - 1) * 200)
		left = rotatorMinPosition - 200;

	e.css("left", (left + rotatorSpeed) + "px");
}

function rotatorSetAbsolute(e) {
	$(this).css("position", "absolute");
}

function rotatorInitializeLeft(e) {
	var left = $(this).position().left;
	if (left > rotatorMaxPosition) rotatorMaxPosition = left;
	$(this).css("left", left + "px");
	rotatorItems.push($(this));
}

function rotateItem() {
	if (rotatorTimer) clearTimeout(rotatorTimer);

	if (rotatorItems.length > 0)
	{
		for (var i = 0; i < rotatorItems.length; i++)
			rotatorStep(rotatorItems[i]);

		var left = rotatorItems[0].position().left;
		rotatorMaxPosition = left;
		rotatorMinPosition = left;
		for (var i = 1; i < rotatorItems.length; i++) {
			left = rotatorItems[i].position().left;
			if (left > rotatorMaxPosition) rotatorMaxPosition = left;
			if (left < rotatorMinPosition) rotatorMinPosition = left;
		}

		rotatorTimer = setTimeout('rotateItem()', 50)
	}
}

function resetRotatorSpeed(e) {
	rotatorSpeed = rotatorSpeedDefault;
}
	
$(document).ready(function() {
	$('.content-section .menu-main .item').mouseover(setMenuItemActive).mouseout(setMenuItemActive);

	$(".content-section .content .good-list .item .opener").click(toggleGoodListItem);
	$(".content-section .content .good-list .item .btn-add-cart").click(addGoodToCart);
	$(".good-count").change(changeCartGood);

	$('.plate').each(setPlateDefault);
	$('.plate .item a').mouseover(setPlateText).mouseout(setPlateDefault);


	$('.scroll-rotator ul li').each(rotatorInitializeLeft).each(rotatorSetAbsolute);
	rotateItem();

	$(".scroll-rotator").hover(function() { rotatorSpeed = 0; }, resetRotatorSpeed);

	$(".rotator-contaner .left-panel a")
				.hover(function() { rotatorSpeed = -rotatorFirstSpeed; }, resetRotatorSpeed)
				.mousedown(function() { rotatorSpeed = -rotatorSecondSpeed; })
				.mouseup(function() { rotatorSpeed = -rotatorFirstSpeed; });

	$(".rotator-contaner .right-panel a")
				.hover(function() { rotatorSpeed = rotatorFirstSpeed; }, resetRotatorSpeed)
				.mousedown(function() { rotatorSpeed = rotatorSecondSpeed; })
				.mouseup(function() { rotatorSpeed = rotatorFirstSpeed; });
});
