
var debug_http_request    = true;    
var debug_http_request    = false;    
var default_http_Call     = "loadForm.php";
var default_http_Target   = function(httpAntwort) {showForm(httpAntwort);};; 
var msgbox_http_Target    = function(httpAntwort) {alert(httpAntwort);};;
var redirect_download     = function(httpAntwort) {download(httpAntwort);};;

function deletefrage(check,text) {
	if (!check) {
		return true;
	}
	var box=window.confirm(text);
	if(box==true){
		return true;
	}
	else {
		return false;
	}
}


function macheHTTPRequest(RequestParams,Target,Call) {
//alert(navigator.userAgent)
  document.body.style.cursor='wait';
  var Params;
  if (debug_http_request) alert("macheHTTPRequest *start*\n übergebene Parameter\n\n" + 
                                "RequestParams: "+ RequestParams + "\n" +
                                "Target: " + Target  + "\n" +  
                                "Call: " + Call);
  var method = 'POST';
  if (RequestParams == undefined) 
    {
      Params = ""; method = 'GET';
    }
  else  if (typeof(RequestParams)=='function') 
          {
            Params=RequestParams();
          }
        else 
          {
            Params=RequestParams;
          }
   
  if (Target == undefined || Target=="") Target        = default_http_Target;
 
  if (Call          == undefined) Call          = default_http_Call;
  if (debug_http_request) alert("macheRequest nach default\n\n" + 
                                "RequestParams: "+ RequestParams + "\n" +
                                "Target: " + Target  + "\n" +  
                                "Call: " + Call + "\n" +
                                "methode: " + method);
  var http_request = false;
  // window.XMLHttpRequest = Mozilla, Safari, Opera... 
  if (window.XMLHttpRequest) 
    {
      http_request = new XMLHttpRequest();
      // Mozilla Header Korrektur
      /*(Mozilla hat probleme wenn der Server seine Antwort nicht mit dem richtigen
         Header versieht) - um sicher zu gehen, Header Manuell setzen*/
      if (http_request.overrideMimeType) 
        {
          http_request.overrideMimeType('text/xml');
        }
    } 
  // window.ActiveXObject = Internet Explorer
  else if (window.ActiveXObject) 
    { // IE
      try 
        {
          http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } 
      catch (e) 
        {
          try 
            {
              http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } 
          catch (e) 
              {
                  http_request  = null;
                  //alert("null");
              }  
          }
      }
        
        
    
  if (!http_request) 
    {
      alert('Die Anfrage an den Server ist Fehlgeschlagen');
      return false;
    }
//  if (debug_http_request) alert("httpRequest next call: " + http_request + "\n method: " + method + "\n" );  
  http_request.open(method, Call, true);
//  if (debug_http_request) alert("request.open ausgeführt");
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
  http_request.setRequestHeader("Content-length", Params.length);
  http_request.setRequestHeader("Connection", "close");
//  if (debug_http_request) alert("header gesendet");
  http_request.onreadystatechange = function() {httpResponse(http_request,Target);};;
//  if (debug_http_request) alert("onreadychange zugewiesen");
  http_request.send(Params);
//  if (debug_http_request) alert("macheHTTPRequest *end*");  
}

/*******************************************************************************/
/*******************************************************************************/
function httpResponse(http_request,Target) 
{
  /* readystates:
        0 nicht initialisiert
        1 lade
        2 geladen
        3 interaktiv
        4 vollständig (vollständig geladen - alle Daten erhalten)   */
  if (http_request.readyState == 4) 
    {
      if (debug_http_request) alert("httpResponse *start*");
        
      /* status
            200 OK
            404 nicht gefunden
            500 internal server error
            ......                                                  */
      if (http_request.status == 200) 
        {
          //alert("httpResponse Status OK\n" + http_request.responseText);
          if (debug_http_request) alert("httpResponse Status OK\n" + http_request.responseText);
          if (debug_http_request) alert("call (type): " + typeof(Target));
          if (typeof(Target)=='function') Target( http_request.responseText ); 
          if (typeof(Target)=='string'  ) document.getElementById(Target).innerHTML = http_request.responseText; 
          if (typeof(Target)=='object'  ) Target.innerHTML = http_request.responseText;
        } 
      else
        {
          if (debug_http_request) alert("macheRequest status<>OK : "+http_request.status);
          alert('Ihre Anfrage konnte nicht ausgeführt werden');
        }  
      document.body.style.cursor='default';
    }// end of if readystate==4   
}// end of function show



function close_menue(ObjID)
{
 // alert("1");
  if (document.getElementById(ObjID))
  { 
    Obj=document.getElementById(ObjID);
    Obj.parentNode.removeChild(Obj);
  } 
}

function showForm(TEXT){
    if (!document.getElementById("detail_view")) 
      {
       var newDiv = document.createElement("div");
       newDiv.id = "detail_view";
       newDiv.innerHTML= TEXT;
       newDiv.style.visibility='hidden';
       document.body.appendChild(newDiv);
    }
   else
    {
      var newDiv= document.getElementById("detail_view");
      newDiv.style.visibility="hidden";
      newDiv.innerHTML= TEXT;
    } 
    tmp_top=(mouseY-newDiv.offsetHeight-15);
    //if (tmp_top < document.body.scrollTop) {tmp_top=document.body.scrollTop} //doctype quirks mode    
    if (tmp_top < document.documentElement.scrollTop) {tmp_top=document.documentElement.scrollTop+8} //doctype strict mode    
    newDiv.style.top = tmp_top + "px";
    tmp_left= (mouseX-document.getElementById("detail_view").offsetWidth)
    if (tmp_left<0) {tmp_left=0} 
    newDiv.style.left = tmp_left + "px";

    newDiv.style.visibility="visible";
}

