
//Das XMLHttpRequest Objekt
var xmlHttp = false;

//Instanz erstellen
//Beim IE handelt es sich um ein ActiveX Objekt, in den 
//anderen Browsern ist es bereits einkompiliert.

//Wir versuchen unser Glück und nehmen an, der User
//surft mit einem M$ Internet-Explorer:

try {
    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
    try {
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        xmlHttp  = false;
    }
}

//War wohl nix, deshalb nun die Methode für Mozilla und Co.
if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
}


function savePos(elementId){
  var pos,element;
  element=document.getElementById(elementId);
  pos=chkPos(element);
  
  //Kleine Debug-Information, um zu überprüfen, ob chkPos() vernünftig läuft.
  document.getElementById('message').innerHTML = '<b>Position von Element <i>'+elementId+'</i>:'+ pos.x +' / '+ pos.y +'</b>';
  
  sendData(elementId,pos.x,pos.y);
  
}

function sendData(elementID,x,y){
  if (xmlHttp) {
      xmlHttp.open('POST', 'db.php');
      xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      xmlHttp.send('element=' + elementID + '&x='+ x + '&y=' + y);
  } 
}


function chkPos(element){
  var elem=element,
  tagname="",
  x=0,
  y=0;
  
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined")){
    y+=elem.offsetTop;
    x+=elem.offsetLeft;
    tagname=elem.tagName.toUpperCase();
    
    if (tagname=="BODY" || tagname=="HTML")
      elem=0;

    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
  }

  pos=new Object();
  pos.x=x;
  pos.y=y;
  
  return pos;
}



