// Datei: oj,js
// Autor: Martin Plangg
// Zweck: Hauptfunktionen


function ofWriteMail(iName, iDomain)
{
	document.write("<a href=\"javascript:ofOpenMail('" + iName + "', '" + iDomain + "')\">" + iName + "@" + iDomain + "</a>");
}

function ofOpenMail(iName, iDomain)
{ 
	window.location.replace('mailto:' + iName + '@'+ iDomain); 
} 


function ofCreateSmallMenuMainIndex(iMarked)
{
	ofWriteSmallMenuHeadBlock(
		"", iMarked, "Menü", new Array(
		"Startseite", "./", 0,
		"Geschichte der<br>Feuerwehr Bludesch", "geschichte.htm", 0),
		true
	);
}


var ofMainTabContMinHeight = 600;
var ofMainTabContSubHeight = 145;


// Ausgabe Menü oben
function ofWriteHeadBlock(iMenuNum, sDir)
{
//	var sDir = "";
//	if (sDir[sDir.length-1] != "/") sDir += "/";

	if(top!=self) top.location=self.location;

	if (!sDir) {
		sDir = "";
		if (iMenuNum > 0) sDir = "../";
	} else {
		if (sDir[sDir.length-1] != "/") sDir += "/";
	}

	//Bild Links oben wählen
	switch (iMenuNum) {
	case 1:	logoImg = "images/logo_el_rot.jpg";
		break;
	case 4:	logoImg = "images/logo_jugend.png";
		break;
	default: // logoImg = "images/logo.jpg";
		logoImg = "images/logo_flames.jpg";
	}
	document.writeln(
		  '<div align="center">'
		+ '<table class="ofMainTab" vspace="0" hspace="0"><tr>'
		+ '<td class="ofMainTabMenuTd">'
		+ '<table width="100%" frame="void" border="0" cellpadding="0" cellspacing="0">'
		+ '<colgroup><col width="200"><col width="500"><col width="80"><col></colgroup>'
		+ '<tr><td rowspan="2">'
		+ '<img src="' + sDir + logoImg + '" alt="LOGO" height="75" width="200"></td>'
		+ '<td height="45" vspace="0" hspace="0">'
		+ '<img src="' + sDir + 'images/top_logo3.gif" height="49" width="550"></td>'
		+ '<td height="45" vspace="0" hspace="0">'
		+ '<img src="' + sDir + 'images/bg_logo.gif" height="49" width="1">'
		+ '</td>'
		+ '<td height="45" vspace="0" hspace="0">&nbsp;</td>'
		+ '</tr><tr>'
		+ '<td height="25" colspan="2" valign="center" class="ofMainMenu" nowrap vspace="0" hspace="0">'
		+ ofGenerateMenuEntry("Start", sDir + "./", (iMenuNum == 0)) + "|"
		+ ofGenerateMenuEntry("Eins&auml;tze", sDir + "einsaetze/", (iMenuNum == 1)) + "|"
		+ ofGenerateMenuEntry("Termine", sDir + "termine/#today", (iMenuNum == 2)) + "|"
		+ ofGenerateMenuEntry("Mitglieder", sDir + "mitglieder/", (iMenuNum == 3)) + "|"
		+ ofGenerateMenuEntry("Jugend", sDir + "jugend/", (iMenuNum == 4)) + "|"
		+ ofGenerateMenuEntry("Ger&auml;te", sDir + "geraete/", (iMenuNum == 5)) + "|"
		+ ofGenerateMenuEntry("Galerie", sDir + "galerie/", (iMenuNum == 9))
		+ '</td><td class="ofMainMenu" vspace="0" hspace="0">&nbsp;</td>'
		+ '</tr></table>'
		+ '</td></tr><tr><td class="ofMainTabContent">');
	ofWriteMainTabDivElementHead();
}

function ofGenerateMenuEntry(iText, iLink, iMarked)
{
	var retStr = '&nbsp;<a href="' + iLink + '">&nbsp;'
		   + iText + '&nbsp;</a>&nbsp;';
	
	if (iMarked) retStr = '<span class="ofMainMenuMarked">' + retStr
		+ '</span>';
		
	return(retStr);
}

