var opening_newwidth = 0;
var opening_width = 0;
var timerOpen = "";
var timerClose = "";
var timerOpenAndClose = "";

function isOpen(id)
{
	if(document.getElementById(id).style.display == 'block')
	{
		return id;
	}
	else
	{
		return false;
	}
}

function isNewOpen(id)
{
	if(document.getElementById(id).style.display == 'block')
	{
		return id;
	}
	else
	{
		return false;
	}
}

if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}

function checkOpened(id)
{	
	var total = allIDs.length;
	var opened_id = 'none_opened';
	opening_width = 0;	
	var cnt = 0;
	for(var i = 1; i <= total; i++)
	{
		if(isOpen(allIDs[i-1]))
		{		
			opened_id = allIDs[i-1];
			cnt++;
		}
	}	
	total_width = allWidths[allIDs.indexOf(id)];
	
	if(opened_id == "none_opened")
	{	
		
		animateOpen(id, opening_width, total_width);
	}
	else
	if(cnt == 1 && opened_id == id)
	{
		animateClose(id, total_width);
	}
	else
	if(cnt == 1 && opened_id != id)
	{
			closing_width = allWidths[allIDs.indexOf(opened_id)];
			animateOpenAndClose(id, opened_id, closing_width, opening_width, total_width);			
	}		
}

function animateOpen(id, opening_width, total_width)
{	
	clearTimeout(timerOpen);
	var cur_id = document.getElementById(id);
	cur_id.style.overflow = 'hidden';
	cur_id.style.width = opening_width+'px';
	
	opening_width = eval(opening_width + steps);
	
	cur_id.style.display = 'block';
	
	if(opening_width <= total_width)
		timerOpen = setTimeout('animateOpen("'+id+'", '+opening_width+', '+total_width+')', 10);
}

function animateClose(id, closing_width)
{	
	
}

function animateOpenAndClose(open_id, close_id, closing_width, opening_width, opening_total_width)
{	
	clearTimeout(timerOpenAndClose);
	clearTimeout(timerOpen);
	clearTimeout(timerClose);
	var opening_id = document.getElementById(open_id);
	var closing_id = document.getElementById(close_id);
	
	opening_id.style.overflow = 'hidden';
	closing_id.style.overflow = 'hidden';
	
	if(!opening_id.style.width)
		opening_id.style.width = '0px';
	
	if(parseInt(opening_id.style.width) <= opening_total_width)
	{
		opening_id.style.width = opening_width+'px';
		opening_width = parseInt(opening_width + steps);
		opening_id.style.display = 'block';
	}
	
	if(parseInt(closing_id.style.width) >= steps)
	{
		closing_id.style.width = closing_width+'px';
		if(closing_width >= steps)
			closing_width = parseInt(closing_width - steps);
		else
			closing_width = 0;
	}
	
	if(closing_width <= 0)
	{
		closing_id.style.display = 'none';
		closing_id.style.width = allWidths[allIDs.indexOf(close_id)]+'px';
	}
	else
		closing_id.style.display = 'block';	
	
	if(closing_width > 0 || opening_width <= opening_total_width)
		timerOpenAndClose = setTimeout('animateOpenAndClose("'+open_id+'", "'+close_id+'", '+closing_width+', '+opening_width+', '+opening_total_width+')', 10);
}

function checkNewOpened(id)
{	
	var totalnew = allNewIDs.length;
	var opened_new_id = 'none_opened';
	
	opening_newwidth = 0;	
	var cnt = 0;
	for(var i = 1; i <= totalnew; i++)
	{
		if(isNewOpen(allNewIDs[i-1]))
		{		
			opened_new_id = allNewIDs[i-1];
			cnt++;
		}
	}
	
	totalnew_newwidth = allNewWidths[allNewIDs.indexOf(id)];

	if(opened_new_id == "none_opened")
	{	
		
		animateNewOpen(id, opening_newwidth, totalnew_newwidth);
	}
	else
	if(cnt == 1 && opened_new_id == id)
	{
		animateNewClose(id, totalnew_newwidth);
	}
	else
	if(cnt == 1 && opened_new_id != id)
	{
			closing_newwidth = allNewWidths[allNewIDs.indexOf(opened_new_id)];
			animateNewOpenAndClose(id, opened_new_id, closing_newwidth, opening_newwidth, totalnew_newwidth);			
	}		
}

