var in_motion = false;

function swap(button){
  if (in_motion == true)
    return;
  in_motion = true;
  hide = false;
  panel = document.getElementById(button);
  if (button.indexOf("_show") == -1){
	if (button.indexOf("_hide") != -1)
	{
      panel = document.getElementById(button.replace(/_hide/,""));
	  hide = true;
	  panel.height = "auto";
      actual_height = panel.offsetHeight;
	}
	else
	{//neither hide nor show present
	  return false;
	}
  }
  else{
    panel = document.getElementById(button.replace(/_show/,""));
    panel.style.position="absolute";
    panel.style.display="block";
    panel.height = "auto";
    actual_height = panel.offsetHeight;
    panel.style.height = 0;
    panel.style.position="static";
  }
  changebutton(button, actual_height);//this needs to be set for each use
  height = new Array();
  clock = new Array();
  counter = 0;
  x = ((actual_height * 2) / 3);
  tick = ((actual_height / 25) * 100)/x
  paddingHeight = 0;
  switch (panel.id)
  {
    case "searchpanel":
      left = document.getElementById("bottom_left"); 
      right = document.getElementById("bottom_right");
      //wrapper = document.getElementById("leftwrapper");
      columnHeight = right.offsetHeight - 10;
      break;
  }
  for(var slider = actual_height/x; slider < actual_height; slider += actual_height/x){
	height[counter] = Math.round(slider);
    if(hide)
    {
	  window.setTimeout("panel.style.height = checknewheight(actual_height - height[" + counter + "]-paddingHeight) + 'px';", tick * (counter + 1))
      if(button.indexOf("searchpanel") != -1)
      {
        window.setTimeout("right.style.height = checknewheight(columnHeight + height[" + counter + "]) +'px';", tick * (counter + 1))
        //window.setTimeout("wrapper.style.height = checknewheight(columnHeight + height[" + counter + "]+10) +'px';", tick * (counter + 1))
        window.setTimeout("left.style.height = checknewheight((columnHeight + height[" + counter + "])-44) +'px';", tick * (counter + 1))
      }
	}
	else
	{
	  window.setTimeout("panel.style.height = checknewheight(height[" + counter + "]) + 'px';", tick * (counter + 1))
      if(button.indexOf("searchpanel") != -1)
      {
        window.setTimeout("right.style.height = checknewheight(columnHeight - height[" + counter + "]) +'px';", tick * (counter + 1))
        //window.setTimeout("wrapper.style.height = checknewheight(columnHeight - height[" + counter + "]+10) +'px';", tick * (counter + 1))
        window.setTimeout("left.style.height = checknewheight(columnHeight - height[" + counter + "]) +'px';", tick * (counter + 1))
      }
    }
	counter++;
  }
  if(hide)
  {
    window.setTimeout("panel.style.display = 'none';", tick * (counter + 1) )
  }
//  if(button.indexOf("searchpanel") != -1)
//  {
//    window.setTimeout("resizeColumns();", tick * (counter + 1))
//  }
  window.setTimeout('panel.style.height = checknewheight(actual_height) + "px"; in_motion = false; ', tick * (counter + 1) )
  window.setTimeout('usersize(); ', tick * (counter + 2) )
return;
}
function changebutton(button, actual_height){
  switch (button)
  {
  case "searchpanel_hide":
    search = document.getElementById("searchpanel_show")
    search.style.display="block";
    break;
  case "searchpanel_show":
    search = document.getElementById("searchpanel_show")
    search.style.display="none";
    break;
  case "criteriapanel_hide":
    search = document.getElementById("criteriapanel_show");
    search.onclick = function() {swap(this.id)};
    break;
  case "criteriapanel_show":
    search = document.getElementById("criteriapanel_show")
    search.onclick="";
    break;
  }
  return;
}
/*Need to be discuss*/
function displaycompdetails(company, Detail){
  document.getElementById("cat_2_right_iframe").style.display="block";
  document.getElementById("cat_2_right_iframe").src="markets_right_"+company+".aspx";
}
function underlineme(link){
  link.style.textDecoration="underline";
}
function nolineme(link){
  link.style.textDecoration="none";
}
function show1(){
  document.getElementById("cat_2_right_iframe").style.display="block";
}
/*End*/
function preview()
{  
  document.getElementById("bottom_edit").style.display= "none";
  document.getElementById("bottom_copy").style.display= "Block";
  usersize();
  scroll(0,0);
}
function edit()
{
  document.getElementById("bottom_copy").style.display= "none";
  document.getElementById("bottom_edit").style.display= "block";
  usersize();
  scroll(0,0);
}
//resize bottom_left & right columns after collapsing searchpanel
function resizeColumns()
{
  if(in_motion){ return }
    left = document.getElementById("bottom_left");
    right = document.getElementById("bottom_right");
    
    menu = document.getElementById("menu_ads").offsetHeight;
    search = document.getElementById("searchpanel").offsetHeight;
    bar = document.getElementById("searchBar").offsetHeight;
    padding = 21;//css defined padding for left & right + div.bottom padding + 1px border in .ads(frontStyle) .BOmenu(backStyle)
    
    height = menu - (search + bar + padding) + "px";

    left.style.height = right.style.height = height;
    return;
}

