<?php
/*********************************************************************************************
 * e107 PLUGIN: Auto Gallery
 * VERSION:     2.xx
 * DESCRIPTION: A media/image gallery, where galleries are based on a directory structure. 
 *              Thumbnails are automatically generated through Imagemagick or GD.
 * WRITTEN BY:  Mr_Visible (www.cerebralsynergy.com)
 * DATE:        11/04/2007
 *
 * Released under the terms and conditions of the
 * GNU General Public License (http://gnu.org).
 ********************************************************************************************/

error_reporting(E_ALL);

require_once(dirname(__FILE__)."/language.php");  
require_once(dirname(__FILE__)."/def.php");

$startAG = microtime(true);
$adminTime = 0;
$text = '';

$g_selElement = rawurldecode($_GET['show']);
$g_selElement = stripslashes($g_selElement);

// GET IMAGE INFO
$g_absPath = AutoGal_GetAbsGalPath($g_selElement);
$g_galAbsPath = AutoGal_GetAbsGalPath('');
if (preg_match("/^".preg_quote($g_galAbsPath, '/')."/", $g_absPath))
{
	$g_selEleInfo = AutoGal_GetElementInfo($g_selElement, true);
}
else
{
	$g_selEleInfo = NULL;
}

// GET VERSION
if (AUTOGAL_SHOWAUTOGALVER)
{
	$agVer = AutoGal_GetVersion();
	$autoGalVer = 
	"<div class='smalltext' style='text-align:center'>".
	AUTOGAL_LANG_L1.
	"<a target='_blank' href='".AUTOGAL_DOWNLOADURL."'>Auto Gallery</a> v$agVer".
	"</div>";
}
else
{
	$autoGalVer = '';
}

