


// einmalige Initialisierung von Geo-Daten u. PLZ pro Seitenaufruf

var g_nGeoBreite = 0;
while ( g_nGeoBreite < 47 || g_nGeoBreite > 55 )
{
	g_nGeoBreite = 47 + ( Math.random() * 8 );
}

g_nGeoBreite = ( Math.round( g_nGeoBreite * 1000000 ) ) / 1000000;

var g_strGeoBreite = String( g_nGeoBreite );


var g_nGeoLaenge = 0;
while ( g_nGeoLaenge < 6 || g_nGeoLaenge > 15 )
{
	g_nGeoLaenge = 6 + ( Math.random() * 9 );
}

g_nGeoLaenge = ( Math.round( g_nGeoLaenge * 1000000 ) ) / 1000000;

var g_strGeoLaenge = String( g_nGeoLaenge );


var g_nPLZ = 0;
while ( g_nPLZ < 1000 || g_nPLZ > 99999 )
{
	g_nPLZ = Math.round( Math.random() * 99999 );
}

var g_strPLZ = String( g_nPLZ );
if ( g_strPLZ.length == 4 )
{
	g_strPLZ = '0' + g_strPLZ;
}


function openProspekt (id)
{
	// Aufruf für "kaufDA-widget-container" (z.B. auf "Discountfan.de")
	//var urlXML = "http://www.kaufda.de/brochureViewer/data/" + id + "/WIDGET/PORTAL_OVERLAY/WIDGET/110/49.878254/9.905498/97261/true";
	//showBrochure( id, "1", urlXML, "http://static05.kaufda.de/swf/widget/v3.1/kaufDA-wrapper.v0009.swf", false );

	// Aufruf für "kaufDA-widget-367"
	// (widgetFunctions.v00004.js - showKaufdaBrochureV2)

	//var urlXML = "http://www.kaufda.de/brochureViewer/v2/data/" + id + "/WIDGET/PORTAL_OVERLAY/WIDGET/367/49.9017/9.812895/97225";
	var urlXML = "http://www.kaufda.de/brochureViewer/v2/data/" + id + "/WIDGET/PORTAL_OVERLAY/WIDGET/367/" + g_strGeoBreite + "/" + g_strGeoLaenge + "/" + g_strPLZ;
	var urlSWF = "http://static05.kaufda.de/swf/brochureViewer/v2.0/KaufDAViewer.v0150.swf";

	showKaufdaBrochureV2( "367", id, "1", urlXML, urlSWF, false ); 
}



//  Prospect-Preview (PP)


var divPP = document.createElement( "div" );
divPP.style.display  = "none";
divPP.style.position = "absolute";
divPP.style.zIndex   = 100;
divPP.style.cursor   = "pointer";
divPP.className   = "cssPP";
divPP.title       = "Prospekt öffnen";
divPP.onmouseover = function () { divPP.style.display = "block"; };
divPP.onmouseout  = function () { hidePP(); };
var imgPP = document.createElement( "img" );
divPP.appendChild( imgPP );
document.body.insertBefore( divPP, document.getElementById( "Plan" ) );


function initPP (elID, pID, pimgSubID, pImageWidth)
{
	// keine Initialisierung, wenn keine Prospekt-ID vorliegt
	if ( pID == -1 )
	{
		return;
	}


	var elMouseOver = document.getElementById( elID );

	elMouseOver.onmouseover = function () { showPP( elID, pID, pimgSubID, pImageWidth ); };
	elMouseOver.onmouseout  = function () { hidePP(); };
	
	
	// Image-Preload
	
	var imgPL = new Image();
	
	// standard
	imgPL.src = "http://static07.kaufda.de/brochures/0000/0000/0002/" + pimgSubID + "/" + pID + "/images/260x270/page_0.jpg";
	
	// special cases
	// ...
}


function showPP (elID, pID, pimgSubID, pImageWidth)
{
	var elMouseOver = document.getElementById( elID );
	
	var elOffset = cumulativeOffset( elMouseOver );
	var elPosX   = elOffset[ 0 ];
	var elPosY   = elOffset[ 1 ];

	var top;
	var left;
	var width;
	var height;
	var imgSrc; 
	var onClick;


	// standard
	
	top    = elPosY + 2;
	left   = (elPosX + 2) + (193 - pImageWidth);
	
	width  = 260;
	height = 270;

	if ( (top + height) > screen.availHeight )
	{
		if ( pImageWidth == 24 )
		{
			top = elPosY - height + 22;
		}
		else
		{
			top = elPosY - height + 46;
		}
	}

	imgSrc = "http://static07.kaufda.de/brochures/0000/0000/0002/" + pimgSubID + "/" + pID + "/images/260x270/page_0.jpg";
	onClick = function () { openProspekt( pID ); };
	
	
	// overwritting with special cases
	
	// ...
	

	divPP.style.top     = top    + "px";
	divPP.style.left    = left   + "px";
 //divPP.style.width   = width  + "px";
	divPP.style.height  = height + "px";
	
	divPP.onclick       = onClick;

	imgPP.src           = "";	   // bleibt ansonsten beim Übergang hängen
	imgPP.src           = imgSrc;

	divPP.style.display = "block";
}


function hidePP ()
{
	divPP.style.display = "none";
}


// Funktion aus d. Framework "prototype.js" (modifiziert)
function cumulativeOffset (element) 
{
	var valueT = 0, valueL = 0;

	if ( element.parentNode ) 
	{
		do 
		{
			valueT += element.offsetTop  || 0;
			valueL += element.offsetLeft || 0;
         element = element.offsetParent;
      } while ( element );
   }

	return [ valueL, valueT ];
}



