var IMAGE_CLOSE_NEVER = 1;
var IMAGE_CLOSE_ON_CLICK = 2;
var IMAGE_CLOSE_ON_MOUSE_OUT = 3;

function hoverImage(idImg, url) {
	var imgNode = document.getElementById(idImg);
	if (imgNode && imgNode.src != url) {
		imgNode.src = url;
		imgNode.style.display = "inline";
	}
	return undefined;
}

function previewImage(idImg, url, clickedNode, idAct) {
	if (previewImage.arguments.length < 4) idAct = false;
	if (previewImage.arguments.length < 3) clickedNode = null;
	var imgNode = document.getElementById(idImg);
	if (!imgNode) return undefined;
	if (imgNode.src != url) {
		imgNode.src = url;
		if (idAct) {
			var actNode = document.getElementById(idAct);
			if (actNode) actNode.id = '';
			clickedNode.id = idAct;
			clickedNode.blur();
		}
	}
	return undefined;
}

function showPopup ( url, elemName ) {
	/* default values for missing parameters */
	if ( showPopup.arguments.length < 1 ) return true;
	if ( showPopup.arguments.length < 2 ) elemName = '';
	
	/* load url in window if no element specified */
	if ( elemName == '' ) {
		window.open ( url, '_blank', 'location=no,menubar=no,status=no,toolbar=no, width=640, height=480' );
		return false;
	}
	
	/* get node */
	var elem = document.getElementById ( elemName );
	if ( elem == null ) return true;
	
	/* hide previous image */
	hideImage ( elemName );
	
	/* create img */
	var img = document.createElement ( 'img' );
	img.src = url;

	var eventName = 'onclick';
	var infoText = 'bitte klicken, um das Bild zu schliessen'
	
	img['onclick'] = new Function ( 'hideImage(\'' + elemName + '\')' );
	var info = document.createAttribute('title');
	info.nodeValue = infoText;
	img.setAttributeNode(info);
	
	/* append node to dom-tree */
	elem.appendChild ( img );
	
	elem.style.display = "block";
	
	return false;
}

function showImage(idImg, url, clickedNode, idAct, urlHigh, idPopUp) {
	previewImage(idImg, url, clickedNode, idAct);
	var imgNode = document.getElementById(idImg);
	if (!imgNode || urlHigh == '') {
		imgNode.style.cursor = 'auto';
		imgNode['onclick'] = new Function();
	} else {
		imgNode.style.cursor = 'pointer';
		imgNode['onclick'] = new Function ( 'showPopup(\'' + urlHigh + '\', \'' + idPopUp + '\')' );
	}
	return false;
}

function hideImage ( elemName ) {
	var elem = document.getElementById ( elemName );
	if ( elem == null ) return true;
	elem.style.display = "none";
	while ( elem.childNodes.length > 0 )
		elem.removeChild ( elem.firstChild );
}