$(document).ready(function () {
	// меню
	$('.leftMenu li.main a').click(function() {
		if ($(this).parent().hasClass('selected')) {
			var ul = $(this).parent();
			$(this).parent().find('ul').fadeOut(400, function() {
				ul.toggleClass('selected');
			});
		} else {
			$(this).parent().find('ul').fadeIn(400);
			$(this).parent().toggleClass('selected');
		}
	});

	// FAQ
	$('#faqList li a').click(function() {
		if ($(this).parent().hasClass('selected')) {
			$(this).parent().toggleClass('selected');
			$(this).parent().find('.miniramka') .toggle();
		} else {
			$('#faqList li.selected').find('.miniramka') .hide();
			$('#faqList li.selected').removeClass('selected');
			$(this).parent().toggleClass('selected');
			$(this).parent().find('.miniramka') .toggle();
		}
	});

	$('#writeResp').click(function() {
		$('#basicResp').modal();
	});

	// анимация помещения в корзину
	$('.photBlok .phItem .tocart .noclick').click(function() {
		// если не нажато, то анимация
		var img_orig = $(this).parent().parent().find(".picAr img");
		animationToCart(img_orig);

		$(this).parent().find('a.noclick').hide();
		$(this).parent().find('a.click').show();
	});
	$('.tovar .tovarbuy .noclick').click(function() {
		var img_orig = $('.tovar .tovPics img');
		animationToCart(img_orig);

		$(this).parent().find('a.noclick').hide();
		$(this).parent().find('a.click').show();		
	});

	// Бандит
	$('.bandit .vrahat').click(function() {
		if (isStopBandit) {
			$(this).hide();
			$('.bandit .vrahat_click img').attr('src', 'none');
			$('.bandit .vrahat_click img').attr('src', 'images/ruchka_anim2.gif');
			$('.bandit .vrahat_click').show();
			startBandit();
			isStopBandit = false;
			var intBanditRuch = setInterval(function() {
				$('.bandit .vrahat').show();
				$('.bandit .vrahat_click').hide();
				clearInterval(intBanditRuch);
			}, 740);
		}
	});
});

function animationToCart(img_orig) {
	var offset_img = img_orig.offset();
	var img_clone = img_orig.clone();
	img_clone.prependTo($('body'));
	img_clone.wrap('<div class="itemToCartAnim"></div>');
	$('.itemToCartAnim').css('top', offset_img.top+'px').css('left', offset_img.left+'px');
	var offset_cart = $('#little_cart').offset();
	var k = $('.itemToCartAnim img').width() / $('.itemToCartAnim img').height();
	var n_row = Math.floor(offset_img.top / 220)-1;
	var duration; 
	if (n_row >= 3) {
		duration = (offset_img.top / 0.438)*0.25;
	} else {
		duration = (offset_img.top / 0.438)*(1-(0.25*n_row));
	}
	var scrolltop = $(document).scrollTop();
	$('.itemToCartAnim img').animate({
		width: (60*k)+"px",
		height: "60px"
	}, duration, "linear");
	$('.itemToCartAnim').animate({
opacity: 0,
		left: (offset_cart.left+25)+"px",
		top: offset_cart.top+"px"
	}, duration, "linear", function() {
		$('.itemToCartAnim').remove();
		animationScrollTop(scrolltop, duration);
	});
	animationScrollTop(0, duration);
}

var inerval_anim_scroll_top;
function animationScrollTop(pos, duration) {
	var fps = 25;
	var speed = ($(document).scrollTop() - pos)/((duration/4)/fps);
	clearInterval(inerval_anim_scroll_top);
	if (speed != 0 && duration != 0) {
		inerval_anim_scroll_top = setInterval(function() {
			$(document).scrollTop($(document).scrollTop()-speed);
			if (($(document).scrollTop() <= pos && speed > 0) || ($(document).scrollTop() >= pos && speed < 0)) {
				clearInterval(inerval_anim_scroll_top);
			}
		}, fps);
	}
}





