// -------------------------------------------
// Copyright by J. Wersinger
// http://www.wersiworks.de
// -------------------------------------------

// -------------------------------------------
// Liste 1 erzeugen (Einfarbig)
// Bild links, Text rechts, evtl. Überschrift
// -------------------------------------------

function Liste1(obj, arr)
{
	return getListe(obj, arr, false);
}

// -------------------------------------------
// Liste 2 erzeugen (Zweifarbig)
// Bild links, Text rechts, evtl. Überschrift
// -------------------------------------------

function Liste2(obj, arr)
{
	return getListe(obj, arr, true);
}

// -------------------------------------------
// Liste 3 erzeugen (Zweispaltige Liste in Tabellenform)
// Überschrift, Text, Unterschrift
// -------------------------------------------

function Liste3(obj, arr)
{
	return getColumnList(obj, arr);
}

// -------------------------------------------
// Liste 4 erzeugen (Textliste)
// Mit Spaltenüberschriften, Spalten mit | getrennt
// -------------------------------------------

function Liste4 (obj, arr)
{
	return getTextliste(obj, arr, false);
}

// -------------------------------------------
// Liste 5 erzeugen (Textliste, zweifarbig)
// Mit Spaltenüberschriften, Spalten mit | getrennt
// -------------------------------------------

function Liste5(obj, arr)
{
	return getTextliste(obj, arr, true);
}

// -------------------------------------------
// Liste 6 erzeugen 
// (Zweispaltige Liste in Tabellenform; gleiche Feldhöhe)
// -------------------------------------------

function Liste6(obj, arr)
{
	return getColumnList2(obj, arr, true);
}

// *******************************************
// Interne Funktionen
// *******************************************

// -------------------------------------------
// Konstanten
// -------------------------------------------

var ROW_COLOR             = "lightyellow";
var ALTERNATING_ROW_COLOR = "#bbbfca";
var HEADER_COLOR          = "silver";
var MULTICOL_SPACING      = 10;
var SPAN_MULTICOL         = "<div><div class='multicolheader'>%HEADER%</div>" +
                            "<div class='multicoltext'>%TEXT%</div>" +
                            "<div class='multicolfooter'>%FOOTER%</div></div>";

// -------------------------------------------
// Mehrspaltige Liste (1)
// -------------------------------------------

function getColumnList(obj, arr)
{
	var str     = "";
	var strTemp = "";
	var strLine = "";
	var bSet    = false;
	
	str += "<table width='100%' cellspacing='" + MULTICOL_SPACING + "'>";
	
	for (var i=0; i < arr.length; i++)
	{
		var arrLine = new Array();
		arrLine     = arr[i].split("|");		

		if (i % 2 == 0) {str += "<tr>";} else {bSet = true}
		
		str += "<td width='50%'>";
		
		strTemp = SPAN_MULTICOL;
		strTemp = strTemp.replace(/%HEADER%/, arrLine[0]);
		strLine = arrLine[1];
		strLine = strLine.replace(/%/g, "<br />");
		strTemp = strTemp.replace(/%TEXT%/,  strLine);
		strTemp = strTemp.replace(/%FOOTER%/, "<a href='http://" + arrLine[2] + "'>" + arrLine[2] + "</a>");
		
		str += strTemp;
		str += "</td>";
		
		if ((i % 2 == 0) && (bSet)) {str += "</tr>"; bSet = false;}
	}

	if (i % 2 != 0) {str += "</tr>";}
	str += "</table>";

	document.getElementById?document.getElementById(obj).innerHTML = str:document.all[obj]=str;
}

// -------------------------------------------
// Mehrspaltige Liste (2)
// -------------------------------------------

