var _flickr = "http://api.flickr.com/services/rest/?";
var _api = '508d5015d0032bd169af26461b5ef4a8';
var _group = '874442@N25';
var _per_page = 15;
var _paged = 1;

var _flickrCurrent = 0;
var _flickrArray = Array();
var _flickr_per_page = 5;
var _thumbLoad = 0;
var _photoToggle = 0;
var loader;

var _firstLoad = true;

var _sort = 'date-posted-desc';
var _tags = null;

var _flickrHash = new Hash();
var _flickrDescriptionHash = new Hash();
var _flickrAuthorHash = new Hash();
var _flickrOriginalHash = new Hash();
var _flickrFormatHash = new Hash();
var _flickrTitleHash = new Hash();

var _page = 1;

var _photoTitle = "";

var _vimeo_page;
var _vimeo_per_page;
var _vimeo_on_page;
var _vimeoArray = new Array();

var _deepLink = null;
var sort;

var curTag = null;
var oldURL;

var _thumb_height = 465;
var thumb_position;
var _thumbArray = [];

var currentFlickrPhoto = 0;

var _vimeoDeepLink;

$(document).ready(function() {	
	_deepLink = Number($.query.get('photoid')) || null;
	_vimeoDeepLink = Number($.query.get('videoid')) || null;
	if (_deepLink) {_firstLoad = false};
	$(".thumbnailPagination").hide();
	
	$("#next").click(nextPhoto);
	$("#prev").click(prevPhoto);
	$('#searchTerms').hide();
	$('#searchToggle').click(function(event) {
		$('#searchTerms').slideToggle(400);
		return false;
	});
	$("#searchTerms li").each(function(index) {
		var _curLi = $(this);
		// get the id
		var _id = _curLi.attr("id");
		// remove 'search_'
		_id = _id.substr(7,_id.length);
		if(_id != "all")_curLi.click(function(){
			_deepLink = null;
			_paged = 1;
			_page = 1;
			_firstLoad = true;
			curTag = _id;
			clearThumbs();
			loadFlickrGroupPool();
			$('#searchTerms li.selected').removeClass('selected');
			$(this).addClass('selected');
		});
	});
	$("#search_all").click(function(){
		_deepLink = null;
		_paged = 1;
		_page = 1;
		_firstLoad = true;
		curTag = null;
		clearThumbs();
		loadFlickrGroupPool();
		$('#searchTerms li.selected').removeClass('selected');
		$(this).addClass('selected');
	});
	
	$('#sortBy li').click(function() {
		_deepLink = null;
		_paged = 1;
		_page = 1;
		_firstLoad = true;
		clearThumbs();
		var val = $(this).attr('id');
		if (val == 'sortByPosted') {sortFlickrImages('date-posted-desc')};
		if (val == 'sortByTaken') {sortFlickrImages('date-taken-desc')};
		if (val == 'sortByInteresting') {sortFlickrImages('interestingness-desc')};
		
		return false;
	});
	if(_vimeoDeepLink) _photoToggle = 1;
	togglePhotoVideo();
	if(_vimeoDeepLink) {
		showVimeo(_vimeoDeepLink);
	}
});

function doFlickr() {
	showSortBy();
	showUserInfo();
	$(".thumbnailPagination").hide();
	showFlickrLoader();
	loadFlickrGroupPool();
}

function doVimeo() {
	hideSortBy();
	hideUserInfo();
	$(".thumbnailPagination").hide();
	showVimeoLoader();
	loadVimeoLikes(1);
}

