function getAbsolutePosition(element) {
    var r = { x: element.offsetLeft, y: element.offsetTop };
    if (element.offsetParent) {
    var tmp = getAbsolutePosition(element.offsetParent);
    r.x += tmp.x;
    r.y += tmp.y;
    }
    return r;
};


function getPageSize() {

        var xScroll, yScroll;

        if (window.innerHeight && window.scrollMaxY) {
                xScroll = window.innerWidth + window.scrollMaxX;
                yScroll = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
                xScroll = document.body.scrollWidth;
                yScroll = document.body.scrollHeight;
        } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
                xScroll = document.body.offsetWidth;
                yScroll = document.body.offsetHeight;
        }

        var windowWidth, windowHeight;

//        console.log(self.innerWidth);
//        console.log(document.documentElement.clientWidth);

        if (self.innerHeight) {        // all except Explorer
                if(document.documentElement.clientWidth){
                        windowWidth = document.documentElement.clientWidth;
                } else {
                        windowWidth = self.innerWidth;
                }
                windowHeight = self.innerHeight;
        } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
                windowWidth = document.documentElement.clientWidth;
                windowHeight = document.documentElement.clientHeight;
        } else if (document.body) { // other Explorers
                windowWidth = document.body.clientWidth;
                windowHeight = document.body.clientHeight;
        }

        // for small pages with total height less then height of the viewport
        if(yScroll < windowHeight){
                pageHeight = windowHeight;
        } else {
                pageHeight = yScroll;
        }

//        console.log("xScroll " + xScroll)
//        console.log("windowWidth " + windowWidth)

        // for small pages with total width less then width of the viewport
        if(xScroll < windowWidth){
                pageWidth = xScroll;
        } else {
                pageWidth = windowWidth;
        }
//        console.log("pageWidth " + pageWidth)
        //alert(pageWidth + "\n" + pageHeight + "\n" + windowWidth + "\n" + windowHeight);
        arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
        return arrayPageSize;
}

function getObjectHeight(elm)
{
   return elm.offsetHeight;
}

function getObjectWidth(elm)
{
   return elm.offsetWidth;
}

function toggle_menu_display(id,thisObj)
{
   var obj = document.getElementById(id);
   if (obj)
   {
       if (obj.style.display == 'none')
       {
           obj.style.display = '';
           thisObj.className = 'open';
       }
       else
       {
           obj.style.display = 'none';
           thisObj.className = '';
       }
   }

}

function openSite(favFrame,uri)
{
   if (parent.frames[favFrame])
   {
       parent.frames[favFrame].location.href = uri;
   }
   else
   {
       location.href = uri;
   }
}

function open_fullscreen(uri)
{
   if (document.layers)
   {
        var breite=screen.width-10;
        var hoehe=screen.height-20;
   }
   else
   {
        var breite=screen.width-2;
        var hoehe=screen.height;
   }

   wd = window.open(uri, "Zweitfenster", "width="+breite+",height="+hoehe+",left=0,top=0,scrollbars=1");
   wd.resizeTo(breite,hoehe);
   wd.moveTo(0,0);
   wd.focus();
}

function openWindow(uri,width,height)
{
	wd = window.open(uri, "Zweitfenster", "width="+width+",height="+height+",left=0,top=0,scrollbars=no");
  wd.resizeTo(width,height);
  //wd.moveTo(0,0);
  wd.focus();
}

function setControlContent(id,val)
{
   var fr = parent.parent.frames['controler'];
   if (fr)
   {
       if (fr.document.getElementById(id)) fr.document.getElementById(id).innerHTML = val;
       return;
   }

   var fr = parent.frames['controler'];
   if (fr)
   {
       if (fr.document.getElementById(id)) fr.document.getElementById(id).innerHTML = val;
       return;
   }

}

function in_array(word,array)
{
   for (var wert in array)
   {
        if (array[wert] == word) return true;
   }
   return false;
}

function AutoFill(toDo,obj)
{
	
	if (obj.value.length <=3) return;
	
	var site = 'personsearch';
	var valueField = (document.getElementById(obj.id + '_value')) ? obj.id + '_value' : 'ne';	
	
	var pos = getAbsolutePosition(obj);
	var iframe = document.getElementById('framehelper');
	if (!iframe)
	{
		var objBody = document.getElementsByTagName("body").item(0);
                
   	var objHelper = document.createElement("div");
    objHelper.setAttribute('id','framehelper');
    objHelper.style.display = 'none';    
    objHelper.style.innerHTML = 'fdgfdgfdg';    
    objBody.appendChild(objHelper);
    iframe = document.getElementById('framehelper');
    
	}
	
	iframe.style.top = eval(pos.y + obj.offsetHeight) + "px";
	iframe.style.left = eval(pos.x) + "px";
	iframe.style.display = "";
	
	var width = (obj.offsetWidth > 250) ? obj.offsetWidth : 250;
	iframe.style.width = eval(width) + "px";
	
	iframe.innerHTML = '<iframe src="'+defaultpath+'addons/helper/'+site+'.php?width='+width+'&field='+obj.id+'&valueField='+valueField+'&q='+obj.value+'" frameborder="0" width="100%" height="100" scrolling="auto"></iframe>';
	
	//alert(pos.x)
}
