<!-- //

// Copyright 2003 by Nikolai Vogel, Munich
// DHTML written by Nikolai Vogel, Munich

window.onerror = null;
window.focus();

// measure empty screen:
var emptyw = screen.availWidth;
var emptyh = screen.availHeight;

// ready to empty?:
var emptycontents = "ATTENTION\n100 empty windows!\n\nEntering on own risk!\nPlease close other running programms first.\nOnly recommended if your computer runs\nfast with enough memory...\n\n\n\n(c) by Nikolai Vogel 2003\nsee www.literatursuche.de for Imprint"
var emptynogo = "100 empty windows stay closed.\nJust reload if you decide to open.";
var emptyfinish = "All windows empty!";
function initialempty() {
	if (window.confirm(emptycontents)) {
		emptyopen(1);
	} else {
		alert(emptynogo);
	}
}

// empty one hundred windows:
var waitalittle = 0;
function emptyopen(n) {
	waitalittle = 0;
	// yes that ist hand coded, written like prose... with all its ups and downs...
	switch(n) {
		case 1:
			
				self.resizeTo(3000,3000);
				self.moveTo(-200,-200);
		break;

		// crazy help windows
		case 2:
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-600)/2,(emptyh-600)/2);
		break;
		case 3:
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-600)/2+300,(emptyh-600)/2+300);
		break;
		case 4:
			emptymiddle(n);
			emptymake(n,100,200,(emptyw-600)/2+300,(emptyh-600)/2+100);
		break;
		case 5:
			emptymiddle(n);
			emptymake(n,200,100,(emptyw-600)/2+100,(emptyh-600)/2+300);
		break;
		case 6:
			emptymiddle(n);
			emptymake(n,200,100,(emptyw-600)/2+400,(emptyh-600)/2+200);
		break;
		case 7:
			emptymiddle(n);
			emptymake(n,100,200,(emptyw-600)/2+200,(emptyh-600)/2+400);
		break;
		case 8:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-600)/2+300,(emptyh-600)/2);
		break;
		case 9:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-600)/2,(emptyh-600)/2+300);
		break;
		case 10:
			emptymiddle(n);
			emptymake(n,200,200,(emptyw-600)/2+400,(emptyh-600)/2);
		break;
		case 11:
			emptymiddle(n);
			emptymake(n,200,200,(emptyw-600)/2,(emptyh-600)/2+400);
		break;

		// four windows quadrate
		case 12:
			emptyclose(n-10);emptyclose(n-9);
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2-125,(emptyh-250)/2-125);
		break;
		case 13:
			emptyclose(n-9);emptyclose(n-7);emptyclose(n-5);emptyclose(n-3);
			emptyclose(n-8);emptyclose(n-6);emptyclose(n-4);emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2+125,(emptyh-250)/2+125);
		break;
		case 14:
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2+125,(emptyh-250)/2-125);
		break;
		case 15:
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2-125,(emptyh-250)/2+125);
		break;

		// crossbuilding
		case 16:
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2,(emptyh-250)/2);
		break;
		case 17:
			fenster[n-1].resizeBy(0,1000);
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2,(emptyh-250)/2);
		break;
		case 18:
			fenster[n-1].resizeBy(1000,0);
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2,(emptyh-250)/2);
		break;
		case 19:
			fenster[n-1].resizeBy(0,1000);fenster[n-1].moveBy(0,-1000);
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2,(emptyh-250)/2);
			setTimeout("fenster["+ n +"].resizeBy(1000,0);fenster["+ n +"].moveBy(-1000,0)",1000);
			waitalittle = 2000;
		break;

		// four corners
		case 20:
			emptyclose(12);emptyclose(13);emptyclose(14);emptyclose(15);
			emptymiddle(n);
			emptymake(n,250,250,0,0);
		break;
		case 21:
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250),0);
		break;
		case 22:
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250),(emptyh-250));
		break;
		case 23:
			emptymiddle(n);
			emptymake(n,250,250,0,(emptyh-250));
			setTimeout("emptyclose(16);emptyclose(17);emptyclose(18);emptyclose(19);",1000);
			setTimeout("fenster[20].resizeBy(1000,0)",2000);
			setTimeout("fenster[21].resizeBy(0,800)",3000);
			setTimeout("fenster[22].resizeBy(1000,0);fenster[22].moveBy(-1000,0)",4000);
			setTimeout("fenster["+ n +"].resizeBy(0,800);fenster["+ n +"].moveBy(0,-800)",5000);
			setTimeout("fenster["+ n +"].close();fenster["+ (n-1) +"].close();fenster["+ (n-2) +"].close();fenster["+ (n-3) +"].close()",9000);
			waitalittle = 6000;
		break;

		// lonly window in the middle
		case 24:
			emptymiddle(n);
			emptymake(n,250,250,(emptyw-250)/2,(emptyh-250)/2);
			setTimeout("fenster["+ n +"].close()",9000);
			waitalittle = 2000;
		break;

		// tower of hanoi
		case 25:
			emptyclose(24);
			emptymiddle(n);
			emptymake(n,700,700,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 26:
			emptymiddle(n);
			emptymake(n,600,600,(emptyw-600)/2,(emptyh-600)/2);
		break;
		case 27:
			emptymiddle(n);
			emptymake(n,500,500,(emptyw-500)/2,(emptyh-500)/2);
		break;
		case 28:
			emptymiddle(n);
			emptymake(n,400,400,(emptyw-400)/2,(emptyh-400)/2);
		break;
		case 29:
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-300)/2,(emptyh-300)/2);
		break;
		case 30:
			emptymiddle(n);
			emptymake(n,200,200,(emptyw-200)/2,(emptyh-200)/2);
		break;
		case 31:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-100)/2,(emptyh-100)/2);
		break;

		// hanois colliding
		case 32:
			emptyclose(n-7);emptyclose(n-6);emptyclose(n-5);emptyclose(n-4);emptyclose(n-3);emptyclose(n-2);emptyclose(n-1);
			emptymiddle(n);
			emptymake(n,700,700,0,0);
		break;
		case 33:
			emptymiddle(n);
			emptymake(n,700,700,(emptyw-700),(emptyh-700));
		break;
		case 34:
			emptymiddle(n);
			emptymake(n,600,600,50,50);
		break;
		case 35:
			emptymiddle(n);
			emptymake(n,600,600,(emptyw-650),(emptyh-650));
		break;
		case 36:
			emptymiddle(n);
			emptymake(n,500,500,100,100);
		break;
		case 37:
			emptymiddle(n);
			emptymake(n,500,500,(emptyw-600),(emptyh-600));
		break;
		case 38:
			emptymiddle(n);
			emptymake(n,400,400,150,150);
		break;
		case 39:
			emptymiddle(n);
			emptymake(n,400,400,(emptyw-550),(emptyh-550));
		break;
		case 40:
			emptyclose(n-8);
			emptymiddle(n);
			emptymake(n,300,300,200,200);
		break;
		case 41:
			emptyclose(n-8);
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-500),(emptyh-500));
		break;
		case 42:
			emptyclose(n-8);
			emptymiddle(n);
			emptymake(n,200,200,250,250);
		break;
		case 43:
			emptyclose(n-8);
			emptymiddle(n);
			emptymake(n,200,200,(emptyw-450),(emptyh-450));
		break;
		case 44:
			emptyclose(n-8);
			emptymiddle(n);
			emptymake(n,100,100,300,300);
		break;
		case 45:
			emptyclose(n-8);
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-400),(emptyh-400));
			setTimeout("fenster["+ (n-7) +"].close()",1000);
			setTimeout("fenster["+ (n-6) +"].close()",2000);
			setTimeout("fenster["+ (n-5) +"].close()",3000);
			setTimeout("fenster["+ (n-4) +"].close()",4000);
			setTimeout("fenster["+ (n-3) +"].close()",5000);
			setTimeout("fenster["+ (n-2) +"].close()",6000);
			setTimeout("fenster["+ (n-1) +"].close()",7000);
			setTimeout("fenster["+ n +"].close()",8000);
			waitalittle = 6000;
		break;

		// this is the case
		case 46:
			emptymiddle(n);
			emptymake(n,100,2500,900,-200);
		break;
		case 47:
			emptymiddle(n);
			emptymake(n,2500,100,-200,500);
		break;
		case 48:
			emptymiddle(n);
			emptymake(n,100,2500,100,-200);
		break;
		case 49:
			emptymiddle(n);
			emptymake(n,2500,100,-200,100);
		break;
		case 50:
			emptymiddle(n);
			emptymake(n,100,2500,700,-200);
		break;
		case 51:
			emptymiddle(n);
			emptymake(n,2500,100,-200,300);
		break;
		case 52:
			emptymiddle(n);
			emptymake(n,100,2500,300,-200);
			waitalittle = 2000;
		break;

		// and this is more of it
		case 53:
			emptymiddle(n);
			emptymake(n,100,2500,500,-200);
		break;
		case 54:
			emptyclose(46);emptyclose(47);emptyclose(48);emptyclose(49);emptyclose(50);emptyclose(51);emptyclose(52);
			emptymiddle(n);
			emptymake(n,2500,100,-200,300);
		break;
		case 55:
			emptymiddle(n);
			emptymake(n,100,500,200,100);
		break;
		case 56:
			emptymiddle(n);
			emptymake(n,100,500,800,100);
		break;
		case 57:
			emptymiddle(n);
			emptymake(n,300,100,700,150);
		break;
		case 58:
			emptymiddle(n);
			emptymake(n,300,100,100,450);
		break;
		case 59:
			emptymiddle(n);
			emptymake(n,300,100,100,150);
		break;
		case 60:
			emptymiddle(n);
			emptymake(n,300,100,700,450);
		break;

		// this is mine and that is yours
		case 61:
			emptymiddle(n);
			emptymake(n,500,100,300,100);
		break;
		case 62:
			emptymiddle(n);
			emptymake(n,500,100,300,500);
		break;
		case 63:
			emptymiddle(n);
			emptymake(n,100,300,650,0);
		break;
		case 64:
			emptymiddle(n);
			emptymake(n,100,300,350,0);
		break;
		case 65:
			emptymiddle(n);
			emptymake(n,100,300,350,400);
		break;
		case 66:
			emptymiddle(n);
			emptymake(n,100,300,650,400);
			waitalittle = 6000;
		break;

		// without
		case 67:
			emptyclose(53);emptyclose(54);emptyclose(55);emptyclose(56);emptyclose(57);emptyclose(58);emptyclose(59);emptyclose(60);emptyclose(61);emptyclose(62);emptyclose(63);emptyclose(64);emptyclose(65);emptyclose(66);
			emptymiddle(n);
			emptymake(n,700,700,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 68:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 69:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,600,600,(emptyw-700)/2+100,(emptyh-700)/2+100);
		break;
		case 70:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,200,200,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 71:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,500,500,(emptyw-700)/2+200,(emptyh-700)/2+200);
		break;
		case 72:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 73:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,400,400,(emptyw-700)/2+300,(emptyh-700)/2+300);
		break;
		case 74:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,400,400,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 75:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-700)/2+400,(emptyh-700)/2+400);
		break;
		case 76:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,500,500,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 77:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,200,200,(emptyw-700)/2+500,(emptyh-700)/2+500);
		break;
		case 78:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,600,600,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 79:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+600,(emptyh-700)/2+600);
		break;
		case 80:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,700,700,(emptyw-700)/2,(emptyh-700)/2);
		break;

		// within
		case 81:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,600,600,(emptyw-700)/2+100,(emptyh-700)/2+100);
		break;
		case 82:
			emptymiddle(n);
			emptymake(n,500,500,(emptyw-700)/2+100,(emptyh-700)/2+100);
		break;
		case 83:
			emptymiddle(n);
			emptymake(n,400,400,(emptyw-700)/2+200,(emptyh-700)/2+200);
		break;
		case 84:
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-700)/2+200,(emptyh-700)/2+200);
		break;
		case 85:
			emptymiddle(n);
			emptymake(n,200,200,(emptyw-700)/2+300,(emptyh-700)/2+300);
		break;
		case 86:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+300,(emptyh-700)/2+300);
			waitalittle = 3000;
		break;

		// prepare emptiness
		case 87:
			emptyclose(n-7);emptyclose(n-6);emptyclose(n-5);emptyclose(n-4);emptyclose(n-3);emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+400,(emptyh-700)/2+400);
		break;
		case 88:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+200,(emptyh-700)/2+200);
		break;
		case 89:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+500,(emptyh-700)/2+500);
		break;
		case 90:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+100,(emptyh-700)/2+100);
		break;
		case 91:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+600,(emptyh-700)/2+600);
		break;
		case 92:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2,(emptyh-700)/2);
		break;
		case 93:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+600,(emptyh-700)/2);
		break;
		case 94:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2,(emptyh-700)/2+600);
		break;
		case 95:
			emptyclose(n-9);emptyclose(n-8);emptyclose(n-7);emptyclose(n-6);emptyclose(n-5);emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-700)/2+400,(emptyh-700)/2);
		break;
		case 96:
			emptyclose(n-2);
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-700)/2,(emptyh-700)/2+400);
		break;
		case 97:
			emptyclose(n-6);
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-700)/2+400,(emptyh-700)/2+400);
		break;
		case 98:
			emptyclose(n-6);
			emptymiddle(n);
			emptymake(n,300,300,(emptyw-700)/2,(emptyh-700)/2);
		break;

		// empty the middle again
		case 99:
			emptymiddle(n);
			emptymake(n,100,100,(emptyw-700)/2+300,(emptyh-700)/2+300);
			waitalittle = 2000;
		break;

		// let's empty it now
		case 100:
			emptyclose(n-5);emptyclose(n-4);emptyclose(n-3);emptyclose(n-2);emptyclose(n-1);
			emptymiddle(n);
			emptymake(n,700,700,(emptyw-700)/2,(emptyh-700)/2);
			setTimeout("pulsar(" + n +")",1000);
			waitalittle = 5000;
		break;

		default:
		n = 100
		break;
	}
	// let's go again
	if (n < 100) {
		setTimeout("emptyopen(" + ++n +")",1000+waitalittle);
	}
}

