function initTabs()
{
	var sets = document.getElementsByTagName("ul");
	for (var i = 0; i < sets.length; i++)
	{
		if (sets[i].className.indexOf("tabset") != -1)
		{
			var tabs = [];
			var links = sets[i].getElementsByTagName("a");
			for (var j = 0; j < links.length; j++)
			{
				if (links[j].className.indexOf("tab") != -1)
				{
					tabs.push(links[j]);
					links[j].tabs = tabs;
					var c = document.getElementById(links[j].href.substr(links[j].href.indexOf("#") + 1));

					//reset all tabs on start
					if (c) if (links[j].className.indexOf("active") != -1) c.style.display = "block";
					else c.style.display = "none";

					links[j].onclick = function ()
					{
						var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
						if (c)
						{
							//reset all tabs before change
							for (var i = 0; i < this.tabs.length; i++)
							{
								document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1)).style.display = "none";
								this.tabs[i].className = this.tabs[i].className.replace("active", "");
							}
							this.className += " active";
							c.style.display = "block";
							return false;
						}
					}
				}
			}
		}
	}
}

function initHeight(){
	var _el = document.getElementsByTagName('div');
	for(var i = 0; i  < _el.length; i++){
		if(_el[i].className.indexOf('init-cols') != -1){
			var _tmp = 0;
			var _box = _el[i].getElementsByTagName('div');
			for (var k = 0; k  < _box.length; k++){
				if(_box[k].className.indexOf('init') != -1){
					if(_tmp <= _box[k].offsetHeight){
						_tmp = _box[k].offsetHeight;
					}
				}
			}
			for (var k = 0; k  < _box.length; k++){
				if(_box[k].className.indexOf('init') != -1){
					_box[k].style.height = _tmp - 10 + "px";
				}
			}
		}
	}
}

function getAbsolutePos(obj) {
	var posTop = 0;
	var posLeft = 0;
	while (obj.offsetParent) {
		posTop += obj.offsetTop;
		posLeft += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	var _res = new Object();
	_res.posTop = posTop;
	_res.posLeft = posLeft;
	return _res;
}

function initCalendarPopups() {
	var _tables = document.getElementsByTagName("table");
	for (var i = 0; i < _tables.length; i++)
	{
		if (_tables[i].className.indexOf("calendar-table") != -1)
		{
			var _calendar = _tables[i];
			var _links = _calendar.getElementsByTagName("a");
			for (var j = 0; j < _links.length; j++) {
				if (_links[j].className.indexOf("popup-opener") != -1) {
					_links[j].onclick = function () {
						var _popupHolder = this.parentNode;
						var _popup = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));

						if(_popup) {
							// find parent cell location
							while(_popupHolder) {
								if(_popupHolder.tagName != "TD") _popupHolder = _popupHolder.parentNode;
								else break;
							}
							var _popupTop = getAbsolutePos(_popupHolder).posTop;
							var _popupLeft = getAbsolutePos(_popupHolder).posLeft;

							// show/hide popup
							_popup.style.top = (_popupTop) + "px";
							_popup.style.left = (_popupLeft+1) + "px";
							_popup.style.display = "block";
							if(_curpopup.className.indexOf("active")<0)
								_curpopup.className += " active";

						}
						return false;
					}
				}
			}
		}
	}

	// popup hide code
	var _popups = document.getElementsByTagName("div");
	for (var i = 0; i < _popups.length; i++)
	{
		if (_popups[i].className.indexOf("popup") != -1)
		{
			var _curpopup = _popups[i];
			var _closelinks = _curpopup.getElementsByTagName("a");
			for (var j = 0; j < _closelinks.length; j++) {
				if (_closelinks[j].className.indexOf("close") != -1) {
					_closelinks[j].onclick = function() {
						_curpopup.style.display = "none";
						_curpopup.className= _curpopup.className.replace("active","");
						return false;
					}
				}
			}
		}
	}
	return false;
}

function initDropMenu(){
	var _slideSpeed = 250;
	$("table.messages-table").each(function(){
		var _curtable = $(this);
		$("table.messages-table td").each(function()
		{
			var _slideholder = $(this);
			$(this).find("a.roll").click(function() {
				// begin slide current element
				var _curlink = $(this);
				var _collapseonly = false;
				_slideelem = _slideholder.find("div.descr").eq(0);
				if(_slideelem.hasClass("open")) {
					_collapseonly = true;
					_slideelem.slideUp(_slideSpeed,function(){
						_slideelem.removeClass("open")
						_curlink.removeClass("open-roll");
					});
				}
				else
					_slideelem.slideDown(_slideSpeed,function(){
						_slideelem.addClass("open");
						_curlink.addClass("open-roll");
					});

				// hide all others
				if(!_collapseonly) {
					$("table.messages-table div.descr.open").each(function(){
						var _this = $(this);
						$(this).slideUp(_slideSpeed,function(){
							_this.removeClass("open");
							_this.parent().find("a.roll").removeClass("open-roll");
						});
					});
				}
				return false;
			});
		});
	});
}

function initPage(){
	initHeight();
	initTabs();
	initCalendarPopups();
	initDropMenu();
}

if (window.addEventListener) window.addEventListener("load", initPage, false);
else if (window.attachEvent) window.attachEvent("onload", initPage);
