var oldObj=null;
var oldClass=null;
var oldParentClass=null;
var oldParent=null;

//http://parentnode.org/javascript/default-arguments-in-javascript-functions/
Function.prototype.defaults = function()
{
  var _f = this;
  var _a = Array(_f.length-arguments.length).concat(
    Array.prototype.slice.apply(arguments));
  return function()
  {
    return _f.apply(_f, Array.prototype.slice.apply(arguments).concat(
      _a.slice(arguments.length, _a.length)));
  }
}


function hasClassName(el, name){
	var re = new RegExp('(^| )' + name + '( |$)');
	if(re.test(el.className)) {
		return true;
	}
	return false;
}

var doCleanup = function(evt, force) {
	evt=evt?evt:(window.event?window.event:'');
	var s=evt.currentTarget?evt.currentTarget:evt.srcElement;
	if(s.tagName=='span' || s.tagName=='SPAN')
		s=s.parentNode;
	if(s.tagName=='a' || s.tagName=='A')
		s=s.parentNode;
	if(oldObj!=null&&(!hasClassName(s, oldObj.id) || force)) {
		oldObj.style.visibility='';
		oldObj.parentNode.style.visibility='';
		oldObj.style.backgroundColor='';
		oldObj.style.color='';
		oldObj.getElementsByTagName('a')[0].style.color='';
		//oldObj.parentNode.style.backgroundColor='';
		oldObj=null;
		document.getElementById('contentFrame').style.display='none';
		if(document.getElementById('contentFrame').className!='contentFrame')
			document.getElementById('contentFrame').parentNode.style.display='none';
		/*try {
			evt.stopPropagation() 
		} catch(e) {
			evt.cancelBubble=true;
		}*/
	}	
}.defaults(false);

function doMouseOver(evt) {
	evt=evt?evt:(window.event?window.event:'');
	var s=evt.currentTarget?evt.currentTarget:(evt.srcElement.tagName!='LI'&&evt.srcElement.tagName!='li'?evt.srcElement.parentNode:evt.srcElement);
	if(s!=oldObj) {
		doCleanup(evt, true);	
		var d=document.getElementById('contentFrame');
		if(s.tagName=='A' || s.tagName=='a')
			s=s.parentNode;
		var sds=s.getElementsByTagName('div');
		var sd;
		if(sds.length) {
			sd=sds[0];

			d.parentNode.style.display='block';
			d.style.display='block';

			d.innerHTML=sd.innerHTML;
			oldObj=s;
			s.style.visibility='visible';
			s.style.backgroundColor='#7f8288';
			s.style.color='white';
			s.getElementsByTagName('a')[0].style.color='white';
			s.parentNode.style.visibility='visible';
			//s.parentNode.style.backgroundColor='#7f8288';
		}
	}
	try {
		evt.stopPropagation() 
	} catch(e) {
		evt.cancelBubble=true;
	}
}