var banditNCol = 3;
var banditHeightItem = 140; // высота блока
var banditCountCircle = 5; // число циклов прокрутки
var banditSpeed = 300;
var banditIsLoadData = false;
var banditIsLoadDataCheck = false;
var banditArrNewItems = null;
var isStopBandit = true;

function startBandit() {
	for (var i=1; i<=banditNCol; i++) {
		var listObj = $('.bandit #colBandit'+i+' .listItemsBandit');
		var itemFirst = listObj.find('.listItem:first').clone();
		itemFirst.appendTo(listObj);
		playAnimation (listObj, i, banditCountCircle, (banditSpeed+(50*(i-1))));
	}
	//
	$.post("shop/bandit/@is_ajax=1", {}, function(xml){
		var k = 0;
		banditArrNewItems = new Array();
		$(xml).find('item').each(function(){
			k++;
			banditArrNewItems[k] = new Array();
			banditArrNewItems[k]['id'] = $(this).find('id').text();
			banditArrNewItems[k]['group_name'] = $(this).find('group_name').text();
			banditArrNewItems[k]['name'] = $(this).find('name').text();
			banditArrNewItems[k]['url'] = $(this).find('url').text();
			banditArrNewItems[k]['group_url'] = $(this).find('group_url').text();
			banditArrNewItems[k]['pic'] = $(this).find('pic').text();
			banditArrNewItems[k]['pic_width'] = $(this).find('pic_width').text();
			banditArrNewItems[k]['pic_height'] = $(this).find('pic_height').text();
			banditArrNewItems[k]['marking_of_goods'] = $(this).find('marking_of_goods').text();
			banditArrNewItems[k]['price'] = $(this).find('price').text();
		});
		banditIsLoadData = true;
	}, "xml");
}

function playAnimation(listObj, nCol, count, time) {
	listObj.css('top', '0px');
	listObj.animate({
			top: (-listObj.height()+banditHeightItem)+"px"
		}, time, "linear", function() {
		if (count > 1 && !isStopBandit) {
			if (count == 2) {
				if (banditIsLoadData) {

					if (nCol == 1) {
						banditIsLoadDataCheck = true;
					}

					if (banditIsLoadDataCheck) {

var k = banditArrNewItems[nCol]['pic_width'] / banditArrNewItems[nCol]['pic_height'];
var h = 70;
var w = Math.round(h * k);

var html = '<div class="listItem">';
html += '<div class="catItem"><a href="'+banditArrNewItems[nCol]['group_url']+'">'+banditArrNewItems[nCol]['group_name']+'</a></div>';
html += '<div class="catIMG"><a href="'+banditArrNewItems[nCol]['url']+'"><img src="'+banditArrNewItems[nCol]['pic']+'" width="'+w+'" height="'+h+'" alt="#" /></a></div>';
html += '<div class="catArt"><a href="'+banditArrNewItems[nCol]['url']+'">'+banditArrNewItems[nCol]['name']+'</a></div>';		
html += '<div class="catPrice">'+banditArrNewItems[nCol]['price']+'</div>';
html += '</div>';

listObj.prepend(html);

						if (nCol == banditNCol) {
							banditIsLoadData = false;
							banditIsLoadDataCheck = false;
							banditArrNewItems = null;
						}
						playAnimation(listObj, nCol, count-1, time);
					} else {
						playAnimation(listObj, nCol, count, time);
					}
					
				} else {
					playAnimation(listObj, nCol, count, time);
				}
			} else {
				playAnimation(listObj, nCol, count-1, time);
			}
		} else {
			listObj.css('top', '0px');
			listObj.find('.listItem:eq(1)').remove();
			listObj.find('.listItem:last').remove();
			if (nCol == banditNCol) {
				isStopBandit = true;
			}
		}
	});	
}


// Корзина
var arrDeleteItems = null;
var arrUpdateItems = null;

