
var dvdImageUrl		= '';
var dvdDateReleased	= '';
var dvdImageTitle	= '';
var hoverInterval	= null;
var seriesLinkTitle	= '';
var linkFontSize	= 0;
var dvdAltInfo		= '';
var dvdImageId		= 'dvdImage';

$(document).ready(function(){
	// Handle series
	if ($('#dvdImage').length > 0) {
		dvdImageUrl		= $('#dvdImage').attr('src');

		if ($('#dateReleasedField').length > 0)
			dvdDateReleased	= $('#dateReleasedField').html();
		if ($('#dvdImageTitle').length > 0)
			dvdImageTitle	= $('#dvdImageTitle').html();

		seriesLinkTitle	= $('#viewOtherFromSeries').html();
		linkFontSize	= $('#otherDvdsFromSerie').find('a').css('font-size');

		if ($('#viewOtherFromSeries').length > 0) {
			// Parse original image url
			var regs = getParsedDvdCoverUrl($('#dvdImage'));
			var url_beg = regs[0];
			var url_end = regs[1];

			// Handle hover on series titles
			$('.dvdFromSerie').hover(function() {
				clearTimeout(hoverInterval);
				$('#dvdImage').attr('src', '');

				var thisMetaData	= $(this).metadata();
				var thisDateReleased= thisMetaData.dateReleased;

				var dvdId			= this.id.replace('serieDvd_', '');
				var newUrl			= url_beg + dvdId + url_end;

				// Preload image
				var imgTemp = new Image();
				imgTemp.onerror = function() {
					resetOriginalDvdInfo();
				};

				imgTemp.onload = function() {
					if ($('#dvdImageTitle').length > 0)
						$('#dvdImageTitle').html($('#dvdImageTitle').metadata().altTitle);
					if ($('#dateReleasedField').length > 0)
						$('#dateReleasedField').html(thisDateReleased);
					$('#dvdImage').attr('src', newUrl);
				};

				imgTemp.src = newUrl;
			}, function() {
				clearTimeout(hoverInterval);
				hoverInterval = setTimeout(resetOriginalDvdInfo, 500);
			}).click(function() {window.location = $(this).metadata().linkUrl;});
		}
	}

	$('.dvd_series').click(showDvdSeries);
});


function showDvdSeries()
{
	$('.dvd_series').unbind('click', showDvdSeries);

	var num_serie = $('.imageflow a').length;

	if($('.dvd_series_content').css('display') == 'block')
	{
		$('.dvd_series_content').fadeOut('slow', function() {
				$('.dvd_info').animate({width:'486px'}, 1000);
				$('.dvd_options_block').animate({marginTop:'220px', width:'472px'}, 1000);
				$('.dvd_info_title2').animate({width:'440px'}, 1000, function() {
					$('.dvd_info_img').fadeIn();
					$('.dvd_info_content').fadeIn();
					$('.dvd_info_block').find('a:first').fadeIn();
				});
		});
	}
	else
	{
		$('.dvd_info_content').fadeOut('slow', function() {
			$('.dvd_info_block').find('a:first').fadeOut('fast');
			$('.dvd_info_img').fadeOut('fast', function() {
				$('.dvd_info').animate({width:'700px'}, 1000);
				if(num_serie > 6 && num_serie < 13)
				{
					$('.dvd_options_block').animate({marginTop:'325px', width:'686px'}, 1000);
					$('.dvd_series_content').animate({height:'320px'}, 1000);
				}
				else if(num_serie > 12 && num_serie < 19)
				{
					$('.dvd_options_block').animate({marginTop:'500px', width:'686px'}, 1000);
					$('.dvd_series_content').animate({height:'490px'}, 1000);
				}
				else if(num_serie > 18)
				{
					$('.dvd_options_block').animate({marginTop:'655px', width:'686px'}, 1000);
					$('.dvd_series_content').animate({height:'645px'}, 1000);
				}
				else
				{
					$('.dvd_options_block').animate({width:'686px'}, 1000);
				}
				$('.dvd_info_title2').animate({width:'635px'}, 1000, function() {
					$('.dvd_series_content').fadeIn();
					var dvd_width = $('.imageflow a').width();
					var container_width = num_serie*dvd_width;
					if(container_width > 700) container_width = 700;
					$('.imageflow').css('width', container_width+'px');
				});
			});
		});
	}

	$('.dvd_series').bind('click', showDvdSeries);

	return false;
}


/**
 * Resets the DVD info to the original DVD after a series was displayed
 **/
function resetOriginalDvdInfo()
{
	if ($('#dvdImageTitle').length > 0)
		$('#dvdImageTitle').html(dvdImageTitle);
	if ($('#dateReleasedField').length > 0)
		$('#dateReleasedField').html(dvdDateReleased);

	$('#dvdImage').attr('src', dvdImageUrl);
}

/**
 * Parses the url from a DVD cover image to reuse its parts
 **/
function getParsedDvdCoverUrl(imageObj)
{
	dvdImageUrl = imageObj.attr('src');

	var re = new RegExp("(.*/covers/)([0-9]+)(.*)", "i");
	var regs = dvdImageUrl.match(re);

	return new Array(regs[1], regs[3]);
}