// BAD ELEMENT INFO
if (($g_selElement)&&(!$g_selEleInfo))
{
	define("e_PAGETITLE", AUTOGAL_TITLE);
	
	require_once(HEADERF);
	print "\n<!-- AUTOGALLERY START -->\n\n";
	$text .= "<div style='text-align:center'><br />".AUTOGAL_LANG_L2."<br /><br /><b>".htmlspecialchars($g_selElement)."</b><br /><br /><a href=\"".AUTOGAL_AUTOGALLERY."\">".AUTOGAL_LANG_L3."</a><br /><br /></div>";
	$ns -> tablerender(AUTOGAL_TITLE, $text);
	if (AUTOGAL_SHOW_FOOTER){require_once(FOOTERF);}
}
else
{
	$g_startImage = (preg_match("/^\d+$/", $_GET['start']) ? $_GET['start'] : 0);
	$g_showFullImage = (preg_match("/^\d+$/", $_GET['full']) ? rawurldecode($_GET['full']) : 0);
	$g_isNewWindow = (preg_match("/^\d+$/", $_GET['newwindow']) ? $_GET['newwindow'] : 0);
	$g_showInNewWindow = false;
	$g_isAdmin = ((check_class($g_selEleInfo['adminclass']) || ADMIN) ? 1 : 0);
	$g_isAdminMode = ($g_isAdmin ? AutoGal_IsAdminMode() : false);
	
	// DO PAGE HEADER
	define("e_PAGETITLE", AUTOGAL_TITLE." : ".$g_selEleInfo['pathtitle']);
	if ((AUTOGAL_SHOWINNEWWINDOW)&&($g_selEleInfo['type'] == 'Image')&&($g_isNewWindow))
	{
		$g_showInNewWindow = true;
		$text .= "\n\n<!-- AUTOGALLERY START -->\n";
		$text .= AutoGal_GetNewWindowHeader(e_PAGETITLE);
		
	}
	else
	{
		// RENDER e107 HEADER
		require_once(HEADERF);
		print "\n\n<!-- AUTOGALLERY START -->\n";
	
		// RENDER NAVIGATION BAR
		$text .= "
		<br />
		<table class='border' style='width:97%'>
		<tr>
			<td class='".AUTOGAL_NAVCLASS."' style='text-align:left'>".AutoGal_NavLinks($g_selEleInfo)."</td>
		</tr>
		</table>
		<br />";
	}
		
	// CHECK IF XML FILE WAS OK
	if (($g_isAdmin)&&(AUTOGAL_USEXMLMETA)&&(($g_selEleInfo['xmlfileexists'])&&(!$g_selEleInfo['xmlok'])))
	{
		$ns -> tablerender(AUTOGAL_TITLE, "<font color='red'><b>".AUTOGAL_LANG_L38."</b></font> ".$g_selEleInfo['xmlerror']);
	}
	
	if ($g_isAdminMode) $text .= "<form name='autogallery_admin' method='POST' action='".AUTOGAL_ADMINEDIT."'>\n";
	
	// SHOW GALLERY/IMAGE
	if ($g_selEleInfo['type'] == 'Gallery')
	{
		$text .= AutoGal_ShowGallery($g_selEleInfo, $g_startImage);
	}
	elseif($g_selEleInfo['type'] == 'Image')
	{
		$text .= AutoGal_ShowFile($g_selEleInfo, $g_showFullImage);
	}
	else
	{
		$text .= "<div style='text-align:center'>".AUTOGAL_LANG_L2."$g_selElement!</div>";
	}
	
	if ($g_isAdmin) $text .= "<div style='text-align:center'>".AutoGal_RenderAdminMode($g_selEleInfo)."</div>";
	
	$ns -> tablerender(AUTOGAL_TITLE, $text);
	
	// RENDER ADMIN MENU
	if (($g_isAdmin)&&($g_isAdminMode))
	{
		require_once(AUTOGAL_ADMINFUNCTIONS);
		AutoGal_ShowAdmin($g_selElement, $ns, $g_selEleInfo);
		print "</form>\n";
	}
	
	if (AUTOGAL_USEXMLMETA)
	{
		// RENDER DESCRIPTION IF ENABLED
		if ($g_selEleInfo['description']) AutoGal_RenderDescription($g_selEleInfo);
		
		// RENDER ARCADE TOP SCORES
		AutoGal_RenderTopScores($g_selEleInfo);
		
		// RENDER RATINGS IF ENABLES
		if (AUTOGAL_USEXMLMETARATINGS) $g_selEleInfo = AutoGal_RenderRating($g_selEleInfo);
	
		// RENDER COMMENTS IF ENABLED
		if (AUTOGAL_USEXMLMETACOMS) $g_selEleInfo = AutoGal_RenderComments($g_selEleInfo);
		
		// UPDATE VIEW HITS IF ENABLED
		if (AUTOGAL_USEXMLMETAVHITS) $g_selEleInfo = AutoGal_IncrementViewHits($g_selEleInfo);
	}

	// PRINT VERSION/FOOTER
	$AGTime = microtime(true) - $startAG;
	$AGTime = number_format(abs($AGTime), 4);
	
	#$fh = fopen(AUTOGAL_BASEABS."/render.log", "a+");
	#fwrite($fh, strftime("%H:%M:%S %d-%b-%Y", time())."> ".(AUTOGAL_DIRCACHEMETHOD ? AUTOGAL_DIRCACHEMETHOD : "OFF")." $AGTime\n");
	#fclose($fh);
	
	print "
	<div class='smalltext' style='text-align:center'>".
	str_replace("[TIME]", $AGTime, AUTOGAL_LANG_L5).
	"</div>".
	$autoGalVer;
	
	print "\n<!-- AUTOGALLERY END -->\n\n";
	
	if ($g_showInNewWindow)
	{
		print AutoGal_GetNewWindowFooter();
	}
	elseif (AUTOGAL_SHOW_FOOTER)
	{
		require_once(FOOTERF);
	}
}	

/*****************************************************************************************************
 * SHOWS A SINGLE IMAGE
 ****************************************************************************************************/
