// ***********************************************************************************
// Copyright (C) Radek HULAN and Aleto
// http://hulan.cz/ and http://aleto.ch/
// ***********************************************************************************

// This work is licensed under the Creative Commons Attribution License. To  view a
// copy of this license, visit http://creativecommons.org/licenses/by/1.0/  or send
// a letter to Creative Commons, 559 Nathan Abbott Way, Stanford,  California 94305,
// USA.

// use like onclick="return openwin(this.href)"
function openwin(url) {
  if( window.open(url,'','width=800,height=600,left=0,top=0,scrollbars=yes,location=yes,resizable=yes') ) return false; else return true;
}
 
// hideH2
function hideH2(itemtext,totalitems){
  var ele;
  for (var i = 1; i<=Number(totalitems); i++) 
	  if (ele=document.getElementById(itemtext+i+String("h2"))) ele.style.display="none";
}

// switchCells
function switchCells(currentitem,itemtext,totalitems){
  var ele;
  for (var i = 1; i<=Number(totalitems); i++)
    if ( i != Number(currentitem) ){
      if (ele=document.getElementById(itemtext+i)) ele.style.display='none';
      if (ele=document.getElementById(itemtext+i+'a')) ele.className='';
    } else {
      if (ele=document.getElementById(itemtext+i)) ele.style.display='block';
      if (ele=document.getElementById(itemtext+i+'a')) ele.className='active';
    }
}

// helper functions
var isXHTML;
function createNewEle(ele){
	if(isXHTML) 
		{ return document.createElementNS('http://www.w3.org/1999/xhtml', ele); }
	else 
		{ return document.createElement(ele); };
};	

function statMenu(menuStats,itemtext,desc,tid) {
	isXHTML=/html\:/.test(document.getElementsByTagName('body')[0].nodeName);
	var ele=document.getElementById(itemtext+'1');
	if (!ele) return;
	if (desc) ele.parentNode.insertBefore(createNewEle('h2'),ele).appendChild(document.createTextNode(desc));
	ele.previousSibling.style.display="block";
	var base=ele.parentNode.insertBefore(createNewEle('div'),ele);
	base.className='nav';
	if (tid) base.id=tid;
	for(var i=0; i<menuStats.length; i++) {
		var aEle;
		(aEle=base.appendChild(createNewEle('div')).appendChild(createNewEle('a'))).appendChild(document.createTextNode(menuStats[i]));
		aEle.id=itemtext+(i+1)+'a';
		aEle.href='javascript:switchCells('+(i+1)+',\''+itemtext+'\','+menuStats.length+')';
		aEle.title='Show '+menuStats[i]+' - without page reload';
	};
	hideH2(itemtext,menuStats.length);
	switchCells(1,itemtext,menuStats.length);
}


// article statistics
function initStatMenu() {
  var menuStatsItems=['Hot topics','Latest comments','Latest articles','Most karma','Most viewed'];
  statMenu(menuStatsItems,'articlestats','Statistics',false);
}

// search menu
function initSearchMenu() {
  var menuSearchItems=['Exports','Local search','Google search'];
  statMenu(menuSearchItems,'searchstats',false,'search');
}

// ***********************************************************************************
// Copyright (C) Radek HULAN
// http://hulan.cz/
// ***********************************************************************************

// category tree is initially not hidden
var categoryhidden = false;
// category groups fold
function categoryfold(){
	categoryhidden = true;
	var i=1;
	var ele;
	while (ele=document.getElementById('subcat'+i++)) ele.style.display='none';
}
// category groups fold
function categoryexpand(){
	categoryhidden=false;
	var i=1;
	var ele;
	while (ele=document.getElementById('subcat'+i++)) ele.style.display='block';
}
// category groups toogle
function categorytoogle(){
	if (categoryhidden)
		categoryexpand();
	else
		categoryfold();
}
function categoryswitch(j){
	if (categoryhidden) {
		categoryexpand();
		return;
	}
	var i=1;
	var ele;
	while (ele=document.getElementById('subcat'+i))
		if (i++==j) ele.style.display='block'; else ele.style.display='none';
	categoryhidden=true;
}
// Code below this is not Hulan stuff
// JavaScript Document
var timer, timer1, i, menuId;

var dom = document.getElementById ? true : false;
var ie4 = ((document.all) && (!dom)) ? true : false;
var ns4 = document.layers ? true : false;
var opera = navigator.userAgent.indexOf('Opera') != -1 ? true : false;
var dhtml = dom ? true : ie4 ? true : ns4 ? true : false;

//if (dhtml) document.write ('<style type="text/css">#scriptSupport {display: none;} #menuHolder {position: relative; visibility: hidden; z-index: 1;} #hiddenMenu1, #hiddenMenu2, #hiddenMenu3 {position: absolute; visibility: hidden;} #visibleMenu1 {position: absolute; left: 0px; top: 0px;} #visibleMenu2 {position: absolute; left: 51px; top: 0px;} #visibleMenu3 {position: absolute; left: 135px; top: 0px;} #hiddenMenu1 {left: 0px; top: 21px;} #hiddenMenu2 {left: 51px; top: 21px;} #hiddenMenu3 {left: 135px; top: 21px;}</style>');

function setVisibility(element,newVisibility)
{ 
  if (dhtml)
  {
    if (dom) document.getElementById(element).style.visibility = newVisibility;
    else if (ie4) document.all[element].style.visibility = newVisibility;
    else if (ns4) eval('document.' + element + '.visibility = newVisibility');
  }
}

function setBackground(element,index)
{ 
  color=new Array(2);
  color[0] = '';
  color[1] = 'rgb(255,140,38)';
  if (dhtml)
  {
    if (dom) document.getElementById(element).style.color = color[index];
    else if (ie4) document.all[element].style.color = color[index];
    else if (ns4) eval('document.' + element + '.color = color[index]');
  }
}

function menu()
{
  if (dhtml)
  {
    if (opera) for (i = 1; i <= 9; i++) document.getElementById('hiddenMenu' + i).style.top = 20;
    if (ie4) for (i = 1; i <= 9; i++) document.all['hiddenMenu' + i].style.top = 18;
    setVisibility('menuHolder','visible');
  }
}

function showMenu(id)
{
  if (dhtml)
  {
    clearTimeout(timer);
    clearTimeout(timer1);
    for (i = 1; i <= 9; i++)
    {
     if (i != id)
     {
      setVisibility((ns4 ? 'menuHolder.document.' : '') + 'hiddenMenu' + i,'hidden');
      setBackground((ns4 ? 'menuHolder.document.' : '') + 'visibleMenu' + i,'0');
     }
    }
    setVisibility((ns4 ? 'menuHolder.document.' : '') + 'hiddenMenu' + id,'visible');
    setBackground((ns4 ? 'menuHolder.document.' : '') + 'visibleMenu' + id,'1');
  }
}

function hideMenu(id)
{
  if (dhtml)
  {
    menuId = (ns4 ? 'menuHolder.document.' : '') + 'hiddenMenu' + id;
    buttonId = (ns4 ? 'menuHolder.document.' : '') + 'visibleMenu' + id;
    timer = setTimeout("setVisibility(menuId,'hidden')",1000);
    timer1 = setTimeout("setBackground(buttonId,'0')",1000);
  }
}

function dontHideMenu()
{
  if (dhtml)
  {
    clearTimeout(timer);
    clearTimeout(timer1);
  }
}

