function slider(){
	var $slider = $('#slider');
	var $slides = $slider.find('.slide');
	if ($slider.length === 0 ) { return; };
	var $images = $slider.find('.slide .bg');
	var current = -1;
	var loaded = 0;
	var animating = true;
	var interval;
	$slider.find('.slide:first-of-type').addClass('first');
	$slider.find('.viewport').addClass('loading');
	function start_auto_slides(){
		interval = window.setInterval(function(){
			show_slide('next', 2000);
		}, 5000);
	};
	
	function stop_auto_slides(){
		if( interval ){
			window.clearInterval(interval);
		};
	};
	
	function check_if_images_are_loaded(){
		var result = true;
		for (var i = 0; i<$images.length; i++) {
			
			result = result && $images[i].complete;
			
			if ( $images[i].complete ){
				if( current === -1) {
					current = i;
				}
				$($slides[i]).hide();
			}

		}
		

		if(result) {
			window.clearInterval(image_checker);
			$($slides[current]).fadeIn('1500', function(){
				$slider.children('.loading').removeClass('loading');
				animating = false;
				start_auto_slides();
				bind_controls();
			});
		};

		return result;
		
	}; //end check_if_images_are_loaded
	
	function bind_controls(){
		$('#slider .controls button').click(function(event){
			event.preventDefault();
			stop_auto_slides();
			if( $(event.currentTarget).hasClass('previous') ) {
				show_slide('previous');				
			} else if( $(event.currentTarget).hasClass('next') ) {
				show_slide('next')
			}
		})
	}
	
	//prevent sliding when cursor is hovering over services menu
	$('#services').hover(function(){
		stop_auto_slides();
	}, function(){
		start_auto_slides();
	});
	
	var image_checker = setInterval(check_if_images_are_loaded, 150);
	
	var show_slide = function(switch_to, speed){
		if(animating) { return; };
		
		switch (switch_to)
		{
			case 'next':
				switch_to = current+1;
			break;
			
			case 'previous':
				switch_to = current+$slides.length-1;
			break;
			
			case 'random':
				switch_to = current+Math.random()*($slides.length);
			break;
			
			default:
				switch_to = parseInt(switch_to);
		};//end switch

		switch_to = switch_to % $slides.length;
				
		if(switch_to === current) {
			return;
		}
		
		if( typeof(speed) === 'undefined' ) {
			speed = 1500;
		}
		
		animating = true;
		
		var $new_slide = $($slides[switch_to]);
		
		var $old_slide = $($slides[current]);
		
		$old_slide.css({
			zIndex: 40
		});
		
		$new_slide.css({
			zIndex: 50
		}).fadeIn(speed, function(){
			$old_slide.hide();
			current = switch_to;
			animating = false;
		});
	}; //end show_slide
	
}




$(function () {
	
	slider();
	
	$('.dropdown').each(function () {
		$(this).parent().eq(0).hoverIntent({
			timeout: 100,
			over: function () {
				var current = $('.dropdown:eq(0)', this);
				current.slideDown(100);
			},
			out: function () {
				var current = $('.dropdown:eq(0)', this);
				current.fadeOut(200);
			}
		});
	});
	
	$('.dropdown  a').hover(function () {
		$(this).stop(true).animate({'paddingLeft': '20px'}, {speed: 100, easing: 'easeOutBack'});
	}, function () {
		$(this).stop(true).animate({'paddingLeft': '12px'}, {speed: 100, easing: 'easeOutBounce'});
	});
	
	function ajaxify_form(form){
		
		$form = $(form);
		
		$overlay = $('<div class="overlay"><span class="msg"></span></div>').hide().insertAfter($form);
		
		function show_form_message($form, message, class){
			$form.next('.overlay')
				.removeClass('sending sent').addClass(class)
				.children('.msg').html(message);
			return false;
		}
		
		var options = {
			success: function(result, status, request, $form){
					show_form_message($form, result.message, 'sent');
					console.log(result);
					$form.next('.overlay').click(function(){
						$form.next('.overlay').fadeOut();
						$form.find('.f_message textarea').val('');
					});	
			},
			dataType: 'json'
		}		
		
		$form.validate({
			rules: {
				f_name: 'required',
				f_email: 'required email',
				f_message: 'required'
			},
			submitHandler: function(form){
				show_form_message($(form), 'Отправляем...', 'sending');		
				$(form).next('.overlay').fadeIn(function(){
					$(form).ajaxSubmit(options);
				});
			} 
		});
		
		
	}
	

	$('.feedback-form form').each(function(){
		ajaxify_form(this);
	})
	

	


function formatTitle(title, currentArray, currentIndex, currentOpts) {
    return '<div class="fancy-title">' + (title && title.length ? title : '' ) + '<span class="image-counter">' +(currentIndex + 1) + '/'+ currentArray.length + '</span></div>';
}

	$.fn.fancybox.defaults.transitionIn =  'elastic';
	$('.fancybox').fancybox();
	$('.gallery article figure a').fancybox({
		titlePosition: 'over',
		titleFormat: formatTitle

	});	

    $('#site_menu ul li.mail a').fancybox({
        content: $('#w-feedback-form')
        });

});

