/*ACHTUNG: Das kopieren des ganzen oder Teile des Skriptes ist nicht erlaubt und wird Strafrechtlich verfolgt.
*Copyright 2008 - 2009 by ViWa-Media.com
*JS-Funktion Version 1.0.6
*/
var xMausPos; //Mausposition X
var yMausPos; //Mausposition Y

//Maus Pos start
var docEl = (typeof document.compatMode != "undefined" && document.compatMode != "BackCompat")? "documentElement" : "body";

// register event
// capture it for nc 4x (ok it's a dino)
if(document.layers)
	document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = dpl_mouse_pos;

function dpl_mouse_pos(e)
{
    // position where mousemove fired
    xMausPos    =  e? e.pageX : window.event.x;
    yMausPos    =  e? e.pageY : window.event.y;

	// for IE add scroll position
	if (document.all && !document.captureEvents)
	{
		xMausPos    += document[docEl].scrollLeft;
		yMausPos    += document[docEl].scrollTop;
	}
}
//Maus Pos end

//Position des Elements ausgeben
function getElementX(el) //X-Pos
{
    x = el.offsetLeft;
    if (!el.offsetParent) return x;
    else return (x+getElementX(el.offsetParent));
}
function getElementY(el) //Y-Pos
{
    y = el.offsetTop;
    if (!el.offsetParent) return y;
    else return (y+getElementY(el.offsetParent));
}

//Ausgabe von Höche, Breite des Browsers
function getWinSize(xy) //xy='x' or = 'y'
{
    if (typeof window.innerWidth == 'number')//Firefox
    {
        if(xy == 'x') return window.innerWidth;
        else return window.innerHeight;
    }
    else if (typeof document.body.clientWidth == 'number')//IE
    {
        if(xy == 'x') return document.body.clientWidth;
        else return document.body.clientHeight;
    }
    else if (typeof document.documentElement.clientWidth == 'number')
    {
        if(xy == 'x') return document.documentElement.clientWidth;
        else return document.documentElement.clientHeight;
    }
}

//Höche der gesammten Seite!
function getScrollTop()
{
	return document.body.scrollTop;
}
//Breite der gesammten Seite!
function getScrollLeft()
{
	return document.body.scrollLeft;
}
//Element auf der Seite Zentrieren
function ElementCenter(Element)
{
	ScreenX = getWinSize('x');
	ScreenY = getWinSize('y');
	ScrollTop = getScrollTop();
	ScrollLeft = getScrollLeft();
	ElementSizeX = $(Element).getWidth();
	ElementSizeY = $(Element).getHeight();
	$(Element).style.position = "absolute";
	$(Element).style.top = ((ScreenY - ElementSizeY)/2) + ScrollTop;
	$(Element).style.left = ((ScreenX - ElementSizeX)/2) + ScrollLeft;
}

//Div Verschieben mit Mauszeiger
function DragElement(dragElement, ankerElement) {
    //http://www.online-im-park.de/2008/01/25/ajax-tutorial-drag-drop-mit-prototypescriptaculous-ganz-einfach/
    //new Draggable(div, { scroll: window, handle: anker, duration: 0, starteffect: 0 });
    if (ankerElement != null)
        new Draggable(dragElement, { scroll: window, handle: ankerElement, revert: false, duration: 0, starteffect: 0 });
    else
        new Draggable(dragElement, { scroll: window, revert: false, duration: 0, starteffect: 0 });
}
//----------------------------------------
function ZoomImgOver(img,text)
{
		if (!isNaN($('zoomImg'))) 
		{
			var newdiv = document.createElement('div');
			newdiv.setAttribute('id', 'zoomImg');
			document.body.appendChild(newdiv);
		}
		if(text == undefined) text= '';
        $("zoomImg").innerHTML = '<div onmouseout="ZoomImgOut()" onclick="ZoomImgOut()" style="border:1px solid #000; padding: 5px; background:#fff;  position: absolute; left:'+(xMausPos-120)+'; top:'+(yMausPos-160)+'"><img border="0" src="'+ img +'"><div style="width:240;">'+text+'</div></div>';
}

function ZoomImgOut()
{
	if (isNaN($('zoomImg'))) 
	{
        $("zoomImg").innerHTML = '';
    }
}

