function getElementsByClassName(classname,tag) {
 if(!tag) tag = "*";
 var anchs =  document.getElementsByTagName(tag);
 var total_anchs = anchs.length;
 var regexp = new RegExp('\\b' + classname + '\\b');
 var class_items = new Array()
 for(var i=0;i<total_anchs;i++) {
  var this_item = anchs[i];
  if(regexp.test(this_item.className)) {
   class_items.push(this_item);
  }
 }
 return class_items;
}


function initAnimation(){
	m = getElementsByClassName('link','div');
	for(i=0;i<m.length;i++){
		m[i].linkSpeed = 3;
		m[i].upTime = m[i].downTime = 0;
		m[i].linkHeight = -m[i].parentNode.offsetHeight;
		m[i].id = 'animationid'+i;
		m[i].start = m[i].offsetTop;
		links = m[i].getElementsByTagName('a');
		if(links.length == 1){
			var a = document.createElement('a');
			a.setAttribute('href',links[0].href);
			a.className = 'hidden';
			a.innerHTML = links[0].innerHTML;
			a.tabIndex = -1;
			m[i].appendChild(a);
		}
		m[i].onmouseover = function(e){
			if(!e) e = event;
			if (isMouseLeaveOrEnter(e, this)) moveLinkUp(this.id);
		}
		m[i].onmouseout = function(e){
			if(!e) e = event;
			if (isMouseLeaveOrEnter(e, this)) moveLinkDown(this.id);
		}
	}
}
function moveLinkUp(id){
	var obj = document.getElementById(id);
	clearTimeout(obj.downTime);
	var linkY = obj.offsetTop;
	var linkDistance,linkStep;
	if(linkY > obj.linkHeight){
		linkDistance = linkY -obj.linkHeight;
		if(linkDistance>obj.linkSpeed)
			linkStep = parseInt(linkDistance/obj.linkSpeed);
		else
			linkStep = 1;
   	 	linkY =  linkY - linkStep;
		obj.style.top = linkY +'px';
		obj.upTime = setTimeout('moveLinkUp(\''+id+'\')', 20);
	}
}
function moveLinkDown(id){
	var obj = document.getElementById(id);
	clearTimeout(obj.upTime);
	var linkY = obj.offsetTop;
	var linkDistance,linkStep;
	if(linkY<obj.start){
		linkDistance = -linkY;
		if(linkDistance>obj.linkSpeed)
		linkStep=parseInt(linkDistance/obj.linkSpeed);
		else
		linkStep=1;
   	 	linkY =  linkY+linkStep;
		obj.style.top = linkY+'px';
		obj.downTime = setTimeout('moveLinkDown(\''+id+'\')', 20);
	}
}

function isMouseLeaveOrEnter(e, handler) { 
	if (e.type != 'mouseout' && e.type != 'mouseover') 
	return false; 
	var reltg = e.relatedTarget ? e.relatedTarget :
	 e.type == 'mouseout' ? e.toElement : e.fromElement; 
	while (reltg && reltg != handler) 
	reltg = reltg.parentNode; 
	return (reltg != handler); 
}
function dropShadow(){
	m = getElementsByClassName('dropshadow','span');
		
	for(i=0;i<m.length;i++){
		var a = document.createElement('span');
		a.innerHTML = m[i].innerHTML;
		a.className = 'shadow';
		a.style.top = (m[i].offsetTop +1) + 'px';
		a.style.left = (m[i].offsetLeft +1) + 'px';
		m[i].parentNode.appendChild(a);
		if(m[i].parentNode.parentNode.parentNode.parentNode.id == 'menu')
			m[i].parentNode.style.display = 'inline';
	}
}
