/*
 * DSGallery
 *
 * Java Script picture zoom controler
 *
 *         (C) 2007 by Design:Slider | IT-Solutions Andreas Kintzinger
 *               (andreas dot kintzinger at design-slider dot de)
 */

/**
 * DSGallery: Shows the given image in the image zoom layer
 *
 * @param	id		String	ID of the image zoom layer
 * @param	id		String	ID of the image zoom presentor
 * @param	src		String	Source of the image to show
 */
function showImageZoom(idLayer, idPresentor, src) {
	layer = document.getElementById(idLayer);

	if (layer == null) {
		alert ("error!");
		return;
	}

	presentor = document.getElementById(idPresentor);

	if (presentor == null) {
		alert ("error!");
		return;
	}

	// calculate layer dimensions
	initImageZoomLayer(idLayer);

	layer.className = "DSGalleryImageZoomLayerVisible";

	// add image to the layer
	presentor.innerHTML = '<a href="javascript:void(0)" onclick="return hideImageZoom(\'DSGalleryImageZoomLayer\')"><img src="' + src + '" class="DSGalleryImageZoomImage" /></a>'

	// eliminate link follow
	return false;
}

/**
 * DSGallery: Hide image zoom
 *
 * @param	id		String	ID of the image zoom layer
 */
function hideImageZoom(id) {
	element = document.getElementById(id);

	if (element == null) {
		alert ("error!");
		return;
	}

	element.className = "DSGalleryImageZoomLayerHidden";

	// eliminate link follow
	return false;
}

function initImageZoomLayer(id) {
	element = document.getElementById(id);

	if (element == null) {
		alert ("error!");
		return;
	}

	element.style.left = ( ( client["X"] / 2 ) - ( parseInt( element.style.width ) / 2 ) ) + "px";
	element.style.top = ( ( client["Y"] / 2 ) - ( parseInt( element.style.height ) / 2 ) ) + "px";
}

function initDefaultImageZoomLayer() {
	initImageZoomLayer("DSGalleryImageZoomLayer");
}

addFunctionToBodyOnLoad(initDefaultImageZoomLayer);
addFunctionToBodyOnResize(initDefaultImageZoomLayer);