function getColumnList2(obj, arr)
{
	var str     = "";
	var strTemp = "";
	var strLine = "";
	var bSet    = false;
	
	str += "<table width='100%'>";
	
	for (var i=0; i < arr.length; i++)
	{
		var arrLine = new Array();
		arrLine     = arr[i].split("|");		

		if (i % 2 == 0) {str += "<tr align='top'><td>";} else {str += "<td>";bSet = true}
		
		str += "<table width='100%' height='100%'><tr><td>";
		str += "<div class='multicolheader'>" + 
		       "<img src='../images/links.gif' alt='link.gif' />" +
		       "<a href='" + arrLine[2] + "'>" + arrLine[0] + "</a></div>";
		strLine = arrLine[1];
		strLine = strLine.replace(/%/g, "<br />");
		str += "<div class='multicolbody'>" + strLine + "</div>";
		str += "</td></tr></table>";
		
		if ((i % 2 == 0) && (bSet)) {str += "</td></tr>"; str += "</td>";bSet = false;}
	}

	if (i % 2 != 0) {str += "</tr>";}
	str += "</table>";

	document.getElementById?document.getElementById(obj).innerHTML = str:document.all[obj]=str;
}

// -------------------------------------------
// Textliste erzeugen
// -------------------------------------------

function getTextliste(obj, arr, multicolor)
{
	var str      = "";
	var strStyle = "";
	str += "<table width='100%'>";

	for (var i=0; i < arr.length; i++)
	{
		var arrTemp = new Array();
		arrTemp = arr[i].split("|");
		
		if (multicolor)
		{
			(i % 2 == 0) ? str += "<tr style='background-color:" + ROW_COLOR + "'>" : str += "<tr style='background-color:" + ALTERNATING_ROW_COLOR + "'>";
			if (i == 0) {str += "<tr style='background-color:" + HEADER_COLOR + ";font-weight:bold;'>"}
		}
		else
		{
			str += "<tr>";
		}
		
		for (var j=0; j < arrTemp.length; j++)
		{
			if (i == 0)
			{
				str += "<th>" + arrTemp[j] + "</th>";
			}
			else
			{
				str += "<td>" + arrTemp[j] + "</td>";
			}
		}
		str += "</tr>";
	}

	str += "</table>";
	
	document.getElementById?document.getElementById(obj).innerHTML = str:document.all[obj]=str;
}

// -------------------------------------------
// Liste erzeugen
// -------------------------------------------

function getListe(obj, arr, multicolor)
{
	var str = "";
	
	//str += "Bitte klicken Sie auf ein Foto, um eine größere Ansicht zu erhalten.<hr><br>";
    
	for (var i=0; i < arr.length; i++)
	{
		str += "<table width='100%'><tr>";		
		var strFile    = Bilderordnerklein + arr[i];
		var strFileBig = Bilderordnergross + arr[i];
		
		var zeile = arr[i];
		var zelle = new Array();
		zelle     = zeile.split(DEL);
		
		str += "<td width='" + BREITE1 + "'><b>" + zelle[2] + "</b></td><td width='" + BREITE2 + "'></td></tr>";
		if (multicolor)
		{
			(i % 2 == 0) ? str += "<tr style='background-color:" + ROW_COLOR + "'>" : str += "<tr style='background-color:" + ALTERNATING_ROW_COLOR + "'>";
		}
		else
		{
			str += "<tr>";
		}
		str += "<td ><img style='cursor:pointer' onclick='showPic(this, \"" + Bilderordnergross + zelle[0] + "\",\"\")' " +
			   " src='" + Bilderordnerklein + zelle[0] + 
		       "' vspace='5' hspace='5' border='1' alt='" + zelle[1] + 
		       "' title='" + zelle[1] + "'></td><td>";
		       
	    
		var strLines = new Array();
		strLines = zelle[3].split(DEL2);
			
		for (var k=0; k < strLines.length; k++)
		{
			if (strLines[k].indexOf("@") > 0)
			{
				str += "<b>" + strLines[k] + "</b><br />";
			}
			else
			{
				str += strLines[k] + "<br />";
			}
		}
	
		str += "</tr></table><br />";
    }

    document.getElementById?document.getElementById(obj).innerHTML = str:document.all[obj]=str;
}
    			
// -------------------------------------------
// Tabelle generieren
// -------------------------------------------