function openCart() {
	var options = {
		url: "shop/cart/default.htm",
		type: "post",
		success: function(msg) {
			$('#basicCart').html(msg);
			$('#basicCart').modal({onClose: function() {
				changeCart();
				$.modal.close();
			}});
			$('#simplemodal-container').css("position","absolute");
			$('#simplemodal-container').css("top","10%");
			$('#simplemodal-container').css("height","auto");
			$('.simplemodal-wrap').css("overflow","hidden");
			initCart();
		}
	}
	$("#formShowCart").ajaxSubmit(options);
}
function closeCart() {
	//changeCart();
	$.modal.close();
}
function initCart() {
	arrDeleteItems = new Array();
	arrUpdateItems = new Array();

	$('#buttonNextStepCart').click(function() {
		openCartOrder();
	});
	getTotalSum();
}
function deleteItemCart(id) {
	if (arrDeleteItems['item'+id] == undefined) {
		$('#cartItem'+id).addClass('cartDeleted');
		$('#cartItem'+id+' .tenNone').show();
		$('#cartItem'+id+' .deleteCol a').hide();
		$('#cartItem'+id+' .deleteCol a.isDelete').show();
		arrDeleteItems['item'+id] = id;
		arrUpdateItems['item'+id] = undefined;
	} else {
		$('#cartItem'+id).removeClass('cartDeleted');
		$('#cartItem'+id+' .tenNone').hide();
		$('#cartItem'+id+' .deleteCol a').show();
		$('#cartItem'+id+' .deleteCol a.isDelete').hide();
		arrDeleteItems['item'+id] = undefined;
	}
	$('#cartItemCount'+id).change();
}
function changeItemCart(id, price) {
	var count = Number($('#cartItemCount'+id).val());
	if (count > 0) {
	} else {
		count = 1;
	}
	if (arrDeleteItems['item'+id] == undefined && arrDeleteItems['item'+id] == null) {
		arrUpdateItems['item'+id] = count;
	}

	var priceBlock = $('#cartItem'+id+' .priceTotal span');
	var formated_value = $().number_format(price * count, {
		numberOfDecimals:2,
		decimalSeparator: ',',
		thousandSeparator: ' ',
		symbol: ''}); 
	priceBlock.html(formated_value);
	
	getTotalSum();
	var totalSumFormat = $().number_format(totalSum, {
		numberOfDecimals:2,
		decimalSeparator: ',',
		thousandSeparator: ' ',
		symbol: ''}); ;
	$('.itog span').html(totalSumFormat);
}

var totalSum;
var itemsPrice = new Array();

function getTotalSum() {
	totalSum = 0;
	if (itemsPrice != undefined && itemsPrice != null) {
		for(var key in itemsPrice) {
			var id = key.substr(4);
			if (!$('#cartItem'+id).hasClass('cartDeleted')) {
				totalSum += itemsPrice[key] * Number($('#cartItemCount'+id).val());
			}
		}
	}
}

function changeCart() { // вызов изменения корзины по AJAX
	// Удаление
	var strItemsDelete = "";
	var i = 0;
	for(var key in arrDeleteItems) {
		if (arrDeleteItems[key] != undefined && arrDeleteItems[key] != null) {
			var id = arrDeleteItems[key];
			if (i != 0) {
				strItemsDelete += ",";
			}
			strItemsDelete += id.toString();
			i++;
			//
			$('#item'+id+' a.noclick').show();
			$('#item'+id+' a.click').hide();
			$('#tovarInfo'+id+' a.noclick').show();
			$('#tovarInfo'+id+' a.click').hide();		
		}
	}

	// Изменение
	var strItemsUpdate = "";
	i = 0;
	for(var key in arrUpdateItems) {
		if (arrUpdateItems[key] != undefined && arrUpdateItems[key] != null) {
			if (i != 0) {
				strItemsUpdate += ";";
			}
			var id = key.substr(4);
			strItemsUpdate += id+','+arrUpdateItems[key].toString();
			i++;
		}
	}

	var cmsrequest = 'shop/cart/@action=update_from_cart&update_items=' + strItemsUpdate+'&delete_items=' + strItemsDelete;
	sendRequest(cmsrequest, 'get', callbackfunction_AddIntoCart);

	arrDeleteItems = null;
	arrUpdateItems = null;
}


