// JavaScript Document

var smenu = new Object();
var initMenuY;
var scrollStep = 1;

function init() {
	smenu = $('content_side');
	smenu = smenu.getElementsByTagName('ul')[0];
	initMenuY = getElementPosition(smenu).top;
}

function clearList() {
	var list = smenu.getElementsByTagName('li');
	for (i=0; i<list.length; i++) {
		list[i].className = '';
	}
}

function selected(obj) {
	clearList();
	obj.parentNode.className = "selected";
}

function addListener (e, eventType, func, cap) {
   if(e.addEventListener) {
      e.addEventListener(eventType, func, cap);
   }
   else if(e.attachEvent) {
      e.attachEvent('on' + eventType, func);
   }
   else {
      window.alert("Sorry... Please use Internet Explorer or Firefox.");
      return false;
   }
}

function setMouseAction (obj) {
	if (typeof(obj) != "object") obj = $(obj);
	
	var submenu = obj.getElementsByTagName("ul");
	for (var t=0; t<submenu.length; t++) {
		submenu[t].parentNode.onmouseover = function() {
			this.getElementsByTagName('ul')[0].style.display = "block";
		}
		submenu[t].parentNode.onmouseout  = function() {
			this.getElementsByTagName('ul')[0].style.display = "none";
		}
	}
	
}

function getElementPosition(element) {
	var offsetTrail = (typeof element == 'string') ? $(element) : element;
	var offsetLeft = 0;
	var offsetTop = 0;
	
	while (offsetTrail) {
		offsetLeft += offsetTrail.offsetLeft;
		offsetTop += offsetTrail.offsetTop;
		offsetTrail = offsetTrail.offsetParent;
	}
	
	if (navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != "undefined") {
		offsetLeft += document.body.leftMargin;
		offsetTop += document.body.topMargin;
	}
	
	return ({left: offsetLeft, top: offsetTop});
} 

function scrollToAncher(obj) {
	if (typeof(obj) != "object") obj = $(obj);
	from = document.body.scrollTop || document.documentElement.scrollTop;
	to   = getElementPosition(obj).top;
	scrollToPoint(from, to);
}

function scrollToTop() {
    if(navigator.appName == "Microsoft Internet Explorer" && document.compatMode == "CSS1Compat"){
        var ScrollPs = document.body.parentNode.scrollTop;
    }
    else {
        var ScrollPs = document.body.scrollTop;
    }
   
	for (i = 0; i < 90; i++) {
		scrollTo(0, ScrollPs * (1 - Math.sin(i * Math.PI / 180)));
	}
	scrollTo(0, 0);
	setMenuToTop();
	clearList();
}

function setMenuToTop() {
	smenu.style.top = initMenuY + "px";
}

function scrollToPoint (from, to) {
	var distance = to - from;
	for (i = 0; i < 90; i++) {
		scrollTo(0, from + distance * Math.sin(i * Math.PI / 180));
	}
	scrollTo(0, to);
	var top = document.body.scrollTop || document.documentElement.scrollTop;
	smenu.style.top = top + "px";
}

addListener(window, 'load', init, false);