var scroll_bussy = false;
var scroll_up = 0;
var scroll_down = 0;

function printInfo(e)
{
	if(scroll_bussy == false && hash == ''){
		scroll_bussy = true;
		e = e ? e : window.event;
		var raw = e.detail ? e.detail : e.wheelDelta;
		var normal = e.detail ? e.detail * -1 : e.wheelDelta / 40;
		if(normal > 0 && normal > 300){
			$("#content_up").click();
			setTimeout(function(){ scroll_bussy = false; }, 750);
		}else if(normal < 0 && normal < -300){
			$("#content_down").click();
			setTimeout(function(){ scroll_bussy = false; }, 750);
		}
	}
	if(hash == ''){
		cancelEvent(e);
	}
}

(function($){
	$.fn.hoverClass = function(className){
		return $(this).each(function(){
			var _class = className;
			$(this).hover(function(){
				$(this).addClass(_class)
			},function(){
				$(this).removeClass(_class);
			});
		});
	}
})(jQuery);

(function($){

	$.click_pointer = 0;

	$.fn.clickScroll = function(options){
	
		var $bar = $(this);
		var $up = $(".go_up");
		var $down = $(".go_down");
		var $pointers = $(".menu_pointer");
		var pcounter = 0;
		$pointers.each(function(){
			$(this).attr('pointer', pcounter);
			pcounter++;
		});
		var $content = $("#content_scroll");
		var $menu = $("#scroll_menu");
		var $next = $("#next_case");
		var $prev = $("#prev_case");
		
		$prev.click(function(){
			var prev = $("#scroll_menu .active").prev();
			if(prev.length == 1){
				prev.click();
			}else{
				$prev.effect("shake", { times:2, distance: 7 }, 70);
			}
		});
		
		$next.click(function(){
			var next = $("#scroll_menu .active").next();
			if(next.length == 1){
				next.click();
			}else{
				$next.effect("shake", { times:2, distance: 7 }, 70);
			}
		});
		
		$up.click(function(e){
			e.preventDefault();
			if($.click_pointer == 0){
				$content.effect("shake", { times:2, distance: 7 }, 70);
				return false;
			}
			$.click_pointer--;
			$content.stop().animate({
				top: (-($(".pointer").eq($.click_pointer).position().top)) + 19,
				left: 0
			},450);
			
			$menu.stop().animate({
				top: (-($(".menu_pointer").eq($.click_pointer).position().top))
			},450);
		});
		
		$down.click(function(e){
			e.preventDefault();
			if($.click_pointer == $pointers.length-1){
				$content.effect("shake", { times:2, distance: 7 }, 70);
				return false;
			}
			$.click_pointer++;
			
			$content.stop().animate({
				top: (-($(".pointer").eq($.click_pointer).position().top)) + 19,
				left: 0
			},450);
			
			$menu.stop().animate({
				top: (-($(".menu_pointer").eq($.click_pointer).position().top))
			},450);
		});

	}
	
})(jQuery);


var counter = 0;

