PreviousFilter = 'None';

function pageContent(page, filter) {
if (filter != PreviousFilter) {
if (page == 0) {}
else {page = 1;}
PreviousFilter = filter;
}
SlideFilter = filter;
slideInformation(filter);
document.getElementById('Content').innerHTML = insertStructure('TableOpen') + insertStructure('MenuTop') + insertContent(page, false, filter) + insertStructure('MenuBottom') + insertStructure('TableClose');
insertMenu(page);
if (page == 0) {
insertDescription(SlideName[SlideNew], 'CellDescription');
insertJumpList(filter);
}
insertFilterList(filter);
}

function insertStructure(slide) {
if (slide == 'TableOpen') {
return('<table class="structureTable" cellspacing="0" cellpadding="0" border="0">');
}
else if (slide == 'MenuTop') {
return('<tr><td class="structureCellMenu" id="CellMenuTop" colspan="3"></td></tr>');
}
else if (slide == 'MenuBottom') {
return('<tr><td class="structureCellMenu" id="CellMenuBottom" colspan="3"></td></tr>');
}
else if (slide == 'TableClose') {
return('</table>');
}
else {
slideAttributes(slide);
CellImage = SlideName[slide] + '1';
CellInfo = SlideName[slide] + '2';
CellButton = SlideName[slide] + '3';
CellBox = SlideName[slide] + '4';
CellFull = SlideName[slide] + '5';
CellDescription = SlideName[slide] + '6';
if (SlideTypeDefined == 'jpg') {imageType = 'JPEG';}
else if (SlideTypeDefined == 'gif') {imageType = 'GIF';}
else if (SlideTypeDefined == 'png') {imageType = 'PNG';}
else if (SlideTypeDefined == 'bmp') {imageType = 'BMP';}
else {imageType = 'Unknown';}
return('<tr><td class="structureCellImage" id="'+CellImage+'"><img src="../'+ImageFolder+'/'+SlideNameDefined+'-Th.'+SlideTypeDefined+'" width="'+SlideWidthThDefined+'px" height="'+SlideHeightThDefined+'px" alt="'+SlideCaption[slide]+'" title="'+SlideCaption[slide]+'"></td><td class="structureCellInfo" id="'+CellInfo+'"><table><tr><td class="imageTitle">Name:</td><td class="imageData">'+SlideCaption[slide]+'</td></tr><tr><td class="imageTitle">File type:</td><td class="imageData">'+imageType+'</td></tr><tr><td class="imageTitle">Dimensions:</td><td class="imageData">'+SlideWidthDefined+' x '+SlideHeightDefined+' pixels</td></tr></table></td><td class="structureCellButton" id="'+CellButton+'"><div class="Button" id="'+CellBox+'" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)" onclick="imageViewerOpen(&#39;'+CellImage+'&#39;, &#39;'+CellInfo+'&#39;, &#39;'+CellButton+'&#39;, &#39;'+CellBox+'&#39;, &#39;'+CellFull+'&#39;, &#39;'+CellDescription+'&#39;, '+slide+')">View</div></td></tr><tr><td class="structureCellFull" id="'+CellFull+'" colspan="3"></td></tr>');
}
}

