if (location.pathname=='/') location='/index.html';

function $(e) {if(typeof e=='string')return document.getElementById(e);else return e}

var isIE = document.all;

var menu={
	STEPS:10,
	opened:null,
	start:function(li) {
		if (isIE) li.className += ' hover';
		/*var m=a.parentNode;
		if (m.opened) return;
		m.openTimer=self.setTimeout('menu.open($("'+m.id+'"))',300);*/
	},
	stop:function(li) {
		if (isIE) li.className = li.className.replace(/ hover\b/, '');
		/*var m=a.parentNode;
		if (m.opened) return;
		if (!!m.openTimer) {
			self.clearTimeout(m.openTimer);
			m.openTimer=0;
		}*/
	},
	toggle:function(a) {
		menu.stop(a);
		var m=a.parentNode;
		if (m.opened) menu.close(m);
		else menu.open(m);
	},
	openDirectly:function(m) {
		if (m.opened) return;
		var ul=m.getElementsByTagName('UL')[0];
		ul.style.cssText='position:static;display:block';
		menu.opened=m;
		m.opened=true;
	},
	open:function(m, phase, steps, base) {
		if (m.opened) return;
		var ul=m.getElementsByTagName('UL')[0];
		if (phase==undefined) {
			if (!!menu.opened && m.id!=menu.opened.id) try {menu.close(menu.opened)}catch(e){}
			ul.style.cssText='position:absolute;top:-9999px;display:block';
			phase=menu.STEPS;
			steps=menu.STEPS;
			base=ul.clientHeight;
			ul.style.cssText='position:static;display:block;overflow:hidden';
		} else {
			phase--;
		}
		var h=Math.min(base,Math.floor(base*(Math.sin(((base-phase*base/steps)/base*180-90)*Math.PI/180)+1)/2));
		ul.style.height=h+'px';
		if (phase > 0) {
			self.setTimeout('menu.open($("'+m.id+'"), '+phase+', '+steps+', '+base+')', 30);
		}
		if (phase==0) {
			menu.opened=m;
			m.opened=true;
		}
	},
	close:function(m, phase, steps, base) {
		if (!m.opened) return;
		var ul=m.getElementsByTagName('UL')[0];
		if (phase==undefined) {
			ul.style.cssText='position:absolute;display:block';
			phase=menu.STEPS;
			steps=menu.STEPS;
			base=ul.clientHeight;
			ul.style.cssText='position:static;display:block;overflow:hidden';
		} else {
			phase--;
		}
		var h=base-Math.min(base,Math.floor(base*(Math.sin(((base-phase*base/steps)/base*180-90)*Math.PI/180)+1)/2));
		ul.style.height=h+'px';
		if (phase >= 0) {
			self.setTimeout('menu.close($("'+m.id+'"), '+phase+', '+steps+', '+base+')', 30);
		}
		if (phase==0) {
			ul.style.cssText='display:none;height:auto';
			m.opened=false;
		}
	},
	activate:function() {
		var li=$('nav').getElementsByTagName('LI');
		for (var i=0;i<li.length;i++) {
			if (li[i].id.indexOf('m_')>-1) {
				li[i].onmouseover=function(){menu.start(this)};
				li[i].onmouseout=function(){menu.stop(this)};
			}
		}
	}
}

MAILTO='mail' + 'to:';
AT='@'; DOT='.';
DOMAIN='av-hansea' + DOT + 'de';
function composeMail(elem) {
	if (!elem) return false;
	var mailAddr=elem.getAttribute('mailAddr');
	var mailDomain=elem.getAttribute('mailDomain');
	if (!mailDomain) mailDomain=DOMAIN;
	if (mailAddr && mailAddr!='') elem.setAttribute('href', MAILTO + mailAddr + AT + mailDomain, 'false');
	return true;
}



function alternateCells() {
	try {
		var cells=document.getElementsByTagName('td');
		var lastTable=null;
		var lastRow=null;
		var t=0;
		for (var i=0; i < cells.length; i++) {
			var table=cells[i].parentNode.parentNode.parentNode;
			var row=cells[i].parentNode;
			if (table != lastTable) {
				lastTable=table;
				t=0;
			}
			if (row != lastRow) {
				lastRow=row;
				t++;
			}
			if (table.className.indexOf('box') > -1 && table.className.indexOf('alternating') > -1) {
					cells[i].className=(t%2==1?'boxContent':'boxContent alternating');
			}
		}
	} catch(e) {}
}


