// JavaScript Document

// #####################################################################
// SETTING THE LEFT MENU STATUS TO ZERO
// #####################################################################
var statushome = '0';
var statuslayouts = '0';
var statusgraphics = '0';
var statuscursors = '0';
var statusgen = '0';
var statuscodes = '0';
var statusflash = '0';
var statusvideos = '0';
var statuscommu = '0';

var smooth_timer;

// #####################################################################
// GETTING THE STATUS OF A LEFT MENU OPTION
// #####################################################################
function getStatus (statusname) {
	return eval (statusname);
}

// #####################################################################
// CREATES THE SMOOTH SLIDE EFFECT OF THE MENUS
// #####################################################################
function smoothHeight(id, curH, targetH, stepH, mode) {
  diff = targetH - curH;
  if (diff != 0) {
    newH = (diff > 0) ? curH + stepH : curH - stepH;
	leftoversH = ((document.getElementById) ? document.getElementById('leftovers') : eval("document.all['leftovers']")).offsetHeight;
	newleftoversH = (diff > 0) ? leftoversH - stepH : leftoversH + stepH;
    ((document.getElementById) ? document.getElementById(id) : eval("document.all['" + id + "']")).style.height = newH + "px";
    if (smooth_timer) window.clearTimeout(smooth_timer);
    smooth_timer = window.setTimeout( "smoothHeight('" + id + "'," + newH + "," + targetH + "," + stepH + ",'" + mode + "')", 16 );
  } else if (mode != "o") {
	  ((document.getElementById) ? document.getElementById(mode) : eval("document.all['" + mode + "']")).style.display="none";
  }
}
// #####################################################################
// SWITCHING ON AND OFF THE DIVS OF THE SUBMENUS
// #####################################################################
function switchonoff (divname) {
	var daHeight = 200;
	switch (divname) {
		// HOME BUTTON
		case 'bhome':
			statusvalue = getStatus(statushome); if (statusvalue == '0') { displaystatus = ''; statushome = '1'; } else if (statusvalue == '1') { displaystatus = 'none'; statushome = '0'; }
		break;
		// LAYOUTS BUTTON
		case 'blayouts':
			statusvalue = getStatus(statuslayouts); if (statusvalue == '0') { displaystatus = ''; statuslayouts = '1'; } else if (statusvalue == '1') { displaystatus = 'none'; statuslayouts = '0'; }
			daHeight = 1500;
		break;
		// GRAPHICS BUTTON
		case 'bgraphics':
			statusvalue = getStatus(statusgraphics); if (statusvalue == '0') { displaystatus = ''; statusgraphics = '1'; } else if (statusvalue == '1') { displaystatus = 'none'; statusgraphics = '0'; }
			daHeight = 2400;
		break;
		// CURSORS BUTTON
		case 'bcursors':
			statusvalue = getStatus(statuscursors); if (statusvalue == '0') { displaystatus = ''; statuscursors = '1'; } else if (statusvalue == '1') { displaystatus = 'none'; statuscursors = '0'; }
		break;
		// GENERATORS BUTTON
		case 'bgen':
			statusvalue = getStatus(statusgen); if (statusvalue == '0') { displaystatus = ''; statusgen = '1'; } else if (statusvalue == '1') { displaystatus = 'none'; statusgen = '0'; }
		break;
		// CODES BUTTON
		case 'bcodes':
			statusvalue = getStatus(statuscodes); if (statusvalue == '0') { displaystatus = ''; statuscodes = '1';
			} else if (statusvalue == '1') { displaystatus = 'none'; statuscodes = '0'; }
		break;
		// FLASH BUTTON
		case 'bflash':
			statusvalue = getStatus(statusflash); if (statusvalue == '0') { displaystatus = ''; statusflash = '1'; } else if (statusvalue == '1') { displaystatus = 'none'; statusflash = '0'; }
		break;
		// VIDEOS BUTTON
		case 'bvideos':
			statusvalue = getStatus(statusvideos); if (statusvalue == '0') { displaystatus = ''; statusvideos = '1'; } else if (statusvalue == '1') { displaystatus = 'none'; statusvideos = '0'; }
			daHeight = 200;
		break;
		// COMMUNITY BUTTON
		case 'bcommu':
			statusvalue = getStatus(statuscommu); if (statusvalue == '0') { displaystatus = ''; statuscommu = '1'; } else if (statusvalue == '1') { displaystatus = 'none'; statuscommu = '0'; }
		break;
	}
	var divid = document.getElementById(divname);

    if (divid.style.display=="none") {
      divid.style.height = "0px";
      divid.style.display="";
      smoothHeight(divname, 0, daHeight, 100, 'o');
    } else {
      smoothHeight(divname, daHeight, 0, 100, divname);
    }

}
// #####################################################################
// CALCULATING HEIGHTS
// #####################################################################
function calcHeights(lbig,lsmall,ltarget) {
	var bigID = document.getElementById(lbig);
	var smallID = document.getElementById(lsmall);
	var targetH = 0;
	var smallH = smallID.offsetHeight;
	var bigH = bigID.offsetHeight;
	targetH = bigH - smallH;
	((document.getElementById) ? document.getElementById(ltarget) : eval("document.all['" +ltarget+ "']")).style.height = targetH + "px";
}
// #####################################################################
// SETTING HEIGHTS
// #####################################################################
function setHeightID(lfrom,ltarget) {
	var fromID = document.getElementById(lfrom);
	var fromH = fromID.offsetHeight;
	((document.getElementById) ? document.getElementById(ltarget) : eval("document.all['" + ltarget + "']")).style.height = fromH + "px";
}
function setHeight(lH,ltarget) {
	((document.getElementById) ? document.getElementById(ltarget) : eval("document.all['" + ltarget + "']")).style.height = lH + "px";
}
function clearOverflow(tag) {
	((document.getElementById) ? document.getElementById(tag) : eval("document.all['" + tag + "']")).style.overflow = "visible";	
}
/*
function test () {
	var l = document.getElementById('leftovers');
	var r = document.getElementById('rightovers');
	var lH = l.offsetHeight;
	var rH = r.offsetHeight;
	alert (lH + ' - ' + rH);

	  oldleft = document.getElementById('left');
	  oldleftH = oldleft.offsetHeight;
	  left = document.getElementById('left');
	  leftH = left.offsetHeight;
	  diffH = leftH - oldleftH
	  right = document.getElementById('right');
	  rightH = right.offsetHeight;
	  totalH = rightH + diffH;
	  alert (oldleftH + ' - ' + leftH + ' - ' + diffH + ' - ' + rightH + ' - ' + totalH);
	  // ((document.getElementById) ? document.getElementById('right') : eval("document.all['right']")).style.height = totalH + "px";

}
*/