var hash = '';
$("document").ready(function(){

	$(window).hashchange( function(){
		hash = location.hash;
		if(hash == '' || hash == "#") 
		{
			hash = '';
		}else
		{
			get_case(hash.substr(1));
		}
	});
	$(".scroll_wrapper").slideDown({
		duration: 300,
		easing: 'easeInExpo',
	});
	$(document).keypress(function(e) { 
	    if (e.keyCode == 27) { 
			window.location="#";
	    }  
	});

	$(".hoverable").hoverClass('hover');

	$(".scroll_menu").clickScroll();
	var elements = [];
	var counter = 0;
	$(".case").each(function(){
		elements.push(".case_nr_"+(++counter));
		$(this).addClass("case_nr_"+(counter));
		$(this).hover(function(){
			if($(this).find('.picture2').length == 1){
				$(this).find('.picture2').fadeIn(150);
			}
		},function(){
			if($(this).find('.picture2').length == 1){
				$(this).find('.picture2').fadeOut(150);
			}
		});	
	});
	counter = 0;
	var time = 100;
	for(i in elements)
	{
		$(elements[i]).delay((counter++)*time).fadeIn(500);
	}
	$("#content_up").delay(450).animate({top: 119},{
			duration: 300,
			easing: 'easeInExpo'
		});
	$("#content_down").delay(450).animate({bottom: 119},{
			duration: 300,
			easing: 'easeInExpo'
		});
	$(".case_trigger").click(function(e){
		e.preventDefault();
		window.location = '#case_'+$(this).attr('rel');
	});
	
	$("#all_cases").click(function(){
		window.location = '#';
		$('.case_trigger.active').removeClass('active');
		$("#ajax_loader").show();
		$("#loaded_content").slideUp('fast',function(){
			$(window).triggerHandler('do_resize');
		});
		
		$("#content").delay(800).animate({
			'margin-left': -0
		},300, function(){
			$("#ajax_loader").hide();
		});
		$("#case_content").delay(300).animate({
			left: -735
		},{
			duration: 300,
			easing: 'easeInExpo'
		});
		$("#content_up").delay(250).animate({top: 119},{
			duration: 300,
			easing: 'easeOutExpo'
		});
		$("#content_down").delay(250).animate({bottom: 119},{
			duration: 300,
			easing: 'easeOutExpo'
		});
	});
	
	$(window).hashchange();
	
	$('#content').mousewheel(function(ev,delta){
		if(delta < 0){
			var _d = delta * -1;
		}else{
			var _d  = delta;
		}
		if(_d < 30) return;
		if(scroll_bussy == false && hash == ''){
			scroll_bussy = true;
			if(delta > 0){
				$("#content_up").click();
				setTimeout(function(){ scroll_bussy = false; }, 750);
			}else if(delta < 0 ){
				$("#content_down").click();
				setTimeout(function(){ scroll_bussy = false; }, 750);
			}
		}
	})
});

function get_case(hash)
{
	if(hash.substr(0,4) != 'case') return;
	$('.case_trigger.active').removeClass('active');
	var $cmenu = $('#scroll_menu .'+hash);
	$cmenu.addClass('active');
	$("#ajax_loader").show();
	$("#content").stop().animate({
		'margin-left': -1300
	},{
			duration: 300,
			easing: 'easeInExpo'
		});
	$("#case_content").stop().delay(300).animate({
		left: -735
	},{
			duration: 300,
			easing: 'easeInExpo'
		});
	$("#loaded_content").slideUp({
			duration: 300,
			easing: 'easeOutExpo'
	});
	var lang="";
	if(window.location.pathname.substr(1,2)=="uk"){
		lang="/uk";
	}
	$('#loaded_content').load(lang+'/cases/item/'+hash.substr(5),function(){
	$("#loaded_content").slideUp(0);
	$("#case_content").delay(300).animate({
		left: 219
	},{
			duration: 500,
			easing: 'easeOutExpo',
		complete: function(){
	
		$("#ajax_loader").hide();
		$("#loaded_content").slideDown({
			duration: 500,
			easing: 'easeInExpo'
		},function(){
			$(window).triggerHandler('do_resize');
		});
	}
	
	});
	if($cmenu.hasClass('menu_po99inter')){
		$.click_pointer = $cmenu.attr('pointer');
	}else{
		$.click_pointer = $cmenu.prevAll('.menu_pointer:first').attr('pointer');
	}
	if(!$.click_pointer)
	{
		$.click_pointer = 0;
	}
	$("#content_up").delay(250).animate({top:-50},{
			duration: 300,
			easing: 'easeInExpo'
		});
	$("#content_down").delay(250).animate({bottom:-50},{
			duration: 300,
			easing: 'easeInExpo'
		});
	$("#content_scroll").stop().animate({
		top: (-($(".pointer").eq($.click_pointer).position().top)) + 19,
		left: 0
	},{
			duration: 500,
			easing: 'easeInExpo'
		});
	
	$("#scroll_menu").stop().animate({
		top: (-($(".menu_pointer").eq($.click_pointer).position().top))
	},{
			duration: 500,
			easing: 'easeInExpo'
		});
	
	});
}
