var xmlhttp=false;
var switchtype;
var onmenugo=0;	// currently in use


/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try 
 {
 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } 
catch (e) 
 {
 try 
  {
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } 
 catch (E) 
  {
  xmlhttp = false;
  }
 }
@end @*/
function getXMLHandler()
 {
 if (typeof XMLHttpRequest != 'undefined' || window.XMLHttpRequest) 
    {    
    try 
     { var xmlhttp = new XMLHttpRequest(); }
    catch(e)
     { alert("No XML available") }
    }

 if (!xmlhttp) 
    {
    // Internet Explorer 6 und älter
    try 
     {     var xmlhttp  = new ActiveXObject("Msxml2.XMLHTTP");     } 
    catch(e) 
     {
     try 
      {     var xmlhttp  = new ActiveXObject("Microsoft.XMLHTTP");      } 
     catch(e)       
      {      var xmlhttp  = false;      }
     }
    }
   
 if (!xmlhttp && window.createRequest) 
    {
    try 
     {      var xmlhttp = window.createRequest();      } 
    catch (e)       
     {      var xmlhttp=false;      }
    }
 return xmlhttp;
 }  

function get_url_response(href,handlefunc)
 {
 xmlhttp=getXMLHandler();
 if (xmlhttp) 
  {
  xmlhttp.open("GET", href, true);
  xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4)
    {
    z=xmlhttp.responseText;
    handlefunc(z);
    }
   }
  xmlhttp.send('');
  }
 else
  {
  alert('Critical error');
  }
 }

function set_inner_container(container_name,href,vars,method)
 {
 // setzt per XML neuen TXT in den gewuenschten container und parst gleichzeitig noch javascript
 var txt;
 var result;
 var footer = 0;
 var regex = /[?]/g;
 var Ergebnis = href.search(regex);
 var search_reg=/<script[a-zA-Z=\"\/\s]*>(.{1,}?)<\/script>/gmi;
 //var search_reg=/<script>(.{1,}?)<\/script>/gmi;
 //var search_reg2=/<script>(.{1,}?)<\/script>/mi;
 var search_reg2=/<script[a-zA-Z=\"\/\s]*>(.{1,}?)<\/script>/mi;
 var post_variablen = getVarURI(vars);
 //var search_reg = /<script[^>]>(.*)<\/script>/gi;
 if (Ergebnis > -1)  
  href=href+"&container=1";
 else
  href=href+"?container=1";	 
 var xmlhttp = getXMLHandler();
 if (method == "post")
  {
  xmlhttp.open("POST",href,true);
  xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  }
 else
  {
  xmlhttp.open("GET",href,true);
  }
 xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4)
   {
   txt = xmlhttp.responseText;
   try
    {   document.getElementById(container_name).innerHTML=txt;     }
   catch(e)
    {   
    try 
     {
     parent.document.getElementById(container_name).innerHTML=txt;     
     }
    catch(e)
     {
     alert ("'"+container_name+"' nicht vorhanden");
     }
    }	 
   
   //txt2=txt;
   //if(txt2.length>1024)
   // {
   // while(txt2.length>1024)
   //  {
   //  var ausgabe=txt2.slice(0,1024);
   //  txt2=txt2.slice(1024);
   //  alert(ausgabe);
   //  }
   // alert(txt2);
   // }
   // Aus dem Text alle Zeilenumbrueche entfernen ( . <- keine \n oder \d )  
   txt = txt.replace(/\n/gm,'##n##');
   txt = txt.replace(/\r/gm,"");
   // <!-- und --> entfernen (gibt Probleme bei eval)
   txt = txt.replace(/<!--/gm,"");
   txt = txt.replace(/-->/gm,"");
   
   // dann einzelne script bloecke in array durchgehen und evaluieren (text -> javascript wandeln)
   result = txt.match(search_reg);
   if (result!=null)
    {
    for (i=0;i<result.length;i++)
     {
     // Einzelne Zeilen aussortieren und evaluieren
     // alert(result[i]);
     result2 = result[i].match(search_reg2);
     result2[1]=result2[1].replace(/##n##/g,"\n");
     //alert("Verifiziere\n:"+result2[1]);
     try
      {
      eval(result2[1]);
      }
     catch(e)
      {
      alert ('Syntax Error bei Javascript');
      if(result2[1].length>1024)
       {
       eval(result2[1]);
       while(result2[1].length>1024)
        {
        var ausgabe=result2[1].slice(0,1024);
        result2[1]=result2[1].slice(1024);
	alert(ausgabe);
	}
       alert(result2[1]);
       }
      else
       {
       eval(result2[1]);
       alert(result2[1]);
       }
      }
     }
    }
   }
  }
 // alert("method: "+method+"posts: "+post_variablen);
 xmlhttp.send(post_variablen);
 }

function getVarURI(vars)
 {
 var ausgabe;
 var first = 1;
 if (vars)
  {
  var einzel = vars.split(',');
  for(i=0;i<einzel.length;i++)
   {
   var einzel_opts = einzel[i].split('=');
   try
    {
    // var einzel_opts = einzel.split('=');
    if (typeof(einzel_opts[1])=='undefined')
     {
     // normale Feld auselesen
     textle=encodeURI( document.getElementById(einzel[i]).value );
     }
    else
     {
     if(einzel_opts[1]=='select')
      {
      var d = document.getElementById(einzel_opts[0]);
      textle=d.options[d.selectedIndex].value;
      // namen fuer post aufruf anpassen
      einzel[i]=einzel_opts[0];
      }
     }
    if(first==1)
     {
     ausgabe=einzel[i] + "=" + textle;
     first = 0;
     }
    else
     {
     ausgabe=ausgabe + "&"+einzel[i] + "=" + textle;
     }
    }
   catch(e)
    {
    alert("Fehler bei Form-Felder ("+einzel[i]+")");
    }
   }
  return ausgabe;
  }
 else 
  {
  return "";
  }
 }