function download(responseText)
{
  //alert(httpResponce);
  //location.href=httpResponce;

    var hasFORM = responseText.indexOf("<!--FORM-->");
    if (hasFORM>=0)
      {
        if (!document.getElementById("register"))
          {
            var newDiv = document.createElement("div");
            newDiv.id = "register";
            document.body.appendChild(newDiv);
          } 
        else
          {
            newDiv=document.getElementById("register");
          }  
        newDiv.innerHTML= responseText;
        tmp_top=(mouseY-newDiv.offsetHeight-15);
        if (tmp_top < document.documentElement.scrollTop) {tmp_top=document.documentElement.scrollTop+8} //doctype strict mode    
        newDiv.style.top = tmp_top + "px";
       }
    else   
    {
      alert(responseText);
      window.open(responseText);
      //window.location.href=responseText;
    } 
}


/*******************************************************************************
 *   Mausbewegung Überwachen - Position ind mouseX und mouseY übernehmen       *
 *******************************************************************************/ 
document.onmousemove = getMouseXY;     /*event für Mausbewegung initialisieren*/
var mouseX = null;
var mouseY = null;

function getMouseXY(e)
  { 
    if (!e) e = window.event;
    if (!e) var e = window.event;
    if (e.pageX || e.pageY)
      {
        mouseX = e.pageX;
        mouseY = e.pageY;
      }
    else if (e.clientX || e.clientY) 	
          {
            mouseX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
            mouseY = e.clientY + document.body.scrollTop  + document.documentElement.scrollTop;
          }
  }
  
  
function checkFormular() {
  if (document.userform.name1.value == "fbo")
    return true; // No check for testing as fbo!

  if (validate_text(document.userform.name1.value) == false)
    {
    alert("Bitte tragen Sie Ihren Vornamen ein!");
    document.userform.name1.focus();
    return false;
    }
  if (validate_text(document.userform.name2.value) == false)
    {
    alert("Bitte tragen Sie Ihren Nachnamen ein!");
    document.userform.name2.focus();
    return false;
    }
  if (validate_text(document.userform.street.value) == false)
    {
    alert("Bitte tragen Sie Ihre Adresse ein!");
    document.userform.street.focus();
    return false;
    }
  if (validate_text(document.userform.plz.value) == false)
    {
    alert("Bitte tragen Sie Ihre Adresse ein!");
    document.userform.plz.focus();
    return false;
    }
  if (validate_text(document.userform.place.value) == false)
    {
    alert("Bitte tragen Sie Ihre Adresse ein!");
    document.userform.place.focus();
    return false;
    }
  if (validate_text(document.userform.phone.value) == false)
    {
    alert("Bitte tragen Sie Ihre Telefonnummer ein!");
    document.userform.phone.focus();
    return false;
    }
    
    
  if (validate_email(document.userform.email.value) == false)
    {
    alert("Bitte tragen Sie Ihre E-Mailadresse ein!");
    document.userform.email.focus();
    return false;
    }

  macheHTTPRequest("register=1&firma="+document.userform.firm.value
                  +"&vorname="+document.userform.name1.value
                  +"&nachname="+document.userform.name2.value
                  +"&strasse="+document.userform.street.value
                  +"&plz="+document.userform.plz.value
                  +"&ort="+document.userform.place.value
                  +"&tel="+document.userform.phone.value
                  +"&fax="+document.userform.Fax.value
                  +"&mail="+document.userform.email.value
                  +"&web="+document.userform.website.value
                  ,redirect_download ,"download.php" );
  close_menue("register");

  
  return false;
}


function checkAnfrageFormular() {


  if (validate_text(document.kontaktform.firma.value) == false)
    {
    alert("Bitte tragen Sie Ihre Firma ein");
    document.kontaktform.firma.focus();
    return false;
    }  
	if (validate_text(document.kontaktform.name.value) == false)
    {
    alert("Bitte tragen Sie Ihren Nachnamen ein!");
    document.kontaktform.name.focus();
    return false;
    }
	if (validate_text(document.kontaktform.adr.value) == false)
    {
    alert("Bitte tragen Sie Ihre Strasse ein!");
    document.kontaktform.adr.focus();
    return false;
    }
	if (validate_text(document.kontaktform.plz.value) == false)
    {
    alert("Bitte tragen Sie Ihre PLZ ein!");
    document.kontaktform.plz.focus();
    return false;
    }
	if (validate_text(document.kontaktform.ort.value) == false)
    {
    alert("Bitte tragen Sie Ihren Ort ein!");
    document.kontaktform.ort.focus();
    return false;
    }
	if (validate_email(document.kontaktform.email.value) == false)
    {
    alert("Bitte tragen Sie Ihre E-Mail ein!");
    document.kontaktform.email.focus();
    return false;
    }


    
  return true;  
}    