function makeTable(obj, arrHeader, arrItems, arrWidths, singleColor, isPictureTable)
{
	var str = "";
	var iColumns = arrHeader.length;
	var arrWidth = new Array();
	
	
	if (arrWidths != null)
	{
		arrWidth = arrWidths.split(",");
	}
	
	str += "<table width='100%' cellspacing='2'><tr>";
	
	for (var i=0; i < iColumns; i++)
	{
		var strWidth = "";
		strWidth = (arrWidths == null) ? "" : " width='" + arrWidth[i] + "' " ;
		str += "<td " + strWidth + " style='font-weight:bold; background-color:" + HEADER_COLOR + ";'>" + arrHeader[i] + "</td>";
	}	
	
	str += "</tr>";

	var strAlign = "";
	strAlign = (isPictureTable != null) ? " valign='top' align='center'" : " ";
	
	for (var i=0; i < arrItems.length; i++)
	{
		var sItem = new Array();
		var strColor = "";
		sItem = arrItems[i].split("|");
	
		if (singleColor == null) 
		{
			strColor = (i%2 == 0)? ALTERNATING_ROW_COLOR : ROW_COLOR;	
		}
		else
		{
			strColor = "white";
		}
		str += "<tr " + strAlign + " style='background-color:" + strColor + "'>";
	
		for (var j=0; j < sItem.length; j++)
		{
			str += "<td>" + sItem[j] + "</td>";
		}
		str += "</tr>";
	}
	str += "</table>";
	
	document.getElementById?document.getElementById(obj).innerHTML = str:document.all[obj]=str;
}

// -------------------------------------------
// Bildliste generieren
// -------------------------------------------

function getBildliste(obj, Bilderordner, Bilderordnergross, arrBilderliste, arrBeschreibungen)
{
	var str = "";
	
	str += "Bitte klicken Sie auf ein Foto, um eine größere Ansicht zu erhalten.<hr><br>";

	for (var i=0; i < arrBilderliste.length; i++)
	{
		var strFile    = Bilderordner      + arrBilderliste[i];
		var strFileBig = Bilderordnergross + arrBilderliste[i];
		
		str += "<img style='cursor:pointer' onclick='showPic(this, \"" + strFileBig + "\",\"" + arrBeschreibungen[i] + "\")' " +
			   " src='" + strFile + 
		       "' vspace='5' hspace='5' border='1' alt='" + arrBeschreibungen[i] + 
		       "' title='" + arrBeschreibungen[i] + "'>";
    }

    document.getElementById?document.getElementById(obj).innerHTML = str:document.all[obj]=str;
}

// -------------------------------------------
// Großansicht eines Bildes
// -------------------------------------------

function showPic(el, strPic, strDescription)
{
	var img = new Image();
	img.src = strPic;
	
	var iWidth  = eval(img.width) + 50;
	var iHeight = eval(img.height)+ 150;
    
	if (iWidth  == 50)  {iWidth  = 300;}
	if (iHeight == 150) {iHeight = 400;}    

	var strFeatures = "width=" + iWidth + ",height=" + iHeight + ",left=0,top=0,scrollbars=yes,resizable=yes,dependent=yes";
	var w = window.open("","",strFeatures)
	var doc = w.document; 
	doc.writeln("<link rel='stylesheet' type='text/css' href='../css/styles.css' />" + 
	            "<br><img src='" + strPic + "'>" + "<br><br>" + strDescription +
	            "<br><hr><a href='javascript:window.close()' >Schlie&szlig;en</a>");
}

// -------------------------------------------
// Laden eines eines Bildes
// -------------------------------------------

function getPicture(el, path)
{
	var strPic = "<img src='" + path + el.srcDirect + "'>";
	var strText = el.text;

	document.getElementById?document.getElementById("pic").innerHTML = strPic:document.all["pic"]=strPic;
	document.getElementById?document.getElementById("text").innerHTML = strText:document.all["text"]=strText;
}

// -------------------------------------------
// Voransichten laden
// -------------------------------------------

function loadPreviews(obj, arrBildliste, arrBildbeschreibungen, arrTooltips, dirPreview, dirPics)
{
	var str = "";
	var strOnClick = "onclick='JavaScript:getPicture(this,\"" + dirPics + "\")'";
	var strSep  = "<br><br>";
       
	for(var i = 0; i < arrBildliste.length; i++)
	{
    	str += "<img width='100%' " +
               "title='" + arrTooltips[i] + "' text='" + arrBildbeschreibungen[i] +
               "' " + strOnClick + " src='" + dirPreview + arrBildliste[i] + "' " +
               " srcDirect='" + arrBildliste[i] + "'>" + strSep;
	}
	
	document.getElementById?document.getElementById(obj).innerHTML = str:document.all[obj]=str;
}