/*************************************************************************
	VIDEO / IMAGE TOGGLE
*************************************************************************/
function togglePhotoVideo() {
	var _photoToggleButton = $("#togglePhoto");
	var _videoToggleButton = $("#toggleVideo");
		
	_paged = 1;
	
	if(_photoToggle == 1) {
		// show video
		_videoToggleButton.addClass('active');
		_photoToggleButton.removeClass('active');
		
		_videoToggleButton.unbind("click");
		_photoToggleButton.click(function(){togglePhotoVideo()});
		
		_videoToggleButton.animate({paddingTop: "17px", marginTop: "17px"}, "fast");
		_photoToggleButton.animate({paddingTop: "7px", marginTop: "27px"}, "fast");
		
		_photoToggle = 0;
		
		flickrHideControls();
		flickrHideMainLoader();
		vimeoShowMainLoader();
		clearThumbs();
		
		$("#thumbsPagForward").unbind("click");
		$("#thumbsPagBack").unbind("click");
		
		doVimeo();	
	} 
	else {
		// show photo
		
		_vimeoDeepLink = null;
		
		_photoToggleButton.addClass('active');
		_videoToggleButton.removeClass('active');
		
		_videoToggleButton.click(function(){togglePhotoVideo()});
		_photoToggleButton.unbind("click");
		
		_photoToggleButton.animate({paddingTop: "17px", marginTop: "17px"}, "fast");
		_videoToggleButton.animate({paddingTop: "7px", marginTop: "27px"}, "fast");
		
		flickrShowControls();
		_photoToggle = 1;
		
		_firstLoad = true;
		
		vimeoHideMainLoader();
		flickrShowMainLoader();
		clearThumbs();
		
		$("#thumbsPagForward").unbind("click");
		$("#thumbsPagBack").unbind("click");
		
		$("#thumbsPagForward").click(nextFlickrPage);
		$("#thumbsPagBack").click(prevFlickrPage);
		doFlickr();
	}
}


/***********************************************************************************
	THUMB UTILS
***********************************************************************************/

function scrollDown() {
	var thumb_position;
	thumb_position = parseInt($("#thumbnails").css('top'));
	thumb_position = thumb_position-_thumb_height;
	$('#thumbnails').animate({top: thumb_position}, "medium");
}

function scrollUp() {
	
	thumb_position = parseInt($("#thumbnails").css('top'));
	thumb_position = thumb_position+_thumb_height;
	$('#thumbnails').animate({top: thumb_position}, "medium");
}

function scrollTo() {	
	var _curID = getFlickrElementById(_flickrArray[currentFlickrPhoto]);
	var _thumbsShown = Math.floor(_curID / 5);
	_paged = _thumbsShown + 1;
	if (_curID < 5) _thumbsShown = 0;

	thumb_position = 0 - (_thumb_height * _thumbsShown);
	$('#thumbnails').animate({top: thumb_position}, "medium");
	if(_flickrArray.length - _curID <= 5) {
		var _curPage = Math.ceil(_thumbsShown / 3);
		_page = _curPage + 1;
		loadFlickrGroupPool();
	}
	doFlickrPagination();
}

function clearThumbs() {
	_flickrArray = [];
	$("#thumbnails").css('top', '0').find('li').remove();
}


/***********************************************************************************
	FLICKR
***********************************************************************************/
function loadFlickrGroupPool() {
	_thumbLoad = 0;
	_tags = curTag;
	flickrFetch({api_key: _api,
				type: 'search',
				group_id: _group,
				sort: _sort,
				page: _page,
				per_page: _per_page,
				tags: _tags,
				load_callback: processFlickrImage,
				callback: showFlickrPage
				});
}

function fetchFlickrPage() {
	_thumbLoad = 0;
	_flickrArray = [];
				
	fetchFlickrTags(curTag);
}

function fetchFlickrTags(_tags) {
	_thumbLoad = 0;
	_flickrArray = [];

	flickrFetch({api_key: _api,
				type: 'search',
				group_id: _group,
				sort: 'date-posted-desc',
				page: _paged,
				per_page: _per_page,
				load_callback: processFlickrImage,
				callback: showFlickrPage,
				tags: _tags
	});
}

function loadFlickrGroupSort(_sort) {
	_thumbLoad = 0;
	_flickrArray = [];
	
	flickrFetch({api_key: _api,
				type: 'search',
				group_id: _group,
				sort: _sort,
				page: _paged,
				per_page: _per_page,
				load_callback: processFlickrImage,
				callback: showFlickrPage
	});
}

