var columnVisible = [];
var columnPosX = [];
var columnPosY = [];
var newColumnPosX = [];
var columnZIndex = [];
var blocks = [];
var modules = [];

function initVisibility(sName)
{
	var e,x,y,w,h,z,v;
	var sCookieName = "bw_" + String(sName); //f.e: bw_moduleguestbook, bw_blockonline
	
	var cCookie = xGetCookie(sCookieName);
	
	if (cCookie != null) 
	{
		var a = cCookie.split(":");
		if (a.length == 6) 
		{
			x = Number(a[0]);
			y = Number(a[1]);
			w = Number(a[2]);
			h = Number(a[3]);
			z = Number(a[4]);
			v = Number(a[5]);

			if (v == 1)
			{
				xDelete(sName + ".content");
				v = 0;
			}
			else 
			{
				xInsert(sName + ".content");
				v = 1;
			}
		}
		else
		{
			v = 1;
			xSetCookie(sCookieName, xLeft(sName) + ":" + xTop(sName) + ":" + xWidth(sName) + ":" + 
				xHeight(sName) + ":" + xZIndex(sName) + ":" + v);
			
			xInsert(sName + ".content");	
		}
	}
	
}

function toggleColumn(sName)
{
  var e;
  var iMiddle;		
  
  // get the element by its id
  e = xGetElementById(sName);
  
  // we hide the column
  if (columnVisible[sName] == true)
  {
	// get current position 
  	columnPosX[sName] = xOffsetLeft(e);
	columnPosY[sName] = xOffsetTop(e);
	columnZIndex[sName] = xZIndex(e);

	// set the zIndex to 15, we take 15 as the moving index
	xZIndex(sName, 15);
    
	// calculate the middle of the screen
	iMiddle = xClientWidth() / 2;
	
	if (xOffsetLeft(sName) < iMiddle)
	{
		newColumnPosX[sName] = 0 - xWidth(sName);
		xSlideTo(e, newColumnPosX[sName], xOffsetTop(sName), 2000);
	}
	else
	{
		newColumnPosX[sName] = xClientWidth() + xWidth(sName);
	    xSlideTo(e, newColumnPosX[sName], xOffsetTop(sName), 2000);
	}
	    
	var sDelete = 'xDelete(\'' + sName + '\')';
  	setTimeout(sDelete, 2000);
	setTimeout("winOnResize()", 2100);
  	//xDelete(sName);
  }
  //we show the column
  else 
  {
  	xZIndex(sName, 15);
  	xInsert(sName);
  	xOffsetLeft(newColumnPosX[sName]);
 	xSlideTo(e, columnPosX[sName], columnPosY[sName], 2000);
    var sZIndex = 'xZIndex(\'' + sName + '\', columnZIndex[\'' + sName + '\'])';
    setTimeout(sZIndex, 2100);
	setTimeout('winOnResize()', 2200);
  }
  
  columnVisible[sName] = !columnVisible[sName];
   
  //winOnResize();
}

// toggles the visibility of modules and blocks
function toggleVisibility(sName)
{
	var e,x,y,w,h,z,v;
	var sCookieName = "bw_" + String(sName); //f.e: bw_moduleguestbook, bw_blockonline
	
	var cCookie = xGetCookie(sCookieName);
	
	if (cCookie != null) 
	{
		var a = cCookie.split(":");
		if (a.length == 6) 
		{
			x = Number(a[0]);
			y = Number(a[1]);
			w = Number(a[2]);
			h = Number(a[3]);
			z = Number(a[4]);
			v = Number(a[5]);
		}
		else
		{
			v = 0;
			xSetCookie(sCookieName, xLeft(sName) + ":" + xTop(sName) + ":" + xWidth(sName) + ":" + 
				xHeight(sName) + ":" + xZIndex(sName) + ":" + v);
		}
	}
	else
	{
		v = 0;
		xSetCookie(sCookieName, xLeft(sName) + ":" + xTop(sName) + ":" + xWidth(sName) + ":" + 
			xHeight(sName) + ":" + xZIndex(sName) + ":" + v);
	}
	  
	e = xGetElementById(sName + ".content");
	
	if (v == 1)
	{
		xDelete(e);
		v = 0;
	}
	else 
	{
		xInsert(e);
		v = 1;
	}

	xSetCookie(sCookieName, xLeft(sName) + ":" + xTop(sName) + ":" + xWidth(sName) + ":" + 
		xHeight(sName) + ":" + xZIndex(sName) + ":" + v);
	
	winOnResize();
}

function xPopupImage(PicFile,PicTitle,PicWidth,PicHeight)
{
	window.open("classes/cPopup.php?PicFile=" + PicFile + "&PicTitle=" + PicTitle + "&PicWidth=" + PicWidth + "&PicHeight=" + PicHeight, "PicTitle", "width=" + PicWidth + ", height=" + PicHeight + ", menubar=no, resizable=no, scrollbars=no, titlebar=no, toolbar=no, left=no, top=no")
}

function xDisplay(e,how) 
{
	if (!(e=xGetElementById(e))) 
		return;
	if (e.style && xDef(e.style.display)) 
		e.style.display=how;
	else 
		if(xDef(e.display)) 
			e.display=how;
}

function xInnerHtml(e,text)
{
	if (!(e=xGetElementById(e))) 
		return;
	e.innerHTML = text;
}

function xInsert(e)
{
	xDisplay(e,'block');
}

function xDelete(e)
{
	xDisplay(e,'none');
}