function transformSemProg() {
	var prog=$('semprog');
	if (!prog) return;
	var dls=prog.getElementsByTagName('dl');
	var html=[]; 
	var nextProg=[];
	var threeNext=3;
	var link='';
	try {
		for (var l=0; l < dls.length; l++) {
			var dts=dls[l].getElementsByTagName('dt');
			var dds=dls[l].getElementsByTagName('dd');
			
			var jahr=parseInt(dls[l].getAttribute('Jahr'));
			var monat=parseInt(dls[l].getAttribute('Monat'));
			var monat2='&nbsp;', monat3='&nbsp;';
			switch (monat) {
				case 01:  monat2='Januar'; monat3='Jan'; break;
				case 02:  monat2='Februar'; monat3='Feb'; break;
				case 03:  monat2='März'; monat3='Mär'; break;
				case 04:  monat2='April'; monat3='Apr'; break;
				case 05:  monat2='Mai'; monat3='Mai'; break;
				case 06:  monat2='Juni'; monat3='Jun'; break;
				case 07:  monat2='Juli'; monat3='Jun'; break;
				case 08:  monat2='August'; monat3='Aug'; break;
				case 09:  monat2='September'; monat3='Sep'; break;
				case 10:  monat2='Oktober'; monat3='Okt'; break;
				case 11:  monat2='November'; monat3='Nov'; break;
				case 12:  monat2='Dezember'; monat3='Dez'; break;
				case 0102:monat2='Januar/Februar'; monat3='Jan/Feb'; break;
				case 0203:monat2='Februar/März'; monat3='Feb/Mär'; break;
				case 0304:monat2='März/April'; monat3='Mär/Apr'; break;
				case 0405:monat2='April/Mai'; monat3='Apr/Mai'; break;
				case 0506:monat2='Mai/Juni'; monat3='Mai/Jun'; break;
				case 0607:monat2='Juni/Juli'; monat3='Jun/Jul'; break;
				case 0708:monat2='Juli/August'; monat3='Jul/Aug'; break;
				case 0809:monat2='August/September'; monat3='Aug/Sep'; break;
				case 0910:monat2='September/Oktober'; monat3='Sep/Okt'; break;
				case 1011:monat2='Oktober/November'; monat3='Okt/Nov'; break;
				case 1112:monat2='November/Dezember'; monat3='Nov/Dez'; break;
				case 1201:monat2='Dezember/Januar'; monat3='Dez/Jan'; break;
				case 99:  monat2=dls[l].getAttribute('title'); monat3=monat2; break;
			}
			link+='<a href="#'+monat2+'">'+monat3+'</a>';
			
			var s='';
			s+='<div id="'+monat2+'" class="shadow" style="margin:10px 0px; width:100%">';
			s+='<table class="box alternating" cellspacing="0" cellpadding="0" width="100%" border="0">';
			s+='<thead><tr><th colspan="2">'+monat2+'</th></tr></thead><tbody>';
			for (var d=0; d < dts.length; d++) {
				if (monat > 100) monat = parseInt(monat / 100);
				var tag = parseInt(dts[d].getAttribute('Tag'));
				var datum = new Date();
				datum.setFullYear(jahr,monat-1,tag);
				var jetzt = new Date();
				if (jetzt <= datum && threeNext > 0 && monat != 99) {
					nextProg[nextProg.length] = {date:datum, when:dts[d].innerHTML, what:dds[d].innerHTML};
					threeNext--;
				}
				s+='<tr><td class="boxContent" width="25%">'+dts[d].innerHTML+'</td><td class="boxContent" width="75%">'+dds[d].innerHTML+'</td></tr>';
			}
			s+='</tbody></table></div>';
			html[html.length]=s;
		}
	} catch(e) {alert(e);}
	var buf=[];
	for (var h=0; h < html.length; h++) {
		buf.push('<p class="buttons">'+link+'</p>');
		buf.push(html[h]);
	}
	prog.innerHTML=buf.join('');
	top.nextProg=nextProg;
}

ABBR=[
	/c\.t\./g, 'cum tempore: mit Akademischer Viertelstunde, d.h. (ca.) eine Viertelstunde später als angegeben', 'c.t.',
	/s\.t\./g, 'sine tempore: ohne Akademischer Viertelstunde, d.h. pünktlich', 's.t.',
	/e\.v\./g, 'eine verehrliche: Ehrenbezeichnung für Verbindungen. Es entspricht in etwa dem &raquo;sehr geehrt&laquo; für Personen.', 'e.v.',
	/e\.s\.v\./g, 'eine sehr verehrliche: Ehrenbezeichnung für sehr alte Verbindungen. Es entspricht in etwa dem &raquo;sehr geehrt&laquo; für Personen.', 'e.s.v.',
	/\bBbr\b/g, 'Bundesbruder: ein Mitglied unserer Verbindung. So bezeichnen wir uns untereinander.', 'Bbr',
	/\bAH\b/g, 'Alter Herr: ein nicht mehr studierendes, im Beruf stehendes Mitglied', 'AH',
	/\bAHAH\b/g, 'Alte Herren: nicht mehr studierende, im Beruf stehende Mitglieder, Plural von AH', 'AHAH',
	/K\.D\.St\.V\./g, 'Katholische deutsche Studentenverbindung', 'K.D.St.V.',
	/convent/g, 'Mitgliederversammlung', 'convent',
	/Convent/g, 'Mitgliederversammlung', 'Convent',
	/kneipe/g, 'trad. studentische Feier', 'kneipe',
	/\(at\)/g, 'at', '@'
];

var doAbbreviate = true;

function addAbbrTooltips() {
	if (!doAbbreviate) return;
	var c=$('content');
	var s=c.innerHTML, i=0, IE=!!(window.attachEvent&&!window.opera);
	var tag=[IE?'<span class="abbr"':'<abbr', IE?'</span>':'</abbr>']
	while (i < ABBR.length) {
		s=s.replace(ABBR[i], tag[0]+' title="'+ABBR[i+1]+'">'+ABBR[i+2]+tag[1]);
		i+=3;
	}
	c.innerHTML=s;
}

function init() {
	menu.activate();
	try{document.title=document.getElementsByTagName('h1')[0].innerHTML;}catch(e){}
	addAbbrTooltips();
	transformSemProg();
	alternateCells();
}