function processFlickrImage(photo) {
	_flickrArray.push(photo["id"]);
	getFlickrPhotoInfo(photo);
}

function showFlickrPage() {	
	enableThumbNextPrev();
	
	doFlickrPagination();
	hideFlickrLoader();
}

function loadFirstFlickrPhoto() {
	if (_deepLink) {_firstLoad = false};
	if (_firstLoad) {
		$('#thumbnails li:first').click();
		
		_firstLoad = false;
	};
}

function enableThumbNextPrev() {
	$("#thumbsPagForward").click(nextFlickrPage);
	$("#thumbsPagBack").click(prevFlickrPage);
}

function disableThumbNextPrev() {
	$("#thumbsPagForward").unbind("click");
	$("#thumbsPagBack").unbind("click");
}

function getFlickrElementById(id) {
	var l = _flickrArray.length;
	for(var i = 0; i < l; i++) {
		var _id = _flickrArray[i];
		if(_id == id) return i;
	}
	return -1;
}


function loadFlickrPhoto(id, num) {
	currentFlickrPhoto = getFlickrElementById(id);
	$('#slideshow img').fadeOut();
	$('#slideshow').html("");
	flickrShowMainLoader();
	scrollTo();
	
	var _flickrURL = _flickrHash.items[id].replace(/_o\.jpg/g,'.jpg');
	var _flickrDescription = _flickrDescriptionHash.items[id];
	var _flickrAuthor = _flickrAuthorHash.items[id];
	var _title = _flickrTitleHash.items[id] || '';
	var _flickrPage = "http://www.flickr.com/photos/" + _flickrAuthor['nsid'] + "/" + id + "/";
	var _authorPage = "http://www.flickr.com/photos/" + _flickrAuthor['nsid'] + "/";
	_flickrCurrent = num;

	var _by = " by ";
	if(_title.length < 1) _by = "";
	$("#userTitle").html('<a href="' + _authorPage + '" target="_blank">' + _title + _by +  _flickrAuthor['username'] + '</a>');
	$("#userDescription").html(_flickrDescription);
	$('#slideshow').append('<a href="' + _flickrPage + '" rel="external"><img id="flickr_stage" src="' + _flickrURL +'" /></a>');

	$("#flickr_stage").load(function()	{
		$(this).AspectRatio().fadeIn(500);
		flickrHideMainLoader();
		_deepLink = null;		
	});

	return false;
}

function nextPhoto() {
	loadFlickrPhoto(_flickrArray[currentFlickrPhoto + 1], currentFlickrPhoto + 1);
	
	return false;
}

function prevPhoto() {
	if (_flickrCurrent <= 0) {
		return;
	} else {
		--_flickrCurrent;
		loadFlickrPhoto(_flickrArray[currentFlickrPhoto - 1], currentFlickrPhoto - 1);
		return false;
	}
}

function getFlickrPhotoInfo(photo) {
	flickrFetch({api_key: _api,
				type: 'photo',
				photo_id: photo['id'],
				sort: _sort,
				page: _paged,
				per_page: _per_page,
				callback: setFlickrPhotoInfo,
				callback_param1: photo
	});
}

function setFlickrPhotoInfo(photo) {
	_flickrFormatHash.setItem(photo['id'], _flickr_image_current['originalformat']);
	_flickrOriginalHash.setItem(photo['id'], _flickr_image_current['originalsecret']);
	_flickrHash.setItem(photo['id'], getFlickrURL(photo, "o"));
	_flickrDescriptionHash.setItem(photo['id'], _flickr_image_current['description']["_content"]);
	_flickrAuthorHash.setItem(photo['id'], _flickr_image_current['owner']);
	_flickrTitleHash.setItem(photo['id'], _flickr_image_current['title']["_content"]);

	if (_flickrHash.getItem(_deepLink)) loadFlickrPhoto(_deepLink, _thumbLoad);
	
	$("#thumbnails").removeClass('vimeoThumbs').addClass('flickrThumbs');
	
	_thumbArray.push(photo);
	
	if (_thumbArray.length == 15) {
	
		var _elementID = getFlickrElementById(photo['id']);
		var _thumbHolder = [];
		var l = _thumbArray.length;
		for (var i = 0; i < l; i++) {
			var currentThumb = _thumbArray[i];
			var _elementID = getFlickrElementById(currentThumb["id"]);
			_thumbHolder[_elementID] = currentThumb;
		}
		_thumbHolder = cleanseArray(_thumbHolder);
		
		l = _thumbHolder.length;
		for (i = 0; i < l; i++) {
			
			$('#thumbnails').append(createThumbnail(_thumbHolder[i]));
			if (i == 14) {
				loadFirstFlickrPhoto();
				if ($.browser.msie) {
					$("#thumbnails li p.description, #thumbnails li h6").minmax();
				}
			}
			_thumbHolder[i] = null
		}
		_thumbArray =[];
	}
}

