var W3CDOM = document.createElement && document.getElementsByTagName;
var relatedTimer;

/* debug output */
function debug (string)
{
	$('#jsdebug').append('<span>'+ string + ' &brvbar; <span>'); 
}



/*------------------------------------------------
  function to add an onload handler
-------------------------------------------------*/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}


/*------------------------------------------------
 install comment box handler
-------------------------------------------------*/
function initHoverHander()
{
	var hoveractors = $('.act_hover');
	var hoverpics = $('.pic_hover');
	var nohoverpic = $('.pic_nohover')[0];
	
	if (! hoveractors || ! hoveractors[0] )
	{
		// alert ("no hover actors found");
		return;
	}
	
	if (! hoverpics || ! hoverpics[0] )
	{
		alert ("no hover pictures found");
		return;
	}
	
	if (! nohoverpic  )
	{
//		alert ("no nohover picture found");
//		return;
	}
	
	var numpic = hoverpics.length;
	var numact = hoveractors.length;
	
	if ( numpic != numact )
	{
		alert ("number of hoveractors does not match number of pictures");
		return;
	}

  for ( i = 0; i < numpic; i++ )
	{
		
		hoveractors[i].relatedElement = hoverpics[i];
//		hoveractors[i].relatedElement1 = nohoverpic;
		
		/* addEventSimple(hoveractors[i],"mouseover", mouseOverHandler);
		addEventSimple(hoveractors[i],"mouseout", mouseOutHandler); */
		hoveractors[i].onmouseover = mouseOverHandler; /* now "this" is workin in handlers */
		hoveractors[i].onmouseout = mouseOutHandler; /* now "this" is workin in handlers */
	}
}

/*------------------------------------------------
  comment box handler
-------------------------------------------------*/
function mouseOverHandler(e) {
  var targ = this;
		
	if ( targ.relatedElement ) {
		//$(targ.relatedElement1).addClass('vanish');
		$(targ.relatedElement).addClass('hover');
		$(targ).addClass('hover');
	}
}

function mouseOutHandler(e) {
  var targ = this;
  if ( targ.relatedElement ) {
		$(targ.relatedElement).removeClass('hover');
		//$(targ.relatedElement1).removeClass('vanish');
		$(targ).removeClass('hover');
	}
}

/*------------------------------------------------
  functions for mark active
-------------------------------------------------*/
function addEventSimple(obj,evt,fn) {
  if (obj.addEventListener)
    obj.addEventListener(evt,fn,false);
  else if (obj.attachEvent)
    obj.attachEvent('on'+evt,fn);
  }

function removeEventSimple(obj,evt,fn) {
	if (obj.removeEventListener)
		obj.removeEventListener(evt,fn,false);
	else if (obj.detachEvent)
		obj.detachEvent('on'+evt,fn);
}


function markActiveItems()
{
	var tag= document.getElementById('bg');
	if (tag) {
		// alert( tag.className);
		var classes= tag.className.split(' ');
		for ( var i=0; i < classes.length; i++ )
		{
			if ( classes[i].charAt(0) != 'C' ) continue;
			// classes[i][0] = 'A'; works not ???
			// alert( 'A'+ classes[i].substring(1));
			tag= document.getElementById('A'+ classes[i].substring(1)).getElementsByTagName('a');
			if ( ! tag[0].className.length )
  			tag[0].className ='active';
			else
			  tag[0].className +=' active';
		}
	}
}

/*------------------------------------------------
  add an function for onload
-------------------------------------------------*/
addLoadEvent(
  function() {
		markActiveItems();
		initHoverHander();
	}
);