function collapse(button)
{
  if (button.indexOf("_show") == -1){
	if (button.indexOf("_hide") != -1)
	{
      panel = document.getElementById(button.replace(/_hide/,""));
      panel.style.height=0+"px";
      panel = document.getElementById(button);
      panel.id=button.replace(/_hide/,"_show");
      panel.src="images/sign_plus.gif";
	}
	else
	{//neither hide nor show present
	  return false;
	}
  }
  else
  {
      panel = document.getElementById(button.replace(/_show/,""));
      panel.style.height="auto";
      panel = document.getElementById(button);
      panel.id=button.replace(/_show/,"_hide");
      panel.src="images/sign_minus.gif";
  }
  usersize();
}
function openShut(button)
{
    if (in_motion == true)
    { return false; }
    in_motion = true;
    start_height = 0;

    left = document.getElementById("bottom_left"); 
    right = document.getElementById("bottom_right");
    columnHeight = right.offsetHeight - 10;

    if (button.indexOf("_show") == -1)
    {
        if (button.indexOf("_hide") != -1)
        {
            //hiding panel
            panel = document.getElementById(button.replace(/_hide/,""));
            start_height = panel.offsetHeight;
            panel.height = "auto";
            actual_height = panel.offsetHeight;
        }
        else
        {//neither hide nor show present
            return false;
        }
    }
    else
    {
        //showing panel
        panel = document.getElementById(button.replace(/_show/,""));
        panel.style.position="absolute";
        panel.style.display="block";
        panel.height = "auto";
        actual_height = panel.offsetHeight;al
        panel.style.height = 0;
        panel.style.position="static";
    }
    //this needs to be set for each use
    changebutton(button, actual_height);
    
    counter = 0;
    paddingHeight = 0;

    time = 2000;    
    tick = 40;//half a px
    deltaH = actual_height/tick;
    rotations = Math.round(time/deltaH);
    curHeight = start_height;

    if (start_height != 0)
    { deltaH = 0 - deltaH; }
    var i;
    for(i = 0; i < rotations; i++)
    {
        curHeight += deltaH;
        columnHeight += (0-deltaH);
        window.setTimeout('panel.style.height = checknewheight(curHeight) + "px"; ', (Math.abs(i * deltaH)));
        window.setTimeout('left.style.height = checknewheight(columnHeight-44) + "px"; ', (Math.abs(i * deltaH)));
        window.setTimeout('right.style.height = checknewheight(columnHeight) + "px"; ', (Math.abs(i * deltaH)));
    }
    if (start_height != 0)
    {
        window.setTimeout('panel.style.display = "none";', (Math.abs(i * deltaH)));
//        window.setTimeout('left.style.height = checknewheight(columnHeight) + "px"; ', (Math.abs(i * deltaH)));
//        window.setTimeout('right.style.height = checknewheight(columnHeight) + "px"; ', (Math.abs(i * deltaH)));
    }
    else
    {
//        window.setTimeout('left.style.height = checknewheight(columnHeight) + "px"; ', (Math.abs(i * deltaH)));
//        window.setTimeout('right.style.height = checknewheight(columnHeight) + "px"; ', (Math.abs(i * deltaH)));
    }
    window.setTimeout('panel.style.height = checknewheight(actual_height) + "px"; ', (Math.abs(i * deltaH)));
    window.setTimeout('usersize(); ', (Math.abs(i * deltaH)));
    //alert(Math.abs(i*deltaH));
    return;
}