<?php

	/* setup
		*/
	$soundtrack_loop_bool = 	$this->getTypedValue("setup", "settings", "soundtrack_loop_bool");
	$soundtrack_volume_num = 	$this->getTypedValue("setup", "settings", "soundtrack_volume_num");

	/* design
		*/
	$album_aspect_ratio = 		$this->getTypedValue("design", "settings", "album_aspect_ratio");

	/* page settings
		*/
	$page_title = 			$this->getTypedValue($page_data, "settings", "page_title");
	$slideshow_timer_num = 		$this->getTypedValue($page_data, "settings", "slideshow_timer_num");
	$description = 			$this->getTypedValue($page_data, "settings", "description");
	$autostart_bool = 		$this->getTypedValue($page_data, "settings", "autostart_bool");
	$show_captions_bool = 		$this->getTypedValue($page_data, "settings", "show_captions_bool");
	$use_watermark_bool = 		$this->getTypedValue($page_data, "settings", "use_watermark_bool");
	$grid_columns_num = 		$this->getTypedValue($page_data, "settings", "grid_columns_num");

	/* page settings
		*/
	if ($slideshow_timer_num==null) {
		$slideshow_timer_num = 3;
	}
	$hasDescription = 		$description["value"]!="" || $page_title["value"]!="";
	if ($use_watermark_bool==false) {
		$watermark_bool = false;
		$crosshairs_bool = false;
	}
	$page_column_gutter = 		15;
	$page_inner_width = 		$body_width_num;
	$child_block_width = 		floor( (($page_inner_width+$page_column_gutter)/$grid_columns_num) - $page_column_gutter);

	/* get all our items
		*/
	$assets = 				Flatfile::getFileTable("asset", $this->info("id"));
	$children = 			Flatfile::getSetTable("child", $this->info("id"));
	$images = 				Flatfile::getFileTable("image", $this->info("id"));
	$tracks = 				Flatfile::getFileTable("track", $this->info("id"));
	$image_width = 			$body_width_num;
	$image_height = 			($image_width*$album_aspect_ratio[1])/$album_aspect_ratio[0];

	if (count($images)>0) {

?>
<!-- create a list of images in case javascript does not exist -->
<noscript>
<?php
		foreach ($images as $key => $row) {
			$graphic = new Graphic($row);
			$graphic->caption($show_captions_bool);
			$graphic->watermark($watermark_bool, $watermark_asset, $watermark_x_num, $watermark_y_num, $watermark_alpha_num, $crosshairs_bool, $crosshairs_color, $crosshairs_alpha_num);
			$graphic->thumbnail($image_letterboxing_bool==false);
			$graphic->resample($resample_display_bool, $resampling_quality_num, $resample_sharpen_bool, $resample_use_imagick_bool);
			$graphic->setBasepath($this->info("id"));
			$graphic->setSize($image_width, $image_height);
			print "\t" . $graphic->render() . "\n";
		}
?>
</noscript>
<!-- load up all required css + js -->
<script src="<?php echo SA_DIR_INDEXPATH; ?>?/js/album/<?php echo SA_PRODUCT_VERSION; ?>/"></script>
<!-- create dynamic containers for our applications -->
<div id="galleria"></div>
<div id="jquery_jplayer"></div>
<div id="jp_container">
	<div class="jp-gui">
		<a href="javascript:void(0);" class="jp-previous" tabindex="1" title="previous">previous</a>
		<a href="javascript:void(0);" class="jp-play" tabindex="1" title="play">play</a>
		<a href="javascript:void(0);" class="jp-pause" tabindex="1" title="pause">pause</a>
		<a href="javascript:void(0);" class="jp-next" tabindex="1" title="next">next</a>
		<a href="javascript:void(0);" class="jp-repeat" tabindex="1" title="repeat">repeat</a>
		<a href="javascript:void(0);" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a>
		<div class="jp-time">
			<span class="jp-current-time"></span> /
			<span class="jp-duration"></span>
		</div>
	</div>
	<div class="jp-playlist"><ul><li></li></ul></div>
</div>
<script type="text/javascript">
	Album.showCaptions(<?php echo $show_captions_bool ? "true" : "false"; ?>);
	Album.setThumbnailSize(0, 0);
	Album.setLoop(<?php echo $soundtrack_loop_bool ? "true" : "false"; ?>);
	Album.setVolume(<?php echo $soundtrack_volume_num/100; ?>);
	Album.setAspect(<?php echo $album_aspect_ratio[1]/$album_aspect_ratio[0]; ?>);
	Album.setTimer(<?php echo $slideshow_timer_num; ?>);
	Album.autoPlay(<?php echo $autostart_bool ? "true" : "false"; ?>);
<?php
		foreach ($tracks as $key => $row) {
?>
	Album.addTrack({
		title: '<?php echo htmlentities($row[1]); ?>',
		mp3: '<?php echo SA_DIR_STORAGE . "/" . $this->info("id") . "/" . $row[0]; ?>'
	});
<?php
		}
		foreach ($images as $key => $row) {
			$graphic = new Graphic($row);
				$graphic->encode(false);
				$graphic->watermark($watermark_bool, $watermark_asset, $watermark_x_num, $watermark_y_num, $watermark_alpha_num, $crosshairs_bool, $crosshairs_color, $crosshairs_alpha_num);
				$graphic->thumbnail($image_letterboxing_bool==false);
				$graphic->resample($resample_display_bool, $resampling_quality_num, $resample_sharpen_bool, $resample_use_imagick_bool);
				$graphic->setBasepath($this->info("id"));
				$graphic->setSize($image_width, $image_height);
				$graphic->setMultiplier("{MULTIPLIER}");
				$graphic_src = $graphic->source();
				$graphic->setSize("{WIDTH}", "{HEIGHT}");
				$graphic_src_big = $graphic->source();
			$thumb = new Graphic($row);
				$thumb->encode(false);
				$thumb->setBasepath($this->info("id"));
				$thumb->resample(true, $resampling_quality_num, $resample_sharpen_bool, $resample_use_imagick_bool);
				$thumb->setSize(1,1);
				$thumb->setMultiplier("{MULTIPLIER}");
			$title = $row[1];
				$title = htmlspecialchars($title);
			$caption = isset($row[5]) ? $row[5] : null;
				$caption = htmlspecialchars($caption);
			$video_uri = $graphic->getVideoURI();
			$iframe_uri = $graphic->getIframeURI();
?>
	Album.addImage({
		thumb: "<?php echo $thumb->source(); ?>",
		image: "<?php echo $graphic_src; ?>",
		big: "<?php echo $graphic_src_big; ?>",
		video: "<?php echo $video_uri; ?>",
		iframe: "<?php echo $iframe_uri; ?>",
		title: "<?php echo $title; ?>",
		description: "<?php echo $caption; ?>"
	});
<?php
		}
?>
	Album.start();
</script>
<div class="clear"></div>
<?php
	}
	if (count($children)>0) {
?>
<div class="GridItems" style="width:<?php echo ($child_block_width+$page_column_gutter)*$grid_columns_num; ?>px">
<?php
		$i = -1;
		foreach ($children as $child_row) {
			++$i;
			$x = $i%$grid_columns_num;
			$child = 			$this->getTypedChildObject($child_row);
			$child_title = 		htmlspecialchars($child_row[1]);
			$image_asset = 		$this->getTypedChildValue($child, "image_asset");
			$url_linkage = 		$this->getTypedChildValue($child, "url_linkage");
			$image_provider = 	@$assets[$image_asset["child"]];
			$child_graphic_width = 	max(600, $child_block_width);
			$child_graphic = 		new Graphic($image_provider);
				$child_graphic->setAnchor($url_linkage["href"], $url_linkage["target"]);
				$child_graphic->setBasepath($this->info("id"));
				$child_graphic->resample($resample_display_bool, $resampling_quality_num, $resample_sharpen_bool, $resample_use_imagick_bool);
				$child_graphic->setSize($child_graphic_width, null);
?>
	<div class="GridItem" style="float:left;clear:<?php echo ($x==0?"left":"none"); ?>;margin-right:<?php echo $page_column_gutter; ?>px;width:<?php echo $child_block_width; ?>px">
<?php 		echo "\t\t" . $child_graphic->render() . "\n"; ?>
		<a class="GridItemLink" href="<?php echo $url_linkage["href"]; ?>" target="<?php echo $url_linkage["target"]; ?>"><?php echo $child_title; ?></a>
	</div>
<?php
		}
?>
	<div class="clear"></div>
</div>
<script type="text/javascript">
	GalleryList.setColumns(<?php echo $grid_columns_num; ?>);
	GalleryList.start();
</script>
<?php
	}
	if ($hasDescription) {
?>
<div class="Context">
	<?php if ($page_title["value"]!="") { ?><h1><?php echo $page_title["html"]; ?></h1><?php } ?>
	<div class="Description"><?php echo $description["markdown"]; ?>
	</div><!-- End .Description -->
</div>
<div class="clear"></div>
<?php
	}
?>