/*

 Collection of usablity functions for tourist-online.de
 Author: Tobias Tuschen (sup4u GmbH)
 Last change: 2007-05-15
 modified for portals Thomas Klein 08.08.2008 10:27:00

*/

var offset_left = 0;

if (typeof(languageCode) == 'undefined') var languageCode = 'de';

function unloadImage(evt)
{

	/* check if mouse cursor is on image (because of loading loop), else unload */

	// get event
	if (!evt)
	evt = window.event;

	// get current cursor position
	positionX = mouseX(evt);
	positionY = mouseY(evt);

	// imagePreview position (left/top)
	scrollXY = getScrollXY();
	previewX = scrollXY[0];
	previewY = scrollXY[1];

	// imagePreview dimensions
	if (document.getElementById && document.getElementById("imgPrvImg"))
	{
	  previewWith = document.getElementById("imgPrvImg").width;
	  previewHeight = document.getElementById("imgPrvImg").height;
  }
  else if (document.all && document.all.imgPrv)
	{
		previewWith = document.all.imgPrv.width;
		previewHeight = document.all.imgPrv.height;
	}

	// imagePreview area (10 = margin, 10 = border)
	previewAreaX = previewX + previewWith + 10 + 22;
	previewAreaY = previewY + previewHeight + 10 + 16;

	if ((positionX < previewAreaX) && (positionY < previewAreaY) && (positionX > 170))
	{
		/* nothing to do */
		/* alert(previewAreaX + ' ' + previewAreaY + ' / ' + positionX + ' ' + positionY );  */
	}
	else
	{

		if (document.getElementById && document.getElementById("imgPrvShadow")) {
			document.getElementById("imgPrvShadow").style.visibility = 'hidden';
			document.getElementById("imgPrvShadow").style.display = 'none';
			document.getElementById("imgPrv").innerHTML = '';
			document.getElementById("imgPrvShadow").style.left  = '1px';
			document.getElementById("imgPrvShadow").style.top = '1px';
		}
		else if (document.all && document.all.imgPrvShadow)
		{
			document.all.imgPrvShadow.style.visibility = 'hidden';
			document.all.imgPrvShadow.style.display = 'none';
			document.all.imgPrv.innerHTML = '';
			document.all.imgPrvShadow.style.left = '1px';
			document.all.imgPrvShadow.style.top = '1px';
		}

  }

}

function loadImage(evt, imageUrl)
{
	// get event
	if (!evt)
	evt = window.event;

	// get current cursor position
	/* DISABLED, now controlled by left/top corner
	positionX = mouseX(evt);
	positionY = mouseY(evt);
	*/

	scrollXY = getScrollXY();

	// now in top left corner
	positionX = scrollXY[0];
	positionY = scrollXY[1];

	// set image and display
	if (document.getElementById && document.getElementById("imgPrvShadow")) {
		document.getElementById("imgPrvShadow").style.visibility = 'visible';
		document.getElementById("imgPrvShadow").style.display = 'block';
		document.getElementById("imgPrv").innerHTML = '<div class="imgBorder" onMouseMove="unloadImage(event)" onMouseOut="unloadImage(event)"><img id="imgPrvImg" src="' + imageUrl + '" alt=""></div>';
		document.getElementById("imgPrvShadow").style.left  = (positionX + offset_left + 10) + 'px';
		document.getElementById("imgPrvShadow").style.top = (positionY + 4) + 'px';
	}
	else if (document.all && document.all.imgPrvShadow)
	{
		document.all.imgPrvShadow.style.visibility = 'visible';
		document.all.imgPrvShadow.style.display = 'block';
		document.all.imgPrv.innerHTML = '<div class="imgBorder" onMouseMove="unloadImage(event)" onMouseOut="unloadImage(event)"><img id="imgPrvImg" src="' + imageUrl + '" alt=""></div>';
		document.all.imgPrvShadow.style.left  = (positionX + offset_left + 10) + 'px';
		document.all.imgPrvShadow.style.top = (positionY + 4) + 'px';
	}
}

function mouseX(evt)
{
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
	return evt.clientX + (document.documentElement.scrollLeft ?
	document.documentElement.scrollLeft :
	document.body.scrollLeft);
	else return null;
}

function mouseY(evt)
{
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)
	return evt.clientY + (document.documentElement.scrollTop ?
	document.documentElement.scrollTop :
	document.body.scrollTop);
	else return null;
}

function getScrollXY() {
  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;
  }
  return [ scrOfX, scrOfY ];
}

