/* JavaScript File

	This javascript contains the JS code necessary to have divs
	shrink and grow.  It was designed for the left bar of the ABDC website inside.master 			template.

*/

var measureUnit = "px";
var queShrink = false;
var growing = false;
var shrinking = false;
var extended = false;

var nWidth = 683;
var nHeight = 530;

function growWindow(h,w,rate,speed,ease)
{
    if (nWidth < w)
    {
        nWidth = nWidth + rate;
    }
    
    if (nHeight < h)
    {
        nHeight = nHeight + rate;
    }
    
    self.resizeTo(nWidth,nHeight);
    
    if (nWidth < w || nHeight < h)
    {
        if ((rate+ease) > 0)
        {
            setTimeout("growWindow(" + h + "," + w + "," + (rate+ease) + "," + speed + "," + ease + ")",speed);
        } else {
            setTimeout("growWindow(" + h + "," + w + "," + rate + "," + speed + "," + ease + ")",speed);
        }
    }
}

function gIncHeight(layer,cHeight,gHeight,rate,speed,ease)
{
	var newHeight = cHeight + rate;
	var theLayer = document.getElementById(layer);	
	theLayer.style.height = newHeight + "px";
	if (newHeight < gHeight)
	{
		setTimeout("gIncHeight('" + layer + "'," + newHeight + "," + gHeight + "," + (rate+ease) + "," + speed + "," + ease + ")",speed);
	}
	else
	{
		extended = true;
		growing = false;
		
		if (queShrink) 
		{
			shrinkDiv(layer,'height',180,5,100,5); 
			queShrink = false;
		}
	}
}

function sIncHeight(layer,cHeight,sHeight,rate,speed,ease)
{
	var newHeight = cHeight - rate;
	var theLayer = document.getElementById(layer);	
	theLayer.style.height = newHeight + "px";
	if (newHeight > sHeight)
	{
		setTimeout("sIncHeight('" + layer + "'," + newHeight + "," + sHeight + "," + (rate+ease) + "," + speed + "," + ease + ")",speed);
	} 
	else 
	{
		shrinking = false;
		extended = false;
	}
}

function growDiv(layerID,direction,value,rate,speed,ease) 
{
	var growLayer = document.getElementById(layerID);
	
	if (direction == "height")
	{
		var currentHeight = parseInt(growLayer.style.height.replace("px",""));
		var growToHeight = currentHeight + value;
		
		if (currentHeight < growToHeight)
		{
			if (!growing && !shrinking && !extended)
			{
				growing = true;
				gIncHeight(layerID,currentHeight,growToHeight,rate,speed,ease);
			} 
			else if (growing)
			{
				queShrink = false;
			}
		}
		
	}
	else if (direction == "width")
	{
		//
		//  ABDC_TODO: Program width grow function
		//
	}
	
}

function shrinkDiv(layerID,direction,value,rate,speed,ease) 
{
	var shrinkLayer = document.getElementById(layerID);
		
	if (direction == "height")
	{
		var currentHeight  = parseInt(shrinkLayer.style.height.replace("px",""));
		var shrinkToHeight = currentHeight - value;
		
		if (currentHeight > shrinkToHeight)
		{
			if (!shrinking && !growing && extended)
			{
				shrinking = true;
				sIncHeight(layerID,currentHeight,shrinkToHeight,rate,speed,ease);
			}
			else if (growing)
			{
				queShrink = true;
			}
		}
		
		
	}
	else if (direction == "width")
	{
		//
		//  ABDC_TODO: Program width grow function
		//
	}
}