function ajaxpage(seite, coid,faon,faoff,lang)
{
  // Loader einblenden
  if(faon == 1)
   bnopacity('loader', 0, 100, 100);
  bngetHttpRequest('/cgi-bin/bitcms/showtext.pl?job=' + seite+'&lang='+lang, coid,lang);
 if(faoff == 1)
  var ausblenden = setTimeout("bnopacity('loader', 100, 0, 500);",500);
}
// 2. aufruf fuer kompletten inhalt
function ajaxpagedetail(idti, coid,faon,faoff,oldjob,lang)
{
  // Loader einblenden
  if(faon == 1)
    bnopacity('loader', 0, 100, 100);
  bngetHttpRequest('/cgi-bin/bitcms/showtext.pl?job=xxx0x&idti='+idti+'&oldjob='+oldjob+'&lang='+lang, coid,lang);
 if(faoff == 1)
  var ausblenden = setTimeout("bnopacity('loader', 100, 0, 500);",500);
}
// 3. aufruf fuer fotogalerie
function ajaxpagegalerie(parameter,coid,faon,faoff,lang)
{
   // Loader einblenden
   if(faon == 1)
       bnopacity('loader', 0, 100, 100);
  bngetHttpRequest('/cgi-bin/bitcms/showfotos.pl'+parameter,coid,lang);
   // Loader ausblenden
  if(faoff == 1)
     var ausblenden = setTimeout("bnopacity('loader', 100, 0, 500);",500);
}
// 4. aufruf mit angabe kompletter url
function ajaxpageurl(seite, coid,faon,faoff,lang)
{
  // Loader einblenden
  //alert("ajaxurl:"+seite);
  if(faon == 1)
   bnopacity('loader', 0, 100, 100);
  bngetHttpRequest(seite, coid,lang);
 if(faoff == 1)
  var ausblenden = setTimeout("bnopacity('loader', 100, 0, 500);",500);
}

/* diese function auskommentieren wenn multibox verwendet wird 
function $(id) {
    return document.getElementById(id);
}
*/


function bngetHttpRequest(seite, coid,lang) {

    var xmlhttp = false;
    // Testen ob XMLHttpRequest-Klasse vorhanden und erzeugen von Objekte für IE7, Firefox, etc.
   if (typeof XMLHttpRequest != 'undefined')
    {
       xmlhttp = new XMLHttpRequest();
    }

    // Notwendig für IE6 oder IE5
    if   (!xmlhttp)
    {
        try
        {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
            try
            {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e)
            {
                xmlhttp = null;
            }
        }
     }

    // um den cache auszutricksen an die seite parameter anhaengen: + '?x=' + Math.random()
    xmlhttp.open("GET", seite + '&x=' + Math.random(), true);
    //xmlhttp.open("GET", seite, true);
    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState != 4) {
          if(lang == 'de') {
            $(coid).innerHTML = '<p class="content_text">&nbsp;&nbsp;Seite wird geladen ...</p>';
          }
          else
          {
           $(coid).innerHTML = '<p class="content_text">&nbsp;&nbsp;Page is loading ...</p>';
          }
        }
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            $(coid).innerHTML = xmlhttp.responseText;
            // ab hier enthaltenen JavaScript-Code lauffaehig machen
            bnsplitAndExecScriptCode(xmlhttp.responseText);
        }
    }
    xmlhttp.send(null);
}

// function um javascript im nachgeladenen Text auszuführen
bnsplitAndExecScriptCode = function(data) {
var scriptcode = data.match(/(<script.*?>)(\n|\r|.)*(<\/script>)/gi);
if( scriptcode ) {
 for( var i=0; i<scriptcode.length; i++ ) {
  scriptcode[i] = scriptcode[i].replace(/<script.*?>/,'');
  scriptcode[i] = scriptcode[i].replace(/<\/script.*>/,'');
  scriptcode[i] = scriptcode[i].replace(/<!--/,'');
  scriptcode[i] = scriptcode[i].replace(/\/\/-->/,'');
   if( scriptcode[i].length > 0 ) {
    eval(scriptcode[i]);
   }
  }
 }
}

// fade funktionen
// Fading Effect --------------------------------------------------------------

function bnopacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("bnchangeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("bnchangeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function bnchangeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function bnshiftOpacity(id, millisec) {
	 //if an element is invisible, make it visible, else make it ivisible
     if(document.getElementById(id).style.opacity == 0) {
        bnopacity(id, 0, 100, millisec);
    } else {
        bnopacity(id, 100, 0, millisec);
    }

}

