$(function(){
    var mcw, liW, wOfSmSlider, c, mr, tlen, slidelen, nL, indActive;
    var mainurl = 'http://icity.kiev.ua/';
    //var mainurl = 'http://localhost/';
    
    $('body').keyup(function(event) {
        if (event.keyCode == '13') {
            if($(".logInBlock").is(":visible")){
                $(".logInBlock").find("a.submit").click();
            }
        }
    })

    if($("p.h1").children("sup").length){
        if(Math.floor(($("p.h1").height()/2)) > 50) $("p.h1").children("sup").css({top:Math.floor(($("p.h1").height()/2))});
    }
    
    $(".searchText").blur(function(){if($(this).val() == '') $(this).val('поиск')}).focus(function(){if($(this).val() == 'поиск') $(this).val('')})
	$(".subscribeForm > :input").blur(function(){if($(this).val() == '') $(this).val('Твоя электронная почта')}).focus(function(){if($(this).val() == 'Твоя электронная почта') $(this).val('')})
    
     $(window).resize(function(){
         // slider tovars
         mcw = $(".mainSliderContainer").width();
         liW = mcw - (Math.floor(mcw * 0.1) + 57);
         $("#sliderContainer").css({width: liW});
         $("ul.slider").css({width: Math.floor(liW * $("ul.slider > li").length), left: "-" + Math.floor($("ul.slider").children("li").index($("ul.slider > li.active")) * liW) + "px"});
         $("ul.slider > li").css({width: liW});
         
         // small slider imgs
         if($(".smallImgsContainer").length){
           wOfSmSlider = $(".smallImgsContainer").width();
           c = Math.floor(wOfSmSlider/101);
           mr = Math.floor((wOfSmSlider - c*101)/c);
           $(".smallImgsUl").children("li").css({marginRight:mr});
           tlen = $(".smallImgsUl").children("li").length;
           slidelen = 101 + mr;
           if(tlen > c){              
                   indActive = $(".smallImgsUl").children("li").index($(".smallImgsUl").children("li.active"));
                   nL = indActive * slidelen;
                   $("ul.smallImgsUl").animate({left:"-" + nL + "px"}, 400, "swing");
                   if((nL+(c*slidelen))>=(tlen*slidelen)) $("#nextSlide").addClass("inActive");
                   else $("#nextSlide").removeClass("inActive");
                   if(nL<=0) $("#prevSlide").addClass("inActive");
                   else $("#prevSlide").removeClass("inActive");
                   
                    $(".colorShowBigger").unbind("click.add");
                    $(".colorShowBigger").bind("click.add", function(){
                        var art = $(this).attr("data-articul");
                        indActive = $(".smallImgsUl").children("li").index($(".smallImgsUl").children("li[data-articul='"+art+"']:first"));
                        nL = indActive * slidelen;
                        $("ul.smallImgsUl").animate({left:"-" + nL + "px"}, 400, "swing");
                        if((nL+(c*slidelen))>=(tlen*slidelen)) $("#nextSlide").addClass("inActive");
                        else $("#nextSlide").removeClass("inActive");
                        if(nL<=0) $("#prevSlide").addClass("inActive");
                        else $("#prevSlide").removeClass("inActive");
                    })
                    
                    $("#page").undelegate("#nextSlide", "click");
                    $("#page").delegate("#nextSlide", "click", function(){
                       if(!($(this).hasClass("inActive"))){ 
                           nL += slidelen;
                           $("ul.smallImgsUl").animate({left:"-" + nL + "px"}, 400, "swing");
                           if((nL+(c*slidelen))>=(tlen*slidelen)) $("#nextSlide").addClass("inActive");
                           else $("#nextSlide").removeClass("inActive");
                           if(nL<=0) $("#prevSlide").addClass("inActive");
                           else $("#prevSlide").removeClass("inActive");
                       }
                    })

                    $("#page").undelegate("#prevSlide", "click");
                    $("#page").delegate("#prevSlide", "click", function(){
                       if(!($(this).hasClass("inActive"))){
                           nL -= slidelen;
                           $("ul.smallImgsUl").animate({left:"-" + nL + "px"}, 400, "swing");
                           if((nL+(c*slidelen))>=(tlen*slidelen)) $("#nextSlide").addClass("inActive");
                           else $("#nextSlide").removeClass("inActive");
                           if(nL<=0) $("#prevSlide").addClass("inActive");
                           else $("#prevSlide").removeClass("inActive");
                       }
                    })
           }
           else {
               $("#page").undelegate("#nextSlide", "click");
               $("#page").undelegate("#prevSlide", "click");
               $("#prevSlide").addClass("inActive");
               $("#nextSlide").addClass("inActive");
               $(".colorShowBigger").unbind("click.add");
           }
         }
		 
		 // bg on top
		 _bgOnTop();
         
         tovarsOnMainShow();
     })
     
     tovarsOnMainShow();
     
     $(".bigSearchContainer").find(":input[name='searchin']").val($(".searchCats").children("li.active").children("a:first").attr("data-searchin"));
     $(".searchCats").children("li").each(function(){
         $(this).children("a:first").bind("click", function(){
             $(".bigSearchContainer").find(":input[name='searchin']").val($(this).attr("data-searchin"));
             $(this).parent("li").addClass("active").siblings("li").removeClass("active");
             $(".bigSearchContainer").children("form").submit();
             $(this).blur();
             return false;
         })
     })
     
     // tovars compare block
	 var settings = {
		showArrows: false,
		autoReinitialise: true
	};
	var api = $('.descriptions').jScrollPane(settings).data('jsp');
     
     //tovars in favourites
     $("body").delegate(".addToFavourites", "click", function(){
         var $curObj = $(this);
         var idtovar = $curObj.attr("data-id");
         $.post("/includes/axrequests.php", "action=addtofavourites&tovarid="+idtovar, function(data){
             $(".compareTop").addClass("active");
             $(".innerWrap", $(".compareTop")).find("p.left").each(function(){
                 if(!$(this).hasClass("psevdoLinks")) $(this).remove();
             })
             $(".innerWrap", $(".compareTop")).append(data);
             $curObj.removeClass("addToFavourites").addClass("deleteFromFavourites");
             $curObj.children("span").text("Из избранного");
         })
         $(this).blur();
         return false;
     })
     
        $("body").delegate(".showComparison", "click", function(){
		$("body").prepend("<div class='closeAll' style='position:absolute;z-index:1000;width:"+$("body").width()+"px;height:"+$(document).height()+"px;background:#ffffff;opacity:0.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);'></div>");
                $.post("/includes/axrequests.php", "action=showfavourites", function(data){
                    $(".wrapAll", $(".blockOfComparedProducts")).html(data);
                    api.destroy();
                    api = $('.descriptions').jScrollPane(settings).data('jsp');
                    $(".blockOfComparedProducts").show().css({left: (($("body").width()/2)-($(".blockOfComparedProducts").width()/2)-50), top: ($(window).scrollTop() + $(window).height()/2 - 212)});
                });    
		$(this).blur();
		return false;
	})
        
        
        function deleteFromFavourites(id){
            $.post("/includes/axrequests.php", "action=deletefromfavourites&tovarid="+id, function(data){
                if(data == 'ok'){
                    $("a[data-id='"+id+"']").removeClass("deleteFromFavourites").addClass("addToFavourites");
                    $("a[data-id='"+id+"']").children("span").text("В избранное");
                    $.post("/includes/axrequests.php", "action=refreshtopfavourites", function(data){
                        $(".innerWrap", $(".compareTop")).find("p.left").each(function(){
                             if(!$(this).hasClass("psevdoLinks")) $(this).remove();
                         })
                        $(".innerWrap", $(".compareTop")).append(data);
                        if($(".compareTop > .innerWrap").children("p.left").length < 2) {
                            $(".compareTop").removeClass("active");
                            $(".blockOfComparedProducts > .closeThis").click();
                        }
                    })
                } 
            })
        }
     
     $("body").delegate(".deleteFromFavourites", "click", function(){
         var id = $(this).attr("data-id");
         deleteFromFavourites(id);
         $(this).blur();
         return false;
     })
	 
	
	//_initSimilarOptionsInTovars();
	
	$("body").delegate(".all-f", "click", function(){
		$("tr.similar").show();
		$(this).addClass("active").siblings("a").removeClass("active");
		$(this).blur();
		return false;
	})
	
	$("body").delegate(".differ-f", "click", function(){
		$("tr.similar").hide();
		$(this).addClass("active").siblings("a").removeClass("active");
		$(this).blur();
		return false;
	})
	
	$("body").delegate(".deleteTovarSm", "click", function(){
            var id = $(this).attr("data-id");
            deleteFromFavourites(id);
		var $pTd = $(this).closest("td");
		var iToRemove = $(".compareTable:first").find("tr:first").find("td").index($pTd);
		$(".compareTable").each(function(){
			$(this).find("tr").each(function(){
				$(this).find("td").eq(iToRemove).remove();
			});
		});
		api.destroy();
		api = $('.descriptions').jScrollPane(settings).data('jsp');
		//_initSimilarOptionsInTovars();
                /*
		$(".compareTop > .innerWrap").find(".left").eq(iToRemove).remove();
		if($(".descriptions").find(".compareTable").find("tr:first").find("td").length < 2){
			$(".compareTop").removeClass("active");
			$(".blockOfComparedProducts > .closeThis").click();
		}*/
	})
	
	
	$("body").delegate(".logIn", "click", function(){
		$("body").prepend("<div class='closeAll' style='position:absolute;z-index:1000;width:"+$("body").width()+"px;height:"+$(document).height()+"px;background:#ffffff;opacity:0.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);'></div>");
		$(".logInBlock").show().css({left: (($("body").width()/2)-235), top: ($(window).scrollTop() + $(window).height()/2 - 170)});
		$(this).blur();
		return false;
	})
        
        $("body").delegate(".logOut", "click", function(){
		$.post("/includes/axrequests.php", 'action=logoutfromsait', function(data){
                    $("p.enterTPO").html('<a class="logIn" href="#" title="Вход"><span class="red">Вход</span></a> в личный кабинет');
                    if((/personal-office/i).test(location.href)) window.open(mainurl, "_self");
                    if((/zakazu/i).test(location.href)) window.open(mainurl, "_self");
                    if((/korzina/i).test(location.href)) window.open(mainurl+'korzina/', "_self");
                })
		$(this).blur();
		return false;
	})
	
	$("body").delegate(".closeThis", "click", function(){
		$(this).parent().hide();
		$(".closeAll").remove();
	})
	
	$("body").delegate(".closeAll", "click", function(){
		$(".closeThis:visible").click();
		$(this).remove();
	})
	
	$("body").delegate("#quantityInCartForm", "blur", function(){
			$("form.addToCartForm").children("table:first").find("tr").eq(1).find("td").eq(4).children("p:first").html(Math.round(parseInt($(this).val()) * parseInt($("input[name='price']", $("form.addToCartForm")).val())) + 'грн.');
			$("#quantity").val($(this).val());
	})
        
        $(".buyButtonBig").bind("click", function(){
		if(parseInt($("#quantity").val()) > 0){
			$("#quantity").removeClass("err");
			$("form.addToCartForm").children("table:first").find("tr").eq(1).find("td").eq(2).children("p:first").html($("p.colorsOfTovar").html());
			$("input[name='articul']", $("form.addToCartForm")).val($("#tovarsId").val());
			$("input[name='quantity']", $("form.addToCartForm")).val(parseInt($("#quantity").val()));
			$("form.addToCartForm").children("table:first").find("tr").eq(1).find("td").eq(4).children("p:first").html(Math.round(parseInt($("#quantity").val()) * parseInt($("input[name='price']", $("form.addToCartForm")).val())) + 'грн.');
			
			$("form.addToCartForm").children("table:first").find("tr").eq(1).find("td").eq(0).find("img").attr("src", $(".smallImgsUl").children("li.active").find("img").attr("src"));
                        $("form.addToCartForm").submit();
			//$("body").prepend("<div class='closeAll' style='position:absolute;z-index:1000;width:"+$("body").width()+"px;height:"+$(document).height()+"px;background:#ffffff;opacity:0.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);'></div>");
			//$(".blockOfInterestProduct").show().css({left: (($("body").width()/2)-($(".blockOfInterestProduct").width()/2)-50), top: ($(window).scrollTop() + $(window).height()/2 - 212)});
		}
		else {
			$("#quantity").addClass("err");
		}
		$(this).blur();
		return false;
	})
        
        $(".quickAddToCart").bind("click", function(){
            var $curObj = $(this);
            $.post(mainurl + 'includes/axrequests.php', 'action=addproducttocart&articul='+$curObj.attr("data-articul")+'&tovarid='+$curObj.attr("data-tovarid")+'&price='+$curObj.attr("data-price")+'&quantity=1', function(data){
                    //$("p.cartTop").replaceWith(data);
                    //$(".closeThis").click();
                    window.open(mainurl+'korzina/', "_self");                    
                }) 
            $(this).blur();
            return false;
        })
        
        $(".addToCartForm > p > a.reset").bind("click", function(){
		$(".closeThis:visible").click();
	})

	 _bgOnTop();
    
    // slider tovars
    if($(".mainSliderContainer").length) {
            mcw = $(".mainSliderContainer").width();
            liW = mcw - (Math.floor(mcw * 0.1) + 57);
            $("#sliderContainer").css({width: liW})
            $("ul.slider").css({width: Math.floor(liW * $("ul.slider > li").length)});
            $("ul.slider > li").css({width: liW, display:"block"})
    
            if($("ul.slider").children("li:first").hasClass("active")) $("#prev").addClass("inActive");
            if($("ul.slider").children("li:last").hasClass("active")) $("#next").addClass("inActive");
    
            $("#page").delegate("#next", "click", function(){
               if(!($(this).hasClass("inActive"))){
                   $("ul.slider > li.active").next("li").addClass("active").siblings("li").removeClass("active");
                   var iOfLi = $("ul.slider").children("li").index($("ul.slider > li.active"));
                   var nL = liW * iOfLi;
                   $("ul.slider").animate({left:"-" + nL + "px"}, 500, "swing");
                   if($("ul.slider").children("li:last").hasClass("active")) $("#next").addClass("inActive");
                   else $("#next").removeClass("inActive");
                   if($("ul.slider").children("li:first").hasClass("active")) $("#prev").addClass("inActive");
                   else $("#prev").removeClass("inActive");
               }
            })

            $("#page").delegate("#prev", "click", function(){
               if(!($(this).hasClass("inActive"))){
                    $("ul.slider > li.active").prev("li").addClass("active").siblings("li").removeClass("active");
                    var iOfLi = $("ul.slider").children("li").index($("ul.slider > li.active"));
                    var nL = liW * iOfLi;
                    $("ul.slider").animate({left:"-" + nL + "px"}, 500, "swing");
                    if($("ul.slider").children("li:last").hasClass("active")) $("#next").addClass("inActive");
                    else $("#next").removeClass("inActive");
                    if($("ul.slider").children("li:first").hasClass("active")) $("#prev").addClass("inActive");
                    else $("#prev").removeClass("inActive");
               }
            })
     }
     
     // slider filters
            $(".oneFilterSlider").each(function(){
                $curSlider = $(this);
		$( ".filterSlider", $curSlider ).slider({
			range: true,
			min: parseInt($curSlider.attr("data-min")),
			max: parseInt($curSlider.attr("data-max")),
                        step: parseInt($curSlider.attr("data-step")),
			values: [ parseInt($( ".from", $curSlider ).val())?$( ".from", $curSlider ).val():0, parseInt($( ".to", $curSlider ).val())?$( ".to", $curSlider ).val():1000 ],
			slide: function( event, ui ) {
				//$(ui.handle).parent("div").siblings(".filterTitle").find( ".filterValuesText" ).text( ui.values[ 0 ] + " - " + ui.values[ 1 ] + " " + $(ui.handle).closest("div.oneFilterSlider").attr("data-text") );
                                $(ui.handle).parent("div").siblings("p.filterTitle").find(".from").val(ui.values[ 0 ]);
                                $(ui.handle).parent("div").siblings("p.filterTitle").find(".to").val(ui.values[ 1 ]);
			},
                        stop: function(event, ui) { 
                            sendRequestByFilters()
                        }
		});
		//$( ".filterValuesText", $curSlider ).text(" " + $curSlider.attr("data-text") );
                $( ".from", $curSlider ).val($( ".filterSlider", $curSlider ).slider( "values", 0 ));
                $( ".to", $curSlider ).val($( ".filterSlider", $curSlider ).slider( "values", 1 ));
                
                var totalKol = $( ".filterSlider", $curSlider ).next(".segmentation").find("span").length;
                var ip  = new Number(100/(totalKol-1));
                var st = parseFloat( ip.toFixed(4) );
                var itemPos = 0;
                $( ".filterSlider", $curSlider ).next(".segmentation").find("span").each(function(){
                    $(this).css({left: (itemPos+"%")});
                    itemPos = itemPos + st;
                })
            })
            
                $(".from").blur(function(){
                    var $cSlider = $(this).closest(".oneFilterSlider");
                    $( ".filterSlider", $cSlider ).slider("values", 0, parseInt($(".from", $cSlider ).val()));
                    sendRequestByFilters()
                });
                
                $(".to").blur(function(){
                    var $cSlider = $(this).closest(".oneFilterSlider");
                    $( ".filterSlider", $cSlider ).slider("values", 1, parseInt($(".to", $cSlider ).val()));
                    sendRequestByFilters()
                });
     
     $(".ui-slider").each(function(){
         $(this).find("a.ui-slider-handle:first").css({backgroundPosition:"0 0"});
     })
     /*
     $(".filtersContainer").each(function(){
         var $curCont = $(this);
         $(".filtersBg", $curCont).css({height: $curCont.height() + 70});
         $(".filtersBg", $curCont).append("<div style='background:url(img/filters-bg.png) 0 0 no-repeat;position:absolute;top:0;left:0;width:100%;height:50%;z-index:0;'></div>\
        <div style='background:url(img/filters-bg.png) -237px bottom no-repeat;position:absolute;bottom:0;left:0;width:100%;height:50%;z-index:0;'></div>");
     })
    */
   
   // scroll anchors
    $("a.ancLinks").each(function(){
        $(this).bind("click", function () { 
          var elementClick = $(this).attr("href");
          var destination = $(elementClick).offset().top;
          if($.browser.safari){
            $('body').animate( {scrollTop: destination}, 1100 );
          }else{
            $('html').animate( {scrollTop: destination}, 1100 );
          }
          $(this).blur();
          return false;
        });
    });
    
    // blue drop down uls
    $('.dropDownItemsContainer').each(function(){
                var $curObj = $(this);
                var liActT = $(".dropDownUl", $(this)).find("li.active").children("a").text();
                $(".hasDropDownUl > span", $(this)).text(liActT);
				var hOfUlSt = $("ul.dropDownUl", $(this)).show().height();
				$("ul.dropDownUl", $(this)).hide().css({height:0});
				$(".hasDropDownUl", $(this)).bind("click", function(){
								$(this).addClass("tmpFlag");
					$("#page").find(".hasDropDownUl.opened:not(.tmpFlag)").click();
								$(this).removeClass("tmpFlag");
					if($(this).hasClass("opened")){
						$("ul.dropDownUl", $curObj).animate({height:0}, 500, "swing", function(){
									$(this).hide();
									$(this).siblings("a").removeClass("opened");
								})
					}
					else {
						$("ul.dropDownUl", $curObj).show().animate({height:hOfUlSt}, 500, "swing", function(){
									$(this).siblings("a").addClass("opened");
								})
					}
					$(this).blur();
					return false;
				})
				
				//for sort/cookie options
				if(($("ul.dropDownUl", $(this)).attr("id") == 'shownum') || ($("ul.dropDownUl", $(this)).attr("id") == 'sortby')){
					$("ul.dropDownUl", $(this)).children("li").each(function(){
                                                $(this).children("a:first").bind("click", function(){
							setCookie($(this).closest("ul").attr("id"), $(this).parent("li").attr("data-value"), {expires: 30*86400, path: '/'});
							$(this).blur();
							window.location.reload();
							return false;
						})
					})
				}
				
				// for filters
                if($(this).hasClass("inFilterBlock")){
                    $(this).children(":input").val($(".dropDownUl", $(this)).find("li.active").children("a").attr("data-value"));
                    $("ul.dropDownUl", $(this)).children("li").each(function(){
                        $(this).children("a:first").bind("click", function(){
                            $(this).parent("li").addClass("active").siblings("li").removeClass("active");
                            $curObj.children(":input").val($(this).attr("data-value"));
                            if($curObj.closest(".filtersContainer").hasClass("onKatalogPage")) sendRequestByFilters();
                            liActT = $(this).text();
                            $("ul.dropDownUl", $curObj).animate({height:0}, 500, "swing", function(){
							$(this).hide();
							$(this).siblings("a").removeClass("opened");
                            $(".hasDropDownUl > span", $curObj).text(liActT);
						})
                            $(this).blur();
                            return false;
                        })
                    })
                }
    });
    
    if($(".filtersContainer").hasClass("onKatalogPage")){
        $(".filtersContainer").children("form:first").find(":checkbox").each(function(){
            $(this).bind("click", function(){
                sendRequestByFilters();
            })
        })
    }
   
   
   // red top d/d ul
   $(".psevdoLinks > a > span", $(".blockWithDDUl")).text($(".dropDownUlRed").find("li.active").children("span").text());
   var hOfUlSt = $("ul.dropDownUlRed").show().height();
   $("ul.dropDownUlRed").hide().css({height:0});
   $(".psevdoLinks", $(".blockWithDDUl")).children("a").bind("click", function(){
        $(this).addClass("tmpFlag");
	$("#page").find(".hasDropDownUl.opened:not(.tmpFlag)").click();
        $(this).removeClass("tmpFlag");
	if($(this).hasClass("opened")){
		$("ul.dropDownUlRed").animate({height:0}, 500, "swing", function(){
			$(this).hide();
			$(this).siblings("p.red").children("a").removeClass("opened");
		})
	}
	else {
		$("ul.dropDownUlRed").show().animate({height:hOfUlSt}, 500, "swing", function(){
			$(this).siblings("p.red").children("a").addClass("opened");
		})
	}
	$(this).blur();
	return false;
   })
   
   $("ul.dropDownUlRed > li", $(this)).bind("click", function(){
        $(this).addClass("active").siblings("li").removeClass("active");
        $(".blockWithDDUl").children("p.psevdoLinks.red").children("a").children("span").text($(this).children("span").text());
	$(".blockWithDDUl").siblings("p").text($(this).attr("data-telnum"));
        $(".blockWithDDUl").children("p.psevdoLinks:not(.red)").text($(this).attr("data-worktime"));
		$("ul.dropDownUlRed").animate({height:0}, 500, "swing", function(){
			$(this).hide();
			$(".psevdoLinks > a", $(".blockWithDDUl")).removeClass("opened");
		})
	})
   
   //main d/d ul 
   //var hOfMUlSt = $("ul.dropDownMainUl").show().height();
   //$("ul.dropDownMainUl").hide().css({height:0});
   $("ul.mainMenu > li > a.hasDDUl").bind("click", function(){
       $(this).addClass("tmpFlag");
       $("#page").find(".hasDDUl.opened:not(.tmpFlag)").click();
       $(this).removeClass("tmpFlag");
       if($(this).hasClass("opened")){
		//$(this).next("ul.dropDownMainUl").css({height:0});
		$(this).next("ul.dropDownMainUl").hide();
		$(this).next("ul.dropDownMainUl").siblings("a").removeClass("opened");
                $(this).parent("li").css({"z-index": 10});
       }
       else {
                $(this).parent("li").css({"z-index": 20}).siblings("li").css({"z-index": 10});
		$(this).next("ul.dropDownMainUl").show();
		$(this).next("ul.dropDownMainUl").siblings("a").addClass("opened");
       }
       $(this).blur();
       return false;
   })
   
   $("body").bind("click", function(){
       $("ul.mainMenu > li > a.hasDDUl.opened").click();
   })
   
   // views of tovars
   $("#listView, #blocksView").bind("click", function(){
       $(this).addClass("active").siblings("a").removeClass("active");
       $(".tovarsBigUl").addClass($(this).attr("id")).removeClass($(this).siblings("a").attr("id"));
	   setCookie('viewform', $(this).attr("id"), {expires: 30*86400, path: '/'});
       $(this).blur();
       return false;
   })
   
   // anchors ul > a actions
   $("ul.anchorsUl > li > a").bind("click", function(){
       $(this).parent("li").addClass("active").siblings("li").removeClass("active");
   })
   
    
   // few uls on tovar page actions
   $("#bigImg > a").fancybox({
		'hideOnContentClick': true,
                'overlayColor': '#fff',
                'transitionIn': 'none',
		'transitionOut': 'none'
	});
   
   var hash = location.hash;
   if(hash == ''){
            $("#tovarsId").val($(".smallImgsUl").children("li").eq(0).find("a").attr("data-tovarid"));
   }
   else {
       hash = hash.replace(/#/, "");
       //var $smObj = $("ul.smallImgsUl > li > a[data-tovarid='"+hash+"']");       
       $(".smallImgsUl").children("li[data-articul='"+hash+"']:first").addClass("active").siblings("li").removeClass("active");
       $("#bigImg").children("a[data-articul='"+hash+"']:first").addClass("active").siblings("a").removeClass("active");
       $(".colorsOfTovar").children("span[data-articul='"+hash+"']").addClass("active").siblings("span").removeClass("active");
       $(".articulsOfTovar").children("span[data-articul='"+hash+"']").addClass("active").siblings("span").removeClass("active");
       $(".descOfTovarIn").children("span[data-articul='"+hash+"']").addClass("active").siblings("span").removeClass("active");
       $("p.priceOnTovar").children("ins[data-articul='"+hash+"']").show().siblings("ins").hide();
       $("#tovarsId").val(hash);
   }
   $(".smallImgsUl > li > a, .colorShowBigger").bind("click", function(){
       var articul; var ind;
       if($(this).is("span")){
           articul = $(this).attr("data-articul");
           $(".smallImgsUl").children("li[data-articul='"+articul+"']:first").addClass("active").siblings("li").removeClass("active");
           $("#bigImg").children("a[data-articul='"+articul+"']:first").addClass("active").siblings("a").removeClass("active");
       }
       else {
           articul = $(this).closest("li").attr("data-articul");
           ind = $(".smallImgsUl").children("li").index($(this).closest("li")); 
           $(".smallImgsUl").children("li").eq(ind).addClass("active").siblings("li").removeClass("active");
           $("#bigImg").children("a").eq(ind).addClass("active").siblings("a").removeClass("active");
       }
       $(".colorsOfTovar").children("span[data-articul='"+articul+"']").addClass("active").siblings("span").removeClass("active");
       $(".articulsOfTovar").children("span[data-articul='"+articul+"']").addClass("active").siblings("span").removeClass("active");
       $(".descOfTovarIn").children("span[data-articul='"+articul+"']:first").addClass("active").siblings("span").removeClass("active");
       $("p.priceOnTovar").children("ins[data-articul='"+articul+"']").show().siblings("ins").hide();
       $("#tovarsId").val(articul);
       $(this).blur();
       return false;
   })
   
   // small slider imgs
   if($(".smallImgsContainer").length){
       wOfSmSlider = $(".smallImgsContainer").width();
       c = Math.floor(wOfSmSlider/101);
       mr = Math.floor((wOfSmSlider - c*101)/c);
       $(".smallImgsUl").children("li").css({marginRight:mr});
       tlen = $(".smallImgsUl").children("li").length;
       slidelen = 101 + mr;
       nL = 0;
       if(tlen > c){
           if(nL==0) $("#prevSlide").addClass("inActive");
           if((nL+(c*slidelen))==(tlen*slidelen)) $("#nextSlide").addClass("inActive");
           if(!(hash == '')){
               indActive = $(".smallImgsUl").children("li").index($(".smallImgsUl").children("li.active"));
               nL = indActive * slidelen;
               $("ul.smallImgsUl").animate({left:"-" + nL + "px"}, 400, "swing");
               if((nL+(c*slidelen))>=(tlen*slidelen)) $("#nextSlide").addClass("inActive");
               else $("#nextSlide").removeClass("inActive");
               if(nL<=0) $("#prevSlide").addClass("inActive");
               else $("#prevSlide").removeClass("inActive");
           }
           
            $(".colorShowBigger").bind("click.add", function(){
                var art = $(this).attr("data-articul");
                indActive = $(".smallImgsUl").children("li").index($(".smallImgsUl").children("li[data-articul='"+art+"']:first"));
                nL = indActive * slidelen;
                $("ul.smallImgsUl").animate({left:"-" + nL + "px"}, 400, "swing");
                if((nL+(c*slidelen))>=(tlen*slidelen)) $("#nextSlide").addClass("inActive");
                else $("#nextSlide").removeClass("inActive");
                if(nL<=0) $("#prevSlide").addClass("inActive");
                else $("#prevSlide").removeClass("inActive");
            })
       
            $("#page").delegate("#nextSlide", "click", function(){
               if(!($(this).hasClass("inActive"))){ 
                   nL += slidelen;
                   $("ul.smallImgsUl").animate({left:"-" + nL + "px"}, 400, "swing");
                   if((nL+(c*slidelen))>=(tlen*slidelen)) $("#nextSlide").addClass("inActive");
                   else $("#nextSlide").removeClass("inActive");
                   if(nL<=0) $("#prevSlide").addClass("inActive");
                   else $("#prevSlide").removeClass("inActive");
               }
            })

            $("#page").delegate("#prevSlide", "click", function(){
               if(!($(this).hasClass("inActive"))){
                   nL -= slidelen;
                   $("ul.smallImgsUl").animate({left:"-" + nL + "px"}, 400, "swing");
                   if((nL+(c*slidelen))>=(tlen*slidelen)) $("#nextSlide").addClass("inActive");
                   else $("#nextSlide").removeClass("inActive");
                   if(nL<=0) $("#prevSlide").addClass("inActive");
                   else $("#prevSlide").removeClass("inActive");
               }
            })
       }
       else {
           $("#prevSlide").addClass("inActive");
           $("#nextSlide").addClass("inActive");
       }
       
   }
   // hidden blocks with relative urls to open them
    $(".psevdoContainer").each(function(){
        var $curObj = $(this);
        var h = $curObj.show().height();
        var pT = $curObj.css("paddingTop");
        var pB = $curObj.css("paddingBottom");
        $curObj.css({height:0,paddingTop:0,paddingBottom:0});
        $(this).prev(".psevdoLinks").children("a:first").bind("click",function(){
            var $curA = $(this);
            if($curA.hasClass("opened")){
                $curObj.animate({height:0,paddingTop:0,paddingBottom:0}, 300, "swing", function(){
                            $curA.removeClass("opened");
                        })
            }
            else {
                $curObj.animate({height:h,paddingTop:pT,paddingBottom:pB}, 300, "swing", function(){
                            $curA.addClass("opened");
                        })
            }
            $(this).blur();
            return false;
        })
    })
    
    $(".orderDescriptionFull").each(function(){
        var $curObj = $(this);
        var h = $curObj.show().height();
        var pT = $curObj.css("paddingTop");
        var pB = $curObj.css("paddingBottom");
        $curObj.css({height:0,paddingTop:0,paddingBottom:0});
        $(this).closest("tr").prev("tr").find(".psevdoLinks").children("a:first").bind("click",function(){
            var $curA = $(this);
            if($curA.hasClass("opened")){
                $curObj.animate({height:0,paddingTop:0,paddingBottom:0}, 300, "swing", function(){
                            $curA.removeClass("opened");
                            $curObj.removeClass("opened");
                            $curA.closest("tr").removeClass("opened");
                        })
            }
            else {
                $curObj.animate({height:h,paddingTop:pT,paddingBottom:pB}, 300, "swing", function(){
                            $curA.addClass("opened");
                            $curObj.addClass("opened");
                            $curA.closest("tr").addClass("opened");
                        })
            }
            $(this).blur();
            return false;
        })
    })
	
	// comments 
	$("#page").delegate(".star-empty", "click", function(){
		$(this).removeClass("star-empty").addClass("star-full");
		$(this).prevAll("span").removeClass("star-empty").addClass("star-full");
		var cInd = $(".valuation").children("span").index($(this));
		$(".show-digits").text(cInd + 1);
		$("#markForTovar").val(cInd + 1);
	})
	
	$("#page").delegate(".star-full", "click", function(){
		$(this).removeClass("star-full").addClass("star-empty");
		$(this).nextAll("span").removeClass("star-full").addClass("star-empty");
		var cInd = $(".valuation").children("span").index($(this));
		if(cInd <= 0){
			$(".show-digits").text('');
			$("#markForTovar").val('');
		}
		else {
			$(".show-digits").text(cInd);
			$("#markForTovar").val(cInd);
		}
	})
	
	$("body").delegate("a.submit", "click", function(){
			var err = 0;
			var $curForm = $(this).closest("form");
        	$curForm.find(':input[data-need-check="yes"]').each(function(){
				var typeOfInput = $(this).attr('data-type');
				switch (typeOfInput)
				 {
				 case 'telnum':
				   err += checkTelefonInput($(this));
				   break;
				 case 'email':
				   err += checkEmailInput($(this));
				   break;
				 default:
				   err += checkTextInput($(this), 'Заполните это поле, пожалуйста');
				 }
		   })
		   if($curForm.hasClass("formPersonalInfo")){
            err += checkPasswordInputs("formPersonalInfo", "password", "passwordRepeat");
           }
           if(err == 0) {
			$curForm.submit();
		   }
		   $(this).blur();
           return false;
	})
	
	$("a.reset").bind("click", function(){
		$(':input', $(this).closest("form")).not(':button, :submit, :reset, :hidden, select[name="delivery"]').val('').removeAttr('checked').removeAttr('selected');
                $("p.err").remove();$(":input.err").removeClass("err");
		$(this).blur();
                return false;
	})
        
        $(".hasAccount").bind("click", function(){
            $(".logIn").click();            
        })
        
        $("a.orderCallNow").bind("click", function(){
            $(this).parent("p").addClass("hidden");
            $("p.orderCallInputCont").removeClass("hidden");
            $(this).blur();
            return false;
        })
        
        $(".makeOrderForm").bind("submit", function(){
            var err = 0;
            var $curForm = $(this);
            $curForm.find(':input[data-need-check="yes"]').each(function(){
				var typeOfInput = $(this).attr('data-type');
				switch (typeOfInput)
				 {
				 case 'telnum':
				   err += checkTelefonInput($(this));
				   break;
				 case 'email':
				   err += checkEmailInput($(this));
				   break;
				 default:
				   err += checkTextInput($(this), 'Заполните это поле, пожалуйста');
				 }
		   })
            if($(":input[name='wantspam']").is(":checked")){
               err += checkEmailInput($(":input[name='email']"));
            }
            if(err == 0) {
			return true;
		   }
            else return false;
        })
        
        $("#callOrderForm").bind("submit", function(){
            $.post($(this).attr("action"),$(this).serialize(), function(data, status){
                $("p.orderCallInputCont").addClass("hidden");
                if(status == 'success') {
                    $("p.success").removeClass("hidden");
                }
                else { 
                    $("p.failed").removeClass("hidden");
                }
            })
            return false;
        })
	
     
        //order options
        if(("#delivery-price").length){
            defineTotalPrice();
        }
        
        $(".makeOrderForm").find(":input[name='delivery']").each(function(){
            $(this).bind("click", function(){
                defineTotalPrice();
            })            
        })
        
        $(".deleteTovarFromCart").bind("click", function(){
            var $curObj = $(this);
            $.post("/includes/axrequests.php", 'action=deletetovaronorderpage&articul='+$curObj.attr("data-articul"), function(data){
                    if(data == 'ok'){
                        refreshCartDataInTop();
                        $curObj.closest(".oneItemProduct").remove();
                        if($(".orderContentBlock").children(".oneItemProduct").length){
                            defineTotalPrice();
                        }
                        else {
                            $(".orderContentBlock").replaceWith('<p class="bigger" style="padding-top: 110px;">Ваша корзина пуста.</p>');
                        }
                    }                
                    else {
                        alert("Ошибка, попробуйте еще раз.")
                    }
                })
        })
        
        // cart options
		if($(".blockOfInterestProduct").length){
			var $block = $(".blockOfInterestProduct").clone(true);	
			$(".blockOfInterestProduct").remove();
			$("body").prepend($block);
		}
	
        $("body").delegate(".addToCartForm", "submit", function(){
            if(parseInt($("#quantityInCartForm").val()) > 0){
                $.post($(this).attr("action"), $(this).serialize(), function(data){
                    //$("p.cartTop").replaceWith(data);
                    //$(".closeThis").click();
                    window.open(mainurl+'korzina/', "_self");                    
                })
            }            
            return false;
        })
        
	// add inputs
	 $("body").delegate(".addInput", "click", function(){
                var $inputToClone = $(this).parent(".psevdoLinks").prev("div").clone(true);
		$inputToClone.find(":input").val('');
                $inputToClone.prepend('<div class="deleteInput"></div>');
                $(this).parent(".psevdoLinks").before('<p class="left clearleft">&nbsp;</p>');
		$inputToClone.insertBefore($(this).parent(".psevdoLinks"));
                $(this).blur();
                return false;
        })
        
        $("body").delegate(".deleteInput", "click", function(){
            $(this).parent("div").prev("p").remove();
            $(this).parent("div").remove();            
        })
	
	// products in cart
	$("body").delegate(".deleteTovarBig", "click", function(){
                var $curObj = $(this).closest("tr");
                $curObj.find(":input[name='action[]']").val("deleteproductfromcart");
                $.post("/includes/axrequests.php", $curObj.find(":input").serialize(), function(data){
                    refreshCartDataInTop();
                    $(".cartWithTovarsForm").replaceWith(data);
                })	
	})
        
        $("body").delegate(".quantityofoneproduct", "blur", function(){
                var $curObj = $(this).closest("tr");
                if(parseInt($(this).val()) > 0){
                    $curObj.find(":input[name='action[]']").val("refreshproductfromcart");
                }
                else $curObj.find(":input[name='action[]']").val("deleteproductfromcart");
                $.post("/includes/axrequests.php", $curObj.find(":input").serialize(), function(data){
                    refreshCartDataInTop();
                    $(".cartWithTovarsForm").replaceWith(data);
                })
        })
        
        $("body").delegate(".colorShowBiggerInCart", "click", function(){
            if($(this).parent("p").hasClass("colorsInCart")){
                var $curObj = $(this).closest("tr");
                $curObj.children("td:first").find(":input[name='articul[]']").val($(this).attr("data-articul"));
                $(this).addClass("active").siblings("span").removeClass("active");
                $curObj.find(":input[name='action[]']").val("refreshproductfromcart");
                $.post("/includes/axrequests.php", $curObj.find(":input").serialize(), function(data){
                    refreshCartDataInTop();
                    $(".cartWithTovarsForm").replaceWith(data);
                })
            }
        })
	
	$("body").delegate(".cleanCart", "click", function(){
		$.post("/includes/axrequests.php", 'action=cleancart', function(data){
                    refreshCartDataInTop();
                    $(".cartWithTovarsForm").replaceWith(data);
                })
                $(this).blur();
                return false;
	})
	
        $(".loginForm").bind("submit", function(){
            $curForm = $(this);
            $.post("/includes/axrequests.php", 'action=logintosait&' + $curForm.serialize(), function(data){
                   if(data == 'ok'){
                       $("p.enterTPO").html('<a class="logOut" href="#" title="Выход"><span class="red">Выйти</span></a> или зайти <a class="ordinaryStyle" href="/personal-office/">в личный кабинет</a>');
                       $(':input', $curForm).not(':button, :submit, :reset, :hidden, :radio').val('').removeAttr('checked').removeAttr('selected');
                       $(".closeThis").click();
                       if((/korzina/i).test(location.href)) window.open(mainurl+'korzina/', "_self");
                       if((/oformit-zakaz/i).test(location.href)) window.open(mainurl+'oformit-zakaz/', "_self");                       
                   }
                   else {
                       if(!$(".logInBlock").children(".loginError").length)
                       $(".logInBlock").append('<p class="loginError" style="position:absolute;bottom:40px;left:70px;color:#FF3333;">Ошибка авторизации. Неверный логин или пароль.</p>');
                   }
            })
            return false;
        })
    
})

        function defineTotalPrice(){
            var tsum = 0;
            $(".oneItemProduct").each(function(){
                tsum += parseInt($(this).children("p.right").children("span.bigger").text());
            })
            var $deliveryPrice = parseInt($(".makeOrderForm").find("select[name='delivery'] option:selected").attr("data-price"));
            $("#delivery-price").text($deliveryPrice+"грн.");
            $("#totalsum-with-delivery").text((tsum + $deliveryPrice)+"грн.");
        }

        function refreshCartDataInTop(){
            $.post("/includes/axrequests.php", 'action=refreshcartdata', function(data){
                $("p.cartTop").replaceWith(data);
            })
        }

        function sendRequestByFilters(){
            if($(".filtersContainer").hasClass("onKatalogPage")){
                $(".filtersContainer").append('<div class="ajaxRequest" style="position:absolute;z-index:1000;top:0;left:0;width:100%;height:100%;"></div>')
                $curForm = $(".filtersContainer").children("form:first");
                $.ajax({
                    type: "POST",
                    url: '/includes/axrequests.php',
                    data: "action=calculatenumofproducts&catid=" +  $("a.submit", $("#resultsKolOfSearch")).attr("data-catid") + "&cattype=" +  $("a.submit", $("#resultsKolOfSearch")).attr("data-cattype") + "&" + $curForm.serialize(),
                    success: function(data){
                        $(".ajaxRequest").remove();
                        $("a.submit", $("#resultsKolOfSearch")).html(data);
                    },
                    error: function(data){
                        $(".ajaxRequest").remove();
                        //alert('error');
                    }
                });
            }
        }

	// tovars on main
	function tovarsOnMainShow(){
		$(".tovarsBigUlOnMain").each(function(){
			var k = Math.floor($(this).width() / 234);
			if(k > 3) $(this).children("li").eq(3).show();
			else $(this).children("li").eq(3).hide();
		})
	}
	
	function _bgOnTop(){
		if($("#page").height() > $("body").height()){
			$(".mainTopBg").css({height: $("#page").height()})	 
		 }
		 else {
			 $(".mainTopBg").css({height: "100%"})
		 }	
	}
	
	function _initSimilarOptionsInTovars(){
		var numOfTovarsInCompare = $(".descriptions").find(".compareTable").find("tr:first").find("td").length;
		if(numOfTovarsInCompare > 2){
			$(".descriptions").find(".compareTable").find("tr").each(function(){
				var f = 2;
				var str = '';
				var patt = new RegExp($(this).find("td").eq(1).text(),"i");
				for(i=2; i<=numOfTovarsInCompare; i++){
					 str = $(this).find("td").eq(i).text();
					 if(str.match(patt)) f++;
				}
				if(f==numOfTovarsInCompare) $(this).addClass("similar");
				else $(this).removeClass("similar");
			})
		}	
		else {
			$(".descriptions").find(".compareTable").find("tr").each(function(){
				$(this).removeClass("similar");
			})
		}
	}

	function checkTextInput(curObj, message){
		if(curObj.hasClass("err")){
			if (curObj.val()=="") {
                curObj.next("p.err").text(message);
				return 1;
			}
			else {
				curObj.removeClass("err");
				curObj.next("p.err").remove();
				return 0;
			}
		}
		else {
			if (curObj.val()=="") {
					curObj.addClass("err");
					curObj.after("<p class='err'>" + message + "</p>");
					return 1;
			 }
			 else return 0;
		}
	}

	function checkEmailInput(curObj){
		if(curObj.hasClass("err")){
			if (curObj.val()=="") {
				curObj.next("p.err").html("Введите E-mail, пожалуйста");
				return 1;
			}
			else {
				if(!(/^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})$/i).test(curObj.val())){
					curObj.next("p.err").html("Вы ввели некорректный E-mail");
					return 1;
				}
				else {
					curObj.removeClass("err");
					curObj.next("p.err").remove();
					return 0;
				}
			}
		}
		else {
			 if (curObj.val()=="") {
					curObj.addClass("err");
					curObj.after("<p class='err'>Введите E-mail, пожалуйста</p>");
					return 1;
			 }
			 else {
				 if (!(/^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})$/i).test(curObj.val())) {
					curObj.addClass("err");
					curObj.after("<p class='err'>Вы ввели некорректный E-mail</p>");
					return 1;
				  }
				  else return 0;
			 }
		}
	}

	function checkTelefonInput(curObj){
		if(curObj.hasClass("err")){
			if (curObj.val()=="") {
				curObj.next("p.err").html("Введите номер телефона, пожалуйста");
				return 1;
			}
			else {
					if(!(/([0-9\+\-]{6,12})$/i).test(curObj.val())){
					curObj.next("p.err").html("Вы ввели некорректный номер телефона");
					return 1;
				}
				else {
					curObj.removeClass("err");
					curObj.next("p.err").remove();
					return 0;
				}
			}
		}
		else {
			 if (curObj.val()=="") {
					curObj.addClass("err");
					curObj.after("<p class='err'>Введите номер телефона, пожалуйста</p>");
					return 1;
			 }
			 else {
					if (!(/([0-9\+\-]{6,12})$/i).test(curObj.val())) {
					curObj.addClass("err");
					curObj.after("<p class='err'>Вы ввели некорректный номер телефона</p>");
					return 1;
				  }
				  else return 0;
			 }
		}
	}
	
	function checkPasswordInputs(formClass, name, name2){
            if($("." + formClass + " :input[name='" + name + "']").attr("data-need-check") && $("." + formClass + " :input[name='" + name + "']").hasClass("err")) return 1;
            if($("." + formClass + " :input[name='" + name + "']").hasClass("err") || $("." + formClass + " :input[name='" + name2 + "']").hasClass("err")){
                if (!($("." + formClass + " :input[name='" + name + "']").val() == $("." + formClass + " :input[name='" + name2 + "']").val())) {
                    if($("." + formClass + " :input[name='" + name + "']").hasClass("err")) $("." + formClass + " :input[name='" + name + "']").next("p.err").html("&nbsp;");
                    else $("." + formClass + " :input[name='" + name + "']").after("<p class='err'>&nbsp;</p>");
                    if($("." + formClass + " :input[name='" + name2 + "']").hasClass("err"))  $("." + formClass + " :input[name='" + name2 + "']").next("p.err").html("Пароли не совпадают");
                    else $("." + formClass + " :input[name='" + name2 + "']").after("<p class='err'>Пароли не совпадают</p>");
                    return 1;
                }
                else {
                    $("." + formClass + " :input[name='" + name + "']").removeClass("err");
                    $("." + formClass + " :input[name='" + name + "']").next("p.err").remove();
                    $("." + formClass + " :input[name='" + name2 + "']").removeClass("err");
                    $("." + formClass + " :input[name='" + name2 + "']").next("p.err").remove();
                    return 0;
                }
            }
            else {
                if ($("." + formClass + " :input[name='" + name + "']").val() == $("." + formClass + " :input[name='" + name2 + "']").val()) return 0;
                else {
                        $("." + formClass + " :input[name='" + name + "']").addClass("err");
                        $("." + formClass + " :input[name='" + name + "']").after("<p class='err'>&nbsp;</p>");
                        $("." + formClass + " :input[name='" + name2 + "']").addClass("err");
                        $("." + formClass + " :input[name='" + name2 + "']").after("<p class='err'>Пароли не совпадают</p>");
                        return 1;
                 }
            }
	}