function animateNewOpen(id, opening_newwidth, totalnew_newwidth)
{	
	clearTimeout(timerOpen);
	var cur_id = document.getElementById(id);
	cur_id.style.overflow = 'hidden';
	cur_id.style.width = opening_newwidth+'px';
	
	opening_newwidth = eval(opening_newwidth + steps);
	
	cur_id.style.display = 'block';
	
	if(opening_newwidth <= totalnew_newwidth)
		timerOpen = setTimeout('animateNewOpen("'+id+'", '+opening_newwidth+', '+totalnew_newwidth+')', 10);
}

function animateNewClose(id, closing_newwidth)
{	

}

function animateNewOpenAndClose(open_id, close_id, closing_newwidth, opening_newwidth, opening_totalnew_newwidth)
{	
	clearTimeout(timerOpenAndClose);
	clearTimeout(timerOpen);
	clearTimeout(timerClose);
	var opening_id = document.getElementById(open_id);
	var closing_id = document.getElementById(close_id);
	
	opening_id.style.overflow = 'hidden';
	closing_id.style.overflow = 'hidden';
	
	if(!opening_id.style.width)
		opening_id.style.width = '0px';
	
	if(parseInt(opening_id.style.width) <= opening_totalnew_newwidth)
	{
		opening_id.style.width = opening_newwidth+'px';
		opening_newwidth = parseInt(opening_newwidth + steps);
		opening_id.style.display = 'block';
	}
	
	if(parseInt(closing_id.style.width) >= steps)
	{
		closing_id.style.width = closing_newwidth+'px';
		if(closing_newwidth >= steps)
			closing_newwidth = parseInt(closing_newwidth - steps);
		else
			closing_newwidth = 0;
	}
	
	if(closing_newwidth <= 0)
	{
		closing_id.style.display = 'none';
		closing_id.style.width = allNewWidths[allNewIDs.indexOf(close_id)]+'px';
	}
	else
		closing_id.style.display = 'block';	
	
	if(closing_newwidth > 0 || opening_newwidth <= opening_totalnew_newwidth)
		timerOpenAndClose = setTimeout('animateNewOpenAndClose("'+open_id+'", "'+close_id+'", '+closing_newwidth+', '+opening_newwidth+', '+opening_totalnew_newwidth+')', 10);
}

function animateOpenBoth(id1, id2, opening_newwidth, totalnew_newwidth, opening_width, total_width)
{	
	clearTimeout(timerOpen);
	var cur_id1 = document.getElementById(id1);
	var cur_id = document.getElementById(id2);
	cur_id.style.overflow = 'hidden';
	cur_id.style.width = opening_newwidth+'px';
	
	cur_id1.style.overflow = 'hidden';
	cur_id1.style.width = opening_width+'px';

	
	opening_newwidth = eval(opening_newwidth + steps);
	opening_width = eval(opening_width + steps);
	
	cur_id.style.display = 'block';
	cur_id1.style.display = 'block';
	
	if(opening_newwidth <= totalnew_newwidth)
		timerOpen = setTimeout('animateOpenBoth("'+id1+'", "'+id2+'", '+opening_newwidth+', '+totalnew_newwidth+', '+opening_width+', '+total_width+')', 10);
}

function openDefault()
{
	if(document.getElementById(defaultNewOpenId) && document.getElementById(defaultOpenId))
	{
		totalnew_newwidth = allNewWidths[allNewIDs.indexOf(defaultNewOpenId)];
		animateOpenBoth(defaultOpenId, defaultNewOpenId, opening_newwidth, totalnew_newwidth, opening_width, totalnew_newwidth);
	}		
}

window.onload = openDefault;