// Форма заказа
function openCartOrder() {
	var options = {
		url: "shop/cart/default.htm",
		type: "post",
		success: function(msg) {
			closeCart();
			$('#basicCart2').html(msg);
			$('#basicCart2').modal({onClose: function() {
				$.modal.close();
			}});
			$('#simplemodal-container').css("position","absolute");
			$('#simplemodal-container').css("top","10%");
			$('#simplemodal-container').css("height","auto");
			$('.simplemodal-wrap').css("overflow","hidden");
			initCartOrder();
		}
	}
	$("#formShowOrder").ajaxSubmit(options);
}
function initCartOrder() {
	var isEnabledButton = true;
	$('#buttonSendFormOrder').click(function() {
		if (testDataCartOrder() && isEnabledButton) {
		isEnabledButton = false;
		var options = {
			url: "shop/cart/default.htm",
			type: "post",
			success: function(msg) { // msg - номер заказа
				if (msg > 0) {
					$.post("shop/cart/@is_ajax=1", {is_success_order:1, n_order:msg}, function(data) {
						$.modal.close();
						$('#basicCart').html(data);
						$('#basicCart').modal();
						resetPage();
					}, "text");
				} else if (msg == -1) {
					$('#formOrderError').html('Произошла ошибка оформления заказа! Попробуйте повторить позднее.');
					isEnabledButton = true;
				}  else if (msg == -2) {
					$('#formOrderError').html('Поля, отмеченные *, обязательны к заполнению!');
					isEnabledButton = true;
				}
			}
		}
		$("#formSendOrder").ajaxSubmit(options);
		}
	});
	var sumDelvered = 199;
	$('.costgo span').html(sumDelvered);
	var totalSumFormat = $().number_format(totalSum+sumDelvered, {
		numberOfDecimals:2,
		decimalSeparator: ',',
		thousandSeparator: ' ',
		symbol: ''}); ;
	$('#formOrderSummTotal').html(totalSumFormat);
}

function testDataCartOrder() {
	var arr_field = new Array('order_field_name', 'order_field_phone_code', 'order_field_phone', 'order_field_address');
	var n_error = 0;
	for (var i=0; i<arr_field.length; i++) {
		var field = $('#'+arr_field[i]);
		if (field.val() == '') {
			field.addClass('error');
			if (n_error == 0) {
				field.focus();
			}
			n_error++;
		} else {
			field.removeClass('error');
		}
	}
	if (n_error > 0) {
		return false;
	}
	return true;
}

function resetPage() {
	sendRequest('shop/cart/@is_ajax=1&update_little_cart=1', 'get', callbackfunction_AddIntoCart);
	$('.photBlok .phItem .tocart').each(function(){
		$(this).find('a.noclick').show();
		$(this).find('a.click').hide();
	});
	$('.tovar .tovarbuy').each(function(){
		$(this).find('a.noclick').show();
		$(this).find('a.click').hide();		
	});
}
	

// кольцо - главная
function mainJewOver(n) {
	$('.kolco .jeweler #jew'+n).hide();
	$('.kolco .jeweler #jew'+n+'_over').show();
}
function mainJewOut(n) {
	$('.kolco .jeweler #jew'+n).show();
	$('.kolco .jeweler #jew'+n+'_over').hide();
}

// картинки для элемента
function setItemImage (n, small, big) {
	$('.tovar .pageNavi li a.set_pic').show();
	$('.tovar .pageNavi li span').hide();

	var li = $('#item_image_'+n);
	li.find('span').show();
	li.find('span').css('display', 'block');
	li.find('a.set_pic').hide();

	$('.tovPics img').attr('src', small);
	//$('.tovPics a').attr('href', big);

	$('.tovPics').unbind('click');
	$('.tovPics').bind('click', function() {
		li.find('a.thickbox').click();
	});
}
