var i, n=18, prev=1, tid, paused=false, swapTxt=false, g=3;
var myWidth = 0, myHeight = 0;

var imageArray=new Array();
var textArray;
var curImage;
var numImages;

var baImageArray=new Array();
var jnImageArray=new Array();
var baTextArray;

var curBAImage;
var curJNImage;

var numBAImages;
var numJNImages;

var swapTime;
var imgType;
  
function makeVisible(id)
{
	var obj, l, t, w;
	
	for (i=0; i< n; i++)
	{
		obj = document.getElementById('tab' + (i + 1));
		obj.style.visibility='hidden';
	}
	
	prev = id;
	
	getWindowSize();
	
	obj = document.getElementById('tab' + id);
	obj.style.visibility='visible';
	obj.style.top = 160;
	obj.style.left = ((myWidth - 1000) / 2) + 180;
	
	loadServiceImages(5, id); 
}

function makeGalleryVisible(id)
{
	var obj, l, t, w;
	
	for (i=0; i< g; i++)
	{
		obj = document.getElementById('galleryFlash' + (i + 1));
		obj.style.visibility='hidden';
	}
	
	prev = id;
	
	getWindowSize();
	
	obj = document.getElementById('galleryFlash' + id);
	obj.style.visibility='visible';
	obj.style.top = 160;
	obj.style.left = ((myWidth - 1000) / 2) + 180;
	
}

