// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ### SELECT SHOW ID ###
// Plant a cookie with the ShowID to display
function select_show(ID){
    var cname = "FAOS_Productions";
    var days = 1;
    var cvalue = ID;
    createCookie(cname,cvalue,days);  // Plant cookie
    location.href="pictures.shtml";   // Then re-direct to viewing screen
    }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ### CLEAR NO-JS MESSAGE ###
function clr_js(){
    document.getElementById("jsmsg").innerHTML = "";
    }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ### INITAILISE ###
// Read cookie and setup variables for that show and other global variables
// Note: Populate either website OR phonenum
function setup_shows() {
    var cname="FAOS_Productions";
    var showID=readCookie(cname);              // Read cookie
    if (showID == null){
        location.href="productions.shtml";     // Re-direct if no cookie found
        }
    var show_name="Not Defined";
    tt=0;                              // total thumbs (for the show)
	tpp=5;                             // thumbnails per page
    var members="Undefined";           // Seniors or Juniors show
    // Find Show Details
    switch (showID) {
        case "1":                   
            var show_name="Oaklahoma!";
            tt=9;
            var yr=2002;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "2":
            var show_name="The Mikado";
            tt=10;
            var yr=2003;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "3":
            var show_name="Blitz";
            tt=3;
            var yr=2005;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "4":
            var show_name="Fiddler on the Roof";
            tt=10;
            var yr=2006;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "5":
            var show_name="Honk!";
            tt=14;
            var yr=2005;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Juniors";
            break;
        case "6":
            var show_name="Noah the Musical";
            tt=15;
            var yr=2006;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Juniors";
            break;
        case "7":
            var show_name="Jesus Christ Superstar";
            tt=15;
            var yr=2006;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "8":
            var show_name="Yeomen of the Guard";
            tt=15;
            var yr=2007;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "9":
            var show_name="Anything Goes";
            tt=15;
            var yr=2007;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "10":
            var show_name="Peter Pan";
            tt=14;
            var yr=2007;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Juniors";
            break;
        case "11":
            var show_name="Hot Mikado";
            tt=15;
            var yr=2008;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "12":
            var show_name="My Fair Lady";
            tt=15;
            var yr=2008;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "13":
            var show_name="The Adventures of Mr Toad";
            tt=8;
            var yr=2008;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Juniors";
            break;
        case "14":
            var show_name="High Society";
            tt=12;
            var yr=2009;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "15":
            var show_name="Oliver!";
            tt=15;
            var yr=2009;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "16":
            var show_name="The Vackees";
            tt=14;
            var yr=2009;
            var picsby="Sharon Williams Photography";
            var website="http://www.sharonwphoto.co.uk/";
            var members="Juniors";
            break;
        case "17":
            var show_name="Crazy For You";
            tt=13;
            var yr=2010;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "18":
            var show_name="Phantom";
            tt=15;
            var yr=2010;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";
            break;
        case "19":
            var show_name="Tom Sawyer";
            tt=15;
            var yr=2010;
            var picsby="Sharon Williams Photography";
            var website="http://www.sharonwphoto.co.uk/";
            var members="Juniors";
            break;
        case "20":
            var show_name="Thoroughly Modern Millie";
            tt=15;
            var yr=2011;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";;
            break;	
        case "21":
            var show_name="Jack the Ripper";
            tt=15;
            var yr=2011;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Seniors";;
            break;
        case "22":
            var show_name="The Lion, the Witch and the Wardrobe";
            tt=14;
            var yr=2011;
            var picsby="Peter Sillick";
            var website="";
            var phonenum="01428 605669"
            var members="Juniors";;
            break;	
        }
    if (show_name=="Not Defined"){
        location.href="productions.shtml";   // Re-direct if no show name found
        }
    // Check if thumbs fit page exactly
    var numchk=tt/tpp;
    var rmdr=0;
    if (numchk != parseInt(numchk)){        // Check for integer
        rmdr=tt%tpp;                        // Find remainder
        rmdr=tpp-rmdr;                      // Thumbs not shown -> rmdr
        }
    // Find out how many pages of thumbs will be displayed -> PageCount
    PageCount=Math.ceil(numchk);            // Round up numchk

    if (members == "Seniors"){
        document.getElementById("members").innerHTML = '<a href="past.shtml"> Past '+members+' Productions</a>';
        document.getElementById("shownav").innerHTML = '<a href="past.shtml">&#171; Select another show</a>';
        }
    else {
        document.getElementById("members").innerHTML = '<a href="jpast.shtml"> Past '+members+' Productions</a>';
        document.getElementById("shownav").innerHTML = '<a href="jpast.shtml">&#171; Select another show</a>';
        }
    // We can have a website address OR a Phone number but not both
    if (website == ""){
        document.getElementById("showname").innerHTML = "<b>"+show_name+"</b>, "+yr+"<br>Pictures by "+picsby+" <span class='telnum'>("+phonenum+")</span>";
        }
    else{
        document.getElementById("showname").innerHTML = "<b>"+show_name+"</b>, "+yr+"<br>Pictures by <a target='_blank' href='"+website+"'>"+picsby+"</a>";
        }
    // Remove Cookie (tidy up)
    eraseCookie(cname);
    setup_pages(PageCount,rmdr,tt,showID);
    }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//### SETUP DATA READY TO USE ###
