var cur_over_element="";
var cur_tooltipbox="";
var mouse_x;
var mouse_y;

function tooltip(element)
{  
  
  //Objektvariablen setzen
  cur_over_element=element;
  cur_tooltipbox=document.getElementById('ttb_'+cur_over_element.id);
  
  //Hinweis
  //alert(cur_tooltipbox.style.width);
  
  
  //Textbox sichtbar machen
  cur_tooltipbox.style.display="block";
  
  
  //Events setzen
  window.onscroll = update_tooltipbox_pos;
  cur_over_element.onmousemove = update_tooltipbox_pos;
  cur_tooltipbox.onmousemove = update_tooltipbox_pos;
}

function update_tooltipbox_pos() {
  var arg=arguments[0]?arguments[0]:event;
  mouse_x=arg.clientX;
  mouse_y=arg.clientY;
  offset_x=10;
  offset_y=28;
  
  var box_width;
  var box_height;
  
  box_width = parseInt(document.defaultView.getComputedStyle(cur_tooltipbox, "").getPropertyValue("width"));
  box_height = parseInt(document.defaultView.getComputedStyle(cur_tooltipbox, "").getPropertyValue("height"));
  
  new_left = mouse_x-2+offset_x+document.body.scrollLeft;
  new_top = mouse_y-2+offset_y+document.body.scrollTop;
  
  //alert(window.innerWidth);
  //alert(new_left+box_width);
  
  /*if (new_left+box_width+30 > window.innerWidth+document.body.scrollLeft)
  {
    new_left = mouse_x-15-box_width+document.body.scrollLeft;
  }
  if (new_top+box_height+13 > window.innerHeight+document.body.scrollTop)
  {
    new_top = mouse_y-20-box_height+document.body.scrollTop;
  }*/
  if (new_left+box_width+30 > window.innerWidth+document.body.scrollLeft)
  {
    new_left = window.innerWidth+document.body.scrollLeft - 30 -box_width;
  }
  if (new_top+box_height+13 > window.innerHeight+document.body.scrollTop)
  {
    new_top = window.innerHeight+document.body.scrollTop-box_height-13 ;
  }
  
  
  
  cur_tooltipbox.style.left = new_left+"px";
  cur_tooltipbox.style.top  = new_top+ "px";
  
  cur_tooltipbox.onmouseout=hide_tooltip;
  cur_over_element.onmouseout=hide_tooltip;
  
  //cur_tooltipbox.innerHTML='BOX: <br>Left: ' + new_left + "<br>Top: " + new_top + "<br><br>Cursor: <br>Left: " + mouse_x + "<br>Top: " + mouse_y;
}
function on_tooltip()
{
  //cur_tooltipbox.innerHTML="wurstmaschine";
}
function hide_tooltip()
{
  var box_left;
  var box_top;
  box_top = parseInt(document.defaultView.getComputedStyle(cur_tooltipbox, "").getPropertyValue("top"));
  box_left = parseInt(document.defaultView.getComputedStyle(cur_tooltipbox, "").getPropertyValue("left"));
  if (mouse_x - 10 >= box_left && mouse_y >= box_top)
  {
    //alert('BOX: <br>Left: ' + box_left + "<br>Top: " + box_top + "<br><br>Cursor: <br>Left: " + mouse_x + "<br>Top: " + mouse_y);
    //alert("aua");
  }
  else
  {
    cur_tooltipbox.style.display="none";
  }
}


// Ab hier fu(rcht)bar AJAX

function get_div_content(request,div_id,formname)
{
  var formdata = "";
  if (formname)
  {
    formdata = get_formular_vars(formname);
  }
  
  request = "./ajax/" + request;
  
  if (formdata)
  {
    if (request.indexOf("?") > -1)
    {
      request+= "&";
    }
    else
    {
      request+= "?";
    }
    request+=formdata;
  }
  
  ajax_request(request, 
    function(text)
    { 
      document.getElementById(div_id).innerHTML = text;
    },
    function ()
    {
      document.getElementById(div_id).innerHTML = 'Fehler bei der Verbindung';
    }
  );

  
}

function raise_action(request,formname)
{
  var formdata = "";
  if (formname)
  {
    formdata = get_formular_vars(formname);
  }
  
  request = "./actions/ajax.php" + request;
  
  if (formdata)
  {
    if (request.indexOf("?") > -1)
    {
      request+= "&";
    }
    else
    {
      request+= "?";
    }
    request+=formdata;
  }
  
  ajax_request(request, 
    function(text)
    { 
      //alert(text);
    },
    function ()
    {
      //alert("êrrör!");
    }
  );

  
}

function ajax_request(request,callback_success,callback_error)
{
  var req = null;
  
  try
  {
    req = new XMLHttpRequest();
  }
  catch (ms)
  {
    try
    {
      req = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (nonms)
    {
      try
      {
        req = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (failed)
      {
        req = null;
      }
    }
  }
  
  if (req == null)
  {
    return false;
  }
  
  req.open("GET", request, true);
  req.onreadystatechange = 
  function()
  {
    switch(req.readyState)
    {
      case 4:
        if(req.status!=200)
        {
          callback_error();
        }
        else
        {    
          callback_success(req.responseText);
        }
        break;
        
      default:
        return false;
        break;     
    }
  };
  
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(null);
  
}

function get_formular_vars(formname)
{
  var elemente;
  var ret_string;
  
  elemente = document.forms[formname].elements;
  
  
  for (var i=0;i < elemente.length;i++)
  {
    var add = "";
    var element = elemente[i];
    
    
    if (element.type == "text" || element.type == "hidden" || element.type == "password")
    {
      add = element.name + "=" + element.value;
    }
    else if (element.type == "radio")
    {
      if (element.checked)
      {
        add = element.name + "=" + element.value;
      }
    }
    else if (element.type == "checkbox")
    {
      if (element.checked)
      {
        add = element.name + "=" + element.value;
      }
    }
    else if (element.type == "select-one")
    {
      add = element.name + "=" + element.value;
    }
    else
    {
      alert(i+":"+element.type);
      break;
    }
        
    if (add)
    {
      if (ret_string)
      {
        ret_string+= "&" + add;
      }
      else
      {
        ret_string = add;
      }
    }
    
  }
  
  return ret_string;
  
}

