var gallery = $('#gallery ul'),
	gallery_li = $('li', gallery),
	gallery_w = 0,
	over_w = 233;

$(document).ready(function(){

	$('#loading').css({ 'display': 'block', 'width': $(window).width(), 'height': $(window).height() }).fadeTo(0, 0.9);

	gallerySize();
	
	$('li:first', gallery).addClass('first current');
	$('li:last', gallery).addClass('last');
	
	$('#main_nav ul ul .current_page_item').parent().parent().addClass('sub_open');
	$('#main_nav ul > li:has("ul")').addClass('has_sub');
	
	$('#main_nav .sub_open ul').show();
	
	gallery.append('<a id="gallery_back" href="#">back</a>');
	
	$('#main_nav li.has_sub:last').after('<li><span>&mdash;</span></li>');
	
	$('#main_nav .has_sub > a').on('click', function() {
		
		if( $(this).parent().hasClass('sub_open') ) {
			
			$(this).parent().removeClass('sub_open').children('ul').slideUp();
			
		} else {
			
			if( $('#main_nav .sub_open').size() ) {

				$('#main_nav .sub_open').removeClass('sub_open').children('ul').slideUp();

			}

			$(this).parent().addClass('sub_open').children('ul').slideDown();
			
		}
		
		return false;
	})
	
	$('#gallery_next').on('click', function() {
	
		var g_current = $('#gallery .current'),
			g_next = g_current.next();
	
		if( g_current.is('.last') || gallery.is(':animated') ) {

			return false;

		} else {
			
			g_next_pos_left = g_next.position().left;

			g_current.removeClass('current');
			g_next.addClass('current');

			gallery.animate({ 'left': -( g_next_pos_left - over_w ) }, 400, 'easeOutExpo');
			
		}
		
		return false;
		
	});
	
	$('#gallery_prev').on('click', function() {
	
		var g_current = $('#gallery .current'),
			g_prev = g_current.prev();
	
		if( g_current.is('.first') || gallery.is(':animated') ) {
	
			return false;
	
		} else {
			
			g_prev_pos_left = g_prev.position().left;

			g_current.removeClass('current');
			g_prev.addClass('current');
			
			if( g_prev.is('.first') ) {
				
				gallery.animate({ 'left': -( g_prev_pos_left ) }, 400, 'easeOutExpo');
				
			} else {
				
				gallery.animate({ 'left': -( g_prev_pos_left - over_w ) }, 400, 'easeOutExpo');
				
			}
			
		}
		
		return false;
		
	});
	
	$('#gallery_back').on('click', function() {
	
		$('#gallery .current').removeClass('current');
		$('#gallery .first').addClass('current');
		gallery.animate({ 'left': 0 }, 400, 'easeOutExpo');
		
		return false;
		
	});
	
});

$(window).resize(function() {
	
	gallerySize();
	
});

$(window).load(function(){
	
	gallery_li.each(function() {
		
		gallery_w = $('img', this).width() + 20 + gallery_w;
		
	});
	
	gallery.width( gallery_w + over_w );
	
	$('#loading').fadeOut();
	
	
});

function gallerySize() {
	
	var w_w = $(window).width(),
		w_h = $(window).height();
		
	$('#gallery').width( w_w );
	
}
