//переключение вкладок 			
$(function(){
	new Tabs($('#tabs'));
});

$(function(){
	new Photos($('#tabs'));
});

function Tabs(elem){
	this.root=elem;
	this.tabs=this.root.find('.header');
	this.blocks=this.root.find('.content');
	this.init();
}

function Photos(elem){
	this.root=elem;
	this.photos=this.root.find('.tab-content .content .transphoto');
	this.init();
}

Tabs.prototype={
	init:function(){
		var me=this;
		me.blocks.eq(0).show();
		this.tabs.click(function(){
			var i=$(this).index();
			me.blocks.css('display','block').hide();
			me.tabs.removeClass('act');
			me.tabs.find('div').removeClass('active');
			me.tabs.addClass('noact');
			me.tabs.find('div').addClass('noactive');
			for(j=1;j<i;j++){
				me.tabs.eq(j).removeClass('next');
				me.tabs.eq(j).addClass('prev');
				
			}
			for(j=me.tabs.length-2;j>=i&&j!=0;j--){
				me.tabs.eq(j).removeClass('prev');
				me.tabs.eq(j).addClass('next');
			}
			$(this).removeClass('noact');
			$(this).find('div').removeClass('noactive');
			$(this).addClass('act');
			$(this).find('div').addClass('active');
			$(this).find('.c').removeAttr("style")
			me.blocks.eq(i).fadeIn();
		})
		
	}
}

Photos.prototype={
	init:function(){
		var me=this;
		me.photos.hide();
		me.photos.eq(0).show();
		this.photos.click(function(){
			var i=$(this).index();
			me.photos.css('display','block').hide();
			i++
			var j=i;
			if(j>me.photos.length-1){
				j=0;
			}
			me.photos.eq(j).fadeIn();
		})
		
	}
}

//переключение фото на странице товара
$(function() {
	var photo;
	photo=$('#photos .bigphotos');
	//photo.find('.bphoto').hide().eq(0).fadeIn('slow');
    // Добавим сразу же видимость первым элементам табов
    $('#photos .smallphotos div:first').addClass ('active');
    // Добавим «кликнутому» элементу класс .active
    $('#photos .smallphotos').delegate('div:not(.active)', 'click', function() {
	var i =$(this).index();
        // И удалим у предыдущего
        $(this).removeClass('noactive').addClass('active').siblings().removeClass('active').addClass ('noactive');
		photo.find('.bphoto').hide().eq(i).fadeIn('slow');
    })
});

//фильтр по коллекциям
$(function() {
var collection;
	collection=$('#choice .filter .active');
	collection.click(function(){
			 window.location.href = "?collection=0";
					return false;
		})
}); 

//отображение формы авторизации
$(function() {
var formauth, linkshow;
	linkshow=$('#footer .container .authshow a');
	formauth=$('#footer #auth_form');
	
	linkshow.click(function(){
		if(formauth.css('display')=='none'){
			formauth.css('display','block');
		}else{
			formauth.css('display','none');
		}
			return false;
		})
}); 

//закрытие формы авторизации
$(function() {
var formauth;
	closeButton=$('#footer  #auth_form .close');
	formauth=$('#footer #auth_form');
	closeButton.click(function(){
			formauth.css('display','none');
		});
}); 