// emtyfinsih
function emptyempty() {
	alert(emptyfinish);
	self.focus();
	setTimeout("thisisit()",2000);
}

function thisisit () {
	self.resizeTo(emptyw,emptyh); self.moveTo(0,0);
}

// window 100:
var lastradiate = 700
function pulsar(n) {
	if (fenster[n]) {
		fenster[n].resizeBy(-2,-2);
		fenster[n].moveBy(1,1);
		lastradiate = lastradiate - 2;
		if (lastradiate > 100) {
			setTimeout("pulsar(" + n +");",10);
		} else {
			emptyclose(n);
			setTimeout("emptyempty();",3000);
		}
	}
}

// all new windows come out the middle:
function emptymiddle(n) {
	neufenster(n,'','100','100',(emptyw-100)/2,(emptyh-100)/2,'no','no','no','no','no','');
}

// give the windows some drive, they are individuals:
function emptymake(n,width,height,left,top) {
	if (fenster[n]){
		fenster[n].resizeTo(width,height);
		fenster[n].moveTo(left,top);
	}
}

// all windows want to be closed again:
function emptyclose(fenstername) {
	if (fenster[fenstername]){
		if (!fenster[fenstername].closed){
			fenster[fenstername].close();
		}
	}
}

// my german coded standard open window function:
var fenster = new Array();
function neufenster(fenstername, fensterurl, fensterweite,fensterhoehe, fensterx, fenstery, fenstermenubar, fenstertoolbar, fensterscrollbars, fensterresize, fensterstatus, fensterinhalt) {
	if (fenster[fenstername]){
		if (!fenster[fenstername].closed){
			fenster[fenstername].close();
		}
	}
	else{
		fenster[fenstername] = false;
	}
		fenster[fenstername] = open(fensterurl,fenstername,"toolbar=" + fenstertoolbar + ",width=" + fensterweite + ",height=" +fensterhoehe + ",status=" + fensterstatus + ",scrollbars=" + fensterscrollbars +",resizable=" + fensterresize +",menubar=" + fenstermenubar +",screenX=" + fensterx + ", screenY=" + fenstery + ",left=" + fensterx + ",top=" + fenstery+";")
		if (fensterurl == ""){
			with(fenster[fenstername].document) {
				open()
				write("<html>")
				write("<head><title></title></head>")
				write("<body topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'>")
//				write( fensterinhalt )
//				write( fenstername )
				write("</body>")
				write("</html>")
				close()
			}
	}
	fenster[fenstername].focus()
}

// this ist it!

// -->

