

var myContainer = {

	'xMaus':0,
	'yMaus':0,

	'click' : function(e) {
		//http://de.selfhtml.org/navigation/anzeige/rechte_maustaste.htm
		if (!e)
			e = window.event;
	
		// Testausgaben
		// alert(e.type); //linke Maus - mousedown, rechte Maus - mousedown und contextmenue
		// alert(e.button); // linke Maus - 1 im IE, alle Anderen 0, rechte Maus - alle 2
		// alert(e.witch); // nur Netscape - 3 für rechte Maus
	
		if ((e.type && e.type == "contextmenu") || (e.button && e.button == 2) || (e.which && e.which == 3)) {
			//alert('Test: ' + e.type);
			myContainer.hinweis_zeigen();
			return false;
		}
	},
	
	'hinweis_zeigen' : function(){
		//alert(myContainer.xMaus + '-' + myContainer.yMaus);
	
		// Fensterbreite
		var x_window_size = myContainer.get_window_size('x');
	
		// Breite der Hinweisbox
		var box_width = 350;
	
		// Höhe der Hinweisbox
		var box_height = 100;
	
		// Dokumentenhoehe
		var doc_height = document.getElementById('mitte-container').offsetHeight;
	
		// ist true, wenn IE8
		var is_ie8 = myContainer.is_IE8();
	
		// speichert den gescrollten y-Wert
		var yScroll = myContainer.get_scroll_xy('y');
	
		// wenn die Mausposition + Hinweisbreite (fix 350 Pixel) größer sind als die momentane Fensterbreite,
		// wird der Hinweis nicht rechts sondern links von der Maus gezeigt
		var xBoxPos = ((myContainer.xMaus+box_width) > x_window_size) ? myContainer.xMaus-box_width : myContainer.xMaus;
	
		// IE8-Sonderbehandlung: wenn der Browser der IE8 ist, hat yOffset den Wert der gescrollten y-Pixel, sonst 0
		var yOffset = (is_ie8) ? yScroll : 0;
	
		// speichert die Y-Position, an der geklickt wurde, durch yOffset für den IE8 bereinigt
		var yClickPos = myContainer.yMaus-yOffset;
	
		// speichert den Y-Wert, an der Das Hinweisfenster erscheinen soll in Abhängigkeit von der Klickposition;
		// standardmäßig unter der Maus, am Dokumentenende über der Maus
		yBoxPos = ((yClickPos+box_height) > doc_height) ? yClickPos-box_height : yClickPos;
	
		if(document.getElementById){
			document.getElementById('box-hinweis').style.display = 'block';
			document.getElementById('box-hinweis').style.top = eval("'" + yBoxPos + "px'");
			document.getElementById('box-hinweis').style.left = eval("'" + xBoxPos + "px'");
		}
	},

	'hinweis_schliessen' : function(){
		if(document.getElementById){
			document.getElementById('box-hinweis').style.display = 'none';
		}
	},


	// find out if ie runs in quirks mode
	//
	'docEl' : function(){
		return( typeof document.compatMode != "undefined" && document.compatMode != "BackCompat" )?"documentElement":"body";
	},

	
	// register event
	// capture it for nc 4x
	//
	'init_mousemove' : function() {
		if(document.layers) document.captureEvents(Event.MOUSEMOVE);
		document.onmousemove =	myContainer.dpl_mouse_pos;
	},
	
	// handle onmousemove event
	//
	'dpl_mouse_pos' : function(e) {

		// position where mousemove fired
		//
		var xPos    =  e? e.pageX : window.event.x;
		var yPos    =  e? e.pageY : window.event.y;
	
		// for ie add scroll position
		//
		if (document.all && !document.captureEvents) {
			xPos += document[myContainer.docEl()].scrollLeft;
			yPos += document[myContainer.docEl()].scrollTop;
		}
		// display position
		//
		//document.feld.ausg.value = "Left = " +xPos +" : Top = " +yPos;
	
		// for the dino pass event
		//
		if (document.layers) routeEvent(e);
		
		myContainer.xMaus = xPos;
		myContainer.yMaus = yPos;
		
	},
	
	'get_window_size' : function(s) {
		var windowHeight = 0;
		var windowWidth = 0;
		if (typeof(window.innerHeight)=='number') {
			windowWidth = window.innerWidth;
			windowHeight = window.innerHeight;
		}
		else {
			if (document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight )) {
				windowWidth = document.documentElement.clientWidth;
				windowHeight = document.documentElement.clientHeight;
			}
			else {
				if (document.body && ( document.body.clientWidth || document.body.clientHeight )) {
					windowWidth = document.body.clientWidth;
					windowHeight = document.body.clientHeight;
				}
			}
		}
		
		//eine Möglichkeit, Höhe, Breite oder Beides (kommasepariert) zu bekommen.
		switch(s){
			case "x": return windowWidth; break;
			case "y": return windowHeight; break;
			default: return [ windowWidth, windowHeight ]; break;
		}
	},

	// gibt den gescrollten x-Wert, y-Wert oder beide kommasepariert zuück
	'get_scroll_xy' : function(s) {
		var scrOfX = 0, scrOfY = 0;   
	
		if( typeof( window.pageYOffset ) == 'number' ) {   
			//Netscape compliant   
			scrOfY = window.pageYOffset;   
			scrOfX = window.pageXOffset;   
		}
		else {
			if( document.body && ( document.body.scrollLeft || document.body.scrollTop )) {
				//DOM compliant   
				scrOfY = document.body.scrollTop;   
				scrOfX = document.body.scrollLeft;   
			}
			else {
				if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop )) {
					//IE6 standards compliant mode   
					scrOfY = document.documentElement.scrollTop;   
					scrOfX = document.documentElement.scrollLeft;   
				} 
			}
		}
		switch(s){
			case "x": return scrOfX; break;
			case "y": return scrOfY; break;
			case "xy": return [ scrOfX, scrOfY ]; break; // x und y kommasepariert
		}
	},
	
	// prüft Browser und, wenn IE, die Version
	'is_IE8' : function(){
		var browser = navigator.appName;
		if(browser == 'Microsoft Internet Explorer'){
			var version = myContainer.getMsieVersion();
			if(version == 8){
				return true;
			}
		}
		return false;
	},
	// gibt die Version als number zurück
	'getMsieVersion' : function(){
		var version = navigator.appVersion;
		var temp = version.split(";")
		version = temp[1];
		version = version.replace(/ /g, "");
		version = version.replace(/[a-z]/gi, "");
		version = parseInt(version);
		//alert(version);
		return version;
	},
	'ende':'ende'
};

document.onmousedown = myContainer.click;
document.oncontextmenu = myContainer.click;