//Личный кабинет
$(function() {
	var addshop=$('#page .cab_diler .dilershops .add_shop a');
	var canceladd = $('#page .cancel_add_shop');
	
	addshop.click(function(){
		var formAdd = $(this).parents('.dilershops').find('#newShop');
		var support = $(this).parents('.dilershops').find('.support');
		$('#form_support').hide();
		if(formAdd.css('display')=='none'){
			formAdd.show();
		}
		if(support.css('display')=='none'){
			support.show();
		}
		addshop.hide();
		return false;
	});
	
	canceladd.click(function(){
		var formAdd = $(this).parents('.dilershops').find('#newShop');
		var support = $(this).parents('.dilershops').find('.support');
		if(formAdd.css('display')=='block'){
			formAdd.hide();
		}
		if(support.css('display')=='block'){
			support.hide();
		}
		addshop.show();
		return false;
	});	
	

	var openSupForm=$('#page .cab_diler .dilershops .support a');
	var hideSupForm = $('#page .cancel_sup');
	
	openSupForm.click(function(){
		var supForm = $(this).parents('.dilershops').find('#form_support');
		$('#newShop').hide();
		if(supForm.css('display')=='none'){
			supForm.show();
		}
		$('#page .cab_diler .dilershops .support').hide();
		return false;
	});
	
	hideSupForm.click(function(){
		var supForm = $(this).parents('.dilershops').find('#form_support');
		if(supForm.css('display')=='block'){
			supForm.hide();
		}
		addshop.show();
		return false;
	});	
	
}); 
//откр/закр (плавное)  
$(function(){
    var doc = $("#page > .cab_diler > .promo > ul > li > a, #page > .block > .block_category > .name_category,#view_shop_def > .block_category > .name_category,#other_shop span");
	doc.click(function(){
        var innerUL = $(this).parent("li,.block_category,#other_shop").find("ul, .list_position, .view_list_position,.other_shops");
        if (!innerUL.is(':visible')) {
            innerUL.fadeIn(400);
        }else{
			innerUL.hide(400);
		}
		return false;
	});
});

$(function(){
    var doc = $(".actCity");
	doc.click(function(){
        var innerUL = $(this).parent(".selectCity").find(".listCityHidden");
        if (!innerUL.is(':visible')) {
            innerUL.show();
        }else{
			innerUL.hide();
		}
		return false;
	});
});

$(function(){
$('#add_photo').click(function (){
	var block_add_doc = jQuery('#block_add_photo').clone(true).insertBefore(this).show();
	block_add_doc.find('input').val('')
	block_add_doc.find("input[type='file']").each(function(){
		$(this).parent(".field").html($(this).parent(".field").html());
	});
	return false;
});
});

$(function(){
$('#editShop .block .img .del_photo').click(function (){
var element = $(this);
var link = $(this).attr('href');
	if(link){
		$.ajax({
			url: link,
			dataType: 'html',
			success: function(data){element.parent(".img").hide();}
		});
	}	
	return false;
});
});

$(function(){
$('#page .block_category .block_position select').change(function(){
	var val = $(this).val()
	var id = $(this).attr('id');
	var selectOption = $(this).find('option:selected');
	var visibleOptions = $(this).find("option:enabled");
	var selectList = $(this).parents(".block_position").find("select:not([id='"+id+"'])");
	
	for(var i=0;i < selectList.length; i++){
		var hiddenOptions = selectList.eq(i).find('option:disabled');
		for(var j=0;j < hiddenOptions.length; j++){
		
			for(var l=0; l < visibleOptions.length; l++){
				if(hiddenOptions.eq(j).val()==visibleOptions.eq(l).val()){
					
					hiddenOptions.eq(j).removeAttr("disabled");
				}
			}
		}
	}
	
	selectList.find("option[value='" + val + "']").attr('disabled','true');
	
	return false;
}).change();
});

//добавление позиции в магазине
$(function(){
$("#page .block_category .block_position .editPosition input[type='submit']").click(function(){
	var submit = $(this);
	submit.attr("disabled","true");
	//block.find('.loader').show();
	
	var m_action=$(this).parents('.editPosition').attr('action');
	var m_data=$(this).parents('.editPosition').serialize();
	$(this).parents('.editPosition').find('.error,.message').remove();
	
	jQuery.ajax({
		method : "GET",
		url : "/udata:/"+ m_action,
		data : m_data,
		dataType : "xml",
		complete : function(r){
			var message="";
			var messageArray = "";
			messageArray = r.responseText.toString().match(/<message>(.+)<\/message>/);
			if(messageArray) {
				message = messageArray[1];
			}else{
				var reg=/error/;
				message=reg.test(r.responseText.toString())? "Ошибка при сохранении!" : ""
			}
			var messageBlock = $('#status');
			
			messageBlock.find(".message").html(message);
			messageBlock.fadeIn(100);
			window.setInterval(function() {messageBlock.fadeOut(600)}, 1700);
			submit.parents(".editPosition").find("#editBool").removeAttr("checked");
			//submit.parents(".block_position").find(".selected_block").hide(100);
			//submit.removeAttr("disabled");
		}
	});
	return false;
	
});

});

