function hideElements() {
  var x = true, n = 0;
  while (x) {
    n++;
  	try {
      var oTag = document.getElementById("tag"+n);
      if (oTag != null && oTag != '') {
      	var oCont = document.getElementById("contents"+n);
      	oTag.style.cursor = 'pointer';
      	oCont.status = 'up';
      	oCont.origHeight = oCont.offsetHeight;
      	oCont.style.display = 'none';
      } else { x = !x; }
    } 
    finally {
      oTag = oCont = '';
    }
  }
}
function showContents(oID, type) {
	var oCont = document.getElementById("contents"+oID);
	oCont.slideType = type;
	if (oCont.status == 'up')
		oCont.style.display = 'block';
	startSlide(oCont);
}
function startSlide(evtObj) {
	var ll_frames = 20, ll_frame_num = 0;
	var ll_start, ll_end, ll_dist;
	
	if (evtObj.status == 'up') {
		ll_start = 0;
		ll_end = evtObj.origHeight;
		evtObj.status = 'going_down';
	}
	else {
		ll_start = evtObj.origHeight;
		ll_end = 0;
		evtObj.status = 'going_up';
	}

	if (evtObj.slideType == 'meta')
		ll_frames = Math.ceil(evtObj.origHeight/20);
	
	ll_dist = (ll_end - ll_start)/(ll_frames - 1);
	
	//Hide all the children objects
	toggleContentDisplay(evtObj, false);
	performSlide(evtObj, ll_start, ll_dist, ll_frames, ll_frame_num);
}
function performSlide(evtObj, al_start, al_dist, al_frames, al_frame_num) {
	if (al_frame_num < al_frames) {
		evtObj.style.height = (al_start + al_dist * al_frame_num) + 'px';
		//evtObj.style.left = (al_start + al_dist * al_frame_num) + 'px';
		al_frame_num++;
		return setTimeout(function(){performSlide(evtObj, al_start, al_dist, al_frames, al_frame_num)}, 10);
	}
	else {
		if (evtObj.status == 'going_up') {
			evtObj.status = 'up';
			evtObj.style.display = 'none';
			evtObj.style.height = '';
		}
		else {
			evtObj.status = 'down';
			toggleContentDisplay(evtObj, true);
		}
	}
}
function toggleContentDisplay(evtObj, ab_show) {
	var ls_display = 'block';
	
	if (ab_show == false)
		ls_display = 'none';
		
	for (var x = 0;x < evtObj.childNodes.length;x++) {
		if (evtObj.childNodes[x].nodeName.substring(0, 1) != '#')
			evtObj.childNodes[x].style.display = ls_display;
	}
}