Cufon.replace('.t-o', { fontFamily: 'GravurCondensed' });
Cufon.replace('#request_and_more .galleries a', { fontFamily: 'GravurCondensed', hover: true });
Cufon.replace('#request_and_more .request-portfolio a', { fontFamily: 'GravurCondensed', hover: true });
Cufon.replace('#request_and_more .artists a', { fontFamily: 'GravurCondensed', hover: true });

$(document).ready(function() {
	
	jQuery.fn.preLoad = function (arr) {
		
		var cache = [];
		
		$.each(arr, function(key, value) { 
			
			var cacheImage = document.createElement('img');
				cacheImage.src = value;
				cache.push(cacheImage);
				
				$("li[rel='" + key + "'] img").attr("src", value);
				$("li[rel='" + key + "'] img").fadeIn();
				
			
		});
		
	}
	
	$('#media #request_and_more .request-portfolio a').click(function() {
	
		$(this).next('form').fadeIn();
		$("html , body").animate({ scrollTop: $(document).height() }, "slow");

	});
	
	$('#media #request_and_more .request-portfolio .cancel').click(function() {
	
		$(this).parent('form').fadeOut();

	});
	
	$("#media li").hoverIntent(function() {
		
		$(this).children('.t-o').fadeIn();
		
	}, function() {
		
		$(this).children('.t-o').fadeOut();

	});
	
	$("#media a.fs").colorbox({
		opacity: '1',
		transition: 'fade',
		width: '100%',
		photo: 'true',
		current: '',
		close: '',
		rel: 'fs'
	});
	
});

function initEverything(){

	var $slider = $('#media');
	var $handle = $( '#slider .handle' );
	var __iAmSliding__ = false;

	// initialize slider
	$slider.lemmonSlider({

		'slideToLast' : true,

		// initialize scrollbar
		create: function(){

			var left = 0;
			var width = $( '#media ul' ).width();
			$( '#media li' ).each(function( i ){

				var wPixels = $( this ).outerWidth( true );
				var wPercent = (wPixels / width * 100);
				$( '<div />',{
					'class' : 'part',
					'rel'   : left,
					'css'   : {
						'width' : wPercent + '%'
					}
				}).click(function(){

					$slider.trigger( 'slideTo', [ i ] );

				}).insertBefore( '#slider .handle' ).droppable({

					'addClasses' : false,
					'hoverClass' : 'over',

					over: function(){

						$slider.trigger( 'slideTo', [ $(this).prevAll().size() ] );

					},
					drop: function(){

						$handle.animate({ 'left' : $(this).position().left }, 'fast' );
						__iAmSliding__ = false;

					}

				});
				left += wPercent;

			});
			$handle.draggable({

				'addClasses'  : false,
				'axis'        : 'x',
				'containment' : 'parent',

				start: function(){

					__iAmSliding__ = true;

				}

			});

		},
		// on slide event
		slide: function( e, i, t ){

			media_name_use = $slider.find('li:eq(' + i + ')' ).attr( 'rel' );
			location.href = location.href.split('#')[0] + '#' + media_name_use;
			
			if ( __iAmSliding__ == false ){
				$handle.filter( ':not(:animated)' ).animate({
					//'left' : $( '#slider .part:eq(' + i + ')' ).position().left
					'left' : $( '#slider .part:eq(' + i + ')' ).attr( 'rel' ) + '%'
				}, t );
			}

		}

	});

	// slider controls
	$('.forward').click(function(){

		$slider.trigger('nextImage');
		return false;

	});
	
	$('.back').click(function(){

		$slider.trigger('prevImage');
		return false;

	});

	$(document).bind('keydown', function (e) {
    	var key = e.keyCode;
	
		if (key === 37) {
		
			e.preventDefault();
			$slider.trigger('prevImage');
		
		} else if (key === 39) {
		
			e.preventDefault();
			$slider.trigger('nextImage');
		
		}
		
	});
	
	// autoplay
	$('nav .autoplay').click(function(){
		
		var $this = $( this )

		if ( $this.hasClass( 'play' ) ){
			
			clearTimeout( __timer__ );
			$this.removeClass( 'play' );
			
		} else {
			
			autoplaySlides();
			$this.addClass( 'play' );
			
		}

		return false;
		
	});
	
	if ($('article nav ul li.autoplay').hasClass('play')) {
		setTimeout('autoplaySlides()', 8000 );
	}
	
	// initialize permalink
	var slide = location.href.split( '#' )[1];
	if ( slide ){
	      $slider.trigger( 'slideTo', [ $slider.find( 'li[rel=' + slide + ']').prevAll().size(), 0 ] );
	}
	
	/*
	 * Swiping
	 */
	
	$("#media ul li.m").swipe({
		swipe:swipeMedia,
		threshold:0
	});

	function swipeMedia(event, direction) {
		
		clearTimeout( __timer__ );
		$( 'nav .autoplay' ).removeClass('play');
				
		if (direction == 'left') {
			$slider.trigger( 'nextImage' );
		} else if (direction == 'right') {
			$slider.trigger( 'prevImage' );
		}
	}
	
	$("#colorbox").swipe({
		swipe:swipeColorbox,
		threshold:0
	});

	function swipeColorbox(event, direction) {
		if (direction == 'left') {
			$.colorbox.next();
		} else if (direction == 'right') {
			$.colorbox.prev();
		}
	}
	
}

// autoplay
var __timer__;
function autoplaySlides(){
	
	$( '#media' ).trigger( 'nextImage' );
	__timer__ = setTimeout( 'autoplaySlides()', 8000 );
	
	if (location.href.split('#')[1] == "request-and-more") {
		
		clearTimeout( __timer__ );
		$('nav .autoplay').removeClass('play');
		
	}
	
}