//управление состоянием позиций
$(function(){
$("#page .block_category .block_position .editPosition .presence_position input[type='checkbox']").change(function(){
	
	if(this.checked){
		var name_position = $(this).parents('.block_position').find('.name_position');
		name_position.removeClass('noactive');
		name_position.addClass('active');
	}else{
		var name_position = $(this).parents('.block_position').find('.name_position');
		
		name_position.addClass('noactive');
		name_position.removeClass('active');
		$(this).parents(".block_position").find(".selected_block").hide();
	}
	
}).change();


$("#page .block_category .block_position .editPosition .presence_position input[type='checkbox']").click(function(){
	
	if(!this.checked){
		$(this).parents('.block_position').find(".editPosition input[type='submit']").click();
	}else{
		$(this).parents('.block_position').find(".editPosition input[type='submit']").click();
		$(this).parents(".block_position").find(".selected_block").show();
	}
	
});
//проверка полей на пустоту
$("#page .block_category .block_position .editPosition input[type='text']").focusout(function(){
	var id = '';
	id = $(this).attr("name").match(/field\[cost(\d+)\]/);
	if(id){
		$(this).parents(".selected_block").find(".error"+id[1]).remove();
		$(this).parents(".selected_block").find(".message"+id[1]).remove();
		var errorsOther = $(this).parents(".selected_block").find(".error");
		var category = $(this).parents(".selected_block").find(".category_tissue"+id[1]).val();
		var cost = $(this).val();
		if(cost && category==""){
			$(this).parents(".field").after("<div class='error error"+id[1]+"'>Вы не выбрали категорию ткани</div>");
			$(this).parents(".editPosition").find("input[type='submit']").attr("disabled","true");
		}else if(!cost && category==""){
			var editBool = $(this).parents(".editPosition").find("#editBool").attr("checked");
			if(editBool&&!errorsOther.length)
			$(this).parents(".editPosition").find("input[type='submit']").removeAttr("disabled");
		}else if(!cost && category.length){
			$(this).parents(".field").after("<div class='error error"+id[1]+"'>Вы не указали стоимость</div>");
			$(this).parents(".editPosition").find("input[type='submit']").attr("disabled","true");
		}else{
			var editBool = $(this).parents(".editPosition").find("#editBool").attr("checked");
			if(editBool&&!errorsOther.length){
				
				$(this).parents(".editPosition").find("input[type='submit']").removeAttr("disabled");
				}
			$(this).parents(".field").after("<div class='message message"+id[1]+"'>Изменения вступят силу после сохранения</div>");	
		}
	}
});

});
//проверка полей на пустоту
$(function(){
$('#page .block_category .block_position select').change(function(){
var id = '';
	id = $(this).attr("name").match(/field\[category_tissue(\d+)\]/);
	if(id){
		$(this).parents(".selected_block").find(".error"+id[1]).remove();
		$(this).parents(".selected_block").find(".message"+id[1]).remove();
		var errorsOther = $(this).parents(".selected_block").find(".error");
		var cost = $(this).parents(".selected_block").find(".cost"+id[1]).val();
		var category = $(this).val();
		if(category.length && !cost){
			$(this).parents(".editPosition").find("input[type='submit']").attr("disabled","true");
			$(this).parents(".field").next().after("<div class='error error"+id[1]+"'>Вы не указали стоимость</div>");
			
		}else if(category=="" && !cost){
			var editBool = $(this).parents(".editPosition").find("#editBool").attr("checked");
			if(editBool&&!errorsOther.length)
			$(this).parents(".editPosition").find("input[type='submit']").removeAttr("disabled");
			
		}else if(category=="" && cost){
			$(this).parents(".field").next().after("<div class='error error"+id[1]+"'>Вы не выбрали категорию ткани</div>");
			$(this).parents(".editPosition").find("input[type='submit']").attr("disabled","true");
		}else{
			var editBool = $(this).parents(".editPosition").find("#editBool").attr("checked");
			if(editBool&&!errorsOther.length){
				
				$(this).parents(".editPosition").find("input[type='submit']").removeAttr("disabled");
			}
			$(this).parents(".field").next().after("<div class='message message"+id[1]+"'>Изменения вступят силу после сохранения</div>");
		}
		//if(category.length)
		//$(this).parents(".editPosition").find("input[type='submit']").removeAttr('disabled');
	}
});
});



