<?php
// load album
$url = _INT_PAGE_URL;
$urlParts = explode('/', $url);
array_shift($urlParts);
$albumId = (int)trim(current($urlParts));
if($albumId == 0)
{
	// no album found
	coreFunctions::redirect(WEB_ROOT);
}

// load album details and make sure current user has access
$album = fileFolder::loadById($albumId);
if(!$album)
{
	// no album found
	coreFunctions::redirect(WEB_ROOT);
}

// privacy
if(((int)$album->userId > 0) && ($album->userId != $Auth->id))
{
	if(coreFunctions::getOverallPublicStatus($album->userId, $album->id) == false)
	{
		// no permissions
		coreFunctions::redirect($album->getAlbumUrl());
		exit;
	}
}

// check if album needs a password, ignore if logged in as the owner
if((strlen($album->accessPassword) > 0) && ($album->userId != $Auth->id))
{
	// see if we have it in the session already
	$askPassword = true;
	if(!isset($_SESSION['folderPassword']))
	{
		$_SESSION['folderPassword'] = array();
	}
	elseif(isset($_SESSION['folderPassword'][$album->id]))
	{
		if($_SESSION['folderPassword'][$album->id] == $album->accessPassword)
		{
			$askPassword = false;
		}
	}
	
	if($askPassword == true)
	{
		// request password
		coreFunctions::redirect($album->getAlbumUrl());
		exit;
	}
}

// image extensions
$imageExtArr = file::getImageExtStringForSql();

// load image data for later js
$albumImages = $db->getRows('SELECT file.* FROM file LEFT JOIN plugin_imageviewer_meta ON file.id = plugin_imageviewer_meta.file_id WHERE file.folderId = '.(int)$album->id.' AND file.statusId = 1 AND file.extension IN ('.$imageExtArr.') ORDER BY plugin_imageviewer_meta.date_taken ASC, file.originalFilename ASC LIMIT 300');
if((!$albumImages) || COUNT($albumImages) == 0)
{
	// no images
	coreFunctions::redirect($album->getAlbumUrl());
	exit;
}

$jsImages = array();
foreach($albumImages AS $albumImage)
{
	// get file object
	$imageObj = file::hydrate($albumImage);

	// prep js string
	$jsImages[] = "{image : '".CACHE_WEB_ROOT."/plugins/imageviewer/".(int)$imageObj->id."/".$imageObj->getFileHash()."/1100x1100_cropped.jpg', title : '".validation::safeOutputToScreen(str_replace(array('\'', '"', '<', '>'), '', $album->folderName))."', thumb : '".CACHE_WEB_ROOT."/plugins/imageviewer/".(int)$imageObj->id."/".$imageObj->getFileHash()."/200x150_middle.jpg', url : '".$imageObj->getFullShortUrl()."'}";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<title><?php echo validation::safeOutputToScreen($album->folderName); ?> <?php echo t('slideshow', 'Slideshow'); ?> - <?php echo validation::safeOutputToScreen(SITE_CONFIG_SITE_NAME); ?></title>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		
		<link rel="stylesheet" href="<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/css/supersized.css" type="text/css" media="screen" />
		<link rel="stylesheet" href="<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/theme/supersized.shutter.css" type="text/css" media="screen" />
		
		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
		<script type="text/javascript" src="<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/js/jquery.easing.min.js"></script>
		
		<script type="text/javascript" src="<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/js/supersized.3.2.7.min.js"></script>
		<script type="text/javascript" src="<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/theme/supersized.shutter.min.js"></script>
		
		<script type="text/javascript">
			
			jQuery(function($){
				
				$.supersized({
				
					// Functionality
					slideshow               :   1,			// Slideshow on/off
					autoplay				:	1,			// Slideshow starts playing automatically
					start_slide             :   1,			// Start slide (0 is random)
					stop_loop				:	0,			// Pauses slideshow on last slide
					random					: 	0,			// Randomize slide order (Ignores start slide)
					slide_interval          :   3000,		// Length between transitions
					transition              :   6, 			// 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left
					transition_speed		:	1000,		// Speed of transition
					new_window				:	1,			// Image links open in new window/tab
					pause_hover             :   0,			// Pause slideshow on hover
					keyboard_nav            :   1,			// Keyboard navigation on/off
					performance				:	1,			// 0-Normal, 1-Hybrid speed/quality, 2-Optimizes image quality, 3-Optimizes transition speed // (Only works for Firefox/IE, not Webkit)
					image_protect			:	1,			// Disables image dragging and right click with Javascript
					image_path			    :	'<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/img/',

					// Size & Position						   
					min_width		        :   0,			// Min width allowed (in pixels)
					min_height		        :   0,			// Min height allowed (in pixels)
					vertical_center         :   1,			// Vertically center background
					horizontal_center       :   1,			// Horizontally center background
					fit_always				:	0,			// Image will never exceed browser width or height (Ignores min. dimensions)
					fit_portrait         	:   1,			// Portrait images will not exceed browser height
					fit_landscape			:   0,			// Landscape images will not exceed browser width
															   
					// Components							
					slide_links				:	false,	// Individual links for each slide (Options: false, 'num', 'name', 'blank')
					thumb_links				:	1,			// Individual thumb links for each slide
					thumbnail_navigation    :   1,			// Thumbnail navigation
					slides 					:  	[			// Slideshow Images
														<?php echo implode(",\n", $jsImages); ?>
												],
												
					// Theme Options			   
					progress_bar			:	1,			// Timer for each slide							
					mouse_scrub				:	0
					
				});
		    });
		    
		</script>
		
	</head>
	
	<style type="text/css">
		ul#demo-block{ margin:0 15px 15px 15px; }
			ul#demo-block li{ margin:0 0 10px 0; padding:10px; display:inline; float:left; clear:both; color:#aaa; background:url('<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/img/bg-black.png'); font:11px Helvetica, Arial, sans-serif; }
			ul#demo-block li a{ color:#eee; font-weight:bold; }
	</style>

<body>
	<!--Thumbnail Navigation-->
	<div id="prevthumb"></div>
	<div id="nextthumb"></div>
	
	<!--Arrow Navigation-->
	<a id="prevslide" class="load-item"></a>
	<a id="nextslide" class="load-item"></a>
	
	<div id="thumb-tray" class="load-item">
		<div id="thumb-back"></div>
		<div id="thumb-forward"></div>
	</div>
	
	<!--Time Bar-->
	<div id="progress-back" class="load-item">
		<div id="progress-bar"></div>
	</div>
	
	<!--Control Bar-->
	<div id="controls-wrapper" class="load-item">
		<div id="controls">
			
			<a id="play-button"><img id="pauseplay" src="<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/img/pause.png"/></a>
		
			<!--Slide counter-->
			<div id="slidecounter">
				<span class="slidenumber"></span> / <span class="totalslides"></span>
			</div>
			
			<!--Slide captions displayed here-->
			<div id="slidecaption"></div>
			
			<!--Thumb Tray button-->
			<a id="tray-button"><img id="tray-arrow" src="<?php echo SITE_THEME_PATH; ?>/frontend_assets/slideshow/img/button-tray-up.png"/></a>
			
			<!--Navigation-->
			<ul id="slide-list"></ul>
			
		</div>
	</div>
</body>
</html>