function AutoGal_ShowFile($eleInfo, $showFullImage)
{
	$element = $eleInfo['element'];
	$gallery = $eleInfo['gallery'];
    $title = $eleInfo['title'];
	$subTitle = $eleInfo['subtitle'];
    
	# Check user's class
    if(!check_class(AutoGal_GetGalUserClass($gallery, 'view')))
    {
        return ("<center><b>".AUTOGAL_LANG_L6."</b><br /><br /></center>");      
    }

	$emailLink = AutoGal_GetEmailLink($element);
	$botLinks = AutoGal_GetBotLinks($gallery);
	$navButtons = AutoGal_FileNavButtons($eleInfo, AUTOGAL_SLIDESENABLE, AUTOGAL_SHOWINNEWWINDOW);
	$previewHTML = AutoGal_FilePreviewHTML($eleInfo, $showFullImage);
	
	// Arcade top score update
	if ($eleInfo['isflash'])
	{
		if ((AUTOGAL_ARCADEUSEXMLTRACK)&&(AUTOGAL_ARCTOPSCORES))
		{
			require_once (AUTOGAL_ARCADEPLAYERS);
			$players = new AutoGal_ArcadePlayers(AUTOGAL_ARCADEPLAYERSXML);
			
			if (file_exists(AUTOGAL_ARCADEPLAYERSXML))
			{
				if (!$players->Open())
				{
					$text .= $players->LastError()."<br />";
				}
			}
			
			$players->UpdatePlayer(USERID, USERNAME, $eleInfo['element']);
			$players->DeleteOldPlayers(AUTOGAL_ARCADEMAXPLAYERXMLTIME);
			
			if (!$players->Save(AUTOGAL_PERMSCFGXML))
			{
				$text .= $players->LastError()."<br />";
			}
		}
	}
	
	// Update/Show XML Statistics
	if (AUTOGAL_USEXMLMETA)
	{
		$hitStat = "";
		if (AUTOGAL_USEXMLMETAVHITS)
		{
			$hitStat = AUTOGAL_LANG_L28;
			$hitStat = str_replace("[TYPE]", $eleInfo['filetypetitle'], $hitStat);
			$hitStat = str_replace("[HITS]", ($eleInfo['viewhits'] ? $eleInfo['viewhits'] : 1), $hitStat);
			$hitStat = str_replace("[TIMES]", ($eleInfo['viewhits'] == 1 ? AUTOGAL_LANG_L32 : AUTOGAL_LANG_L33), $hitStat);
		}
		if (AUTOGAL_USEXMLMETAEHITS)
		{
			$hitStat .= AUTOGAL_LANG_L29.AUTOGAL_LANG_L30;
			$hitStat = str_replace("[TYPE]", $eleInfo['filetypetitle'], $hitStat);
			$hitStat = str_replace("[HITS]", ($eleInfo['emailhits'] ? $eleInfo['emailhits'] : 0), $hitStat);
			$hitStat = str_replace("[TIMES]", ($eleInfo['emailhits'] == 1 ? AUTOGAL_LANG_L32 : AUTOGAL_LANG_L33), $hitStat);
		}
		$hitStat = ($hitStat ? "$hitStat.<br />" : '');
		
		$submitStat = "";
		if ($eleInfo['submitdate'] > 0)
		{
			$submitStat = AUTOGAL_LANG_L31;
			
			if ($eleInfo['submitbyuserid'] == 0)
			{
				$subUser = AUTOGAL_LANG_L34;
			}
			else
			{
				$subUser = "<a href=\"".e_BASE."user.php?id.".$eleInfo['submitbyuserid']."\">".$eleInfo['submitbyusername']."</a>";
			}
			
			$submitStat = str_replace("[USER]", $subUser, $submitStat);
			$submitStat = str_replace("[DATE]", strftime("%d %b, %I:%M%p", $eleInfo['submitdate']), $submitStat);
			$submitStat .= "<br />";
		}
	}
	
	$stats = $hitStat.$submitStat;
	$stats = ($stats ? "$stats<br />" : '');
	$emailLink = ($emailLink ? "<br />$emailLink<br />" : '');
	$botLinks = (count($botLinks) > 0 ? "<br />".implode(' ', $botLinks) : '');
	$subTitle = ($eleInfo['subtitle'] ? $eleInfo['subtitle']."<br />" : '');
	$title = "<h".AUTOGAL_TITLEHEADSTYLE.">$title</h".AUTOGAL_TITLEHEADSTYLE.">";
		
	$text = "
	<div style='text-align:center'>
    $title
	$subTitle
	<br />
    $previewHTML
    <br />
	$stats
    $navButtons<br />
    $emailLink
    $botLinks
    </div>";
	
	return $text;
}