function getWindowSize() 
{
  if( typeof( window.innerWidth ) == 'number' ) 
  {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } 
  else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
  {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } 
  else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
  {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
}
  
function loadServiceImages(timeout, type)
{
    var i;
    var j;
    var folder;
      
    switch (type)
	{
		case 1:
    		// Brickwork
    		numImages = 5;
    		folder = "Web Images/Brickwork";
    		textArray = new Array(numImages);
    		textArray[0] = "Traditional Brickwork";
    		textArray[1] = "Brickwork";
    		textArray[2] = "Patio";
    		textArray[3] = "Patio";
    		textArray[4] = "Reclaimed Tile Roof";    		    		    		    		
			break;
		case 2:
    		// Joinery
    		numImages = 11;
    		folder = "Web Images/Joinery";
    		textArray = new Array(numImages);
    		textArray[0] = "Barley Twist Softwood Balusters";
    		textArray[1] = "Traditional Box Sash Window<br>Softwood Stairs, Newil Caps & Balusters";
    		textArray[2] = "";
    		textArray[3] = "";
    		textArray[4] = "Softwood Newil Cap";
    		textArray[5] = "";
    		textArray[6] = "";
    		textArray[7] = "";
    		textArray[8] = "";
    		textArray[9] = "";
    		textArray[10] = "";
			break;
		case 8:
    		// Kitchen
    		numImages = 2;
    		folder = "Web Images/Kitchen";
    		textArray = new Array(numImages);
    		textArray[0] = "Kitchens";
    		textArray[1] = "Kitchens";	    		    		    		
			break;				
		case 16:
    		// Timber Frame
    		numImages = 11;
    		folder = "Web Images/Oak Frame";
    		textArray = new Array(numImages);
    		textArray[0] = "Oak Frame - Brick Infill Panels<br>With Traditional Leaded Light Glazing";
    		textArray[1] = "Before Renovation";
    		textArray[2] = "Before Renovation";
    		textArray[3] = "Before Renovation";
    		textArray[4] = "Traditional Oak Timber Frame";
    		textArray[5] = "Infil Panels";
    		textArray[6] = "Infil Panels";
    		textArray[7] = "Infil Panels";
    		textArray[8] = "Extension";
    		textArray[9] = "Finish";
    		textArray[10] = "Finish";
			break;
		case 18:
    		// Windows & Doors
    		numImages = 4;
    		folder = "Web Images/Windows & Doors";
    		textArray = new Array(numImages);
    		textArray[0] = "Oak Windows & Doors";
    		textArray[1] = "Oak Windows & Doors";
    		textArray[2] = "Oak Windows & Doors";
    		textArray[3] = "Oak Windows & Doors";   		    		    		    		
			break;	
		case 19:
    		// Restoration Home Page
    		numImages = 3;
    		folder = "Web Images/Restoration Work Home";
    		textArray = new Array(numImages);
    		textArray[0] = "Before";
    		textArray[1] = "After";
    		textArray[2] = "Interior Oak Floor & Stairs<br>Oak Kitchen And Floor"; 		    		    		    		
			break;	
		case 20:
    		// Restoration Work
    		numImages = 8;
    		folder = "Web Images/Restoration Work";
    		textArray = new Array(numImages);
    		textArray[0] = "Oak Timber Frame Extension";
    		textArray[1] = "Oak Timber Frame Extension<br>With Reclaimed Tile Roof";
    		textArray[2] = "Start Of Renovation";
    		textArray[3] = "Start Of Renovation";
    		textArray[4] = "Before Extension In Oak Framing";
    		textArray[5] = "After Renovation";
    		textArray[6] = "After Renovation";
    		textArray[7] = "After Renovation";
			break;					
	}

	curImage = 0;
			
	for (i=0; i<numImages; i++)
	{	    	   
		imageArray[i]=new Image();
		imageArray[i].src= folder + "/Image" + (i + 1) + "_TN.jpg";
	}
			
    /*
	// Load text array for images
	baTextArray = new Array(numBAImages);
		
    for (i=0;i<numBAImages;i++)
   	{
   	    baTextArray[i] = "Image " + (i + 1);
   	} 
	
	swapTxt = textSwap;
	
	*/
	
	swapServiceTime = timeout * 1000;
	imgType = type;
	swapServiceText(0);
}

function setServiceInterval(time)
{
	tid = setInterval("swapServiceImages()", time * 1000);
}

function loadImages(timeout, type, textSwap)
{
    var i;
    var j;
    
	swapTime = timeout * 1000;
    
    switch (type)
	{
		case "BeforeAfter":
    		// Before After
			curBAImage = 0;
			numBAImages = 10;
			for (i=0; i<numBAImages; i++)
			{	    	   
				baImageArray[i]=new Image();
				baImageArray[i].src="images/BeforeAfter/BeforeAfter" + (i + 1) + "_TN.jpg";
			}
			
			// Load text array for images
			baTextArray = new Array(numBAImages);
			
		    for (i=0;i<numBAImages;i++)
        	{
        	    baTextArray[i] = "Image " + (i + 1);
           	} 
			break;
			
		case "Joinery":			
			// Joinery
			curJNImage = 0;
			numJNImages = 11;
			for (i=0; i<numJNImages; i++)
			{	    	   
				jnImageArray[i]=new Image();
				jnImageArray[i].src="images/Joinery/Joinery" + (i + 1) + "_TN.jpg";
			}
			break;
	}
	
	swapTxt = textSwap;
	imgType = type;
	paused = false;
	tid = setTimeout("swapImages()", swapTime);	
}

function swapServiceText(i)
{
	target = document.getElementById("imgText" + imgType); 
	target.innerHTML = textArray[i]; 
}

function swapServiceImages()
{
	var target;
	
    if (++curImage == numImages)
    {
	    curImage = 0;
    }
	
	target = document.getElementById("Service" + imgType);
	target.src = imageArray[curImage].src;
	target.height = imageArray[curImage].height;
	target.width = imageArray[curImage].width;
	swapServiceText(curImage);
}

function swapImages()
{
	var target;
	
	switch (imgType)
	{
		case "BeforeAfter":
		    //  
		    // Before/After
		    //
		    if (++curBAImage == numBAImages)
		    {
			    curBAImage = 0;
		    }
		
		    target = document.getElementById("imgBASwap");       
		    target.src = baImageArray[curBAImage].src;
		    target.height = baImageArray[curBAImage].height;
		    target.width = baImageArray[curBAImage].width;
		    if (swapTxt)
		    {
		    	swapText(curBAImage);
		    }
		    break;
		case "Joinery":
		    //  
		    // Before/After
		    //
		    if (++curJNImage == numJNImages)
		    {
			    curJNImage = 0;
		    }

		    target = document.getElementById("imgJNSwap");
		    target.src = jnImageArray[curJNImage].src;
		    target.height = jnImageArray[curJNImage].height;
		    target.width = jnImageArray[curJNImage].width;
		    break;		    
	}

	
	if (! paused)
	{
		tid = setTimeout("swapImages()", swapTime);
	}
}

function swapText(id)
{
	target = document.getElementById("imgText"); 
	target.innerHTML = baTextArray[id]; 
}

function clicked_on ( clicked_shape )
{
	switch (clicked_shape)
	{
		case "Back":
			curBAImage = curBAImage - 2;
			if (curBAImage < 0)
			{
				curBAImage = numBAImages - 2;
			}
			clearTimeout(tid);
			swapImages();
			break;
		case "Fwd":
			clearTimeout(tid);
			swapImages();
			break;
		case "Pause":
			clearTimeout(tid);
			paused = true;
			break;
		case "Play":
			paused = false;
			swapImages();
			break;
	}
}
 