function ofWriteTailBlock(iMenuNum, sDir)
{
//	var sDir = "";
//	if (iMenuNum > 0) sDir = "../";
	
	if (!sDir) {
		sDir = "";
		if (iMenuNum > 0) sDir = "../";
	} else {
		if (sDir[sDir.length-1] != "/") sDir += "/";
	}

	ofWriteMainTabDivElementTail();
	document.writeln(
		  '</td></tr><tr><td class="ofFootLine">'
		+ '<table width="100%" class="ofFootLineTab"><tr>'
		+ '<td class="ofFootLine" align="left">&nbsp;'
		+ '<a href="javascript:ofOpenMail(\'info\',\'feuerwehr-bludesch.com\');">'
		+ '<img width=14 height=10 src="' + sDir + 'images/email-y.gif"></a>'
		+ '&nbsp;Freiwillige Feuerwehr Bludesch&nbsp;'
		+ '</td><td class="ofMainMenu" align="right">'
//		+ '<img src="' + sDir + 'images/new3.gif">&nbsp;'
//		+ ofGenerateMenuEntry("Links", sDir + "links.htm", (iMenuNum == -3)) + "|"
		+ '&nbsp;<a href="http://www.all-inkl.de/webmail" target="_blank">&nbsp;Webmail&nbsp;</a>&nbsp;|'
		+ '&nbsp;<a href="/forum" target="_blank">&nbsp;Forum&nbsp;</a>&nbsp;|'
		+ ofGenerateMenuEntry("G&auml;stebuch", sDir + "gaestebuch.htm", (iMenuNum == -1)) + "|"
		+ ofGenerateMenuEntry("Kontakt", sDir + "kontakt.htm", (iMenuNum == -2))
		+ '</td></tr></table>'
		+ '</td></tr></table></div>');


	if (location.protocol == "http:") {
//		ofShowClock();
//		ofDeactivateRightClick();
	}
}

function ofWriteMainTabDivElementHead()
{
//	var h = ofGetWindowHeight();
	
//	if (h > (ofMainTabContMinHeight - ofMainTabContSubHeight))
//	{
//		document.writeln(
//			  '<div style="position:relative; height:'
//			+ h + 'px; overflow:auto;">')
//	} else {
		document.writeln('<div>');
//	}	
}



function ofWriteMainTabDivElementTail()
{
	document.writeln("</div>");
}


// Fensterhöhe ermitteln
function ofGetWindowHeight()
{
	var retHeight = 0;
	if (window.innerHeight) retHeight = window.innerHeight;
	else if (document.body && document.body.offsetHeight)
		retHeight = document.body.offsetHeight;

	return(Math.max(ofMainTabContMinHeight, retHeight) - ofMainTabContSubHeight);
}


/* ****************************************************************************** */
// Rahmen schreiben
function ofWriteShadeBorderHead(iPicPath, iWidth, iMarginOut)
{
	if (!iPicPath) iPicPath = "";
	if (iPicPath != "" && iPicPath[iPicPath.length-1] != "/") 
		iPicPath = iPicPath + "/images/";
	else
		iPicPath = iPicPath + "images/";

	if (!iMarginOut || iMarginOut == "") iMarginOut = "3px 1px 3px 1px";
	if (!iWidth || iWidth == "") iWidth = "100%";
	
	bWithS = "5"		// Border Width Small
	bWithL = "10"		// Border Width Large
	
	document.writeln(
		  '<table width="' + iWidth + '" class="ofShadeTable">'
		+ '<tr><td style="padding:' + iMarginOut + '">'
		+ '<table class="ofShadeInnerTable">'
		+ '<tr><td width="' + bWithS + 'px" height="' + bWithS + 'px">'
		+ '<img src="' + iPicPath + 'border_tl.gif"'
		+ ' width="' + bWithS + '" height="' + bWithS + '"></td>'
		+ '<td background="' + iPicPath + 'border_tm.gif" height="' + bWithS + 'px"'
		+ ' class="ofShadeBgRepeatX"></td>'
		+ '<td width="' + bWithL + '" height="' + bWithS + '">'
		+ '<img src="' + iPicPath + 'border_tr.gif"'
		+ ' width="' + bWithL + '" height="' + bWithS + '"></td>'
		+ '</tr><tr>'
		+ '<td background="' + iPicPath + 'border_l.gif" width="' + bWithS + 'px" '
		+ ' class="ofShadeBgRepeatY">&nbsp;</td>'
		+ '<td class="ofShadeContent">');
}