/*****************************************************************************************************
 * SHOWS IMAGE GALLERY, WITH THUMBNAILS
 ****************************************************************************************************/
function AutoGal_ShowGallery($selEleInfo, $startImage)
{
	global $g_isAdminMode;
	global $g_isAdmin;
    global $pref;
	
	$gallery = $selEleInfo['element'];
	$galEles = array();
	$eleIDs = 0;
            
    if(!check_class($selEleInfo['viewclass']))
    {
        return ("<center><b>".AUTOGAL_LANG_L15."</b><br /><br /></center>");    
    }
	
	$g_isAdminMode = ($g_isAdminMode && $g_isAdmin);
		
	# GET THE IMAGES/SUB GALLERIES
    $galEles = AutoGal_GetGalleryElements($gallery);

    if (count($galEles['files']) > 0 || count($galEles['galleries']) > 0) 
	{
		$divImgCellBy = (count($galEles['files']) < AUTOGAL_NUMCOLS ? count($galEles['files']) : AUTOGAL_NUMCOLS);
		$divGalCellBy = (count($galEles['galleries']) < AUTOGAL_NUMGALLCOLS ? count($galEles['galleries']) : AUTOGAL_NUMGALLCOLS);

		////////////////////////////////////////////////////////
		// SUB GALLERIES
		////////////////////////////////////////////////////////
		$numSubGals = 0; 
		$galColCount = 0;
		$galRowCount = 0;
		foreach ($galEles['galleries'] as $subGal)
		{
			if (check_class(AutoGal_GetGalUserClass($subGal['element'], 'view')))
			{
				if ($g_isAdminMode)
				{
					$adminCellJS = "onclick=\"if (!ag_ignoreClick) {javascipt:document.getElementById('ag_ele$eleIDs').checked = !document.getElementById('ag_ele$eleIDs').checked;  if (document.getElementById('ag_adminselection').selectedIndex == 0) {document.getElementById('ag_adminselection').selectedIndex=1;}} ag_ignoreClick=0;\"";
					$adminChkBoxH = "
					<table style='border:none;width:100%'>
					<tr>
						<td style='text-align:left;border:none;width:1%'>
							<input type='checkbox' name=\"ag_ele_".urlencode($subGal['element'])."\" style='visibility:visible' id='ag_ele$eleIDs' onclick=\"ag_ignoreClick=1; if (document.getElementById('ag_adminselection').selectedIndex == 0) {document.getElementById('ag_adminselection').selectedIndex=1;};\">
						</td>
						<td style='text-align:center;border:none'>";
					
					$adminChkBoxF = "</td>\n</tr>\n</table>\n";
				}
				
				$subGallerys .= 
				"<td class='".AUTOGAL_SUBGALLERYCLASS."' style='text-align:center;width:".sprintf("%0.0f", (100 / $divGalCellBy))."%'$adminCellJS>\n".
					$adminChkBoxH.
					"\t".$subGal['ahref']." title='".$subGal['title']."'>\n".
					"\t".$subGal['defimghtml']."\n".
					"\t".$subGal['title']."</a>\n".
					($subGal['subtitle'] && AUTOGAL_SHOWSUBTITLESGAL ? "<br /><span class='smalltext'>(".$subGal['subtitle'].")</span>\n" : '').
					$adminChkBoxF.
				"</td>\n";
				
				$galColCount ++;
				if ($galColCount == AUTOGAL_NUMGALLCOLS)
				{
					$subGallerys .= "</tr><tr>";
					$galColCount = 0;
					$galRowCount ++;
				}
				
				$numSubGals ++;
				
				$eleIDs ++;
			}
		}
		
		////////////////////////////////////////////////////////
		// ROUND OFF SUB GALLERIES
		////////////////////////////////////////////////////////
		if ($numSubGals)
		{
			while (($galRowCount > 0)&&($galColCount)&&($galColCount < AUTOGAL_NUMGALLCOLS))
			{
				$subGallerys .= "<td class='".AUTOGAL_SUBGALLERYCLASS."'>&#160;</td>";
				$galColCount ++;
			}
			
			$subGallerys = "
			<table class='border' style='width:97%'>
			<tr>$subGallerys</tr>
			</table>
			<br />";
		}
		
		////////////////////////////////////////////////////////
		// IMAGES
		////////////////////////////////////////////////////////
		$numImages = 0;
		$imgColCount = 0;
		$imgRowCount = 0;
		$numShownImages = 0;
		foreach ($galEles['files'] as $image)
		{
			if ($numImages >= $startImage)
			{
				if ($g_isAdminMode)
				{
					$adminCellJS = "onclick=\"if (!ag_ignoreClick) {javascipt:document.getElementById('ag_ele$eleIDs').checked = !document.getElementById('ag_ele$eleIDs').checked;  if (document.getElementById('ag_adminselection').selectedIndex == 0) {document.getElementById('ag_adminselection').selectedIndex=1;}} ag_ignoreClick=0;\"";
					$adminChkBoxH = "
					<table style='border:none;width:100%'>
					<tr>
						<td style='text-align:left;border:none;width:1%'>
							<input type='checkbox' name=\"ag_ele_".urlencode($image['element'])."\" style='visibility:visible' id='ag_ele$eleIDs' onclick=\"ag_ignoreClick=1; if (document.getElementById('ag_adminselection').selectedIndex == 0) {document.getElementById('ag_adminselection').selectedIndex=1;};\">
						</td>
						<td style='text-align:center;border:none'>";
					
					$adminChkBoxF = "</td>\n</tr>\n</table>\n";
				}
				
				$images .= 
				"<td class='".AUTOGAL_IMAGECELLCLASS."' style='text-align:center;width:".sprintf("%0.0f", (100 / $divImgCellBy))."%' $adminCellJS>\n".
					$adminChkBoxH.
					"\t".$image['ahref']."title=\"".$image['title']."\">".$image['imgthumbhtml']."</a>".
					(AUTOGAL_SHOWTITLEINGALL ? 
						"<br />\n\t".$image['ahref']."title=\"".$image['title']."\">".$image['title']."</a>\n".
						($image['subtitle'] && AUTOGAL_SHOWSUBTITLESGAL ? "<br /><span class='smalltext'>(".$image['subtitle'].")</span>" : '')
					: '').
					$adminChkBoxF.
				"</td>\n";
				
				$imgColCount ++;
				if ($imgColCount == AUTOGAL_NUMCOLS)
				{
					$images .= "</tr><tr>";
					$imgColCount = 0;
					$imgRowCount ++;
				}
				
				$numShownImages ++;
				
				if ($numShownImages >= AUTOGAL_MAXPERPAGE) break;
			}
			$numImages ++;
			$eleIDs ++;
		}
		
		$pageList = '';
		if ($numImages > 0)
		{
			////////////////////////////////////////////////////////
			// ROUND OFF IMAGES
			////////////////////////////////////////////////////////
			while (($imgRowCount > 0)&&($imgColCount)&&($imgColCount < AUTOGAL_NUMCOLS))
			{
				$images .= "<td class='".AUTOGAL_IMAGECELLCLASS."'>&#160;</td>";
				$imgColCount ++;
			}
			
			$images = "
			<table style='width:97%' class='border'>
			<tr>$images</tr>
			</table>";
			$images = str_replace("<tr></tr>", "", $images);
		
			////////////////////////////////////////////////////////
			// PAGE LIST
			////////////////////////////////////////////////////////
			$totalImages = count($galEles['files']);
			$numPages = ceil($totalImages / (AUTOGAL_MAXPERPAGE ? AUTOGAL_MAXPERPAGE : 1));
			$currPage = floor($startImage / (AUTOGAL_MAXPERPAGE ? AUTOGAL_MAXPERPAGE : 1));
			$showNum = ($totalImages - $startImage > AUTOGAL_MAXPERPAGE ? AUTOGAL_MAXPERPAGE : $totalImages - $startImage);
			
			$pageList = str_replace("[TOTALIMAGES]", $totalImages, str_replace("[IMAGERANGE]", ($startImage + 1).'-'.($startImage + $showNum), AUTOGAL_LANG_L17))."<br />";
		
			if ($numPages > 1)
			{
				$maxDist = (AUTOGAL_PAGEMAXDIST ? AUTOGAL_PAGEMAXDIST : $numPages);
				$pages = array();
				
				# FIRST PAGES
				$dist = 0;
				for ($pageNum = 1; (($pageNum < $numPages)&&($dist < $maxDist)); $pageNum ++)
				{
					$pages[$pageNum] = 1;
					$dist ++;
				}
				
				# LAST PAGES
				$dist = 0;
				for ($pageNum = $numPages - 2; (($pageNum > 0)&&($dist < $maxDist)); $pageNum --)
				{
					$pages[$pageNum] = 1;
					$dist ++;
				}
							
				# NEXT PAGES
				$dist = 0;
				for ($pageNum = $currPage + 1; (($pageNum < $numPages)&&($dist < $maxDist)); $pageNum ++)
				{
					$pages[$pageNum] = 1;
					$dist ++;
				}
				
				# PREV PAGES
				$dist = 0;
				for ($pageNum = $currPage - 1; (($pageNum > 0)&&($dist < $maxDist)); $pageNum --)
				{
					$pages[$pageNum] = 1;
					$dist ++;
				}
				
				$pages[$currPage] = 1;
				$pages[0] = 1;
				$pages[$numPages - 1] = 1;
				
				# WORK OUT SEPERATOR POSITIONS
				for ($pageI = 0; $pageI < $numPages; $pageI ++)
				{
					if (!$pages[$pageI])
					{
						$pages[$pageI] = 0;
					}
				}
				
				ksort($pages);
			
				$sepDone = 0;
				$pageList .= AUTOGAL_LANG_L18;
				foreach ($pages as $pageNum => $val)
				{
					if ($val == 1)
					{
						if ($pageNum == $currPage){
							$pageList .= "<b>".($pageNum + 1)."</b>&#160;";    
						}else{
							$pageList .= "<a href=\"".AUTOGAL_AUTOGALLERY."?show=".rawurlencode($gallery)."&amp;start=".($pageNum * AUTOGAL_MAXPERPAGE)."\">".($pageNum + 1)."</a>&#160;";
						}
						
						$sepDone = 0;
					}
					else if (!$sepDone)
					{
						$pageList .= "... ";
						$sepDone = 1;
					}
				}
				
				/*$pageList .= AUTOGAL_LANG_L18;
				for ($pageNum = 0; $pageNum < $numPages; $pageNum ++)
				{
					if ($pageNum == $currPage){
						$pageList .= "<b>".($pageNum + 1)."</b>&#160;";    
					}else{
						$pageList .= "<a href=\"".AUTOGAL_AUTOGALLERY."?show=".rawurlencode($gallery)."&amp;start=".($pageNum * AUTOGAL_MAXPERPAGE)."\">".($pageNum + 1)."</a>&#160;";
					}
				}*/
				
				$pageList .= "<br />";
			}
		}
	}
	
	////////////////////////////////////////////////////////
	// NEW IMAGES
	////////////////////////////////////////////////////////
	$newImagesTable = '';
	if (($gallery == '')&&(AUTOGAL_SHOWNEWESTINROOT))
	{
		$newImages = AutoGal_GetLatestFiles(AUTOGAL_NUMCOLS, 0);
		if (count($newImages) > 0)
		{
			$newImagesTable = "
			<br />
			<table style='width:97%' class='border'>
			<tr>
				<td class='".AUTOGAL_SUBGALLERYCLASS."' colspan='".AUTOGAL_NUMCOLS."' style='text-align:center'>
					".AUTOGAL_LANG_STAT_L12."
				</td>
			</tr>
			<tr>";
			
			$newImgCount = 0;
			foreach ($newImages as $newImageInfo)
			{
				$newImgTitle = AUTOGAL_LANG_STAT_L4.": ".strftime(AUTOGAL_NEWESTLTIMEFORMAT, $newImageInfo['ctime']);
				$newImagesTable .= 
				"<td class='".AUTOGAL_IMAGECELLCLASS."' style='text-align:center;width:".sprintf("%0.0f", (100 / AUTOGAL_NUMCOLS))."%'>\n".
					"\t".$newImageInfo['ahref']." title=\"$newImgTitle\">".$newImageInfo['imgthumbhtml']."</a>".
					(AUTOGAL_SHOWTITLEINGALL ? 
						"<br />\n\t".$newImageInfo['ahref']." title=\"$newImgTitle\">".$newImageInfo['title']."</a>\n".
						($newImageInfo['subtitle'] && AUTOGAL_SHOWSUBTITLESGAL ? "<br /><span class='smalltext'>(".$newImageInfo['subtitle'].")</span>" : '')
					: '').
				"</td>\n";
				
				$newImgCount ++;
			}
			
			while ($newImgCount < AUTOGAL_NUMCOLS)
			{
				$newImagesTable .= "<td class='".AUTOGAL_IMAGECELLCLASS."' style='width:".sprintf("%0.0f", (100 / AUTOGAL_NUMCOLS))."%'>&#160;</td>";
				$newImgCount ++;
			}
			
			$newImagesTable .= "</tr></table>";
		}
	}
	
	////////////////////////////////////////////////////////
	// BUILD PAGE
	////////////////////////////////////////////////////////
	$botLinks = AutoGal_GetBotLinks($gallery, true, true, ($gallery != ''));
	$text = "
	<script type='text/javascript'>var ag_ignoreClick = 0;</script>
	<div style='text-align:center'>".
	($selEleInfo['subtitle'] ? "".$selEleInfo['subtitle']."<br /><br />" : '');
	
	if ((count($galEles['files']) <= 0)&&(count($galEles['galleries']) <= 0))
	{
		$text .= "<b>".AUTOGAL_LANG_L16."</b><br />";
	}
	else
	{
		if (count($galEles['galleries']) > 0) $text .= $subGallerys;
		if (count($galEles['files']) > 0) $text .= $images;
		if ($pageList) $text .= "<br />".$pageList;
	}
	
	if ($newImagesTable)
	{
		$text .= $newImagesTable;
	}
	
    $text .= (count($botLinks) > 0 ? "<br />".implode(' ', $botLinks) : '')."</div>";

    return $text;
}

/*****************************************************************************************************
 * RETURNS NAV LINKS BASED ON LOCATION
 ****************************************************************************************************/
function AutoGal_NavLinks($locInfo)
{
    $location = $locInfo['element'];
    $galleries = explode ('/', $location);
	
    if ($locInfo['isroot'])
    {
        return '<b>'.$locInfo['title'].'</b>';
    }

    $navLinks = "<a href=\"".AUTOGAL_AUTOGALLERY."?\">".AutoGal_GetTitle(AUTOGAL_ROOTNAME, 1, 'title')."</a>".AUTOGAL_NAVSEPERATOR;

    $absLoc = '';
    $galIndex = 0;
    for ($galIndex = 0; $galIndex < count($galleries) - 1; $galIndex ++)
    {
        $gallery = $galleries[$galIndex];
        $absLoc .= ($absLoc ? '/' : '').$gallery;
        $navLinks .= "<a href=\"".AUTOGAL_AUTOGALLERY."?show=".urlencode($absLoc)."\">".AutoGal_GetTitle($gallery, 1, 'title')."</a>".AUTOGAL_NAVSEPERATOR;
    }
    
    $navLinks .= '<b>'.$locInfo['title'].'</b>';
    
    return $navLinks;
}
?>
