/**
 * Scripts for pkdc
 * @author fliptheweb
 */
$(document).ready(function() {
	$(".js-no").removeAttr("class");
	/**
	 * Top menu animation
	 */
	var topmenu = $("#js-topmenu");
	var topmenuUl = $("ul", topmenu);
	var topmenuLinks = $("a", topmenu);
	var topmenuImages = $("div", topmenu);
	topmenuLinks.bind("click", function(){
		var $this = $(this);
		var $prev = $(".active", topmenuUl);
		if(!$this.parent().hasClass("active")){
			$(".active",topmenuUl).removeClass("active");
			$this.parent().addClass("active");
			
			//position of ul background
			if(!$.browser.msie){
				topmenuUl.animate({backgroundPosition: -950+$this.parent().position().left+'px 0'}, {
					duration: 800,
					eaising: "easeInOutBack"
				});
			}
			else{
				topmenuUl.animate({backgroundPositionX: -950+$this.parent().position().left+'px'}, {
					duration: 800,
					eaising: "easeInOutBack"
				});
			}
			
			var topmenuImage = $(".b-icon-tm"+($("li",topmenuUl).index($this.parent())+1), topmenu);
			var topmenuPrevImage = $(".b-icon-tm"+($("li",topmenuUl).index($prev)+1), topmenu);
			//image animations			
			topmenuImage.animate({top:'5px'},{
				duration: 400,
				easing: "easeInOutBack",
				complete: function(){
					topmenuImage.css("z-index", 3);
				}
			})
			.animate({top:'50px'},{
				duration: 300
			});
			//prev image animation
			topmenuPrevImage.animate({top:'5px'}, {
				duration: 100, 
				complete: function(){
					topmenuPrevImage.css("z-index", 1)
					.animate({top:'70px'}, {
						duration: 500,
						easing: "easeInOutBack",
						queue: true
					});
				},
				queue: false});
			//todo: change tabs
			$("div.b-maintop").animate({opacity: 0.5});
			$("body").append('<div class="ajax-load"></div>');

			$.get($this.attr("href"),{},function(data){
				$("#js-changeblock").html(data);
				$("div.b-maintop").animate({opacity: 1});
				$("div.ajax-load").remove();
			});
		}
		return false;
	});
	/**
	 * Event for focus
	 */
	topmenuLinks.bind("focus", function(){
		$(this).click();
	});
	/**
	 * Event from url with anchor
	 */
	//console.log();	
	/*if(location.href.lastIndexOf("#")!=-1){
		var anchor = location.href.substring(location.href.lastIndexOf("#")+1,location.href.length);
		var anchorLink = $("a[href=#"+decodeURI(anchor)+"]");
		if(anchorLink.size()!=0){
			anchorLink.click();
		}
	}*/
	/**
	 * Carousel on main page
	 */
	$("#js-maincarousel").each(function(){
		var $carouselPrev = $("#js-maincarousel").find(".b-maincarousel-prev");
		var $carouselNext = $("#js-maincarousel").find(".b-maincarousel-next");
		$(this).find("ul").jcarousel({
			buttonNextHTML: null,
			buttonPrevHTML: null,
			scroll: 1,
			initCallback: carousel_initCallback,
			wrap: 'circular'
		});
		$(window).bind("resize", function(){
			carouselNav();
		});
		carouselNav();
		function carousel_initCallback(carousel){
			$carouselPrev.bind("click", function(){
				carousel.prev();
				return false;
			});
			$carouselNext.bind("click", function(){
				carousel.next();
				return false;
			});
		};
		function carouselNav(){
			if($("body").width() > 1030){
				$carouselPrev.addClass("b-maincarousel-big");
				$carouselNext.addClass("b-maincarousel-big");
			}else{
				$carouselPrev.removeClass("b-maincarousel-big");
				$carouselNext.removeClass("b-maincarousel-big");
			}
		};
		
	});
	/**
	 * Set search input field
	 */
	$("#js-setsearch").bind("click", function(){
		var searchInput = $(this).parent().prev().prev();
		searchInput.val($(this).text());
		searchInput.focus();
		return false;
	});
	
	var slideSpeed = 300;
	$("#js-changeblock .b-menu>li>a").live("click", function(){
		var $this = $(this);
		$("#js-changeblock .b-menu>li>a").parent().removeClass("active");
		$("#js-changeblock .b-menu>li>a").parent().children("ul").slideUp(slideSpeed);
		$("#js-changeblock .b-content").animate({opacity: 0.5});
		$("body").append('<div class="ajax-load ajax-load-r"></div>');
		$this.parent().children("ul").slideDown(slideSpeed, function(){
			//console.log($this);			
			$.get($this.attr("href"),{},function(data){
				$("#js-changeblock .b-content").html(data);
				$("#js-changeblock .b-content").animate({opacity: 1});
				$("div.ajax-load").remove();
			});
		});
		$(this).parent().addClass("active");
		return false;
	});
	
	/**
	 * Slider of greybox menu
	 */
	$("div.b-greybox[id^='js-slideblock']").each(function(){
		slideBlock($(this));
	});
	
	$("div.b-greybox[id^='js-slideblock'] ul li.separate a").live("click", function(){
		var $ul = $(this).parent().parent();
		$ul.children("li").removeAttr("style");
		$(this).parent().remove();
		//$ul.children("li").children("a").animate({"font-size":"130%"},500,"linear")
		$ul.addClass("b-openslide", 500, "easeInOutBack");
		return false;
	})
	$("div.b-greybox[id^='js-slideblock'] h2 a").bind("click", function(){
		var $ul = $(this).parent().next();
		if($ul.hasClass("b-openslide")){
			slideBlock($(this).parent().parent());
		}
		else{
			$ul.children("li").removeAttr("style");
			$ul.children("li.separate").remove();
			//$ul.children("li").children("a").animate({"font-size":"130%"},500,"linear")
			$ul.addClass("b-openslide", 500, "linear");
		}
		return false;
	});
	
	/**
	 * Slider for ext search
	 */
	$(".b-searchform .b-linkdashed_black").bind("click", function(){
		$(".b-searchform .b-searchform-ext").slideToggle("300");
		return false;
	});
	
	/**
	 * Slider for faq
	 */
	$("#js-showansw a.b-link-showansw").bind("click", function(){
		$this = $(this);
		if($this.hasClass("active")){
			$this.removeClass("active");
			$this.next(".b-answ").slideUp();
			$this.children("span").text("Посмотреть ответ");
		}
		else{
			$this.addClass("active");
			$this.next(".b-answ").slideDown();
			$this.children("span").text("Скрыть ответ");
		}
		return false;
	});
	/**
	 * Modal box on main page
	 */
        /*
	$("#js-changeblock .b-personainfo .b-linkdashed-span").live("click", function(){
		if($(this).hasClass("b-active")){
			$(this).removeClass("b-active");
			$("#js-changeblock .b-modal-main").remove();
		}
		else{
                    alert('ada');
			$(this).addClass("b-active");
			var $modal = $('<div class="b-modal-main"><div class="b-modal-main-tail"></div></div>').appendTo("#js-changeblock .b-content");
			$modal.css("top", $(this).position().top+25);
			$.get("/",{},function(data){
				//$modal.append(data);
			});
		}
		return false;
	});
        */
    $(".b-linkdashed-span").live("click", function(e){
		e.stopPropagation();
		$('.b-modal-main').css("top", $(this).position().top+25);
		if($('.b-modal-main').css("display")=="block"){
			$('.b-modal-main').fadeOut(300);
		}else{
			$('.b-modal-main').fadeIn(300);
		}
		
		return false;
	});
	$("body").bind("click", function(){
        if($(".b-modal-main:visible").size()){
            $(".b-modal-main").fadeOut(300);
        }
    });
	$(".b-graph").live("click", function(){
		if($(this).hasClass("b-active")){
			$(this).removeClass("b-active");
			$(".b-nav .b-modal-main").remove();
		}
		else{
			$(this).addClass("b-active");
			var $modal = $('<div class="b-modal-main"><div class="b-modal-main-tail"></div></div>').appendTo(".b-nav");
			$modal.css("top", $(this).position().top+25);
			$.get("/",{},function(data){
				//$modal.append(data);
			});
		}
		return false;
	});
	
	/**
	 * modal box on cafe and corporate page
	 */
	$(".b-orangetip a").bind("click", function(){
		$this = $(this);
		$.fancybox({
			'content' : $(this).parent().next().html(),
			'overlayShow' : false,
			'autoScale'		: false,
			'width'			: 680,
			'height'		: 495
		});
		return false;
	})
	
	/**
	 * Fancybox
	 */
	$("#js-fancybox a").bind("click", function(){
		$this = $(this);
		$.fancybox({
			'titlePosition'  : 'inside',
			'title' : $this.text(),
			'href' : $this.attr("href")
		});
		return false;
	});
	$("#js-fancybox-video a").bind("click", function(){
		$this = $(this);
		$.fancybox({
			'autoScale'		: false,
			'transitionIn'	: 'none',
			'transitionOut'	: 'none',
			'titlePosition' : 'inside',
			'title'			: $this.text(),
			'width'			: 680,
			'height'		: 495,
			'href'			: $this.attr("href").replace(new RegExp("watch\\?v=", "i"), 'v/'),
			'type'			: 'swf',
			'swf'			: {
				'wmode'		: 'transparent',
				'allowfullscreen'	: 'true'
			}
		});
		return false;
	});
	
	/**
	 * Slide on sitemap page
	 */
	$("#js-sitemap a.b-linkdashed").bind("click", function(){
		if($(this).next("ul").css("display")!="none"){
			$(this).next("ul").slideUp();
		}
		else{
			$(this).next("ul").slideDown();
		}
		return false;
	});
	
	/**
	 * Slide on otdelenie page
	 */
	$("#js-slideblocks h2 a").bind("click", function(){
		$slide = $(this).parent().next(".b-slideblock");
		if($slide.css("display")!="none"){
			$slide.slideUp();
		}
		else{
			$slide.slideDown();
		}
		return false;		
	});
	$("#js-slideblocks a.b-linkdashed_hide").bind("click", function(){
		$slide = $(this).parent();
		if($slide.css("display")!="none"){
			$slide.slideUp();
		}
		else{
			$slide.slideDown();
		}
		return false;
	});
	
	/**
	 * Comments
	 */
	$("#js-comment-add").find("textarea").each(function(){
		$(this).markItUp(MarkItUpComment);
	});
	$("#js-comments").find("a.b-linkdashed_black").bind("click", function(){
		var $this = $(this);
		if($this.parent().children(".b-reply").size()==0){
			//work with ul comment
			$("#js-comments").find(".b-reply").remove();
			$this.parent().children(".b-com").after('<ul class="b-reply"><li><form action="" class="b-comment-add"><input type="hidden" name="reply" id="'+$this.parent().children().first().attr("name")+'" /><label for="name">Ваше имя:</label><input type="text" name="name" id="name" />'+
			'<label for="message">Сообщение:</label><textarea name="message" id="message"></textarea><input type="submit" value="Отправить" /></form></li></ul>');
			$this.parent().find("ul.b-reply").find("textarea").markItUp(MarkItUpComment);
			//work with general comment
			$("#js-comment-add").hide();
			$("#js-comment-add").prev("h2").wrapInner('<a class="b-linkdashed" href="#"></a>');
			$("#js-comment-add").parent().find(".b-linkdashed").bind("click", function(){
				var $h2 = $(this).parent();
				$h2.text($(this).text());
				$("#js-comments").find(".b-reply").remove();
				$("#js-comment-add").show();
				return false;
			})
		}
		return false;
	});	
});

function slideBlock(block){
	var ulItem = $("ul", block);
	var allItems = ulItem.children("li");
	var itemsWidth = 0;
	var sepItem = 0;
	//console.log(countItems);
	for(i=0; i<allItems.length; i++){
		itemsWidth+=$(allItems[i]).outerWidth();
		if(itemsWidth >= 280){
			break;
		};
		var sepItem = i;
	}
	allItems.slice(sepItem+1).hide();
	$(allItems[sepItem]).after('<li class="separate"><a href="#">...</a></li>');
	ulItem.removeClass("b-openslide");
}