function cleanseArray(array) {
	var tempArray = [];
	var l = array.length;
	for (var i = 0; i < l; i++) {
		var curPos = array[i] || null;
		if (curPos) tempArray.push(curPos);
	}
	return tempArray;
}

function createThumbnail(photo) {
	var _flickrURL = _flickrHash.items[photo['id']];
	var _flickrDescription = _flickrDescriptionHash.items[photo['id']];
	var _flickrAuthor = _flickrAuthorHash.items[photo['id']];
	_photoTitle = photo['title'];
	
	var _flickrPage = "http://www.flickr.com/photos/" + _flickrAuthor['nsid'] + "/" + photo['id'] + "/";
		++_thumbLoad;
		var _elementID = getFlickrElementById(photo['id']);
	var _thumb = $('<li id="playerThumbnail'+ _elementID +'"></li>');
	_thumbInner = '<img src="' + $.flickr.getThumbnail(photo)  + '" alt="' + photo['title'] + '" />';
	_thumbInner += '<h6><a href="' + _flickrPage + '" rel="external">' + photo['title'] + '</a></h6>';
	_thumbInner += '<p class="description">' + _flickrDescription + '</p><p>posted by <a href="http://www.flickr.com/' + _flickrAuthor['nsid'] + '" rel="external">'+_flickrAuthor['username']+'</a></p>';
	
	$(_thumb).html(_thumbInner);
	
	$(_thumb).click(function(e) {
		var $target = $(e.target);
		if($target.is("a[rel='external']")) {
	        window.open( $($target).attr('href') );
	        return false;			
		};
		_deepLink = null;
		_firstLoad = false;
		loadFlickrPhoto(photo['id'],(_thumbLoad-1));
		return false;
	});
	
	return _thumb;

}

function nextFlickrPage() {
	_paged++;
	doFlickrPagination();
	scrollDown();

	if (_paged % 3 == 0) {
		_page++;
		loadFlickrGroupPool();
	};
	
	return false;
}

function prevFlickrPage() {
	_paged--;
	doFlickrPagination();
	scrollUp();

	return false;
}

function getFlickrURL(photo, size) {
	size = "d"; // hard coding to always grab default (500w) size because it seems we cant depend on there being anything else - jp
	var h = 'http://farm'+photo['farm']+'.static.flickr.com/'+photo['server']+'/'+photo['id']+'_';

	switch (size)
	{
		case 'm':
			h += photo['secret'] + '_m.jpg';
		break;
		
		case 'b':
			h += photo['secret'] + '_b.jpg';
		break;
	
		case 'o':
			var _flickrOriginalFormat = _flickrFormatHash.items[photo['id']];
			var _flickrOriginalSecret = _flickrOriginalHash.items[photo['id']];
			
			if (_flickrOriginalSecret && _flickrOriginalFormat) 
			{
				h += _flickrOriginalSecret + '_o.' + _flickrOriginalFormat;
			} 
			else 
			{
				h += photo['secret'] + '_b.jpg';
			};
		break;
	
		default:
			h += photo['secret'] + '.jpg';
	}
	
	return h;
}

