var stories=new Array();
var images=new Array();

var currentStory=0;
var currentImage=0;
var currentBuffer=0;
var timeoutId;

var currentPic,nextPic;

var fadeStep=.2;
var fadeTimer=30;
var delayTimer=10000;

function addStory(headline,teaser,image,url)
{
  stories[stories.length]={headline:headline,teaser:teaser,img:image,url:url};
  img=new Image();
  img.src=image;
}

function addImage(image)
{
  images[images.length]={img:image};
  img=new Image;
  img.src=image;  
}

function selectStory(storyNum)
{
	var story=document.getElementById('headerStory');
	clearTimeout(timeoutId);
	if (currentStory!=storyNum) {
  	  var nextBuffer=1-currentBuffer;
	  currentPic=document.getElementById('headerStoryImage'+(currentBuffer+1));
	  nextPic=document.getElementById('headerStoryImage'+(nextBuffer+1));
	  nextPic.style.opacity=0;
	  nextPic.style.display="block";
	  nextPic.src=stories[storyNum].img;
	  currentBuffer=nextBuffer;
  	  crossFade();
	}

	story.innerHTML='<h1>'+stories[storyNum].headline+'</h1><p>'+stories[storyNum].teaser+' ... <a href="'+stories[storyNum].url+'">Read More &#187;</a></p>';
	var i;
	currentStory=storyNum;
	for (i=0;i<stories.length;i++) {
	  var selectImg=document.getElementById('story'+i+'select');
	  if (i==currentStory) {
	     selectImg.src='http://www.cmu.edu/common/images/header-photos/headerStoryActive.gif';
	  }
	  else {
	     selectImg.src='http://www.cmu.edu/common/images/header-photos/headerStory.gif';
	  }
	}
}

function selectImage(imageNum)
{
	clearTimeout(timeoutId);
	if (currentImage!=imageNum) {
  	  var nextBuffer=1-currentBuffer;
	  currentPic=document.getElementById('headerImage'+(currentBuffer+1));
	  nextPic=document.getElementById('headerImage'+(nextBuffer+1));
	  nextPic.style.opacity=0;
	  nextPic.style.display="block";
	  nextPic.src=images[imageNum].img;
	  currentBuffer=nextBuffer;
  	  crossFade();
	}

        currentImage=imageNum;
}

function crossFade()
{
	var o=Number(nextPic.style.opacity);
	if (o>=.99) {
		currentPic.style.opacity = 0;
		currentPic.style.MozOpacity = 0;
		currentPic.style.filter = "alpha(opacity=" + (0) + ")";
		currentPic.style.display="none";	
		return;
	}
	o+=fadeStep;
	var oldO=.99-o;
	nextPic.style.opacity = o;
	nextPic.style.MozOpacity = o;
	nextPic.style.filter = "alpha(opacity=" + (o*100) + ")";
	currentPic.style.opacity = oldO;
	currentPic.style.MozOpacity = oldO;
	currentPic.style.filter = "alpha(opacity=" + (oldO*100) + ")";
	setTimeout("crossFade()",fadeTimer);
}

function nextStory()
{
  var newStory=currentStory+1;
  if (newStory>=stories.length) {
     newStory=0;
  }
  selectStory(newStory);
  timeoutId=setTimeout("nextStory()",delayTimer);  
}

function nextImage()
{
  var newImage=currentImage+1;
  if (newImage>=images.length) {
     newImage=0;
  }
  selectImage(newImage);
  timeoutId=setTimeout("nextImage()",delayTimer);  
}

function storyMouseOut(storyNum)
{
	var selectImg=document.getElementById('story'+storyNum+'select');
    if (storyNum==currentStory) {
        selectImg.src='http://www.cmu.edu/common/images/header-photos/headerStoryActive.gif';
    }
	else {
	    selectImg.src='http://www.cmu.edu/common/images/header-photos/headerStory.gif';
	}
}

function storyMouseOver(storyNum)
{
    var selectImg=document.getElementById('story'+storyNum+'select');
    selectImg.src='http://www.cmu.edu/common/images/header-photos/headerStoryOver.gif';
}

function setFadeSpeed(speed)
{
  if (speed>=2) {
    fadeStep=.2;
    fadeTimer=30;
  }
  else if (speed==1) {
    fadeStep=.1;
    fadeTimer=80;
  }
  else if (speed==0) {
    fadeStep=.05;
    fadeTimer=80;
  }
}

function setFadeDelay(delay)
{
  if (delay==0) {
    delayTimer=10000;
  }
  else if (delay==1) {
    delayTimer=7500;
  }
  else if (delay==2) {
    delayTimer=5000;
  }
}

function randomizeArray ( myArray ) {
  var i = myArray.length;
  if ( i == 0 ) return false;
  while ( --i ) {
     var j = Math.floor( Math.random() * ( i + 1 ) );
     var tempi = myArray[i];
     var tempj = myArray[j];
     myArray[i] = tempj;
     myArray[j] = tempi;
   }
}

function rotateImages(divId,siteHome,siteName)
{
  randomizeArray(images);
  var imgDiv=document.getElementById(divId);

  var a1=document.createElement('a');
  a1.href=siteHome;
  a1.title=siteName+' Home Page';
  var a2=document.createElement('a');
  a2.href=siteHome;
  a2.title=siteName+' Home Page';

  var img1=document.createElement('img');
  img1.src=images[0].img;
  img1.id='headerImage1';
  img1.style.opacity=1; 
  img1.style.display='block';
  var img2=document.createElement('img');
  img2.src=images[0].img;
  img2.id='headerImage2';
  img2.style.opacity=0; 
  img2.style.display='none';

  a1.appendChild(img1);
  a2.appendChild(img2);
  imgDiv.appendChild(a1);
  imgDiv.appendChild(a2);
  timeoutId=setTimeout("nextImage()",delayTimer);  
}
