﻿function ajaxpage(seite, coid,faon,faoff,lang)
{
  // Loader einblenden
  if(faon == 1)
   bnopacity('loader', 0, 100, 100);
   bngetHttpRequest('/content/'+lang+'/'+seite+'.html',coid,lang,1);
 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,0);
 if(faoff == 1)
  var ausblenden = setTimeout("bnopacity('loader', 100, 0, 500);",500);
}

/* diese function auskommentieren wenn multibox verwendet wird */
function bit(id) {
    return document.getElementById(id);
}


function bngetHttpRequest(seite, coid,lang,trick) {

    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 fuer IE6 oder IE5
    if   (!xmlhttp)
    {
        try
        {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
            try
            {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e)
            {
                xmlhttp = null;
            }
        }
     }
     if(trick == 1) {
    // um den cache auszutricksen an die seite parameter anhaengen: + '?x=' + Math.random()
    xmlhttp.open("GET", seite + '?x=' + Math.random(), true);
    }
    else
    {
    xmlhttp.open("GET", seite, true);
    }
    //xmlhttp.open("GET", seite, true);
    // status function --------------------------------------
    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState != 4) {
          if(lang == 'de') {
            document.getElementById(coid).innerHTML = '<div align="center"><img src="/content/pics/loader1.gif" alt="Seite wird geladen..."></div>';
          }
          else
          {
           document.getElementById(coid).innerHTML = '<div align="center"><img src="/content/pics/loader1.gif" alt="Page is loading ..."></div>';
          }
        }
        // status testen
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById(coid).innerHTML = xmlhttp.responseText;
            // ab hier enthaltenen JavaScript-Code lauffaehig machen
            bnsplitAndExecScriptCode(xmlhttp.responseText);
        }
        /*
        else{
        document.getElementById(coid).innerHTML = '<p>readyState='+xmlhttp.readyState+' :: status='+xmlhttp.status+'<br>Aufruf:<br>'+seite+'</p>';
        }
        */
    }
    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);
    }

}

