var homeImages = new Array;
var factoryImages = new Array;
var designImages = new Array;
//homeImages[0] = new Array('images/home-1.jpg','#235d37');
homeImages[0] = new Array('images/home-bedrooms1.jpg','bedrooms.html');
homeImages[1] = new Array('images/home-kitchens1.jpg','kitchens.html');
homeImages[2] = new Array('images/home-bedrooms2.jpg','bedrooms.html');
homeImages[3] = new Array('images/home-kitchens2.jpg','kitchens.html');

factoryImages[0] = new Array('images/factory-1.jpg','');
factoryImages[1] = new Array('images/factory-2.jpg','');

designImages[0] = new Array('images/design-service-1.jpg','');
designImages[1] = new Array('images/design-service-4.jpg','');
designImages[2] = new Array('images/design-service-3.jpg','');
designImages[3] = new Array('images/design-service-2.jpg','');
designImages[4] = new Array('images/design-service-1.jpg','');



currentImage=0; 

var delayPerFrame = 33;  //in milliseconds

var numberOfMillisecondsPerTransform = 400;

var readyForTransition = true;

var currentGalleryImage = 0;


function fadeThrough(imageDivToFadeIn,imageDivToFadeOut)
{
  changeOpacity(100,imageDivToFadeIn);
  fade(imageDivToFadeOut,100,0,400); //fade out the top div to expose the one below
  setTimeout("rearrangeImageContainerOrder('"+imageDivToFadeOut+"','"+imageDivToFadeIn+"')",500);
}

function rearrangeMainImageOrder(imageDivToFadeOut,imageDivToFadeIn)
{
  document.getElementById(imageDivToFadeIn).style.zIndex=2;
  document.getElementById(imageDivToFadeOut).style.zIndex=1;
}


function gallery(id)
{
  document.getElementById("galleryImage").src = imageFolder+id+".jpg";
  document.getElementById("galleryImage").alt = galleryCaptions[id];
  document.getElementById("galleryCaption").innerHTML = galleryCaptions[id];
}

function fadeOut(divToFadeOut)
{
  fade(divToFadeOut,100,0,200);
}

function fadeIn(divToFadeIn)
{
  fade(divToFadeIn,0,100,200);
}

function changeGalleryImage(id)
{
  document.getElementById("galleryImage").src=imageFolder+id+".jpg";
  document.getElementById("galleryImage").alt = galleryCaptions[id];
  document.getElementById("galleryCaption").innerHTML = galleryCaptions[id];
  currentGalleryImage = id;
}

function gallery(id)
{
  if (currentGalleryImage != id)
  {
    fadeOut("galleryImage");
	fadeOut("galleryCaption");
    setTimeout("changeGalleryImage("+id+")",250);
    setTimeout("fadeIn('galleryImage')",350);
	setTimeout("fadeIn('galleryCaption')",350);
  }
}

function initialiseGallery(firstImage)
{
  changeGalleryImage(firstImage);
  fadeOut('galleryLoader',400);
  setTimeout("fadeIn('galleryMainImage',400)",400);
  setTimeout("fadeIn('galleryCaption',400)",400);
  setTimeout("fadeIn('galleryThumbnails',400)",400);
}


function rearrangeImageContainerOrder(divToFadeOut,divToFadeIn)
{
  document.getElementById(divToFadeIn).style.zIndex=4;
  document.getElementById(divToFadeOut).style.zIndex=3;
  changeOpacity(100,divToFadeOut);
}

function changeImage(newFilename,newLink)
{
  
  if (document.getElementById('mainImage1').style.zIndex==4)
  {
    imageDivToFadeIn = "mainImage2";
    imageDivToFadeOut = "mainImage1";
  }
  else
  {
    imageDivToFadeIn = "mainImage1";
    imageDivToFadeOut = "mainImage2";
  }
  
  var currentImageURLArray = document.getElementById(imageDivToFadeOut).src.split("/");
  var currentFilename = currentImageURLArray[(currentImageURLArray.length-2)]+"/"+currentImageURLArray[(currentImageURLArray.length-1)];
  
  if (currentFilename!=newFilename)
  {
	document.getElementById(imageDivToFadeIn).src=newFilename;
	if (newLink!="") document.getElementById(imageDivToFadeIn+"Link").href=newLink;
    setTimeout("fadeThrough('"+imageDivToFadeIn+"','"+imageDivToFadeOut+"')",400);
  }
}

function initialiseImageRotate()
{
  fade('loader',100,0,400);
  setTimeout("rotateImages()",600);
}

function initialiseFactoryImageRotate()
{
  fade('galleryLoader',100,0,400);
  setTimeout("rotateFactoryImages()",600);
}

function initialiseDesignImageRotate()
{
  fade('galleryLoader',100,0,400);
  setTimeout("rotateDesignImages()",600);
}

function rotateImages()
{
  if (document.getElementById('loader').style.zIndex==5)
  {
    document.getElementById('loader').style.zIndex=0;
	document.getElementById('loader').style.display=none;
  }
  if (currentImage==(homeImages.length-1))
  {
	currentImage=0;  
  }
  else
  {
    currentImage++;  
  }
  changeImage(homeImages[currentImage][0], homeImages[currentImage][1]);
  setTimeout("rotateImages()",8000);
}


function rotateFactoryImages()
{
  if (document.getElementById('galleryLoader').style.zIndex==5)
  {
    document.getElementById('galleryLoader').style.zIndex=0;
	document.getElementById('galleryLoader').style.display=none;
  }
  if (currentImage==(factoryImages.length-1))
  {
	currentImage=0;  
  }
  else
  {
    currentImage++;  
  }
  changeImage(factoryImages[currentImage][0], factoryImages[currentImage][1]);
  setTimeout("rotateFactoryImages()",8000);
}

function rotateDesignImages()
{
  if (document.getElementById('galleryLoader').style.zIndex==5)
  {
    document.getElementById('galleryLoader').style.zIndex=0;
	document.getElementById('galleryLoader').style.display=none;
  }
  if (currentImage==(factoryImages.length-1))
  {
	currentImage=0;  
  }
  else
  {
    currentImage++;  
  }
  changeImage(designImages[currentImage][0], designImages[currentImage][1]);
  setTimeout("rotateDesignImages()",8000);
}

function fade(id, opacityStart, opacityEnd, millisec)
{ 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacityStart > opacityEnd)
	{ 
      for(i = opacityStart; i >= opacityEnd; i--)
	  { 
        setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed)); 
        timer++; 
      } 
    }
	else if(opacityStart < opacityEnd)
	{ 
      for(i = opacityStart; i <= opacityEnd; i++) 
      { 
        setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed)); 
        timer++; 
      } 
    } 
} 

//change the opacity for different browsers 
function changeOpacity(newOpacity, id)
{ 
    var object = document.getElementById(id).style; 
    object.opacity = (newOpacity / 100); 
    object.MozOpacity = (newOpacity / 100); 
    object.KhtmlOpacity = (newOpacity / 100); 
    object.filter = "alpha(opacity=" + newOpacity + ")";
}

function rearrangeMainImageOrder(imageDivToFadeOut,imageDivToFadeIn)
{
  document.getElementById(imageDivToFadeIn).style.zIndex=2;
  document.getElementById(imageDivToFadeOut).style.zIndex=1;
}
