function writeSlideShow (ix, iy) {
document.write('<img src="1.jpg" name="SlideShow" width="'+ix+'" height="'+iy+'" />');
}

function ThumbLink(file,ix,iy,ititle,kb,s){
var x = s && s.length ? s : 'x';
var ifile = "images/"+file+x+".jpg";
var tfile = "thumbnails/th_"+file+".jpg";
var qq = '"';
var tt = thumbtext(kb);
document.write("<a href="+qq+"javascript:ViewImage('"+ifile+"',"+ix+","+iy+",'"+ititle+"')"+qq);
document.write("onmouseover="+qq+"thumbnail('"+kb+"');return true"+qq+" onmouseout="+qq+"status=' '"+qq);
document.write("><img src="+qq+tfile+qq+" alt="+qq+tt+qq+" title="+qq+tt+qq+" /></a>");
}

function ViewImage(ifile,ix,iy,ititle) {
window.status="domo arigato";
var win;
var sWidth;
var sHeight;
var NS = 0;
var maxSel = document.getElementById('max');
if (maxSel) {
	mW = maxSel[maxSel.selectedIndex].value;
	mH = mW * 3/4;
	if (mW > 0) {
		var Wx = ix / mW;
		var Hx = iy / mH;
		var F = Wx > Hx ? Wx : Hx;
		if (F > 1) {
			ix = Math.round(ix / F);
			iy = Math.round(iy / F);
		}
	}
}

win = window.open("","imageviewer","width="+ix+",height="+iy+",menubar=no,toolbar=no");

sWidth = win.innerWidth;	// IE does not know this
if (!sWidth) {
	sWidth = win.document.body.clientWidth;
	sHeight = win.document.body.clientHeight;
} else {	// NS or Opera
	NS = (document.layers) ? 1 : 0;
	sHeight = win.innerHeight;
}
dx = ix-sWidth;
dy = iy-sHeight;
if(dx || dy) {
	if (NS) {
		win.innerWidth = ix;
		win.innerHeight = iy;
	} else {
		win.resizeBy(dx, dy);
	}
}
win.focus();
win.document.open();
win.document.writeln('<?xml version="1.0" encoding="iso-8859-1"?>');
win.document.writeln('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
win.document.writeln("<html><head><title>"+ititle+"</title>");
win.document.writeln('<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />');
win.document.writeln("</head><body>");
win.document.writeln('<div style="position:absolute;width:'+ix+'px;height:'+iy+'px;left:0px;top:0px">');
win.document.writeln('<img src="'+ifile+'" width="'+ix+'" height="'+iy+'" alt="'+ititle+'" /></div></body></html>');
//if (maxSel) win.document.write();
win.document.close();
}

function thumbtext(kb) {return "Bild anzeigen ("+kb+" KB)"}
function thumbnail(kb) {status=thumbtext(kb)}

function schicken(name){
var dom = 'takemusu-aikido-erlangen.de';
var adr='mailto:'+name+'@'+dom;
window.location.href=adr;
return undefined;
}

function rc_pop(file,text,opt) {window.open(file,text,opt);}

function $e (name) {
var e = document.createElement(name)
if (arguments[1]) {
	for (var att in arguments[1]) {
		if (att.substr(0,6) == 'style.'){
			e.style[att.substr(6)] = arguments[1][att]
		}
		else {
			var Ma = document.createAttribute(att)
			Ma.nodeValue = arguments[1][att]
			e.setAttributeNode(Ma)
		}
	}
}
if (arguments[2]) {
	for (var i = 0; i < arguments[2].length; ++i) {
		e.appendChild(arguments[2][i])
	}
}
return e
}

function $t (text) {
return document.createTextNode(text)
}

function maxSelect (id) {
	var sel = document.getElementById(id);
	if (! sel) return;
	sel.appendChild($e('option',{'value':0},[$t('')]));
	sel.appendChild($e('option',{'selected':'selected','value':1024},[$t('1024x768')]));
	sel.appendChild($e('option',{'value':800},[$t('800x600')]));
	sel.appendChild($e('option',{'value':640},[$t('640x480')]));
	sel.appendChild($e('option',{'value':320},[$t('320x240')]));
	sel.appendChild($e('option',{'value':160},[$t('160x120')]));
}
function nextNode(node){
	while (node && node.nodeType != 1) { node = node.nextSibling }
	return node;
}
function swapNode(node){
	var other = node.Swap;
	node.Swap = null;
	other.Swap = node;
	node.parentNode.replaceChild(other, node);
}
var persist = {};
var pName = window.location.pathname.replace(/^.*\/([^\/.]+)\.\w+$/, "$1").toLowerCase();
pName = pName.replace(/\d\d+/,"XX");

function pGet() {
	var val = {};
	if (document.cookie) {
		//window.alert(document.cookie);
		var M = new RegExp("persist"+pName+"=([^;]*)");
		M.exec(document.cookie);
		var str=RegExp.$1;
		var arr = str.split("$");
		for (var i = 0; i < arr.length; ++i) {
			if (! arr[i]) continue;
			var kv = arr[i].split("~",2);
			if (! kv[0]) continue;
			val[kv[0]] = decodeURIComponent(kv[1]);
		}
	}
	return val;
}

function pSet(hash) {
	var now = new Date();
	var expires = new Date(now.getTime() + 60*60*24*365);
	var val = "";
	for (var key in hash) {
  		val += key + "~" + encodeURIComponent(hash[key]) +"$";
	}
  	document.cookie = "persist"+pName+"=" + val + "; expires=" + expires.toGMTString() + ";";
}

function pModify() {
	if (! persist[pName]) return;
	var hash = pGet();
	for (var i in persist[pName]) {
		var id = persist[pName][i];
		if (hash[id] == null) continue;
		var set = hash[id];
		var el = document.getElementById(id);
		var type = el.nodeName;
		if (type == "SELECT") {
			var idxEl = el.selectedIndex;
			if (idxEl != set) {
				if (window.addEventListener) {
					el.options[idxEl].selected = false;
					el.options[set].selected = true;
				} else {
					window.setTimeout("pModSelectIE('max',"+idxEl+","+set+")",100);
				}
			}
		} else if (type == "INPUT") {
			// ...
		}
	}
}

function pModSelectIE(id, from, to) {
	var el = document.getElementById(id);
	el.options[from].selected = false;
	el.options[to].selected = true;
}
	
	

function pSave() {
	if (! persist[pName]) return;
	var hash = {};
	for (var i in persist[pName]) {
		id = persist[pName][i];
		var el = document.getElementById(id);
		if (! el) continue;
		var type = el.nodeName;
		if (type == "SELECT") {
			var idx = el.selectedIndex;
			if (idx >= 0) {
				hash[id] = idx;
			}
		} else if (type == "INPUT") {
			// ...
		}
	}
	pSet(hash);
}


function newEvent(obj, type, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(type, fn, false);
		evCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn](window.event); }
		obj.attachEvent("on"+type, obj[type+fn]);
		evCache.add(obj, type, fn);
	}
}

var evCache = function () {
	var evList = [];
	return {
		evList : evList,
		add : function(obj, type, fn) {
			evList.push(arguments);
      		},
		clear : function() {
			var i, item, type;
			for (i = evList.length - 1; i >= 0; --i) {
				item = evList[i];
				if (item[0].removeEventListener) {
					item[0].removeEventListener(item[1], item[2], item[3]);
				}
				type = item[1];
				if (item[1].substring(0, 2) != "on") {
					item[1] = 'on' + item[1];
				}
				if (item[0].detachEvent) {
					item[0].detachEvent(item[1], item[2]);
					item[0].detachEvent(item[1], item[0][type+item[2]]);
				}
			}
		}
	}
}();


function finalJS(){
	evCache.clear;
}


