﻿// Copyright © 2000 by Apple Computer, Inc., All Rights Reserved.
//
// You may incorporate this Apple sample code into your own code
// without restriction. This Apple sample code has been provided "AS IS"
// and the responsibility for its operation is yours. You may redistribute
// this code, but you are not permitted to redistribute it as
// "Apple sample code" after having made changes.
// ********************************
// application-specific functions *
// ********************************

// store variables to control where the popup will appear relative to the cursor position
// positive numbers are below and to the right of the cursor, negative numbers are above and to the left
var xOffset = 30;
var yOffset = -5;

function showPopup (targetObjectId, eventObj) {
    if(eventObj) {
	// hide any currently-visible popups
	hideCurrentPopup();
	// stop event from bubbling up any farther
	eventObj.cancelBubble = true;
	// move popup div to current cursor position 
	// (add scrollTop to account for scrolling for IE)
	var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0);
	var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0);
	//moveObject(targetObjectId, newXCoordinate, newYCoordinate);
	// and make it visible
	if( changeObjectVisibility(targetObjectId, 'visible') ) {
	    // if we successfully showed the popup
	    // store its Id on a globally-accessible object
	    window.currentlyVisiblePopup = targetObjectId;
	    return true;
	} else {
	    // we couldn't show the popup, boo hoo!
	    return false;
	}
    } else {
	// there was no event object, so we won't be able to position anything, so give up
	return false;
    }
} // showPopup

function hideCurrentPopup() {
    // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup
    if(window.currentlyVisiblePopup) {
	changeObjectVisibility(window.currentlyVisiblePopup, 'hidden');
	window.currentlyVisiblePopup = false;
    }
} // hideCurrentPopup



// ***********************
// hacks and workarounds *
// ***********************

// initialize hacks whenever the page loads
window.onload = initializeHacks;

// setup an event handler to hide popups for generic clicks on the document
document.onclick = hideCurrentPopup;

function initializeHacks() {
    // this ugly little hack resizes a blank div to make sure you can click
    // anywhere in the window for Mac MSIE 5
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
	&& (navigator.platform.indexOf('Mac') != -1)
	&& getStyleObject('blankDiv')) {
	window.onresize = explorerMacResizeFix;
    }
    resizeBlankDiv();
    // this next function creates a placeholder object for older browsers
    createFakeEventObj();
}

function createFakeEventObj() {
    // create a fake event object for older browsers to avoid errors in function call
    // when we need to pass the event object to functions
    if (!window.event) {
	window.event = false;
    }
} // createFakeEventObj

function resizeBlankDiv() {
    // resize blank placeholder div so IE 5 on mac will get all clicks in window
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
	&& (navigator.platform.indexOf('Mac') != -1)
	&& getStyleObject('blankDiv')) {
	getStyleObject('blankDiv').width = document.body.clientWidth - 20;
	getStyleObject('blankDiv').height = document.body.clientHeight - 20;
    }
}

function explorerMacResizeFix () {
    location.reload(false);
}

// POP UP SCRIPT for ALL POPUP WINDOWS
	// centered pop-up window
	function popupWindow(mypage)
	{
		var w = 350;
		var h = 240;
		var scroll = 0;
		var resizeable = 0;
		var myname = "preview";
	
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+'resizable='+resizeable
		win = window.open(mypage, myname, winprops)
		if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
	}

	function popupWindowExt(mypage, myname, w, h, scroll, resizable)
	{
		scroll="yes";
		resizable="yes";
				
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resizable
		win = window.open(mypage, myname, winprops)
		if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
	}
	
	
	

NS4 = (document.layers) ? 1 : 0;
NS5 = (document.getElementById) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;

if(IE4 == 1) {
	NS5 = 0;
}

function hide_popup(strName) {
		if (NS4) {
			document.layers[strName].visibility = "hide";
		} // endif

		if (NS5) {
			document.getElementById(strName).style.visibility = "hidden";
		} // endelse

		if (IE4) {
			document.all[strName].style.visibility = "hidden";
		} // endelse

} // end of hide()

function show_popup(Layer, Picture) {

		hide_popup('popup_quer');
		hide_popup('popup_hoch');

		if (NS4) {
			document.layers[Layer].visibility = "visible";
		} // endif


		if (NS5) {
			document.getElementById(Layer).style.visibility = "visible";
		} // endelse


		if (IE4) {
			document.all[Layer].style.visibility = "visible";
		} // endelse
		
		document.images[Layer+'_bild'].src = Picture;
		
		// size of browser window
		var x,y;
if (self.innerHeight) // all except Explorer
{
	x = self.innerWidth;
	y = self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict Mode
{
	x = document.documentElement.clientWidth;
	y = document.documentElement.clientHeight;
}
else if (document.body) // other Explorers
{
	x = document.body.clientWidth;
	y = document.body.clientHeight;
}


var xx,yy;
if (self.pageYOffset) // all except Explorer
{
	xx = self.pageXOffset;
	yy = self.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop)
	// Explorer 6 Strict
{
	xx = document.documentElement.scrollLeft;
	yy = document.documentElement.scrollTop;
}
else if (document.body) // all other Explorers
{
	xx = document.body.scrollLeft;
	yy = document.body.scrollTop;
}


		
		document.getElementById(Layer).style.top = (y - 480) / 2 + yy + "px";
		// document.getElementById(Layer).style.top = 10;

} // end of show()

function show_thumbnail(strName,document_id,strMarker,strTitel)
{
		document.images['bild_gross'].src="Thumbnail.aspx?document_id=" + document_id + "&width=300&height=150";
		if (NS4)
		{
			document.layers[strName].visibility = "visible";
		} // endif

		if (NS5)
		{
			document.getElementById(strName).style.visibility = "visible";
			element = document.getElementById(strName);
			
			divName = document.getElementById("popuptitel");
			divName.innerHTML = strTitel;
			
		} // endelse

		if (IE4)
		{
			document.all[strName].style.visibility = "visible";
		} // endelse

			element = document.getElementById(strName);
			divTitle = document.getElementById("Marker" + strMarker);   
			element.style.top 	= divTitle.offsetTop - 40 + "px";
} // end of show_popup()

function hide_thumbnail(strName)
{
		if (NS4)
		{
			document.layers[strName].visibility = "hide";
		} // endif

		if (NS5)
		{
			document.getElementById(strName).style.visibility = "hidden";
		} // endelse

		if (IE4)
		{
			document.all[strName].style.visibility = "hidden";
		} // endelse
} // end of hide_thumbnail()