function doFlickrPagination() {
	var _start = (5 * (_paged - 1)) + 1;
	var _end = _start + 4;	
	
	if(_end > _flickr_total) _end = _flickr_total;
	
	if (_start == 0) _start = 1;
	
	$("#thumbsPagShowing").html(_start + " - " + _end + " of " + _flickr_total);
	
	if(_flickr_total < _flickr_per_page) {
		$("#thumbsPagBack").hide();
		$("#thumbsPagForward").hide();
	}
	else
	{	
		if(_paged > 1) $("#thumbsPagBack").show();
		else $("#thumbsPagBack").hide();

		if(_end == _flickr_total) $("#thumbsPagForward").hide();
		else $("#thumbsPagForward").show();
	}
}

function sortFlickrImages(sort) {
	_sort = sort;
	clearThumbs();
	loadFlickrGroupPool();
	
	switch(_sort){
		case 'date-posted-desc':
			$('#sortBy li').removeClass('selected');
			$('#sortByPosted').addClass('selected')
		break;
		
		case 'date-taken-desc':
			$('#sortBy li').removeClass('selected');
			$('#sortByTaken').addClass('selected')
		break;
		
		case 'interestingness-desc':
			$('#sortBy li').removeClass('selected');
			$('#sortByInteresting').addClass('selected')
		break;
	}
		
	return false;
}

function flickrShowMainLoader() {
	if($.browser.msie)
	{
		$("#flickrSlideLoader").show();
	}
	else
	{
		$("#flickrSlideLoader").fadeIn('fast');
	}
	$('#slideshow_loaders').addClass('flickr').removeClass('vimeo');
}

function flickrHideMainLoader() {
	if($.browser.msie)
	{
		$("#flickrSlideLoader").hide();
	}
	else
	{
		$("#flickrSlideLoader").fadeOut('fast');
	}
	$('#slideshow_loaders').removeClass('flickr');
	
}

function showFlickrThumbnails() {
	if($.browser.msie)
	{
		$("#flickr_thumbnails").show();
		$(".thumbnailPagination").show();
	}
	else
	{
		$("#flickr_thumbnails").fadeIn(500);
		$(".thumbnailPagination").fadeIn(500);
	}
}

function hideFlickrThumbnails() {
	if($.browser.msie)
	{
		$("#flickr_thumbnails").hide();
		$(".thumbnailPagination").hide();
	}
	else
	{
		$("#flickr_thumbnails").fadeOut(300);
		$(".thumbnailPagination").fadeIn(500);
	}
}

function showFlickrLoader() {
	if($.browser.msie)
	{
		$("#flickr_loader").show();
	}
	else
	{
		$('#flickr_loader').fadeIn(500);
	}
}

function hideFlickrLoader() {
	if($.browser.msie) {
		$("#flickr_loader").hide();
	}
	else {
		$('#flickr_loader').fadeOut(300);
	}
}

function flickrShowControls() {
	$('#prev').fadeIn(300);
	$('#next').fadeIn(300);
}

function flickrHideControls() {
	$('#prev').hide();
	$('#next').hide();
}

jQuery.fn.AspectRatio = function() {	
    var h = this.height()
	var w = this.width();
	
	var newH;
	var newW;
	
	var targetWidth = 640;
	var targetHeight = 480;
	
    var ratio = (h / w);

    if(h <= w) {
		newW = targetWidth;
		newH = targetWidth * (h / w);
		
		var leftover = 480 - newH;
		this.css("margin-top", (leftover/2) + "px");
	}
	else {
		newW = targetHeight * (w / h);
		newH = targetHeight;
		this.css("margin-top", "0px");
	}
	
	this.width(newW);
	this.height(newH);
    
    return this;
};

