/**
 * @author Marc Zahn - 2007 MAGIX AG
 */

var popup_content	= '';
var popup_mouseX	= 0;
var popup_mouseY	= 0;
var popup_width		= 0;
var popup_height	= 0;
var popup_fixed		= false;
var popup_container	= null;
var popup_browser	= '';
var popup_oldId		= '';
var popup_newId		= '';
var popu_delay		= 0;
var popup_wrapper	= null;
var popup_timeoutId	= -1;
var popup_offsetX	= 2;
var popup_offsetY	= 20;

function initPopup(e, width, height, content, delay, fixed, browser, offsetX, offsetY)
{
	popup_hide();
	popup_fixed = fixed;
	popup_setContent(content);
	popup_setDimension(width, height);
	popup_setMousePosition(e.clientX, e.clientY);
	popup_delay = delay;
	popup_browser = browser;
	popup_offsetX = offsetX;
	popup_offsetY = offsetY;
	popup_show();
}
function hidePopup()
{
	popup_hide();
}

function popup_setMousePosition(x, y)
{
	popup_mouseX = x;
	popup_mouseY = y;
}

function popup_setDimension(width, height)
{
	popup_width		= width;
	popup_height	= height;
}

function popup_setContent(str)
{
	popup_content = str;
}

function popup_setPosition()
{
	if (!popup_exists())
		return;
  
	var pc = popup_getContainer();
	switch (popup_browser)
	{
		case 'msie':
		{
			//Maximale Höhe auslesen
			maxHeight	= document.documentElement.scrollTop + document.documentElement.clientHeight;
			//Maximale Breite auslesen
			maxWidth	= document.documentElement.scrollLeft + document.documentElement.clientWidth;
			break;
		}
		default:
		{
			//Maximale Höhe auslesen
			maxHeight	= window.pageYOffset + self.innerHeight;
			//Maximale Breite auslesen
			maxWidth	= window.pageXOffset + self.innerWidth;
			break;
		}
	}
  	switch (popup_browser)
    {
    	case 'msie':
		{
			currentPosY = pc.firstChild.offsetHeight + document.documentElement.scrollTop + popup_mouseY + popup_offsetY;
			currentPosX = pc.firstChild.offsetWidth + document.documentElement.scrollLeft + popup_mouseX + popup_offsetX;
			break;
		}
		default:
		{
			currentPosY = window.pageYOffset + pc.firstChild.offsetHeight + popup_mouseY + popup_offsetY;
			currentPosX = window.pageXOffset + pc.firstChild.offsetWidth+ popup_mouseX + popup_offsetX;
			break;
		}
	}
	if (maxHeight - popup_offsetY < currentPosY)
		switch (popup_browser)
		{
			case 'msie':
			{
				pc.style.top = maxHeight - pc.firstChild.offsetHeight + 'px';
				break;
			}
			default:
			{
				pc.style.top = maxHeight - popup_offsetY - pc.firstChild.offsetHeight + 'px';
				break;
			}
		}
	else
		switch (popup_browser)
		{
			case 'msie':
			{
				pc.style.top = document.documentElement.scrollTop + popup_mouseY + popup_offsetY + 'px';
				break;
			}
			default:
			{
				pc.style.top = window.pageYOffset + popup_mouseY + popup_offsetY + 'px';
				break;
			}
		}
	
	if (maxWidth - popup_offsetX < currentPosX)
		switch (popup_browser)
		{
			case 'msie':
			{
				pc.style.left = popup_mouseX - popup_offsetX - pc.firstChild.offsetWidth + 'px';
				break;
			}
			default:
			{
				pc.style.left = popup_mouseX - popup_offsetX - pc.firstChild.offsetWidth + 'px';
				break;
			}
		}
	else
		switch (popup_browser)
		{
			case 'msie':
			{
				pc.style.left = popup_mouseX + document.documentElement.scrollLeft + popup_offsetX + 'px';
				break;
			}
			default:
			{
				pc.style.left = popup_mouseX + window.pageXOffset + popup_offsetX + 'px';
				break;
			}
		}
}

function popup_getPopupWrapper(content)
{
	var popup 				= document.createElement('div');
	popup.className		= 'detailsPopup';
	popup.style.width	= popup_width;

	tmp					= document.createElement('div');
	tmp.className		= 'popupTL';
	popup.appendChild(tmp);
	tmp					= document.createElement('div');
	tmp.className		= 'popupTR';
	popup.appendChild(tmp);
	tmp					= document.createElement('br');
	tmp.style.clear		= 'both';
	popup.appendChild(tmp);

	tmp					= document.createElement('div');
	tmp.className		= 'popupMR';
	
	popup.appendChild(tmp);
	
	tmp1				= document.createElement('div');
	tmp1.className		= 'popupWrapper';
	tmp1.innerHTML = content;
	
	tmp.appendChild(tmp1);
	popup.appendChild(tmp);

	tmp					= document.createElement('div');
	tmp.className		= 'popupBL';
	popup.appendChild(tmp);
	tmp					= document.createElement('div');
	tmp.className		= 'popupBR';
	popup.appendChild(tmp);
	tmp					= document.createElement('br');
	tmp.style.clear		= 'both';
	popup.appendChild(tmp);
	return popup;
}


function popup_getPopupWrapperRaw(content)
{
	var tmp 				= '';
	
	tmp += '<div class="detailsPopup">';
	
	tmp += '<div class="popupTL"></div>';
	tmp += '<div class="popupTR"></div>';
	
	tmp += '<br style="clear:both;" />';
	
	tmp += '<div class="popupMR"><div style="margin-right:10px;background:url(themes/MAGIX_OMK/images/listMedia/popupLayer/bkg_cc.png) repeat-y;padding:0px 5px 6px 8px;">' + content + '</div></div>';

	
	tmp += '<div class="popupBL"></div>';
	tmp += '<div class="popupBR"></div>';
	
	tmp += '<br style="clear:both;" />';
	
	tmp += '</div>';
	return tmp;
}

function popup_show()
{
	popup_container = document.createElement('div');
	popup_container.id = 'popup';
	popup_container.style.position = 'absolute';
	
	popup_container.style.width = popup_width;
	popup_container.style.height = popup_height;
	popup_container.style.position = 'absolute';
	popup_container.style.top = '0px';
	popup_container.style.left = '0px';
	popup_container.style.visibility = 'hidden';
	
	popup_container.appendChild(popup_getPopupWrapper(popup_content))
	
	popup_timeoutId = setTimeout('document.body.appendChild(popup_container);popup_setPosition();popup_container.style.visibility = \'visible\';', popup_delay);
}

function popup_exists()
{
	return document.getElementById('popup') != null;
}

function popup_getContainer()
{
	return document.getElementById('popup');
}

function popup_hide()
{
	if (popup_exists())
	{
		var pc = popup_getContainer();
		pc.parentNode.removeChild(pc);
	}
	window.clearTimeout(popup_timeoutId);
}