﻿
function detect() {
	var agent 	= navigator.userAgent.toLowerCase();
	// detect platform
	this.isMac		= (agent.indexOf('mac') != -1);
	this.isWin		= (agent.indexOf('win') != -1);
	this.isWin2k	= (this.isWin && (
			agent.indexOf('nt 5') != -1));
	this.isWinSP2	= (this.isWin && (
			agent.indexOf('xp') != -1 || 
			agent.indexOf('sv1') != -1));
	this.isOther	= (
			agent.indexOf('unix') != -1 || 
			agent.indexOf('sunos') != -1 || 
			agent.indexOf('bsd') != -1 ||
			agent.indexOf('x11') != -1 || 
			agent.indexOf('linux') != -1);	
	this.isLinux = agent.indexOf('linux') != -1;
	// detect browser
	this.isSafari	= (agent.indexOf('safari') != -1);
	this.isSafari2 = (this.isSafari && (parseFloat(agent.substring(agent.indexOf("applewebkit/")+"applewebkit/".length,agent.length).substring(0,agent.substring(agent.indexOf("applewebkit/")+"applewebkit/".length,agent.length).indexOf(' '))) >=  300));
	this.isOpera	= (agent.indexOf('opera') != -1);
	this.isNN		= (agent.indexOf('netscape') != -1);
	this.isIE		= (agent.indexOf('msie') != -1);
	this.isFirefox	= (agent.indexOf('firefox') != -1);
}
var browser = new detect();


/*

resizeWin( Object window, int x, int y, boolean tryResizeToContent )

Verändert die Größe des übergebenen Browserfensters

*/

function resizeWin (w,newwidth,newheight,fitToContent)
{
	if (fitToContent && w.window.sizeToContent)
	{
		// wenn das Fenster dem Inhalt angepasst werden soll
		// und der Browser dies unterstützt
		w.sizeToContent();
		return;
	}
	else if (w.resizeTo)
	{
		// der IE will das so
		w.resizeTo(newwidth,newheight);
	}
	else
	{
		// letzte Chance für alle anderen
		w.innerWidth=newwidth;
		w.innerHeight=newheight;		
	}
}

function showGalleryImage( imgpath, title )
{
	var theimg = new Image();
	theimg.src = imgpath;

	if (!title) { title = ""; }
	w = window.open("","galleryimage","width=680,height=680,toolbar=no,resizeable=yes,scrollbars=auto");
	w.document.writeln("<html>"
		+"<head>"
		+"<title>"+title+"</title>\n"
		+"</head>\n"
		+"<body style=\"margin:0;padding:0;\" onload=\"opener.sizeWinToImage(window,document.images[0])\">"
		+"<a href=\"#\" onclick=\"self.close();\"><img src=\""+imgpath+"\" border=\"0\" /></a>"
		+"</body>"
		+"</html>");
	w.document.close();
	w.focus();
	theimg.onload = resizeWin(w,theimg.width,theimg.height);
	
	return false;
}


function imagePreview( imgpath, title )
{
	if (!title) { title = ""; }
	return showGalleryImage(imgpath,title);
}


var dla = 0;
function sizeWinToImage( win, bild )
{
	if (!win) { return; }
	var x = bild.width;
	var y = bild.height;	
	if (x == 0 && y == 0) {
		if (dla > 10 ) { return; }
		setTimeout( function() { dla++; sizeWinToImage(win,bild); }, 100);
		return;
	}

	if (browser.isSafari > -1)
	{
		x += 15; y += 23;
	}
	else if (browser.isFirefox)
	{
		if (browser.isWin)
		{
			x -= 1; y+=19;
		}
		else if (browser.isMac) {
			x -= 1; y+=19;
		}
		else
		{
			x -= 1; y+=24;
		}
	}
	else if (browser.isOpera)
	{
		y+=35; 
	}

	if (w.resizeTo) {
		win.resizeTo(x,y);
	}
	else
	{
		win.innerWidth=x;
		win.innerHeight=y;
	}
	return;
}