// Assign Thumbnails, Pictures and Pages to arrays
function setup_pages(PageCount,rmdr,tt,showID){
    // Assign Filenames (for thumbnails)
	Filename=new Array(tt);
	for (x=1;x<=tt;x++){
    	Filename[x]="images/pictures/thumbnail"+x+"-"+showID+".gif";
        }
    // Assign Filenames (for pictures)
	Picture=new Array(tt);
	for (x=1;x<=tt;x++){
    	Picture[x]="images/pictures/picture"+x+"-"+showID+".jpg";
        }
    // Assign Pages
    Pages=new Array(tt);
    z=1;
    t=tpp;
	for (x=1;x<=PageCount;x++){
        for (y=z;y<=t;y++){
            Pages[z]=x;
            z++;
            }
        t=t+tpp;
        }

    PageID=1;
    display_thumbs(PageID);
    }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//### DISPLAY THUMBNAILS ###
// Main thumbnail display routine
function display_thumbs(PageID){
    // Clear place holders first
    for (x=1;x<=tpp;x++){
        html='<Img src="spacer.gif" border="0" alt="" width="10" height="10">';
        document.getElementById("p"+x).innerHTML = html;
        }
    // Create array for thumbs in the PageID
    Thumbs=new Array(tpp)
    for (x=1;x<=tt;x++){
        if (Pages[x]==PageID){
            Thumbs[x]=Filename[x];
            }
        else {
            Thumbs[x]="";
            }
        }
    a1='<a href="Javascript:onClick=ShowPic(';  // Open anchor
    a2=')">';                                   // Close end of open
    a3='</a>';                                  // Close anchor
    y=1;
    for (x=1;x<=tt;x++){
        if (Thumbs[x]!=""){
            html='<Img src="'+Thumbs[x]+'" border="0" alt="">';
            document.getElementById("p"+y).innerHTML = a1+x+a2+html+a3;
            y++;
            }
        }
    display_navigation(PageID);
    }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//### NAVIGATION ###
// Back and Next navigation logic
function display_navigation(PageID){
    Back="No";
    Next="No";
    // Define Font colours when Back and Next are not links
    f1='<FONT color="#C0C0C0">';
    f2='</FONT>';
    if (PageID-1>0 && PageID-1<PageID){
        Back="Yes";
        }
    if (PageID+1<=PageCount && PageID+1>PageID){
        Next="Yes";
        }
    if (Back == "Yes"){
        NewPageID=PageID-1;
        document.getElementById("back").innerHTML="<a href='Javascript:onClick=display_thumbs("+NewPageID+")'>&#171; Back</a>";
        }
    else {
        document.getElementById("back").innerHTML=f1+"&#171; Back"+f2;
        }
    if (Next == "Yes"){
        NewPageID=PageID+1;
        document.getElementById("next").innerHTML="<a href='Javascript:onClick=display_thumbs("+NewPageID+")'>Next &#187;</a>";
        }
    else {
        document.getElementById("next").innerHTML=f1+"Next &#187;"+f2;
        }
    }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//### SHOW PICTRES ###
// Show pictures when a thumbnail is clicked
function ShowPic(picID){ // Called when thumbnail is clicked
    document.images['pic2view'].src = Picture[picID];
    }

// =============================================================================
// ### SUBROUTINES ###
// This is the generic JS to set, read and erase cookies
// http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
		}
	else {
        var expires = "";
        }
	document.cookie = name+"="+value+expires+"; path=/";
	}
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
	return null;
	}
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function eraseCookie(name) {
	createCookie(name,"",-1);
    }


