var currentFeaturedImage;

function mostviewed(link, timeRange, imageCategory) {
	$.get('/images/mostviewed/'+timeRange+'/'+imageCategory+'?call=ajax', function(response){
//		$(link).parent().find('.dataon').each(function(){
//			$(this).removeClass('dataon');
//		});
//		$(link).addClass('dataon');
		$('#mostViewedDiv').html(response);
	});
}

var featuredImagesPaused = false;
var featuredImagesTimeout = null;
function getNewFeatured(direction) {
	if (typeof direction == 'undefined' || !direction) {
		if (featuredImagesPaused) {
			return;
		} else {
			direction = 'next';
		}
	}
	if (direction == 'next') {
		if (currentFeaturedImage >= (featuredImages.length - 1) || typeof featuredImages[currentFeaturedImage + 1] == 'undefined') {
			var newId = 0;
		} else {
			var newId = currentFeaturedImage + 1;
		}
	} else if (direction == 'prev') {
		if (currentFeaturedImage <= 0 || typeof featuredImages[currentFeaturedImage - 1] == 'undefined') {
			var newId = (featuredImages.length - 1);
		} else {
			var newId = currentFeaturedImage - 1;
		}
	}

	/**
	 * @todo fix bug
	 */
	if (typeof newId == 'undefined') {
		var newId = 0;
	}
	
	var preloader = new Image();
	preloader.onload = function() {
		replaceFeaturedImage(newId);
	}
	preloader.src = featuredImages[newId].splashImageImage.large;

	currentFeaturedImage = newId;
	
	if (!featuredImagesPaused) {

		clearTimeout(featuredImagesTimeout);
		featuredImagesTimeout = setTimeout(getNewFeatured, 8000);
	}
	
	if (featuredImagesPaused) {
		$('#featuredImagePlayPauseLink img[title="Play"]').show();
		$('#featuredImagePlayPauseLink img[title="Pause"]').hide();
	} else {
		$('#featuredImagePlayPauseLink img[title="Play"]').hide();
		$('#featuredImagePlayPauseLink img[title="Pause"]').show();
	}
	
}
function featuredImagePrev() {
	featuredImagePause();
	getNewFeatured('prev');
}
function featuredImageNext() {
	featuredImagePause();
	getNewFeatured('next');
}
function featuredImagePause() {
	featuredImagesPaused = true;
	$('#featuredImagePlayPauseLink img[title="Play"]').show();
	$('#featuredImagePlayPauseLink img[title="Pause"]').hide();
}
function featuredImagePlay() {
	featuredImagesPaused = false;
	
	clearTimeout(featuredImagesTimeout);
	featuredImagesTimeout = setTimeout(getNewFeatured, 1000);
	$('#featuredImagePlayPauseLink img[title="Play"]').hide();
	$('#featuredImagePlayPauseLink img[title="Pause"]').show();
}
function featuredImagePlayPause() {
	if (featuredImagesPaused) {
		featuredImagePlay();
	} else {
		featuredImagePause();
	}
	
}

function replaceFeaturedImage(id) {
	if (typeof featuredImages == 'string') {
		featuredImages = JSON.parse(unescape(featuredImages));
	}
	
	if (typeof featuredImages[id] == 'undefined') {
		setTimeout(function(){
			replaceFeaturedImage(id);
		}, 500);
		return false;
	}
	
	var image = featuredImages[id];
	
	$('a.featuredLinkToImagePage').each(function(){
		$(this).attr('href', '/images/view/'+image.id.toString()+'/');
	});
	
	$('img.featuredImage').attr('src', image.splashImageImage.large).attr('alt', image.title).attr('title', image.title);
	
	$('span#splashImageTitle').html(image.title);
	
	$('#splashImageUserLinkSpan').html( $('<a></a>').attr('href', 'http://'+image.userSlug+'.'+siteTopDomain+'/').attr('title', image.userLogin).html(image.userLogin) );
	
	$('div.featuredImage').show();
}

if (typeof featuredImages == 'string') {
	featuredImages = JSON.parse(unescape(featuredImages));
}

$('div.featuredImage').ready(function(){
	var min = 0;
	var max = featuredImages.length;
	var rand = Math.floor(Math.random() * (max - min + 1)) + min;
	
	currentFeaturedImage = rand;
	
	replaceFeaturedImage(rand);
});

$(document).ready(function() {
	clearTimeout(featuredImagesTimeout);
	featuredImagesTimeout = setTimeout(getNewFeatured, 15000);
});
