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();
			}
			_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/?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").unbind('click').click(nextVimeoPage);
			$("#thumbsPagBack").unbind('click').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(){
	//console.log('_paged', _paged);
	_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;
}