/***********************************************************************************
	VIMEO
***********************************************************************************/
function loadVimeoLikes(page) {
	$.ajax({
	type: "GET",
	url: "/vimeo.php?paged="+page,
	dataType: "html",
	success: function (data, textStatus) {	
		eval(data);
		
		_vimeo_page = _vimeo_page_param;
		_vimeo_per_page = _vimeo_per_page_param;
		_vimeo_on_page = _vimeo_on_page_param;
		_vimeo_total = _vimeo_total_param;
		_vimeoArray = _vimeoArray_param;

		for (var i = 0; i < _vimeoArray.length; i++) {
			$("#thumbnails").removeClass('flickrThumbs').addClass('vimeoThumbs').append(createVimeoThumbnail(_vimeoArray[i]));
		}
		
			var firstVid = _vimeoArray[0];
			var firstId = firstVid.id;
			if(!_vimeoDeepLink)handleVideoThumbClick(firstId);
		
		_vimeoArray = [];
		_vimeoArray_param = [];
		
		hideVimeoLoader();
		showVimeoThumbnails();
		doVimeoPagination();
			
		$("#thumbsPagForward").click(nextVimeoPage);
		$("#thumbsPagBack").click(prevVimeoPage);
	}
	});
}

function createVimeoThumbnail(vimeo) {	
	var _thumb = $('<li id="playerThumbnail'+ ++_thumbLoad +'"></li>');
	_thumbInner = '<img src="' + vimeo['thumb']  + '" alt="' + vimeo['title'] + '" />';
	_thumbInner += '<h6><a href="' + vimeo['authorLink'] + '" rel="external">' + vimeo['title'] + '</a></h6>';
	_thumbInner += '<p>posted by <a href="' + vimeo['authorLink'] + '" rel="external">'+vimeo['author']+'</a></p>';
	
	$(_thumb).html(_thumbInner);
	
	$(_thumb).click(function(e) {
		var $target = $(e.target);
		if($target.is("a[rel='external']")) {
	        window.open( $($target).attr('href') );
	        return false;			
		};
		handleVideoThumbClick(vimeo['id']);
		return false;
	});
	
	return _thumb;
}

function handleVideoThumbClick(_id) {
	_vimeoDeepLink = null;
	showVimeo(_id);
	return false;
}

function showVimeo(_id) {
	vimeoShowMainLoader();
	$('#slideshow').html(getVimeoEmbedCode(_id));
	flickrHideControls();
	vimeoHideMainLoader();
	
	return false;
}

function getVimeoEmbedCode(_clipID) 
{
	return '<object width="640" height="480"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=' + _clipID + '&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=' + _clipID + '&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480"></embed></object>';
}

function doVimeoPagination() {	
	var _start = _vimeo_per_page * (_vimeo_page - 1);
	var _end = _vimeo_page * _vimeo_per_page;
	var _vimeo_pages = Math.ceil(_vimeo_total / _vimeo_per_page);
	
	if(_end > _vimeo_total) _end = _vimeo_total;
	
	if(_paged > _vimeo_pages) _paged = 1;
	else if(_paged < 1) _paged = _vimeo_pages;
	
	if (_start == 0) _start = 1;
	
	$("#thumbsPagShowing").html(_start + " - " + _end + " of " + _vimeo_total);
	
	if(_vimeo_total < _vimeo_per_page)
	{
		$("#thumbsPagBack").hide();
		$("#thumbsPagForward").hide();
	}
	else
	{
		if(_vimeo_page > 1) $("#thumbsPagBack").show();
		else $("#thumbsPagBack").hide();
		
		if((_vimeo_page * _vimeo_per_page) < _vimeo_total) $("#thumbsPagForward").show();
		else $("#thumbsPagForward").hide();
	}
}

function vimeoShowMainLoader() {
	if($.browser.msie)
	{
		$("#vimeoSlideLoader").show();
	}
	else
	{
		$("#vimeoSlideLoader").fadeIn('fast');
	}
	$('#slideshow_loaders').addClass('vimeo').removeClass('flickr');
}

function vimeoHideMainLoader() {
	if($.browser.msie)
	{
		$("#vimeoSlideLoader").hide();
	}
	else
	{
		$("#vimeoSlideLoader").fadeOut('fast');
	}
	$('#slideshow_loaders').removeClass('vimeo');
	
}

