/* Global Constants, Variables and Procedures */

sbmBrowser = window.navigator.userAgent; 
sbmBrowserVersion = parseInt(sbmBrowser.charAt(sbmBrowser.indexOf("/")+1),10);
function sbmIsIE() { return sbmBrowser.indexOf("MSIE") > 0;}

function sbmFindImageInDocument(ImageName, doc) { 
// "doc" ist ein Dokument-Object

	var img;

	if (!doc) return false;

	// Bilder des Dokuments durchsuchen
	if (doc.images.length > 0) {
		img = doc.images[ImageName];
		if (img) return img;
	}

	// IE kennt keine LAYER
	if (sbmIsIE) return false;

	// NetScape kennt LAYER
	for (var l=0;l<doc.layers.length;l++) {
		img = sbmFindImageInDocument(ImageName,doc.layers[l].document); 
		if (img) return img; 
	}

	return false;

} /* sbmFindImageInDocument */

function sbmFindImageInWindow(ImageName, winfrm) { 
/* winfrm is a "window" or "frame" */

	if (sbmBrowserVersion < 4) return winfrm.document[ImageName];

	var img = sbmFindImageInDocument(ImageName, winfrm.document);
	if (img) return img;
 
	for (var f=0;f<winfrm.frames.length;f++) {
		img = sbmFindImageInWindow(ImageName, winfrm.frames[f]);
		if (img) return img;
	}

	return false;

} /* sbmFindImageInWindow */

function sbmSetImageURL(ImageName, sURL, win) {
/* Locates the IMG-Tag ImageName in window or frame "win" and sets the SRC-Property to sURL */

	var wf = (arguments.length == 2) ? top : win;
	
	var img = sbmFindImageInWindow(ImageName, wf);

	if (img) {
		img.src = sURL;
	}
	return false;

}	/* sbmSetImageURL */

function sbmFindFrameInWindow(FrameName, win) {
/* Locates the Frame named FrameName in window or frame win and returns the frame */

	if (sbmBrowserVersion < 4) return win.document[FrameName];

	if (win.frames.length == 0) return null;

	var frm = win.frames[FrameName];

	if (frm) return frm;

	for (var f=0;f<win.frames.length;f++) {
		frm = sbmFindFrameInWindow(FrameName, win.frames[f]);
		if (frm) return frm;
	}

	return null;

}	/* sbmFindFrameInWindow */

function sbmSetFrameURL(FrameName, sURL, win) {
/* Locates the Frame named FrameName in window or frame win and sets the HREF-Property to sURL */
/* If parameter win is not given, topmost window "top" is assumed */

	var winfrm = (arguments.length == 2) ? top : win;

	var frm = sbmFindFrameInWindow(FrameName, winfrm);

	if (frm) frm.location.href = sURL;

	return false;

}	/* sbmSetFrameURL */

function sbmSetStatus(sText) {

	self.status = sText;
	return false;

} /* fmSetStatus */

function sbmClearStatus() {

	self.status = "";
	return false;

} // fmClearStatus

/* Cookie-Handling */

function sbmGetCookie(sKey, isNum) {
/* Returns the value of the Cookie-Part "sKey" */
/* If isNum == true, the value is assumed numerical */

	var sCookie = "";
	var vValue = "";
	if (document.cookie) {
		sCookie = document.cookie;
	    var lStart = sCookie.indexOf(sKey+"=");
 		var lEnd = sCookie.indexOf(";", lStart);
		if (lEnd == -1) {
 		   	lEnd = sCookie.length;
		}
 		var vValue = sCookie.substring(lStart + sKey.length + 1, lEnd);
	}
	if (arguments.length == 2) { 
		if (isNum == -1) { 
			if (vValue.length == 0) { 
				vValue = 0; 
			}
		}
	}
	return vValue;

} /* sbmGetCookie */

function sbmSetCookie(sKey, vValue) {

   var jetzt = new Date();
   document.cookie = sKey + "=" + vValue + ";";

} /* sbmSetCookie */

function sbmOpenWindow(sURL, sTitle, Height, Width, HeightAdd, WidthAdd) {

	var winParam = '';
	var vWindow;
	var lHeight = 0;
	var lWidth = 0;

	var lHeightAdd = 16;
	var lWidthAdd = 16;

	if (arguments.length >= 5) { 
		lHeightAdd = HeightAdd;
	}	
	if (arguments.length >= 6) { 
		lWidthAdd = WidthAdd;
	}	
	
	if (top.sbmIsIE()) {
		lHeight = Height;
		lWidth = Width;
	} else {
		lHeight = Height + lHeightAdd;
		lWidth = Width + lWidthAdd;
	}

	winParam = 'height=' + lHeight + ',width=' + lWidth;

	vWindow = open(sURL, sTitle, winParam);

	if (vWindow) {
		vWindow.focus()	
	}

	return vWindow;

} /* sbmOpenWindow */