//откр/закр 
 $(function (){
    var doc = $("#page .block_category .block_position a");
	
	doc.click(function(){
		var checkbox = $(this).parents(".block_position").find(".presence_position input[type='checkbox']").attr("checked");
        var innerUL = $(this).parents(".block_position").find(".selected_block");
		
        if (checkbox && innerUL.css('display')=='none') {
            innerUL.show();
        }else{
			innerUL.hide();
		}
		
	});
	
	return false;
});

//защита от ввода посторонних символов
$(function(){
    //Вызывается когда вводятся символы в поле с id quantity
    $("#page .block_category .block_position .editPosition input[type='text']").keypress(function (e)  
    {var errorsOther = $(this).parents(".selected_block").find(".error");
		if(!errorsOther.length)
		$(this).parents(".editPosition").find("input[type='submit']").removeAttr('disabled');
		$(this).parents(".editPosition").find("#editBool").attr("checked","checked");
      //Если символ - не цифра, ввыодится сообщение об ошибке, другие символы не пишутся
      if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
      {
        //Вывод сообщения об ошибке
       var messageBlock = $("#status"); 
		messageBlock.find(".message").html("Только цифры!");
			messageBlock.fadeIn(100);
			window.setInterval(function() {messageBlock.fadeOut(600)}, 1700);
        return false;
      }    
    });
  }); 
$(function(){
	$("#page .block_category .editPosition .actionPosition input[type='checkbox']").click(function(){
		$(this).parents(".editPosition").find("#editBool").attr("checked","checked");
		$(this).parents(".editPosition").find("input[type='submit']").removeAttr('disabled');
	});
});

//
$(function(){
	$('#page .object .selectCity .city').click(function (){
		var city = $(this);
		var posShop = $("#page .object .positionsInShop");
		var link = $(this).attr('href');
		posShop.html('');
		$("#page .object .selectCity .listCityHidden").hide();
		city.parents('.selectCity').find('.actCity').html(city.html()); 
		city.parents('.listCityHidden').find('.city').removeClass('active');
		city.addClass('active');
		$('.loader').show();
		$.ajax({
			url: "/udata:/" + link + "?transform=library/catalog/object.xsl",
			dataType: "html",
			success: function(r){
				$('.loader').hide();
				posShop.html(r);	
			}					
		});						
		return false;
	});
	
	$('#page .object .selectCity .active').click(function (){
		var city = $(this);
		var posShop = $("#page .object .positionsInShop");
		var link = $(this).attr('href');
		posShop.html('');
		$("#page .object .selectCity .listCityHidden").hide();
		city.parents('.selectCity').find('.actCity').html(city.html()); 
		city.parents('.listCityHidden').find('.city').removeClass('active');
		city.addClass('active');
		$('.loader').show();
		$.ajax({
			url: "/udata:/" + link + "?transform=library/catalog/object.xsl",
			dataType: "html",
			success: function(r){
				$('.loader').hide();
				posShop.html(r);	
			}					
		});						
		return false;
	}).click();
	
});

$(function(){
	$('#page .shops .selectCity .city').click(function (){
		var city = $(this);
		var posShop = $("#page .shops .shopInCity");
		var link = $(this).attr('href');
		posShop.html('');
		$("#page .shops .selectCity .listCityHidden").hide();
		city.parents('.selectCity').find('.actCity').html(city.html()); 
		city.parents('.listCityHidden').find('.city').removeClass('active');
		city.addClass('active');
		$('.loader').show();
		$.ajax({
			url: "/udata:/" + link + "?transform=modules/content.xsl",
			dataType: "html",
			success: function(r){
				$('.loader').hide();
				posShop.html(r);	
			}					
		});						
		return false;
	});
	
});

/////////////////