function ofWriteShadeBorderTail(iPicPath)
{
	if (!iPicPath) iPicPath = "";
	if (iPicPath != "" && iPicPath[iPicPath.length-1] != "/") 
		iPicPath = iPicPath + "/images/";
	else
		iPicPath = iPicPath + "images/";

	bWithS = "5"		// Border Width Small
	bWithL = "10"		// Border Width Large

	document.writeln('</td>'
		+ '<td background="' + iPicPath + 'border_r.gif" width="' + bWithL + 'px" '
		+ ' class="ofShadeBgRepeatY">&nbsp;</td>'
		+ '</tr><tr>'
		+ '<td width="' + bWithS + 'px" height="' + bWithL + 'px">'
		+ '<img src="' + iPicPath + 'border_bl.gif"'
		+ ' width="' + bWithS + '" height="' + bWithL + '"></td>'
		+ '<td background="' + iPicPath + 'border_bm.gif" height="' + bWithL + 'px" '
		+ ' class="ofShadeBgRepeatX"></td>'
		+ '<td width="' + bWithL + 'px" height="' + bWithL + 'px">'
		+ '<img src="' + iPicPath + 'border_br.gif"'
		+ ' width="' + bWithL + '" height="' + bWithL + '"></td>'
		+ '</tr></table></td></tr></table>');
}

// Tabelle generieren
function ofCreateTable1(iTabCols, iTabArray)
{
	var trStr = "<tr onMouseOver=\"this.bgColor='#CCCCCC'\" onMouseOut=\"this.bgColor='#FBFBFF'\">";
	
	var docStr = trStr;
	for(var i=0; i<iTabArray.length; i++) {
		if (( i!=0) && (i % iTabCols==0)) docStr = docStr + '</tr>' + trStr;
		docStr = docStr + '<td>' + ofConvertToHTML(iTabArray[i]) + '</td>';
	}
	docStr = docStr + '</tr>';
	return(docStr);
}


function ofCreateTable1Date(iTabCols, iTabArray)
{
	var newArray = new Array();
	var newPos = 0;

	var now = new Date;
	
	var year = now.getYear();
	if (year < 1900) year += 1900;

	var mon = now.getMonth() + 1;
	if (mon < 10) mon = "0" + String(mon);

	var day = now.getDate();
	if (day < 10) day = "0" + String(day);

	var today = String(year) + String(mon) + String(day);
	
	for(var i=0; i<iTabArray.length; i += iTabCols) {
		if (iTabArray[i] >= today) {
			for (j=1; j < iTabCols; j++) {
				newArray[newPos] = iTabArray[i+j];
				newPos++;
			}
		}
	}
	
	var docStr = ofCreateTable1(iTabCols - 1, newArray);
	return(docStr);
}


// Tabelle generieren mit style
// { "style='background-color:#E0E0E0;'", "Spalte 1", Spalte 2", ...}
function ofCreateTable2(iTabCols, iAttrArray, iTabArray)
{
//	var trStr = "<tr onMouseOver=\"this.bgColor='#CCCCCC'\" onMouseOut=\"this.bgColor='#FBFBFF'\">";
	var trStr = "<tr>";
	var tdAttr = "";
	
	var docStr = trStr;
	for(var i=0; i<iTabArray.length; i++) {
		if (( i!=0) && (i % iTabCols==0)) docStr = docStr + '</tr>' + trStr;
		if (i % iTabCols==0) {
			tdAttr = "";
			if (iTabArray[i] != "") tdAttr = iAttrArray[iTabArray[i]];
		} else {
			docStr = docStr + '<td ' + tdAttr + '>' + ofConvertToHTML(iTabArray[i]) + '</td>';
		}
	}
	docStr = docStr + '</tr>';
	return(docStr);
}


