var AjaxObj;
if(window.XMLHttpRequest) {
  AjaxObj = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
  try {
    AjaxObj = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch (e) {
    try {
      AjaxObj = new ActiveXObject("Microsoft.XMLHTTP");
    }
  catch (e) {}
  }
}
if (! AjaxObj) {
  alert('Ajax-Instanz konnte nicht erzeugt werden!');
}

function UpdateContent () {
  if(AjaxObj.readyState == 4) {
    window.clearTimeout(AjaxObj.Activ);
    if(AjaxObj.status == 200) {
	document.getElementById(AjaxObj.HTMLID).innerHTML = AjaxObj.responseText;
	var RExpStr = /<script[^>]*>(.*?)<\/script>/;
	var RExpResult = RExpStr.exec(AjaxObj.responseText);
	if (RExpResult) {
	  for (var i=1; i<RExpResult.length; i++) {
	    eval(RExpResult[i]);
	  }
	}
    }
    else if (AjaxObj.status < 200) {
	document.getElementById(AjaxObj.HTMLID).innerHTML = "<b>Fehler aufgetreten!</b><br>Bitte geben Sie uns unter Telefon 02836-9010330<br>folgenden Fehlercode an: "+AjaxObj.status+"<br><b>Vielen Dank!</b><br>Bitte überprüfen Sie auch, ob Ihr Browser evtl. im<br>Offline-Modus arbeitet:<br>Menü <b>Datei->Offline</b>";
    }
    else {
	document.getElementById(AjaxObj.HTMLID).innerHTML = "Fehler aufgetreten: "+AjaxObj.status;
    }
  }
}

function Check4Content (AjaxObj) {
  Update(AjaxObj.HTMLID, AjaxObj.URL, 1);
}

function Update (HTMLID, URL, ShowLoader, PostData) {
  if (AjaxObj.readyState < 4) {
    AjaxObj.abort();
  }
  if (ShowLoader) document.getElementById(HTMLID).innerHTML = "<img src='/icons/AjaxLoader.gif' hspace=10 vspace=10 alt=''>";
  AjaxObj.HTMLID = HTMLID;
  AjaxObj.URL = URL;
  if (PostData) { AjaxObj.open('POST', URL, true); }
  else		{ AjaxObj.open('GET',  URL, true); }
  AjaxObj.setRequestHeader("Pragma", "no-cache");
  AjaxObj.setRequestHeader("Cache-Control", "must-revalidate");
  AjaxObj.setRequestHeader("If-Modified-Since", document.lastModified);
  AjaxObj.onreadystatechange = UpdateContent;
  if (PostData) { AjaxObj.send(PostData); }
  else		{ AjaxObj.send(null); }
  AjaxObj.Activ = window.setTimeout('Check4Content (AjaxObj);',5000);
}

function DataString(Form) {
  var Data = '';

  var add = function(n,v) {
//    Data += (Data ? '&' : '') + n + '=' + escape(v);
    Data += (Data ? '&' : '') + n + '=' + v;
  }

  for (var i=0; i<Form.elements.length; i++) {
    var el = Form.elements[i];
    var type = (el.type || '');

    if (type.match(/^(text|hidden|textarea|password)$/i) || (type.match(/^(radio|checkbox)$/i) && el.checked)) {
      add (el.name, el.value);
    }
    else if(el.nodeName.match(/^select$/i)) {
      for (var j=0; j<el.options.length; j++) {
	if (el.options[j].selected) {
	  add (el.name, el.options[j].value);
	}
      }
    }
    else if (el.nodeName.match(/^textarea$/i)) {
      add (el.name, el.value);
    }
  }

  return Data;
}

function OpenAjax (ObjID, Left, Top, Width, Height, URL, Data) {
  Obj = document.getElementById(ObjID);
  with (Obj.style) {
    left=Left;
    top=Top;
    width=Width;
    height=Height;
  }
  document.getElementById('ajaxBG').style.display='block';
  Obj.innerHTML='';
  Update (Obj.id, URL, 1, Data);
  Obj.style.display='block';
}

function CloseAjax (ObjID) {
  document.getElementById(ObjID).style.display='none';
  document.getElementById('ajaxBG').style.display='none';
}

function LoadCSS (URL) {  
  var a = document.createElement('link');  
  a.setAttribute('rel', 'stylesheet');  
  a.setAttribute('type', 'text/css');  
  a.setAttribute('href', URL);  
  document.getElementsByTagName('head')[0].appendChild(a);  
}

