'use strict';
var height = 0;
var width = 0;
var dtop = 0;
var letters;
var ready = true;
var alpha = 0;
var no = 0;
var page = 0;
var navTop = 0;

function ease2(t, b, c, d) {
	var ts = (t /= d) * t;
	var tc = ts * t;
	return b + c * (tc * ts);
}

function ease(t, b, c, d) {
	var ts = (t /= d) * t;
	var tc = ts * t;
	return b + c * (-2 * ts * ts + 10 * tc + -15 * ts + 8 * t);
}

function position(distance) {
	letters.each(function () {
		var pos = $(this).data('pos');
		var fpos = $(this).data('fpos');
		if (distance < height / 2) {
			$(this).css({
				position: 'absolute',
				left: ease(distance, pos.left, fpos.left, 11200),
				top: ease2(distance, pos.top, fpos.top, 200)
			});
		}
	});
}

$(function () {
	var hash = location.hash;
	if ($.trim(hash).length) {
		hash = hash.replace('#', '');
		var elem = 'front';
		switch(hash) {
			case hash_lang[0]:
				elem = 'front';
				break;
				
			case hash_lang[1]:
				elem = 'tv';
				break;
				
			case hash_lang[2]:
				elem = 'web';
				break;
				
			case hash_lang[3]:
				elem = 'design';
				break;
				
			case hash_lang[4]:
				elem = 'marketing';
				break;
				
			case hash_lang[5]:
				elem = 'contact';
				break;
				
			default:
				break;
		}
		
		$('body').scrollTo($('#' + elem), 1500, {
			axis: 'y',
			easing: 'easeInOutQuart',
			//offset: { top:'-40px' },
			onAfter: function() {
				ready = true;
			}
		});
	}
	
	$('input[placeholder], textarea[placeholder]').placeholder();
	letters = $('.biglogo .letter');
	height = $(window).height();
	navTop = $('.topbar').offset().top;
	var topBar = $('.topbar');
	var logo = topBar.find('.logo');
	var designPos = 0;
	var designHeight = 0;
	
	designPos = $('#design').offset().top
	designHeight = $('#design').outerHeight();
	
	letters.each(function (i) {
		var pos = $(this).position();
		var left = 0;
		var top = 0;
		if (i < 5) {
			left = -1200 - (Math.random() * 1000);
		} else {
			left = 1900 + (Math.random() * 1000);
		}
		$(this).data('pos', pos);

		$(this).data('fpos', {
			left: left,
			top: -Math.random() * 10000
		});
	});

	$(window).on('scroll', function () {
		dtop = $(document).scrollTop();
		
		if(dtop <=  navTop) {
			position(dtop);
		}
		
		if(dtop > navTop) {
			topBar.removeClass('inactive');
			logo.removeClass('hidden');
		} else if(dtop < navTop) {
			topBar.addClass('inactive');
			logo.addClass('hidden');
		}

		if(dtop >= designPos-40 && dtop < designPos + designHeight-400) {
			$('.menu.unstyled').removeClass('hidden');
		} else {
			$('.menu.unstyled').addClass('hidden');
		}

	}).on('resize', function() {
		navTop = $('.biglogo').offset().top + $('.biglogo').outerHeight() - 40;
		height = $(window).height();
		designPos = $('#design').offset().top
		designHeight = $('#design').outerHeight();
		
		var elem = $(page);
		
		if(elem.length && ready) {
			$('body').scrollTo(elem, 200, {
				axis: 'y',
				//easing: 'easeInOutQuart',
				offset: { top:-40 },
				onAfter: function () {
					ready = true;
				}
			});
		}
	});
	
	//NAVIGATION
	topBar.on('click', '.nav a', function (e) {
		var hash = $('.nav a').index( $(this) ) + 1;
		location.hash = hash_lang[hash];
		page = $(this).attr('href');

		var target = $(this).attr('href');
		$('.nav .active').removeClass('active');
		$(this).parent().addClass('active');
		if(ready) {
			ready = false;
			$('body').scrollTo($(target), 1500, {
				axis: 'y',
				easing: 'easeInOutQuart',
				offset: { top:-40 },
				onAfter: function () {
					ready = true;
				}
			});
		}
		return false;
	}).on('click', '.logo', function() {
		
		if(ready) {
			location.hash = '#';
			topBar.find('.nav li').removeClass('active');
			page = $('#front');
			ready = false;
			$('body').scrollTo(0, 1500, {
				axis: 'y',
				easing: 'easeInOutQuart',
				offset: { top:-40 },
				onAfter: function () {
					ready = true;
				}
			});
		}
	});
	
	//NAVIGATION END
	
	
	//COMEMRCIALS
	var tv_iframe;
	var elem = $('#tv ul li iframe').first();
	elem.attr('src', elem.data('src'));
	Froogaloop.init();
	elem[0].addEvent('onLoad', function () {
		tv_iframe = elem[0];
	});
	
	var tv_elem = $('#tv .gallery ul li').first();
	var tv = $('#tv');
	var tv_i = 0;

	$('.prev', tv).on('click', function () {
		elem = tv_elem.prev();

		if ( !! elem.length) {
			var iframe = elem.find('iframe');
			if (typeof iframe.attr('src') == 'undefined') {
				iframe.attr('src', iframe.data('src'));
				Froogaloop.init();
			}
			tv_iframe.api('api_pause');
			tv_iframe = iframe[0];
			iframe[0].addEvent('onLoad', function () {
				tv_iframe = iframe[0];
			});

			tv_elem = elem;
			$('.container', tv).scrollTo(tv_elem, 500);
		}
	});

	$('.next', tv).on('click', function () {
		elem = tv_elem.next();
		if ( !! elem.length) {
			var iframe = elem.find('iframe');
			if (typeof iframe.attr('src') == 'undefined') {
				iframe.attr('src', iframe.data('src'));
				Froogaloop.init();
			}
			tv_iframe.api('api_pause');
			tv_iframe = iframe[0];
			iframe[0].addEvent('onLoad', function () {
				tv_iframe = iframe[0];
			});
			tv_elem = elem;
			$('.container', tv).scrollTo(tv_elem, 500);
		}
	});
	
	//COMMERCIALS END
	
	
	//WEBGALLERY
	var web = $('#web');
	var web_i = 1;
	var pic = $('.container li:nth-child(' + 1 + ')', web).find('.pic');
	var src = pic.data().image;
	pic.css({
		'background-image': 'url(' + src + ')'
	});
	
	web.find('.prev').on('click', function () {
		if (web_i > 1) {
			web_i--;
			//$('.container', web).scrollTo(web_i * 960, 500);
			var pic = $('.container li:nth-child(' + web_i + ')', web).find('.pic');
			var src = pic.data().image;
			pic.css({
				'background-image': 'url(' + src + ')'
			});
			$('.container', web).scrollTo( $('.container li:nth-child(' + web_i + ')', web), 500)
		}
	});
	web.find('.next').on('click', function () {
		if (web_i < $('#web .gallery ul li').length - 1) {
			web_i++;
			//$('.container', web).scrollTo(web_i * 960, 500);
			var pic = $('.container li:nth-child(' + web_i + ')', web).find('.pic');
			var src = pic.data().image;
			pic.css({
				'background-image': 'url(' + src + ')'
			});
			$('.container', web).scrollTo( $('.container li:nth-child(' + web_i + ')', web), 500)
		}
	});
	//WEBGALLERY END
	
	
	//DESIGN

	$('.logo').on('click', function () {
		$('body').scrollTo(0, 1500, function () {
			ready = true;
		});
	});

	var distance = {
		typowork: 0,
		logodesign: 0,
		illustrations: 0
	};

	$('#designgallery .scroll>li ul').removeClass('active');
	$('#designgallery .scroll>li:nth-child(1)>ul').addClass('active');
	
	var lvl = 1;
	$('#typowork').on('click', function () {
		$(this).parent().parent().find('.active').removeClass('active');
		$('#design .scroll').animate({
			'top': '-340px'
		});
		$('#designgallery .scroll>li:nth-child(2)>ul').addClass('active');
		$(this).addClass('active');
		lvl = 2;
		loadImage( $('#designgallery ul>.imgcontainer:nth-child(2) ul li:nth-child(1)') );
		return false;
	});

	$('#logoDesign').on('click', function () {
		$(this).parent().parent().find('.active').removeClass('active');
		$('#design .scroll').animate({
			'top': '0px'
		});
		$('#designgallery .scroll>li:nth-child(1)>ul').addClass('active');
		$(this).addClass('active');
		lvl = 1;
		return false;
	});

	$('#illustrations').on('click', function () {
		$(this).parent().parent().find('.active').removeClass('active');
		$('#design .scroll').animate({
			'top': '-680px'
		});
		$('#designgallery .scroll>li:nth-child(3)>ul').addClass('active');
		$(this).addClass('active');
		lvl = 3;
		loadImage( $('#designgallery ul>.imgcontainer:nth-child(3) ul li:nth-child(1)') );
		return false;
	});

	var design_left_pos = 0;
	
	var lpos = {
		1: 0,
		2: 0,
		3: 0
	};
	
	var ipos = {
		1:1,
		2:1,
		3:1
	}
	
	function loadImage(elem) {
		elem.css({
			'background-image': 'url(' + elem.data('image') + ')'
		});
	}
	
	loadImage( $('#designgallery ul>.imgcontainer:nth-child(1) ul li:nth-child(1)') );
	
	$('#design .prev').on('click', function () {
		var width = $('#designgallery ul>.imgcontainer:nth-child(' + lvl +') ul').width();
		if(lpos[lvl] < 0) {
			lpos[lvl] += 940;
			ipos[lvl] -= 1;
		} else {
			lpos[lvl] = 0;
		}
		loadImage( $('#designgallery ul>.imgcontainer:nth-child(' + lvl +') ul li:nth-child(' + ipos[lvl] + ')') );
		$('#designgallery .imgslider.active').animate({
			'left': lpos[lvl] + 'px'
		});
	});
	
	$('#design .next').on('click', function () {
		var width = $('#designgallery ul>.imgcontainer:nth-child(' + lvl +') ul').width();
		if(-lpos[lvl] < width-940) {
			lpos[lvl] -= 940;
			ipos[lvl] += 1;
		} else {
			//design_left_pos = 0;
		}
		loadImage( $('#designgallery ul>.imgcontainer:nth-child(' + lvl +') ul li:nth-child(' + ipos[lvl] + ')') );
		$('#designgallery ul.active').animate({
			'left':lpos[lvl] + 'px'
		});
	});
	//DESIGNEND
	
	
	$('#contact form').on('submit', function () {
		var self = $(this);
		
		$('input, textarea', $(this)).css({
			'border': '1px solid #3E4349'
		});
		
		$.ajax({
			url: base_url + 'main/contact',
			dataType: 'json',
			type: 'POST',
			data: {
				name: $('input[name="name"]', $(this)).val(),
				email: $('input[name="email"]', $(this)).val(),
				message: $('textarea[name="message"]', $(this)).val()
			},
			success: function(data) {
				if(data.success) {
					self.fadeOut(200, function() {
					
						$('.feedback_success').fadeIn(0, function() {
							setTimeout(function() {
								$('.feedback_success').fadeOut(100, function() {
									self.fadeIn(100);
								});
							}, 1000);
						});
						
						self.find('input, textarea').not('input[type="submit"]').val('');
					});
				} else {
					for(var error in data.errors) {
						$('*[name="' + error + '"]', self).css({
							border:'1px solid #E61880'
						});
					}
				}
			}
		});
		return false;
	});
});
