function createRequestObject() {
   var ro;
   var browser = navigator.appName;
   if(browser == "Microsoft Internet Explorer"){
      ro = new ActiveXObject("Microsoft.XMLHTTP");
   }else{
      ro = new XMLHttpRequest();
   }
   return ro;
}

var ro_http=createRequestObject();
var ro_http1=createRequestObject();
var ro_http2=createRequestObject();
var currEl;
var currEl1;
var currEl2;
var currElPar;

function reloadElement(id,file){
   currEl=id;
   ro_http.open('get', file);
   ro_http.onreadystatechange = handleResponseEl;
   ro_http.send(null);
}

function reloadElement1(id,file){
   currEl1=id;
   ro_http1.open('get', file);
   ro_http1.onreadystatechange = handleResponseEl1;
   ro_http1.send(null);
}

function reloadElement2(id,file){
   currEl2=id;
   ro_http2.open('get', file);
   ro_http2.onreadystatechange = handleResponseEl2;
   ro_http2.send(null);
}

function handleResponseEl() {
   if(ro_http.readyState == 4){
      var response_el = ro_http.responseText;
      
      $(currEl).innerHTML = response_el;
      evalScript(response_el);
   }
}

function handleResponseEl1() {
   if(ro_http1.readyState == 4){
      var response_el = ro_http1.responseText;
      $(currEl1).innerHTML = response_el;
      evalScript(response_el);
   }
}

function handleResponseEl2() {
   if(ro_http2.readyState == 4){
      var response_el = ro_http2.responseText;
      $(currEl2).innerHTML = response_el;
      evalScript(response_el);
   }
}

function reloadElementParent(id,file){
   currElPar=id;
   ro_http1.open('get', file);
   ro_http1.onreadystatechange = handleResponseElPar;
   ro_http1.send(null);
}

function handleResponseElPar() {
   if(ro_http1.readyState == 4){
      var response_el1 = ro_http1.responseText;
      
      parent.document.getElementById(currElPar).innerHTML = response_el1;
      evalScript(response_el1);
   }
}


function evalScript(scripts){
try{
   if(scripts != ''){
      var script = "";
      scripts = scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
      if (scripts !== null) script += arguments[1] + '\n';
      return '';});
      //alert(script);
      if(script) (window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);
   }
   return false;
   }
   catch(e){
      alert(e);
   }
}

function utf8_decode ( str_data ) {
    // Converts a UTF-8 encoded string to ISO-8859-1  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/utf8_decode    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +      input by: Aman Gupta
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Norman "zEh" Fuchs
    // +   bugfixed by: hitwork    // +   bugfixed by: Onno Marsman
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: utf8_decode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'    var tmp_arr = [], i = 0, ac = 0, c1 = 0, c2 = 0, c3 = 0;
    var i=0;
    var ac=0;
    var c1=0;
    var c2=0;
    var c3=0;
    var tmp_arr=[];
    str_data += '';
    
    while ( i < str_data.length ) {        c1 = str_data.charCodeAt(i);
        if (c1 < 128) {
            tmp_arr[ac++] = String.fromCharCode(c1);
            i++;
        } else if ((c1 > 191) && (c1 < 224)) {            c2 = str_data.charCodeAt(i+1);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
            i += 2;
        } else {
            c2 = str_data.charCodeAt(i+1);            c3 = str_data.charCodeAt(i+2);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }
    } 
    return tmp_arr.join('');
}

function utf8_encode ( string ) {
    // Encodes an ISO-8859-1 string to UTF-8  
    // 
    // version: 1006.1915
    // discuss at: http://phpjs.org/functions/utf8_encode    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: sowberry
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman    // +   improved by: Yves Sucaet
    // +   bugfixed by: Onno Marsman
    // +   bugfixed by: Ulrich
    // *     example 1: utf8_encode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'    var string = (argString+''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");
 
    var tmp_arr=[];
    
    var utftext = "";
    var start, end;
    var stringl = 0; 
    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);        var enc = null;
 
        if (c1 < 128) {
            end++;
        } else if (c1 > 127 && c1 < 2048) {            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc !== null) {            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;        }
    }
 
    if (end > start) {
        utftext += string.substring(start, string.length);    }
 
    return utftext;
}

function getOs(){
agt=navigator.userAgent.toLowerCase();

sys=(navigator.platform)?navigator.platform.toLowerCase():agt;
agt_os=((sys.indexOf('mac')>=0)?"Macintosh":(sys.indexOf('unix')>=0 || sys.indexOf('linux')>=0 || sys.indexOf('x11')>=0 || sys.indexOf('x 11')>=0)?"Linux/Unix":(sys.indexOf('os/2')>=0)?"OS/2":(sys.indexOf('win')>=0)?"Windows":(sys.indexOf('iphone')>=0)?"iphone":(sys.indexOf('ipad')>=0)?"ipad":"");
return(agt_os);
}

function getBrowser(){
   var ret;
   if(navigator.appName=='Microsoft Internet Explorer'){
      ret='ie';
   }else if(navigator.appName=='Netscape'){
      if(navigator.appVersion.indexOf('Safari')>0){
         ret='Safari';
      }else{
         ret='Mozilla';
      }
   }else{
      ret='anderer';
   }
   return(ret);
}


document.addEvent('domready', function() {
   if(getOs()=='Macintosh'&&getBrowser()=='Mozilla'){
      $('pers_img').style.paddingBottom='1px';
   }
   
   if((getOs()=='iphone'||getOs()=='ipad')&&getBrowser()=='Safari'){
    /*
      $('umfdiv').style.display='block';
      $('umfdiv').style.position='absolute';
      $('umfdiv').style.top='800px';
      $('umfdiv').style.left='1200px';
    */
   }
});


function setSpinner(id){
//    slideItOut(id);
      $(id).innerHTML='<div style=\'width:100%;padding:50px;text-left;\'><img src=\'/img/icon/spinner_rot.gif\'/><span class="wg_gray" style="font-size:180%;margin-left:15px;">Inhalt wird geladen</span></div>';
//    setTimeout("slideItIn('"+id+"')",500);
    
}