function showVimeoThumbnails()
{
	if($.browser.msie)
	{
		$(".vimeoThumbs").show();
		$(".thumbnailPagination").show();
	}
	else
	{
		$(".vimeoThumbs").fadeIn(500);
		$(".thumbnailPagination").fadeIn(500);
	}
}

function hideVimeoThumbnails()
{
	if($.browser.msie)
	{
		$(".vimeoThumbs").hide();
		$(".thumbnailPagination").show();
	}
	else
	{
		$(".vimeoThumbs").fadeOut(300);
		$(".thumbnailPagination").fadeIn(500);
	}
}

function showVimeoLoader()
{
	if($.browser.msie)
	{
		$('#vimeo_loader').show();
		$('#slideshow_loaders').show();
	}
	else
	{
		$('#vimeo_loader').fadeIn(500);
		$('#slideshow_loaders').fadeIn(500);
	}
}

function hideVimeoLoader()
{
	if($.browser.msie)
	{
		$('#vimeo_loader').hide();
		$('#slideshow_loaders').hide();
	}
	else
	{
		$('#vimeo_loader').fadeOut(300);
		$('#slideshow_loaders').fadeOut(300);
	}
}

function fetchVimeoPage()
{
	clearThumbs();
	
	//doVimeoPagination();
	loadVimeoLikes(_paged);
}

function nextVimeoPage()
{
	_paged++;
	
	if($.browser.msie)
	{
		fetchVimeoPage();
		$(".vimeoThumbs").hide();
		$(".thumbnailPagination").show();
	}
	else
	{
		$(".vimeoThumbs").fadeOut(300, fetchVimeoPage);
		$(".thumbnailPagination").fadeIn(300);
	}
	
	showVimeoLoader();
	
	return false;
}

function prevVimeoPage() {
	_paged--;
	
	if($.browser.msie)
	{
		fetchVimeoPage();
		$(".vimeoThumbs").hide();
		$(".thumbnailPagination").show();
	}
	else
	{
		$(".vimeoThumbs").fadeOut(300, fetchVimeoPage);
		$(".thumbnailPagination").fadeIn(300);
	}
	
	showVimeoLoader();
	
	return false;
}

/*************************************************************
	SORT BY DROPDOWN
*************************************************************/
function showSortBy() {
	$('#sortSearch').slideDown();
}

function hideSortBy() {
	$('#sortSearch').slideUp();
}

function showUserInfo() {
	$('#userDescriptionContainer').show();
}


function hideUserInfo() {
	$('#userDescriptionContainer').hide();
}


function handleSortBy(_sortBy) {	
	switch(_sortBy)	{
		case 'title':
			$('#selectedSortByOption').html("<b>SORT BY:  (TITLE)</b>");
			if(_photoToggle == 1) updateThumbnails(_thumbs.sort(sortByName), false);
			else updateThumbnails(_videos.sort(sortByName), false);
		break;
		
		case 'taken':
			$('#selectedSortByOption').html("<b>SORT BY:  (DATE)</b>");
			if(_photoToggle == 1) updateThumbnails(_thumbs.sort(sortByDate), false);
			else updateThumbnails(_videos.sort(sortByDate), false);
		break;
		
		case 'user':
			$('#selectedSortByOption').html("<b>SORT BY:  (USER)</b>");
			if(_photoToggle == 1) updateThumbnails(_thumbs.sort(sortByUser), false);
			else updateThumbnails(_videos.sort(sortByUser), false);
		break;
	}
	
	_currentPaginationPage = 0;
	_currentThumbPagination = 0;
	
	handleThumbToggle(0);
}

function sortByName(a, b)
{
	if(a.title > b.title) return 1;
	else if(a.title < b.title) return -1;
	else return 0;
}

function sortByDate(a, b)
{
	var date1 = new Date(a.taken);
	var date2 = new Date(b.taken);
	
	if(a.taken > b.taken) return 1;
	else if(a.taken < b.taken) return -1;
	else return 0;
}

function sortByUser(a, b)
{
	if(a.author > b.author) return 1;
	else if(a.author < b.author) return -1;
	else return 0;
}