﻿var currentImage = 0;
var preload_image = new Array ();
// it an images can't be found then we'll remove it.
function img_onError()
{
	for (var i=imageName.length-1 ; i>=0 ; i--)
	{
		if (imageName[i] == this.src)
		{
			imageName.splice(i,1);
			preload_image.splice(i,1);
			if (typeof(projectNames) != 'undefined')
				projectNames.splice(i,1);
			if (typeof(projectID) != 'undefined')
			projectID.splice(i,1);
		}
	}
}
var featureimage;
var theImage;
var picWidth;
var picHeight;
var first=true;
function ShowImages(id)
{
	var pictureDiv2 = document.getElementById("pictureDiv2");

	featureimage=id;
	picWidth=parseInt(document.getElementById("pictureDiv").style.width);
	picHeight=parseInt(document.getElementById("pictureDiv").style.height);
	var theImage = document.getElementById(featureimage);
	theImage.style.display="none";
	if (typeof imageName != 'undefined')
	{
		for (var i=0;i<imageName.length;i++)
		{
			preload_image[i]= new Image();
			preload_image[i].onerror = img_onError;
			preload_image[i].src = imageName[i];
			preload_image[i].alt = imageAlt[i];
		}
		timerOn=true;
		currentImage = -1;
		NextSlide();
	}
	
}
var myTimer;
var myFadeTimer;
var timerOn;
var scaleImageUp=true;
function NextSlide()
{
	if (imageName.length == 0)
	{
		document.getElementById('iDiv1').style.visibility='hidden';
		document.getElementById('iDiv2').style.visibility='hidden';
		return;
	}	
	if (imageName.length == 1)
	{
		document.getElementById('imgLeft').style.visibility='hidden';
		document.getElementById('imgRight').style.visibility='hidden';
		document.getElementById('imgPlay').style.visibility='hidden';
		document.getElementById('imgPause').style.visibility='hidden';
	}
	var theImage = document.getElementById(featureimage);
	var old = currentImage;
	currentImage+=1;
	var pictureDiv = document.getElementById("pictureDiv");
	var pictureDiv2 = document.getElementById("pictureDiv2");
	if (!first)
	{
		document.getElementById("spacer2").style.height = document.getElementById("spacer").style.height;
		document.getElementById("spacer2").style.display = document.getElementById("spacer").style.display;
		document.getElementById("featureimage2").style.height = theImage.style.height;
		document.getElementById("featureimage2").style.width = theImage.style.width;
		document.getElementById("featureimage2").src = theImage.src;
		pictureDiv2.style.display='block';
		
	}
	if (currentImage >= imageName.length)
		currentImage=0;

	// it just look better if the image is available before we display it.
	if (!preload_image[currentImage].complete)
	{
		currentImage=old;
		myTimer = window.setTimeout('NextSlide()',1000);
		return;
	}
	setOpacity(pictureDiv,0);
	
	var currentI = preload_image[currentImage];
	theImage.style.display="";
	theImage.src = imageName[currentImage];
	if (typeof(projectNames) == 'undefined' || projectNames[currentImage]=="")
		theImage.title = "";//imageAlt[currentImage];
	else
		theImage.title = projectNames[currentImage];
	
	if (typeof(projectID) != 'undefined' && projectNames[currentImage] !='')
	{
		document.getElementById("projectLink").href = 'project.aspx?id=' + projectID[currentImage];
		document.getElementById("projectLink").title = 'Click here to view the project details';
		document.getElementById("projectName").innerHTML =  projectNames[currentImage];
		document.getElementById('iDiv2').style.visibility='visible';
	}
	else	
		document.getElementById('iDiv2').style.visibility='hidden';

	var newRatio = preload_image[currentImage].width/preload_image[currentImage].height;
	var oldRatio = picWidth/picHeight;
	
	if (newRatio>oldRatio)
	{
		theImage.style.height='auto';
		if (scaleImageUp || preload_image[currentImage].width > picWidth)
			theImage.style.width= picWidth+'px';
		else
			theImage.style.width= 'auto';
		
	}
	else
	{
		theImage.style.width= 'auto';
		if (scaleImageUp || preload_image[currentImage].height > picHeight)
			theImage.style.height=picHeight+'px';
		else
			theImage.style.height='auto';
		
	}
	if ((theImage.height+30) < picHeight)
	{
		document.getElementById("spacer").style.height = parseInt((picHeight-theImage.height-30)/2) +'px';
		document.getElementById("spacer").style.display='';
	}
	else
	{
		document.getElementById("spacer").style.height='0px';
		document.getElementById("spacer").style.display='none';
	}
	if (first)
		fadeIn('pictureDiv',100);
	else
		fadeIn('pictureDiv',0);
	if (timerOn)
		myTimer = window.setTimeout('NextSlide()',8000);
	first=false;
}

function fadeIn(objId,opacity) 
{
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 5;
      myFadeTimer = window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 20);
    }
  }
}
function setOpacity(obj, opacity) 
{
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}
function pause()
{
	clearTimeout(myTimer);
	clearTimeout(myFadeTimer);
	fadeIn('pictureDiv',100);
	timerOn=false;
	document.getElementById("imgPlay").style.display="";
	document.getElementById("imgPause").style.display="none";
	
}
function play()
{
	document.getElementById("imgPlay").style.display="none";
	document.getElementById("imgPause").style.display="";
	timerOn=true;
	NextSlide();
}
function goLeft()
{
	
	clearTimeout(myTimer);
	clearTimeout(myFadeTimer);
	fadeIn('pictureDiv',100);
	currentImage-=2;
	if (currentImage < 0)
		currentImage=imageName.length-2;
	NextSlide();
}
function goRight()
{
	clearTimeout(myTimer);
	clearTimeout(myFadeTimer);
	fadeIn('pictureDiv',100);
	NextSlide();
}

