var colorpicker_is_toggle = false;
var questions_count = 6;
var myColWidth = 330;
var marginCol = 20;
var borderColWidth=  3;
var curColWidth = myColWidth;
//var isWait = false;
$(document).ready(function(){
	var $paneTarget = $('body');
	$('.scroll_link').click(function(){
		var $target = $paneTarget.find('#' + $(this).attr('goto'));
		if ($target.length)
			$paneTarget.stop().scrollTo( $target , 500);
	});
	$('#catalog_map2 li.root').css({position: 'static', top: '', left: '', width: ''});
	smartColumns2();
	if($('#catalog_map3').length){
		$('#catalog_map3 li.root').css({position: 'static', top: '', left: '', width: ''});
		smartColumns_new();
	}
	// форма заказа
	$('.order_link').click(function(){
		$.fancybox({
			'href'				: '#order_form',
			'transitionIn'		: 'none',
			'transitionOut'		: 'none',
			'titlePosition' 	: 'over'
		});
	});
	$(".slideToggle").click(function(){
		$(this).next().slideToggle("normal");
	});
	// переключение между городами
	$('.change_city_link').click(function(e) {
		e.preventDefault();
		var city_id = $(this).attr('city_id');
		//$('.contacts_container').css('display', 'none');
		//$('.contacts_container[city_id='+city_id+']').css('display', '');
		switch (city_id){
			case 'spb': 
				$("#top_contacts .msk").css('display','none');
				$("#top_contacts .spb").css('display','block');
				$("#switch_contacts .msk").removeClass('current');
				$("#switch_contacts .spb").addClass('current');
				$("#contacts_panel_msk").css('display','none');
				$("#contacts_panel_spb").css('display','block');
				$("#switch_contacts_on_page .msk").removeClass('current');
				$("#switch_contacts_on_page .spb").addClass('current');
				break;
			case 'msk': 
				$("#top_contacts .spb").css('display','none');
				$("#top_contacts .msk").css('display','block');
				$("#switch_contacts .spb").removeClass('current');
				$("#switch_contacts .msk").addClass('current');
				$("#contacts_panel_spb").css('display','none');
				$("#contacts_panel_msk").css('display','block');
				$("#switch_contacts_on_page .spb").removeClass('current');
				$("#switch_contacts_on_page .msk").addClass('current');
				break;
			default :{
				$("#top_contacts .spb").css('display','none');
				$("#top_contacts .msk").css('display','block');
				$("#switch_contacts .spb").removeClass('current');
				$("#switch_contacts .msk").addClass('current');
				$("#contacts_panel_spb").css('display','none');
				$("#contacts_panel_msk").css('display','block');
				$("#switch_contacts_on_page .spb").removeClass('current');
				$("#switch_contacts_on_page .msk").addClass('current');
				break;
			}
		}
		// сохранение в сессии
		$.ajax({
			type: "POST",
			url: BASEURL + 'index/set_city/',
			data: 'user_city_id=' + city_id
		});
	});
	function smartColumns2() { //Create a function that calculates the smart columns
		//Reset column size to a 100% once view port has been adjusted
		$('#catalog_map2 li.root').css({position: 'static', top: '', left: '', width: ''});
		$("ul#catalog_map2").css({ 'width' : "100%"});
		var colWrap = $("ul#catalog_map2").width(); //Get the width of row
		var colNum = Math.floor(colWrap / myColWidth); //Find how many columns can fit per row / then round it down to a whole number
		var colFixed = Math.floor((colWrap - marginCol*(colNum-1) - borderColWidth*2*colNum) / colNum); //Get the width of the row and divide it by the number of columns it can fit / then round it down to a whole number. This value will be the exact width of the re-adjusted column
		//colFixed = colFixed + Math.floor((colWrap-colFixed*colNum - marginCol*(colNum-1) - borderColWidth*2*colNum)/colNum);
		curColWidth = colFixed;
		$("ul#catalog_map2").css({ 'width' : colWrap}); //Set exact width of row in pixels instead of using % - Prevents cross-browser bugs that appear in certain view port resolutions.
		$("ul#catalog_map2 li.root").css({ 'width' : curColWidth}); //Set exact width of the re-adjusted column	
		//alert(colNum);
		//alert(colWrap + ' - ' + (marginCol*(colNum-1)) + ' - ' + (borderColWidth*2*colNum));
		//alert($("ul#catalog_map2 li.root").css("width"));
		$('#catalog_map2 li.root').css({position: 'static', top: '', left: ''});
		$('#catalog_map2').masonry({
				singleMode: true, 
				columnWidth: curColWidth+16,
				resizeable: false,
				itemSelector: '.root' 
			});
		$('#catalog_map2 li.root').css({position: 'absolute'});
	}
	function smartColumns_new() {
		//Reset column size to a 100% once view port has been adjusted
		$('#catalog_map3 li.root').css({position: 'static', top: '', left: '', width: ''});
		$("ul#catalog_map3").css({ 'width' : "100%"});
		var colWrap = $("ul#catalog_map3").width(); //Get the width of row
		var colNum = Math.floor(colWrap / myColWidth); //Find how many columns can fit per row / then round it down to a whole number
		var colFixed = Math.floor((colWrap - marginCol*(colNum-1) - borderColWidth*2*colNum) / colNum); 
		curColWidth = colFixed;
		$("ul#catalog_map3").css({ 'width' : colWrap}); //Set exact width of row in pixels instead of using % - Prevents cross-browser bugs that appear in certain view port resolutions.
		$("ul#catalog_map3 li.root").css({ 'width' : curColWidth}); //Set exact width of the re-adjusted column	
		$('#catalog_map3 li.root').css({position: 'static', top: '', left: ''});
		$('#catalog_map3').masonry({
				singleMode: true, 
				columnWidth: curColWidth+16,
				resizeable: false,
				itemSelector: '.root' 
			});
		$('#catalog_map3 li.root').css({position: 'absolute'});
	}
	$(window).resize(function () { //Each time the viewport is adjusted/resized, execute the function
		smartColumns2();
		smartColumns_new(); //for the catalog map under search panel on catalog index page
	});
	// переключение между типами пользователей
	$('.user_type_item').click(function() {
		var type_id = $(this).attr('type');
		$('.user_type_item').removeClass('current');
		$('.user_type_item[type='+type_id+']').addClass('current');
		$('#questions_tab #house div').removeClass().addClass('people_'+type_id);
		// сохранение в сессии
		$.ajax({
			type: "POST",
			url: BASEURL + 'index/set_type/',
			data: 'user_type_id=' + type_id
		});
	});
	// При клике по ссылке на видео открываем fancybox с видеороликом
	$('.watch_video_link').fancybox({
		'titlePosition'		: 'over',
		'transitionIn'		: 'none',
		'transitionOut'		: 'none'
	});
	setTimeout(function () {
		$(".alert_ok").fadeOut(function(){
			$(this).remove();
			});
		}, 4000);
	$("a[rel=album]").fancybox({
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'titlePosition' 	: 'over'
	});
	$("a.lightbox").fancybox({
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'titlePosition' 	: 'over'
	});
	//$("#item_info_tabs").tabs();
	
	$("#sidebar_search_form_switcher").click(function(){
		if ($("#search_catalog_form").is(':visible')) {
			$("#sidebar_search_form_switcher span").text('← Показать форму поиска');
			$("#search_catalog_form").slideUp();
		} else {
			$("#sidebar_search_form_switcher span").text('→ Скрыть форму поиска');
			$("#search_catalog_form").slideDown();
		}
	});
	
	var price_calculate = function() {
		var item_name = $('#price_name_input').val();
		
		$.ajax({
			url: BASEURL + 'index/prices/',
			type: 'post',
			beforeSend: function(){
				var preloader = '<div class="price-request-once"><img src="'+BASEURL+'images/ajax_loader_orange.gif" alt="" style="position:relative; top:3px; margin-right:10px;" />Пожалуйста, подождите, идет поиск</div>';
				$('#prices_result').html(preloader);
				$('#prices_result').css('display', 'block');
			},
			data: 'price_name=' + item_name,
			success: function(data){
				$('#prices_result').html(data);
				$('#prices_result').css('display', 'block');
			}
		});
	};
	
	// форма запроса стоимости
	$('#price_submit').click(function(e){
		e.preventDefault();
		price_calculate();
	});
	
	$('#price_name_input').keyup(function(e){
		e.preventDefault();
		if (e.which == 13) // Enter
		{
			price_calculate();
		}
	});
	
	$('.price-catalog-link').live('click', function(e){
		e.preventDefault();
		$('#price_form').submit();
	});
	
	
	// переключение формы поиска
	$('#search_type_tabs li a').click(function(e){
		e.preventDefault();
		var tab_id = $(this).attr('tab_id');
		$('.search_tab').css('display', 'none');
		$('#' + tab_id).css('display', 'block');
		$('#search_type_tabs li').removeClass('current');
		$('#search_type_tabs a[tab_id="'+tab_id+'"]').parent().addClass('current');
		if ($('#search_catalog_form').css('display') == 'none')
			$('#search_catalog_form').slideToggle('fast');
		
		$('#sidebar_r .search_form_slide_link').css('display', '');
		
		$('#content .search_form_slide_link').children('span').html('↑ Скрыть форму поиска');
		smartColumns2();
		//$(this).parent().addClass('current');
	});
	// скрыть форму поиска
	$('.search_form_slide_link').click(function() {
		if ($('#search_catalog_form').css('display') == 'none'){
			if ($(this).attr('is_search') == '1'){
				$(this).children('span').html('↑ Скрыть форму поиска');
				$('#sidebar_r .search_form_slide_link').css('display', '');
			}else
				$(this).css('display', '');
			$('#search_catalog_form').slideToggle('fast');
			var tab_id = $('#content #search_type_tabs li.current a').attr('tab_id');
			$('#sidebar_r #search_type_tabs a[tab_id="'+tab_id+'"]').parent().addClass('current');
		}else{
			if ($(this).attr('is_search') == '1'){
				$(this).children('span').html('↓ Показать форму поиска');
				$('#sidebar_r .search_form_slide_link').css('display', 'none');
			}else{
				$(this).css('display', 'none');
				$('#content .search_form_slide_link').children('span').html('↓ Показать форму поиска');
			}
			$('#search_catalog_form').slideToggle('fast');
			$('#sidebar_r #search_type_tabs li').removeClass('current');
		}
	});
	// Форма поиска товара, обработка событий {start}
	catalog_search_text_default = SEARCH_DEFAULT_TITLE;
	catalog_search_color_default =  "#aaaaaa";
	if($("#catalog_search_input").val() == "")
		$("#catalog_search_input").val(catalog_search_text_default).css("color", catalog_search_color_default);
	$("#catalog_search_input").focus(function(){
		if($(this).val() == catalog_search_text_default)
			$(this).css("color", "").val("");
	});
	$("#catalog_search_input").blur(function(){
		if($(this).val()=="")
			$(this).css("color", catalog_search_color_default).val(catalog_search_text_default);
	});
	$("#search_submit_btn").show();
	$("#search_submit_btn").click(function() {
		if($("#catalog_search_input").val() == catalog_search_text_default)
			$("#catalog_search_input").val("");
		//$("#search_submit").val("1");
		$("#search_form").submit();
	});
	// Форма поиска товара, обработка событий {end}
	$('.zoom').hover(function() {
		
		
		/**==========================
		 * чтобы не сплывало
		 * ==========================
		 */
		return true;
		//===========================
		
			var item_id = $(this).attr('item_id');
			//$('.item_info_hidden[item_id="'+item_id+'"]').css('display', 'block');
			$('.item_info_hidden[item_id="'+item_id+'"]').fadeIn(250);
		},
		function() {
			
			/**==========================
			 * чтобы не сплывало
			 * ==========================
			 */
			return true;
			//===========================
			
			
			var item_id = $(this).attr('item_id');
			//$('.item_info_hidden[item_id="'+item_id+'"]').css('display', 'none');	
			$('.item_info_hidden[item_id="'+item_id+'"]').fadeOut(250);	
	});
	// выбор цветов
	$('div.color_rgb').live('click', function(){
		$('div.color_rgb').removeClass('color_current');
		$(this).addClass('color_current');
		var color_id = $(this).attr('color_id');
		var color_rgb = $(this).attr('color_rgb');
		$('input[name="item_color"]').val(color_id);
	});
	// смена производителей
	$('select[name="item_category"]').live('change', function(){
		var cat_id = $('select[name="item_category"] option:selected').val();
		$.ajax({
			type: 'POST',
			data: 'category_id=' + cat_id,
			url: BASEURL + 'catalog/get_producers/',
			beforeSend: function(){
				cursor_wait();
			},
			complete: function(){
				cursor_clear();
			},
			success: function(data) {
				$('#producers_container').html(data);
			}
		});
	});
	$('#questions_tab').bind('mousemove',function(event){
		$('#ajax_loader_img').css({left: event.pageX+5, top: event.pageY-30});
	});
	// смена цветов (основная форма)
	$('select[name="item_question_variant_1"]').live('change', function(){
		var cat_id = $('select[name="item_question_variant_1"] option:selected').val();
		if (cat_id != 0){
			if ($('.color_block_hidden[category_id="'+cat_id+'"]').size() > 0){
				var color_html = $('.color_block_hidden[category_id="'+cat_id+'"]').html();
				if (color_html != ''){
					$('.color_container').html(color_html);
					$('#color_form').css('display', 'block');
				}else{
					$('.color_container').html('');
					$('#color_form').css('display', 'none');
				}
			}else{
				$('.color_container').html('');
				$('#color_form').css('display', 'none');
			}
			$('input[name="item_color"]').val('');
			$('div.any_color').addClass('color_current');
		}else
			$('#color_form').css('display', 'none');
	});
	// смена цветов (форма на главной)
	$('div[name="item_question_variant_1"]').live('click', function(){
		var cat_id = $(this).attr('variant_id');
		if (cat_id != 0){
			if ($('.color_block_hidden[category_id="'+cat_id+'"]').size() > 0){
				var color_html = $('.color_block_hidden[category_id="'+cat_id+'"]').html();
				if (color_html != ''){
					$('.color_container').html(color_html);
					$('#color_form').css('display', 'block');
				}else{
					$('.color_container').html('');
					$('#color_form').css('display', 'none');
				}
			}else{
				$('.color_container').html('');
				$('#color_form').css('display', 'none');
			}
			$('input[name="item_color"]').val('');
			$('div.any_color').addClass('color_current');
		}else
			$('#color_form').css('display', 'none');
	});
	// пересчет в складе
	$('.item_quantity').live('keyup', function() {
		var item_id = $(this).attr('item_id');
		var item_qty = parseFloat($(this).val().replace(',', '.'));
		var item_expense = parseFloat($('.item_expense[item_id='+item_id+']').val());
		var item_price_count = parseFloat($('.item_price_count[item_id='+item_id+']').val());
		var item_price_square = parseFloat($('.item_price_square[item_id='+item_id+']').val());
		// обновляем цену за данный товар
		var item_price = item_qty * item_price_square;
		item_price = item_price.toFixed(2) + ''; 
		item_price = item_price.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
		if (item_price == 'NaN')
			item_price = '0.00';
		$('.item_price[item_id='+item_id+']').html(item_price);
		// обновляем кол-во в штуках
		var item_count = Math.ceil(item_qty * item_expense);
		if (isNaN(item_count))
			item_count = 0;
		$('.item_count[item_id='+item_id+']').html(item_count);
		// посылаем запрос на обновление цены
		var data_str = 'action=recount';
		var item_quantity_total = 0;
		$('.item_quantity').each(function() {
			var item_id = $(this).attr('item_id');
			data_str += '&item_quantity['+item_id+']=' + $(this).val().replace(',', '.');
		});
		$('.item_rowid').each(function() {
			var item_id = $(this).attr('item_id');
			data_str += '&item_rowid['+item_id+']=' + $(this).val();
		});
		$('.item_expense').each(function() {
			var item_id = $(this).attr('item_id');
			data_str += '&item_expense['+item_id+']=' + $(this).val();
		});
		$.ajax({
			type: "POST",
			url: BASEURL + "catalog/recount_cart/",
			dataType: 'json',
			data: data_str,
			success: function(data){
				$('#checkout_total_price').html(data.total_price);
				$('#total_price').val(data.cart_total_price);
				$('#total_items').html(data.cart_total_qty);
			}
		});
	});
	$(".digit_input").keypress(function (e) {
		//Если символ - не цифра, ввыодится сообщение об ошибке, другие символы не пишутся
		if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57) && e.which != 13 && e.which != 46 && e.which != 44)
			return false;
	});
	// смена вопросов (основная форма)
	$('select.item_question').live('change', function(event){
		var current_question_id = $(this).attr('question_id');
		// собираем значения с предыдущих
		var variants_string = '';
		question_id = 1;
		do{
			if (question_id == 1 && $('div[name="item_question_variant_1"]').size() > 0)
				var variant_id = $('input[name="item_question_variant_'+question_id+'"]').val();
			else
				var variant_id = $('select[name="item_question_variant_'+question_id+'"] option:selected').val();
			variants_string += variant_id + '_';
			if ((question_id <= 2 && current_question_id == '1') || question_id == parseInt(current_question_id)){
				question_id++;
				// заменяем вопрос
				if ($('div.question_block_hidden[question_id="'+question_id+'"][variant_id="'+variants_string+'"]').size() > 0){
					var question_html = $('div.question_block_hidden[question_id="'+question_id+'"][variant_id="'+variants_string+'"]').html();
					$('div.question_block[question_id="'+question_id+'"]').html(question_html);
				}else
					$('div.question_block[question_id="'+question_id+'"]').html('');
			}else if (question_id > current_question_id){
				question_id++;
				if ($('div.question_block[question_id="'+question_id+'"]').size() > 0)
					$('div.question_block[question_id="'+question_id+'"]').html('');
			}else
				question_id++;
		} while (question_id < questions_count);
	});
	// смена вопросов (форма на главной)
	$('div[name="item_question_variant_1"]').live('click', function(event){
		var variant_id = $(this).attr('variant_id');
		$('input[name="item_question_variant_1"]').val(variant_id);
		$('div.item_question').removeClass('current');
		$(this).addClass('current');
		var current_question_id = '1';
		// собираем значения с предыдущих
		var variants_string = '';
		question_id = 1;
		do{
			if (question_id > 1)
				variant_id = $('select[name="item_question_variant_'+question_id+'"] option:selected').val();
			else
				variant_id = $(this).attr('variant_id');
			variants_string += variant_id + '_';
			if ((question_id <= 2 && current_question_id == '1') || question_id == parseInt(current_question_id)){
				question_id++;
				// заменяем вопрос
				if ($('div.question_block_hidden[question_id="'+question_id+'"][variant_id="'+variants_string+'"]').size() > 0){
					var question_html = $('div.question_block_hidden[question_id="'+question_id+'"][variant_id="'+variants_string+'"]').html();
					$('div.question_block[question_id="'+question_id+'"]').html(question_html);
					//alert(question_id + ' - ' + variants_string);
				}else
					$('div.question_block[question_id="'+question_id+'"]').html('');
			}else if (question_id > current_question_id){
				question_id++;
				if ($('div.question_block[question_id="'+question_id+'"]').size() > 0)
					$('div.question_block[question_id="'+question_id+'"]').html('');
			}else
				question_id++;
		} while (question_id < questions_count);
	});
});
// Changes the cursor to an hourglass
function cursor_wait() {
	$('#ajax_loader_img').css('display', 'block');
	$("body").bind('mousemove', function(e){
		$('#ajax_loader_img').css({left: e.pageX + 5, top: e.pageY-30});
	});
	$('#questions_tab').unbind('mousemove');
}
// Returns the cursor to the default pointer
function cursor_clear() {
	$('#ajax_loader_img').css('display', 'none');
	$("body").unbind('mousemove');
	$('#questions_tab').bind('mousemove',function(event){
		$('#ajax_loader_img').css({left: event.pageX+5, top: event.pageY-30});
	});
}
