// JavaScript Document

function slide(elementId, headerElement)
{     
	if (prevdiv != elementId) { //expanded div isnt the same as requested div
	  animate(prevdiv, 0, 0, 0, 291, 250, null); //retract the previous div
	  prevdiv = elementId //the expanded div is this div
	  slidediv(elementId, headerElement) //make the requested div expand while the current one retracts
	  
	}
	
	    for(x=elementId;x<12;x++) //make the < > html
		{
		document.getElementById('arrow'+x).innerHTML = '&lt;'; 
		}
		
		for(x=1;x<elementId;x++)
		{
		document.getElementById('arrow'+x).innerHTML = '&gt;'; 
		}
		
}

function slidediv(elementId, headerElement)
{
		animate(elementId, 0, 0, 536, 291, 250, null);	//expand div

		if (elementId > 1) {
		sidediv = elementId - 1;
		document.getElementById('button'+sidediv).style.backgroundImage="url('images/slider/but"+sidediv+"_on.jpg')";
		for(x=1;x<sidediv;x++)
		{
		document.getElementById('button'+x).style.backgroundImage="url('images/slider/but"+x+".jpg')";	
		}
		}
		
		for(x=elementId;x<12;x++)
		{
		document.getElementById('button'+x).style.backgroundImage="url('images/slider/but"+x+".jpg')";	
		}

}

function animate(elementID, newLeft, newTop, newWidth,
      newHeight, time, callback)
{
  var el = document.getElementById(elementID);
  if(el == null)
    return;
 
  var cLeft = parseInt(el.style.left);
  var cTop = parseInt(el.style.top);
  var cWidth = parseInt(el.style.width);
  var cHeight = parseInt(el.style.height);
 
  var totalFrames = 1;
  if(time> 0)
    totalFrames = time/40;

  var fLeft = newLeft - cLeft;
  if(fLeft != 0)
    fLeft /= totalFrames;
 
  var fTop = newTop - cTop;
  if(fTop != 0)
    fTop /= totalFrames;
 
  var fWidth = newWidth - cWidth;
  if(fWidth != 0)
    fWidth /= totalFrames;
 
  var fHeight = newHeight - cHeight;
  if(fHeight != 0)
    fHeight /= totalFrames;
   
  doFrame(elementID, cLeft, newLeft, fLeft,
      cTop, newTop, fTop, cWidth, newWidth, fWidth,
      cHeight, newHeight, fHeight, callback);
}

function doFrame(eID, cLeft, nLeft, fLeft,
      cTop, nTop, fTop, cWidth, nWidth, fWidth,
      cHeight, nHeight, fHeight, callback)
{
   var el = document.getElementById(eID);
   if(el == null)
     return;

  cLeft = moveSingleVal(cLeft, nLeft, fLeft);
  cTop = moveSingleVal(cTop, nTop, fTop);
  cWidth = moveSingleVal(cWidth, nWidth, fWidth);
  cHeight = moveSingleVal(cHeight, nHeight, fHeight);

  el.style.left = Math.round(cLeft) + 'px';
  el.style.top = Math.round(cTop) + 'px';
  el.style.width = Math.round(cWidth) + 'px';
  el.style.height = Math.round(cHeight) + 'px';
 
  if(cLeft == nLeft && cTop == nTop && cHeight == nHeight
    && cWidth == nWidth)
  {
    if(callback != null)
      callback();
    return;
  }
  
  setTimeout( 'doFrame("'+eID+'",'+cLeft+','+nLeft+','+fLeft+','
    +cTop+','+nTop+','+fTop+','+cWidth+','+nWidth+','+fWidth+','
    +cHeight+','+nHeight+','+fHeight+','+callback+')', 40);
}

function moveSingleVal(currentVal, finalVal, frameAmt)
{
  if(frameAmt == 0 || currentVal == finalVal)
    return finalVal;
 
  currentVal += frameAmt;
  if((frameAmt> 0 && currentVal>= finalVal)
    || (frameAmt <0 && currentVal <= finalVal))
  {
    return finalVal;
  }
  return currentVal;
}