function ofCreateTable2Date(iTabCols, iAttrArray, iTabArray)
{
	var newArray = new Array();
	var newPos = 0;

	var now = new Date;
	
	var year = now.getYear();
	if (year < 1900) year += 1900;

	var mon = now.getMonth() + 1;
	if (mon < 10) mon = "0" + String(mon);

	var day = now.getDate();
	if (day < 10) day = "0" + String(day);

	var today = String(year) + String(mon) + String(day);
	
	for(var i=0; i<iTabArray.length; i += iTabCols) {
		if (iTabArray[i] >= today) {
			for (j=1; j < iTabCols; j++) {
				newArray[newPos] = iTabArray[i+j];
				newPos++;
			}
		}
	}
	
	var docStr = ofCreateTable2(iTabCols - 1, iAttrArray, newArray);
	return(docStr);
}

function ofWriteSmallMenuHeadBlock(iBorderPath, iMenuNum, iMenuTitle, iMenuArray, iShowCounter)
{
	document.writeln('<table class="ofSmallMenuMainTable"><tr><td width="100" valign="top">');
	ofWriteShadeBorderHead(iBorderPath);
	
	var docStr = '<table class="ofSmallMenuTable">';
	
	if (iMenuTitle != "")
		docStr = docStr
			+ '<tr><td class="ofSmallMenuTitle">'
			+ ofConvertToHTML(iMenuTitle) + '</td></tr>';
		
	for(var i=0; i<iMenuArray.length; i=i+3) {
		docStr = docStr + '<tr><td class='
			+ ((iMenuNum != (i / 3)) ? '"ofSmallMenuEntry"' : '"ofSmallMenuMarked"')
			+ " onMouseOver=\"this.bgColor='#CCCCCC'\""
			+ " onMouseOut=\"this.bgColor='#EEEEEE'\""
			+ " onClick=\"window.location.href='" + iMenuArray[i+1] + "'\""
			+ ' background="' + iBorderPath + '/images/small_menu' + iMenuArray[i+2] + '.gif">'
			+ '<nobr>';
		if (iMenuArray[i+2] != 0) {
			docStr = docStr + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
		}
		docStr = docStr
			+ "<a href=\"" + iMenuArray[i+1] + "\">"
			+ ofConvertToHTML(iMenuArray[i]) + "</a></nobr></td></tr>";
	}
	
	docStr = docStr + '</table>'
	document.writeln(docStr);
	
	ofWriteShadeBorderTail(iBorderPath);
	
	if (iShowCounter == true) {
		ofWriteShadeBorderHead(iBorderPath);
		document.writeln('Seitenbesuche:<br><img src="/cgi-bin/counter/counter.pl" height="19" width="70" alt="">');
		ofWriteShadeBorderTail(iBorderPath);
	}

	document.writeln('</td><td>');
	
}

function ofWriteSmallMenuTailBlock()
{
	document.writeln('</td></tr></table>');
}

/****************************************************************************
 * Member-Table
 ****************************************************************************/
/*
1: Bild-Pfad
2: Felder pro Person
3: { FeldÜberschrift1, FeldÜberschrift2, ... }
4: { Name, Bild-File, Bild-Link, Wert1, Wert2, ... }
*/