function imageViewerOpen(cellImage, cellInfo, cellButton, cellBox, cellFull, cellDescription, slide) {
slideAttributes(slide);
document.getElementById(cellImage).className = 'structureCellImageInv';
document.getElementById(cellInfo).className = 'structureCellInfoInv';
document.getElementById(cellButton).className = 'structureCellButtonInv';
document.getElementById(cellButton).innerHTML = '<div class="ButtonInverse" onclick="imageViewerClose(&#39;'+cellImage+'&#39;, &#39;'+cellInfo+'&#39;, &#39;'+cellButton+'&#39;, &#39;'+cellBox+'&#39;, &#39;'+cellFull+'&#39;, &#39;'+cellDescription+'&#39;, '+slide+')">Close</div>';
if (SlideWidthDefined > 400 || SlideHeightDefined < 50) {
document.getElementById(cellFull).innerHTML = '<img src="../'+ImageFolder+'/'+SlideNameDefined+'.'+SlideTypeDefined+'" width="'+SlideWidthDefined+'px" height="'+SlideHeightDefined+'px" alt="'+SlideCaption[slide]+'" title="'+SlideCaption[slide]+'"><p class="imageTitle">Description:</p><span id="'+cellDescription+'"></span>';
insertDescription(SlideName[slide], cellDescription);
}
else {
document.getElementById(cellFull).innerHTML = '<img src="../'+ImageFolder+'/'+SlideNameDefined+'.'+SlideTypeDefined+'" width="'+SlideWidthDefined+'px" height="'+SlideHeightDefined+'px" alt="'+SlideCaption[slide]+'" title="'+SlideCaption[slide]+'" class="imageFullSide"><p class="imageTitle">Description:</p><span id="'+cellDescription+'"></span>';
insertDescription(SlideName[slide], cellDescription);
}
document.getElementById(cellFull).style.visibility = 'visible';
}

function imageViewerClose(cellImage, cellInfo, cellButton, cellBox, cellFull, cellDescription, slide) {
slideAttributes(slide);
document.getElementById(cellImage).className = 'structureCellImage';
document.getElementById(cellInfo).className = 'structureCellInfo';
document.getElementById(cellButton).className = 'structureCellButton';
document.getElementById(cellButton).innerHTML = '<div class="Button" id="'+cellBox+'" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)" onclick="imageViewerOpen(&#39;'+cellImage+'&#39;, &#39;'+cellInfo+'&#39;, &#39;'+cellButton+'&#39;, &#39;'+cellBox+'&#39;, &#39;'+cellFull+'&#39;, &#39;'+cellDescription+'&#39;, '+slide+')">View</div>';
document.getElementById(cellFull).innerHTML = '';
document.getElementById(cellFull).style.visibility = 'hidden';
}

function insertSlideshow(slide) {
slideAttributes(slide);
if (SlideOrder == 'Backward') {
SlideJump = SlideMax;
SlideNew = SlideMax;
SlideBack = 1;
SlideNext = -1;
}
else {
SlideJump = 0;
SlideNew = 0;
SlideBack = -1;
SlideNext = 1;
}
slideshowMaxWidth();
return('<tr><td class="structureCellMove" rowspan="3"><div class="Button" id="BoxBack" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)" onclick="slideshowMove('+SlideBack+')">Back</div></td><td class="structureCellSlide"><span class="imageBold">Jump to:</span> <select id="JumpList" onchange="slideshowJump(Math.abs('+SlideJump+'-this.selectedIndex))"></select></td><td class="structureCellMove" rowspan="3"><div class="Button" id="BoxNext" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)" onclick="slideshowMove('+SlideNext+')">Next</div></td></tr><tr><td class="structureCellSlide" id="CellSlide"><img src="../'+ImageFolder+'/'+SlideNameDefined+'.'+SlideTypeDefined+'" width="'+SlideWidthDefined+'px" height="'+SlideHeightDefined+'px" alt="'+SlideCaption[slide]+'" title="'+SlideCaption[slide]+'"></td></tr><tr><td class="structureCellDescription"><p><span class="imageBold">Name:</span> <span id="CellName">'+SlideCaption[slide]+'</span></p><p class="imageBold">Description:</p><span id="CellDescription"></span></td></tr>');
}

function slideshowMove(direction) {
SlideNew += direction;
if (SlideNew < 0) {SlideNew = SlideMax;}
if (SlideNew > SlideMax) {SlideNew = 0;}
slideAttributes(SlideNew);
slideshowMaxWidth();
document.getElementById('CellSlide').innerHTML = '<img src="../'+ImageFolder+'/'+SlideNameDefined+'.'+SlideTypeDefined+'" width="'+SlideWidthDefined+'px" height="'+SlideHeightDefined+'px" alt="'+SlideCaption[SlideNew]+'" title="'+SlideCaption[SlideNew]+'">';
document.getElementById('CellName').innerHTML = SlideCaption[SlideNew];
insertDescription(SlideName[SlideNew], 'CellDescription');
}