//parameter - Form.serialize($('form1'))
function LoadData(div, url, method, parameter)
{
	if (!isNaN($(div))) 
	{
        var newdiv = document.createElement('div');
        newdiv.setAttribute('id', div);
        document.body.appendChild(newdiv);
        $(div).style.display = 'none'; 
    }
    method = (method == undefined)?'get':method;
    LoadBar(true);
    new Ajax.Updater(div, url,{evalScripts: true, method: method, parameters: parameter, onComplete: function(){LoadBar(false);}});
	
}

function LoadBar(visible)
{
    if(!isNaN(document.getElementById('divLoadBar')))
    {
        var newdiv = document.createElement('div');
        newdiv.setAttribute('id', 'divLoadBar');
        document.body.appendChild(newdiv);
        document.getElementById('divLoadBar').className = 'waitbar';
    }
    try
    {
		ElementCenter(document.getElementById('divLoadBar'));
		document.getElementById('divLoadBar').style.display = (visible == true )?'block':'none';
    }
    catch(e)
    {
        document.getElementById('divLoadBar').style.display = 'none';
    }
}

function LoadSandUhr(visible)
{
    if(!isNaN(document.getElementById('divSandUhr')))
    {
        var newdiv = document.createElement('div');
        newdiv.setAttribute('id', 'divSandUhr');
        document.body.appendChild(newdiv);
        document.getElementById('divSandUhr').className = 'sanduhr';
    }
    try
    {
		document.getElementById('divSandUhr').style.position = "absolute";
		document.getElementById('divSandUhr').style.left = xMausPos+10;
		document.getElementById('divSandUhr').style.top = yMausPos+10;
		document.getElementById('divSandUhr').style.display = (visible == true )?'block':'none';
    }
    catch(e)
    {
        document.getElementById('divSandUhr').style.display = 'none';
    }	
}

function ToolTip(text)
{
    if(!isNaN(document.getElementById('dvToolTip')))
    {
        var newdiv = document.createElement('div');
        newdiv.setAttribute('id', 'dvToolTip');
        document.body.appendChild(newdiv);
        document.getElementById('dvToolTip').className = 'tooltip';
    }
    try
    {
        if(text != "")
        {
            document.getElementById('dvToolTip').style.display = 'block';
            document.getElementById('dvToolTip').style.top = yMausPos+15;
            document.getElementById('dvToolTip').style.left = xMausPos+15;
            document.getElementById('dvToolTip').innerHTML = text;
        }
        else
            document.getElementById('dvToolTip').style.display = 'none';
    }
    catch(e)
    {
        document.getElementById('dvToolTip').style.display = 'none';
    }
}

function ToolTipBox(text)
{
	if(isNaN(document.getElementById('dvTipBox')))
	{
	    if(text != '')
	    {
	        document.getElementById('dvTipBox').innerHTML = text;
	    }
	    else
	    {
	    	document.getElementById('dvTipBox').innerHTML = '';
	    }
	}
}

function Popup(dvID, Title, URL, width, height)
{
    if (!isNaN($(dvID))) {
        var newdiv = document.createElement('div');
        newdiv.setAttribute('id', dvID);
        document.body.appendChild(newdiv);
       // $(dvID).className = 'popup';
    }
    try {
        $(dvID).style.width = width;
        $(dvID).style.height = height;
        ElementCenter($(dvID));

        $(dvID).innerHTML = "<div class='popuphead' id='" + dvID + "Title' style='width: "+width+"px; '><div style='float:left'>" + Title + "</div><div style='float:right;cursor:pointer;'> <img  onclick=\"closePopup('"+dvID+"');\" src='images/icon16/close.gif'></div></div>";        
		var divheight = $(dvID).getHeight() - $(dvID + 'Title').getHeight();
        $(dvID).innerHTML += "<div id='dv" + dvID + "' class='popupbody' style='width: "+width+"px; clear:left; overflow-x:hidden; overflow-y:auto; height:" + divheight + ";'></div>";
		LoadData('dv'+dvID, URL);
        DragElement(dvID, dvID + 'Title');
    }
    catch (e) {
    	$(dvID).innerHTML = '';
    }
}
function closePopup(dvID)
{
	$(dvID).innerHTML = '';
	$(dvID).style.height = '1px';
	$(dvID).style.width = '1px';
}