function ofWriteMemberTable(iPicPath, iTagWidth, iValWidth, iArrFields, iArrMembers)
{
	var i, j;
	var retStr = "";

	if (iPicPath[iPicPath.length-1] != "/") 
		iPicPath = iPicPath + "/";
	
	for (i=0; i < iArrMembers.length; i = i + iArrFields.length + 3) {

		ofWriteShadeBorderHead("..");
		
		retStr  = '<table class="ofMemberMainTab"><tr><td width="1">';
		if (iArrMembers[i+2] != "") {
			retStr = retStr + '<a href="' + iArrMembers[i+2] + '">';
		}
		retStr = retStr
			+ '<img src="' + iPicPath + iArrMembers[i+1] + '">';
		
		if (iArrMembers[i+2] != "") {
			retStr = retStr + '</a>'
		}
		retStr = retStr
			+ '</td><td class="ofMemberRightTd">'
			+ '<table class="ofMemberRightTab">'
			+ '<colgroup><col width="' + iTagWidth + '">'
			+ '<col width="' + iValWidth + '"></colgroup><tr>'
			+ '<td colspan="2" class="ofMemberHead">' + ofConvertToHTML(iArrMembers[i])
			+ '</td></tr>';
		
		for (j=0; j < iArrFields.length; j++) {
			if (iArrMembers[i+j+3] != "")
				retStr = retStr	+ '<tr><td class="ofMemberTag">'
					+ ofConvertToHTML(iArrFields[j]) + '</td><td  class="ofMemberValue">'
					+ ofConvertToHTML(iArrMembers[i+j+3]) + '</td></tr>';
		}
		retStr = retStr + '</table>'
			+ '</td></tr></table>';
		
		document.writeln(retStr);

		ofWriteShadeBorderTail("..");

	}

}

/****************************************************************************/

// Sonderzeichen umwandeln
function ofConvertToHTML(iStr)
{
	oStr = iStr.replace(/ä/, "&auml;");
	oStr = oStr.replace(/Ä/, "&Auml;");
	oStr = oStr.replace(/ö/, "&ouml;");
	oStr = oStr.replace(/Ö/, "&Ouml;");
	oStr = oStr.replace(/ü/, "&uuml;");
	oStr = oStr.replace(/Ü/, "&Uuml;");
	oStr = oStr.replace(/ß/, "&szlig;");
	return(oStr);
}

// Datum & uhrzeit anzeigen
function ofShowClock()
{
	var tmpDate = new Date();
	status = "FREIWILLIGE FEUERWEHR BLUDESCH - " + tmpDate.toLocaleString();
	var tmpTime = window.setTimeout("ofShowClock()", 250);
}

// Rechte Maustaste "deaktivieren"
function ofDeactivateRightClick()
{
	if (document.layers) {	// Netscape
		window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
		window.onmousedown = ofClick;
		window.onmouseup = ofClick;
	
		function ofClick(iEvent)
		{
			if (iEvent.which == 3) {
				alert('www.feuerwehr-bludesch.com');
				return false;
			} else  return true;
		}
	}
	if (document.all) {	// IE
		function ofClick() {
			if (event.button == 2 || event.button==3)
				alert('www.feuerwehr-bludesch.com');
		}
		document.onmousedown = ofClick;
	}
}

function ofGetAge(iYear, iMonth, iDay)
{
	var actDate = new Date();
	var actY = actDate.getFullYear();
	var actM = actDate.getMonth() + 1;	//Monat beginnt mit 0
	var actD = actDate.getDate();

	var retAge = actY - iYear;
	if (actM < iMonth) retAge -= 1;
	if (actM == iMonth && actD < iDay) retAge -= 1;
	
	return(retAge + "");
}

/****************************************************************************/


function ofOpenPopup(iName, iLink, iWidth, iHeight) {
	
	var h = iHeight;
	var w = iWidth;
	var t = 100;
	var l = 100;
	var scroll = "no";

	if (h > (screen.availHeight * 0.9) && screen.availHeight > 0) {
		h = (screen.availHeight * 0.9);
		scroll = "yes";
	}

	if (w > screen.availWidth && screen.availWidth > 0) {
		w = screen.availWidth;
		scroll = "yes";
	}
	
	if (screen.availHeight > 0) {
		t = Math.max(0, (screen.availHeight - h) / 2);
	}
	if (screen.availWidth > 0) {
		l = Math.max(0, (screen.availWidth - w) / 2);
	}
	
	MyWindow = window.open(iLink, iName, "top=" + t + ", left=" + l + ", height=" + h + ", width=" + w + ", location=no, menubar=no, resizable=yes, scrollbars=" + scroll + ", status=no, toolbar=no");
	MyWindow.focus();
}

