  var httprequest = null;
  var divid = "";
  if (window.XMLHttpRequest)
  {
     httprequest = new XMLHttpRequest();  
  }
  else if (window.ActiveXObject)
  {
     try
     {
        httprequest = new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch(ex)
     {
        try
	{
	  httprequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(ex) {}
     }  
  }
  function get_form_elements(formname)
  {
     var qstring="";
     
     for (i=0; i<=formname.elements.length-1; i++)
     {
        if(formname.elements[i].name!="")
	{
            qstring+=formname.elements[i].name+"="+formname.elements[i].value+"&";
	}
     }
     return qstring;
  }
  function get_forms()
  {
    for (i=0; i<=100; i++)
    {
       if (document.forms[i].name!="")
       {
       }
    }
    return qstring;
  }
  function ajax_submit(formname, objekt, methode)
  {
     var query;
     if (typeof(objekt)=="string") objekt=document.getElementById(objekt);
     if (typeof(formname)=="string") formname=document.getElementById(formname);
     
     query=get_form_elements(formname);
     if (methode=="") methode="GET";

     divname=objekt.id;

     httprequest.open("GET", "index.php?"+query);
     httprequest.onreadystatechange = DatenAusgeben;
     httprequest.send(null);
  }
  function ajax_load(objekt, url)
  {
     var query;
     if (typeof(objekt)=="string") objekt=document.getElementById(objekt);
     divname=objekt.id;
     httprequest.open("GET", url);
     httprequest.onreadystatechange = DatenAusgeben;
     httprequest.send(null);
  }

  function ajax_loadparam(url)
  {
     httprequest.open("GET", url, false);  //durch False = Syncroner Aufruf
     httprequest.send(null);     
     return httprequest.responseText;
/*
     httprequest.onreadystatechange = function()
     {
       if (httprequest.readyState == 4)
       {
         return httprequest.responseText;
       }
     } 
*/
  }

  function DatenAusgeben()
  {
     if (httprequest.readyState == 4)
     {     
        d = document.getElementById(divname);
        d.innerHTML=httprequest.responseText;
     }
  }
  
  function updatehash(udivname, uformname, uparams)
  {
     alert('Update');
     var hash = unescape(location.hash);
     hash=hash.replace("#", "");
     var zhash="";
     var update=0;
     
     if (hash.length>1) // wenn bereits Hashwert angeaengt
     {
        var ahash=hash.split("|");
	for (i=0; i<ahash.length; i++)
	{
	   if ((ahash[i].indexOf("~")!=-1) && (ahash[i].indexOf("/")!=-1)) //Wenn ein Ajax-Bookmark
	   { 	      
	      bhash=ahash[i].split("~"); // Trenne Parameter ab
	      xlocation=bhash[0];
	      parameter=bhash[1];
	      chash=xlocation.split("/");
	      divname=chash[0];
	      formname=chash[1];
	      aparameter=parameter.split("&");
	      if ((formname==uformname) && (divname==udivname))
	      {
	            alert('update sofort');
	            zhash+="|"+divname+"/"+formname+"~";
		    for (t=0;t<uparams.length;t++)
		    {
		       zhash+="&"+uparams[t];
		    }
	      }
	      else //Pruefe ob spaeter kommt
	      {
	         update=0;
	         for (t=0; t<ahash.length;t++)
		 {	alert(udivname.id+"/"+uformname.name+" -> "+ahash[t]);
		    if ((ahash[t].indexOf(udivname.id+"/"+uformname.name)!=-1) && (ahash[t]!="")) //wenn vorkommt update
		    {
		       alert('update');
		       zhash+="|"+divname+"/"+formname+"~";
    		       for (j=0;j<aparameter.length;j++)
		       {
		          zhash+="&"+uparams[j];
		       }
		    } 
		    else update=1;
		 }
		 if (update==0)
		 {
		    alert('Anhaengen');	
		 }
	      } // ende pruefe ob spaeter kommt

	   } // ende wenn ajax-bookmark
	}
     }
     else
     {
        zhash="|"+udivname.id+"/"+uformname.name+"~";
    	for (j=0;j<uparams.length;j++)
	{
	  zhash+="&"+uparams[j];
	}	
     }
     location.hash=zhash;
  }	 
  function loaddata()
  {
     var hash = unescape(location.hash);
     
     if (hash.length>1) // wenn bereits Hashwert angeaengt
     {
        var shash= hash.split("|");
	var zhash=""; 
	
	for (i=1; i<shash.length; i++)
        {	
	
	   if (shash[i].indexOf("~")!=-1) //Wenn Ajax-Hashtrick (erkannt nur~ zeichen)
	   {	         
	   
              xhash=shash[i].split("~");
	      yhash=xhash[0].split("/");
	      divname  = yhash[0];
	      formname = yhash[1];
	      aparams  = xhash[1].split("&");
	      for (t=0;t<aparams.length;t++)
	      {
	         if (aparams[t]!="")
		 {
	            aparam=aparams[t].split("&");
		    for (j=0; j<aparam.length; j++)
		    {
		       xparam=aparam[j].split("=");
		       alert(j);
//		       alert(document.getElementByID('formtest'));
		       
//		       document.forms['testform'].reset();
    		       document.forms['testform'].elements['visiblea'].value="123";
		       alert(document.forms['testform'].elements['visible'].value);
		       
//		       alert('GEHT');
		       elem = document.getElementsByName("visible");
//		       alert('afdfas');
		       alert(elem);
		    }
		    ajax_submit(formname, divname, 'GET');
		 }
	      }      

	   }
	}
     }     
  }
  //loaddata();

 