function slideshowJump(slide) {
SlideNew = slide;
slideAttributes(SlideNew);
slideshowMaxWidth();
document.getElementById('CellSlide').innerHTML = '<img src="../'+ImageFolder+'/'+SlideNameDefined+'.'+SlideTypeDefined+'" width="'+SlideWidthDefined+'px" height="'+SlideHeightDefined+'px" alt="'+SlideCaption[SlideNew]+'" title="'+SlideCaption[SlideNew]+'">';
document.getElementById('CellName').innerHTML = SlideCaption[SlideNew];
insertDescription(SlideName[SlideNew], 'CellDescription');
}

function slideAttributes(slide) {
determineNames(slide);
determineImageTypes(slide);
if (UniformDimensions == true) {uniformDimensions(slide);}
else {
SlideWidthDefined = SlideWidth[slide];
SlideHeightDefined = SlideHeight[slide];
SlideWidthThDefined = SlideWidthTh[slide];
SlideHeightThDefined = SlideHeightTh[slide];
}
}

function slideshowMaxWidth() {
SlideMaxWidth = 550;
if (SlideWidthDefined > SlideMaxWidth) {SlideWidthDefined = SlideMaxWidth;}
}

function menuBarOrder(menuSelector, page) {
if (SwitchOrder == true) {
MenuButtonFor = 'class="Button" id="'+menuSelector+'-OrderForward" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)"';
MenuButtonBack = 'class="Button" id="'+menuSelector+'-OrderBackward" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)"';
if (SlideOrder == 'Backward') {MenuButtonBack = 'class="ButtonInverse"';}
else {MenuButtonFor = 'class="ButtonInverse"';}
return('<td class="ButtonDivider"></td><td '+MenuButtonFor+' onclick="changeSlideOrder(&#39;Forward&#39;, '+page+')">Oldest to newest</td><td '+MenuButtonBack+' onclick="changeSlideOrder(&#39;Backward&#39;, '+page+')">Newest to oldest</td>');
}
else {return('');}
}

function changeSlideOrder(order, page) {
SlideOrder = order;
if (SlideOrder == 'Backward') {
SlideJump = SlideMax;
SlideNew = SlideMax;
}
else {
SlideJump = 0;
SlideNew = 0;
}
pageContent(page, SlideFilter);
}

function menuBarFilter(menuSelector, page) {
if (SwitchFilter == true) {
return('<td class="ButtonDivider"></td><td><span class="imageBold">Filter:</span> <select id="'+menuSelector+'-FilterList" onchange="applyFilter('+page+', this.selectedIndex)"></select></td>');
}
else {return('');}
}

function subMenuBar(menuSelector, page) {
if (PageMax > 1) {
if (page == 0) {return('');}
else if (page > PageMax) {return('');}
else if (page == 1) {
return('<table width="100%"><tr><td width="67%"></td><td width="33%" class="Button" id="'+menuSelector+'-PageNext" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)" onclick="pageContent('+page+'+1, &#39;'+SlideFilter+'&#39;)">Next Page >></td></tr></table>');
}
else if (page == PageMax) {
return('<table width="100%"><tr><td width="33%" class="Button" id="'+menuSelector+'-PagePrevious" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)" onclick="pageContent('+page+'-1, &#39;'+SlideFilter+'&#39;)"><< Previous Page</td><td width="67%"></td></tr></table>');
}
else {
return('<table width="100%"><tr><td width="33%" class="Button" id="'+menuSelector+'-PagePrevious" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)" onclick="pageContent('+page+'-1, &#39;'+SlideFilter+'&#39;)"><< Previous Page</td><td width="34%"></td><td width="33%" class="Button" id="'+menuSelector+'-PageNext" onmouseover="buttonOver(this.id)" onmouseout="buttonOut(this.id)" onclick="pageContent('+page+'+1, &#39;'+SlideFilter+'&#39;)">Next Page >></td></tr></table>');
}
}
else {return('');}
}