var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all

var offsetx = 0;
var offsety = 0;
var tempx = 0;
var tempy = 0;
var crossobj;

function Browser() {

  var ua, s, i;

  this.isIE    = false;  // Internet Explorer
  this.isOP    = false;  // Opera
  this.isNS    = false;  // Netscape
  this.version = null;

  ua = navigator.userAgent;

  s = "Opera";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isOP = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as Netscape 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }

  s = "MSIE";
  if ((i = ua.indexOf(s))) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }
}

var browser = new Browser();

if (browser.isIE){
  document.onmousedown = init_drag;
}
else {
  document.addEventListener("mousedown", init_drag, true);
}

document.onmouseup=new Function("dragapproved=false")


//Drag und Drop Funktion fuer NS 4//
var dragswitch=0
var nsx
var nsy
var nstemp

function drag_drop_ns(name){
    if (!ns4)
        return
    temp=eval(name)
    temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
    temp.onmousedown=gons
    temp.onmousemove=dragns
    temp.onmouseup=stopns    
    
}

function gons(e){
    temp.captureEvents(Event.MOUSEMOVE)
    nsx=e.x
    nsy=e.y
}

function dragns(e){
    if (dragswitch==1){
        temp.moveBy(e.x-nsx,e.y-nsy)
        return false
    }
}

function stopns(){
    temp.releaseEvents(Event.MOUSEMOVE)
}

//Drag und Drop Funktion fuer ie4+ und NS6//
function drag_drop(e){
    if (ie4 && dragapproved){
    	
        crossobj.style.left=tempx + event.clientX - offsetx;
        crossobj.style.top=tempy+ event.clientY- offsety;
        
        return false
    }
    else if (ns6&&dragapproved){
        crossobj.style.left=tempx+e.clientX-offsetx + 'px';
        crossobj.style.top=tempy+e.clientY-offsety + 'px';
        
        return false
    }
}

function init_drag(e){  
    crossobj = ns6 ? document.getElementById("popupbox") : document.all.popupbox
    
    var firedobj=ns6? e.target : event.srcElement
    
    var topelement=ns6? "HTML" : "BODY"
        
    while (firedobj.tagName!=topelement&&firedobj.id!="dragbar"){
        if((!ns6 && firedobj.parentElement != null) || (ns6 && firedobj.parentNode != null))
            firedobj=ns6? firedobj.parentNode : firedobj.parentElement
        else
            break;
    }

    if (firedobj.id=="dragbar"){
        offsetx = ie4 ? event.clientX : e.clientX;
        offsety = ie4 ? event.clientY : e.clientY;
        
        tempx=parseInt(crossobj.style.left)
        tempy=parseInt(crossobj.style.top)
        
        dragapproved=true
        document.onmousemove=drag_drop
    }
}


//Drag und Drop Funktionen enden hier//
function box_weg(){
    if (ie4||ns6)
        crossobj.style.visibility="hidden"
    else if (ns4)
        document.popupbox.visibility="hide"
}


function showBox(bild, text){
    if (ie4||ns6){
        document.getElementById("bild").src=bild;
        document.getElementById("bild").title=text;
        document.getElementById("bild").alt=text;
        crossobj.style.visibility="visible"        
        
        objWidth=crossobj.style.width;
        objHeight=crossobj.style.height;
        temp = objWidth.replace("px", "");
        if(x + Number(temp) > 900){        
           x = 650;
        }

        //alert((y - Number(temp) < 100));
        if(y - Number(temp) < 100){        
           y = y + Number(temp);
        }         
        
        //alert((y - (Number(temp)) - 100) + 'px');
        crossobj.style.left=(x - (Number(temp))) + 'px';
        crossobj.style.top=(y - (Number(temp)) - 100) + 'px';
        crossobj.style.visibility="visible"
        
    }
    else if (ns4)
        document.popupbox.visibility="show"
}

var docEl = (
             typeof document.compatMode != "undefined" && 
             document.compatMode        != "BackCompat"
            )? "documentElement" : "body";

    //alert(ie4 == true);
function getPosXY(e) {
    //x = (browser.isIE) ? event.clientX + document.body.scrollLeft : e.pageX;
    //y = (browser.isIE) ? event.clientY + document.body.scrollTop : e.pageY;
    
    
    // position where mousemove fired
    //
    x =  e? e.pageX : window.event.x;
	y =  e? e.pageY : window.event.y;

	
	// for ie add scroll position
	//
	if (document.all && !document.captureEvents) {
	    x += document[docEl].scrollLeft;
	    y += document[docEl].scrollTop;
    }
    
    if(x < 0) { x = 0; }
    if(y < 0) { y = 0; } 
 }
 
 document.onmousemove = getPosXY;
 
 
