$(window).ready(function(){
	
	$body = $('body');
	$wrapper = $('#wrapper');
	$logo = $('#mainLogo').children('img');
	$nav = $('#mainNav ul').children('li');
	$slides = $wrapper.children('section');
	$maps = $wrapper.find('#mapHovers');
	
	/* Slide Navigation Functions */
	if(!($.browser.msie && $.browser.version.slice(0,1) == '7')){
		$nav.find('a').hoverFadeColor();
		if($('#market').length>0) $('#market a').hoverFadeColor();
		$('#wrapper .simpleNav li a').hoverFadeColor();
		$('#wrapper .complexNav li ul a').hoverFadeColor();
	}
	
	/* Enable slides animation for Slides #1 and #3 */
	var $selButton = $body;
	$nav.find('a').click(function(){
		$selButton.removeClass('selected');
		$selButton = $(this);
		$selButton.addClass('selected');
	});
	
	$('a.mainNavLink').click(function(){
		if($.initHash == 3 && $(this).attr('href') == "#1"){
			$.animateSlideOne();
			$.initHash = -1;
		} else if($.initHash == 1 && $(this).attr('href') == "#3"){
			$.animateSlideThree();
			$.initHash = -1;
		} else if($.initHash == 2) {
			$.initHash = parseInt($(this).attr('href').slice(1,2));
			if($.initHash == 1) $.animateSlideOne();
			else if($.initHash == 3) $.animateSlideThree();
		}
	});
	
	/* IE Fixes */
	if($.browser.msie){
		var $shd = $('#slide1 h1').clone();
		$('#slide1').append($shd);
		$shd.addClass('shd1');
		var $shd = $('#slide3 h1').clone();
		$('#slide3').append($shd);
		$shd.addClass('shd3');
		$('.oldie #wrapper nav li ul li:last-child').css('padding-bottom', 10);
	}
	
	if($.browser.msie && $.browser.version.slice(0,1) == '8'){
		$('#slide1').append('<div class="ie8opacity"><!-- jQuery insertion for IE8 --></div>');
		$('#slide2').append('<div class="ie8opacity"><!-- jQuery insertion for IE8 --></div>');
		$('#slide3').append('<div class="ie8opacity"><!-- jQuery insertion for IE8 --></div>');
	}
	
	var firstGrid = true;
	var gridI = 0, gridT, $gridList = new Array();
	if($body.hasClass('slidesSite')){
		
		checkHash();
		$(window).hashchange(function(){
			checkHash();
		});
		
	}
	
	function checkHash(){
	
		var initHash = parseInt(window.location.hash.slice(1,2));
		if(initHash > 0 && initHash <=3){
			$wrapper.stop().animate({'marginLeft': -1044*(initHash-1)}, 500, 'easeInQuad');
			if(initHash==2 && firstGrid){
				firstGrid = false;
				startGrid();
			}
			
			$.initHash = initHash;
			
			for(var i=0; i<3; i++){
				if(i != (initHash-1)){
					if($.browser.msie && $.browser.version.slice(0,1) == '8'){
						$slides.eq(i).find('.ie8opacity').stop().fadeTo(500,.8);
					} else {
						$slides.eq(i).stop().animate({'opacity': .2}, 500);
					}
				} else {
					if($.browser.msie && $.browser.version.slice(0,1) == '8'){
						$slides.eq(i).find('.ie8opacity').stop().fadeOut(500);
					} else {
						$slides.eq(i).stop().animate({'opacity': 1}, 500);
					}
				}
			}
			
			if(initHash==2){
				$logo.eq(0).stop().animate({'opacity': 1}, 200);
				$logo.eq(1).stop().animate({'opacity': 0}, 200);
			} else {
				$logo.eq(0).stop().animate({'opacity': 0}, 200);
				$logo.eq(1).stop().animate({'opacity': 1}, 200);
			}
	
		$selButton.removeClass('selected');
		$selButton = $nav.eq(initHash-1).find('a');
		$selButton.addClass('selected');
		
		} else {
			window.location.hash = '1';
		}
	}
	
	$('#socialNav li').hover(function(){
		rollOver($(this),.6);
	}, function(){
		rollOut($(this));
	}); $('a.next').hover(function(){
		rollOver($(this),.8);
	}, function(){
		rollOut($(this));
	}); $('a.prev').hover(function(){
		rollOver($(this),.8);
	}, function(){
		rollOut($(this));
	});
	function rollOver($item, amount){
		$item.animate({'opacity': amount}, 200);
	}
	function rollOut($item){
		$item.animate({'opacity': 1}, 150);
	}
	
	/* Slide Menu Functions */
	$('#wrapper .complexNav > ul > li').hover(function(){
		$(this).stop().animate({'backgroundColor': '#fdfeff', 'height':$(this).data('height')+16}, 200);
		$(this).children('a').stop().animate({'color': '#01919E'}, 200);
		if($(this).children().length>1){
			$(this).find('ul').stop().animate({'height': $(this).data('height')}, 300);
		}
	}, function(){
		$(this).stop().animate({'backgroundColor': '#01919E', 'height':16}, 200);
		$(this).children('a').stop().animate({'color': '#fdfeff'}, 200);
		if($(this).children().length>1){
			$(this).find('ul').stop().animate({'height': 0}, 0);
		}
	}).click(function(){
		window.location = $(this).find('a').attr('href');
	});
	$('#slide3 nav li').each(function(){
		$(this).find('ul').prepend('<li>&nbsp;<!-- jQuery insertion --></li>');
		var listHeight = $(this).find('ul').height();
		$(this).attr('data-height', listHeight);
		$(this).find('ul').height(0);
	});
	
	/* Slide #1 - Animation */
	var $slide1 = $('#slide1');
	$slide1.find('h1').css('opacity', 0);
	$slide1.find('h2').css('opacity', 0);
	$slide1.find('h3').css('opacity', 0);
	$.extend({
		animateSlideOne: function(){
			$slide1.find('h1').delay(300).animate({'marginLeft': 0, 'opacity': 1}, 1200, 'easeInCubic');
			$slide1.find('h2').delay(700).animate({'opacity': 1}, 1000);
			$slide1.find('h3').delay(1500).animate({'opacity': 1}, 1000);
			$slide1.find('#newsItems').delay(2000).fadeIn(500);
		}
	});
	
	/* Slide #2 - Grid Functions */
	function startGrid(){
		$('#gridImages').children('a').each(function(){
			$gridList.push($(this));
		});
		$.shuffle($gridList);
		gridT = setInterval(showItem, 200);
		$('a[data-rel]').each(function(){
			$(this).attr('rel', $(this).data('rel'));
		});
		$("a[rel^='prettyPhoto']").prettyPhoto();
	}
	function showItem(){
		$image = $gridList[gridI];
		var $hover = $image.children('img').clone();
		$image.append($hover);
		$hover.addClass('gridHover')
			.pixastic('brightness', {'brightness': 30, 'contrast': .3})
			.hover(function(){
				$(this).animate({'opacity': 1}, 200);
			}, function(){
				$(this).animate({'opacity': 0}, 150);
			});
		$image.delay(700).css('visibility', 'visible').animate({'opacity': 1}, 300);
		if(++gridI==36){
			clearInterval(gridT);
			setInterval(startStupidFlip, 10000);
		}
	}
	function startStupidFlip(){
		$.shuffle($gridList);
		for(var i=0;i<2;i++){
			$gridList[i].stop().delay(i*200).animate({'opacity': 0}, 250).delay(4000+i*100).animate({'opacity': 1}, 150);
		}
	}
	
	var zIndex = 999;
	/* Slide #3 - Map Functions */
	var pointGiven = false;
	$('#mapPoints li').hover(function(){
		$(this).css('z-index', zIndex++);
		pointGiven = true;
		$(this).children('div').stop().animate({'opacity': 0}, 0).css('display', 'block').animate({'opacity': 1}, 250);
	}, function(){
		pointGiven = false;
		$(this).children('div').stop().fadeOut(150);
		$maps.find('*').stop().animate({'opacity': 0}, 150);
	});
	
	$('#mapAreas area').hover(function(){
		$maps.find('[data-map='+$(this).attr('data-map')+']').stop().animate({'opacity': 1}, 250);
	}, function(){
		var $item = $(this);
		setTimeout(function(){closeMapHover($item)}, 1);
	}).click(function(){
		return false;
	});
	function closeMapHover($item){
		if(!pointGiven) $maps.find('[data-map='+$item.attr('data-map')+']').stop().animate({'opacity': 0}, 150);
	}
	
	/* Slide #3 - Animation */
	var $slide3 = $('#slide3');
	$slide3.find('h1').css('opacity', 0);
	$slide3.find('.prev').css('opacity', 0);
	$.extend({
		animateSlideThree: function(){
			$slide3.find('h1').animate({'marginLeft': 0, 'opacity': 1}, 1500, 'easeInCubic');
			$slide3.find('.prev').delay(1100).animate({'opacity': 1}, 500);
		}
	});
	
	var slidesI = 0; var slidesZ = 9;
	var $slidesLeftHolder = $('.slidea');
	var $slidesRightHolder = $('.slideb');
	var $slidesLeft = $slidesLeftHolder.children('img');
	var $slidesRight = $slidesRightHolder.children('img');
	var slidesL = $slidesLeft.length;
	/* Custom Slices - Animation */
	$.extend({
		animate2Slides: function(){
			
			if(++slidesI >= slidesL) slidesI = 0;
		
			$slidesLeft.eq(slidesI).css('top', -365);
			$slidesLeftHolder.stop().animate({'top': 365}, 400, 'easeInQuad', function(){
				$slidesLeft.eq(slidesI).css({'top': 0, 'z-index': ++slidesZ});
				$slidesLeftHolder.css('top', 0);
			});
		
			$slidesRight.eq(slidesI).css('top', 365);
			$slidesRightHolder.stop().animate({'top': -365}, 400, 'easeInQuad', function(){
				$slidesRight.eq(slidesI).css({'top': 0, 'z-index': ++slidesZ});
				$slidesRightHolder.css('top', 0);
			});
		
		}
	});
	
	// :)
	
});