function openWindow(title, url, width, height)
{
    var top = Math.ceil((screen.height - height) / 2);
    var left = Math.ceil((screen.width - width) / 2);
    var win = window.open(url, title,"width=" + width + ",height=" + height + ",top=" + top + ",left=" + left + ",location=no,status=no,toolbar=no,menubar=no,resizable=no,scrollbars=yes");
    win.focus();
}

//gibt HEX kode aus, zb(255,2) => FF
function toHexString(numValue, minLength)
{
	if (typeof numValue != "number")
		return "Bad numValue, type: "+ typeof numValue;
		
	if (typeof minLength != "number")
		return "Bad minLength, type: " + typeof minLength;
	
	var strValue = numValue.toString(16);
	
	while (strValue.length < minLength)
		strValue = "0" + strValue;
		
return strValue;
}

//---Test AREA
function CheckInt(ID){}
function CheckDouble(ID){}
function CheckString(ID){}
function CheckEmail(ID){}
function Check(Me, variante)
{
	switch(variante)
	{
		case 1://Nur zahl
			reg = new RegExp('^([0-9]+)$');
			break;
		case 2://Nur Text
			reg = new RegExp('^([a-zA-Z]+)$');
			break;
		default:
			reg = new RegExp('^([a-zA-Z0-9]+)$');
			break;
	}
    res = (reg.test($(Me).value));
    
	if(!reg.test(Me.value))
		Me.value = Me.value.substr(0, Me.value.length-1);
}
//---End Test AREA 

//Navigation Over Start
/**
Navi.Top.AddItem( $('dvTopNavi'),{ align : 'right,left' , item : new Array('<div ...>','<div ...>') });
Navi.Top.ClearBoth($('dvTopNavi'));
Navi.Top.ClearLeft($('dvTopNavi'));
Navi.Top.ClearRight($('dvTopNavi'));
Navi.setActive($('dvTopNavi...')); //Style : +'_over'
Navi.setOver($('dvTopNavi...')); //Style : +'_over'
Navi.setOut($('dvTopNavi...')); //Style : -'_over'
**/
var ActiveElement = new Array(); //Objekt
var Navi =
{
	Top: 
	{
		AddItem : function(El,Input)//Welches Div Kontainer
		{//NaviEl: $('dv'), align:'right,*left', item: new Array('<html1>','<html2>')
			if(Input.align == 'right')
			{
				if(!isNaN($(El.id + 'Right')))
					El.innerHTML += '<div id="'+ El.id + 'Right" style="float:right;"></div>';
				for(var i=0; i < Input.item.length; i++)
					$(El.id + 'Right').innerHTML += Input.item[i];
			}
			else
			{
				if(!isNaN($(El.id + 'Left')) )
					El.innerHTML += '<div id="'+ El.id + 'Left" style="float:left;"></div>';
				for(var i=0; i < Input.item.length; i++)
					$(El.id + 'Left').innerHTML += Input.item[i];
			}
		},
		ClearBoth : function(El)//Navi Element
		{El.innerHTML = '';},
		
		ClearLeft : function(El)//Navi Element
		{$(El.id+'Left').innerHTML = '';},
		
		ClearRight : function(El)//Navi Element
		{$(El.id+'Right').innerHTML = '';}
	},
	setActive : function(Element)
	{
		var GruppeID = null;
		if(Element.parentNode != null)
		{
			for(var i=0;i < ActiveElement.length; i++)
			{
				if(ActiveElement[i].parentNode == Element.parentNode)
				{
					GruppeID = i;
					break;
				}
			}
		}
		if(GruppeID == null)
		{
			GruppeID = ActiveElement.length;
			ActiveElement.push(Element);
		}
		if(isNaN($(ActiveElement[GruppeID])))
		{
			$(ActiveElement[GruppeID]).className = $(ActiveElement[GruppeID]).className.replace("_over", "");
		}
		$(Element).className = $(Element).className.replace("_over", "") + '_over';
		ActiveElement[GruppeID] = Element;
	},
	setOver : function(Element)
	{
		$(Element).className = $(Element).className.replace("_over", "") + '_over';
	},
	setOut : function(Element)
	{
		var GruppeID = null;

		if(Element.parentNode != null)
		{
			for(var i=0;i < ActiveElement.length; i++)
			{
				if(ActiveElement[i].parentNode == Element.parentNode)
				{
					GruppeID = i;
					break;
				}
			}
		}
		if(ActiveElement[GruppeID] != Element) $(Element).className = $(Element).className.replace("_over", "");	
	}
}
//Navigation Over Ende