/*
####################################################################################################################
#                                                                                                                  #
#  Das gesamte Coding hat Carlo Jeske gemacht                                                                      #
#                                                                                                                  #
#  naviManage(over/out)                                                                                            #
#  layerManage(site): öffnen+schliessen der layer/zeitliche Koordination                                           #
#  openLayer(site) öffnet einen neuen Layer                                                                        #
#  move(id,bottom||height||left,bis,timer,site):flexibles bewegen für layer+navi, wird durch Interval aufgerufen   #
#  wsaiting(site) fügt Request ein und bittet user sich zu gedulden                                                 #
#  sendRequest()  fragt nach Content und sendet Kontaktmessage                                                     #
#  getXMLHttpRequest() Browserfallunterscheidung wird returned                                                     #
#  requestChange() erfasst Antwort vom server und speichert sie in content[site]                                   #
#                                                                                                                  #
#  Geöffnete Layer besitzt immer ID:layer1, Wechsel erfolgt erst nach dem fertigem ausfahren                       #
#                                                                                                                  #
####################################################################################################################
*/
//globals
var moving=false;//ob Layer in Bewegung ist (Konflikt verhinderung)
var opened_layer=false;//gibt an ob ein Layer momentan geöffnet ist;
var opened_navi=false;
var wait=false;//responsed
var tmr1;//Layer1:top
var tmr2;//Layer1:height
var tmr3;//waititing()
content= new Array();//beinhaltet geladenen Content
      content['Kenntnisse']='Bitte warten';
      content['Lebenslauf']='Bitte warten';
      content['Referenzen']='Bitte warten';
      content['Impressum']='Bitte warten';


function init(){
      //JS an=>Navi ausfahrbar
      document.getElementById('box_navi').style.bottom='34px';
      document.getElementById('navi').style.height='34px';
      //Link, Manipulation (SEO) ToDo
      
      //Layermanipulation Copy+Id
      var obj=document.getElementById('layer1');
      obj.style.height='0px';
      obj.style.left=Math.round(window.innerWidth-700)/2+'px';
      obj.parentNode.appendChild(obj.cloneNode(true));
      obj.id='layer2';
      obj.childNodes[0].id='layer2_head';
      obj.childNodes[1].id='layer2_content';
}

function naviManage(typ){//aus/ein fahren der Navi
      if((typ=='over') && (!opened_navi)){
             document.getElementById('box_navi').style['bottom']='69px';
             document.getElementById('navi').style['height']='69px';
             opened_navi=true;
      }
      else if((typ=='out') &&  (opened_navi)){
             document.getElementById('box_navi').style['bottom']='34px';
             document.getElementById('navi').style['height']='34px';
             opened_navi=false;
      }
}

function layerManage(site){
      var obj1=document.getElementById('layer1_content');
      var obj2=document.getElementById('layer2_content');
      obj1.style.overflow='hidden';
      obj2.style.overflow='hidden';
      
      if(!moving){
             var time=0;//Zeit bis der neue Content geöffnet wird (keine synchrone Bewegung mit id1)
             //schliessen des alten Contents + neuen Content

             if(((site=='none') || (opened_layer)) && (wait!=true)){
                    //schliessen des alten Contents
                    tmr1=setInterval("move('layer1', 'top', 550, 'tmr1','"+site+"')",20);
                    tmr2=setInterval("move('layer1', 'height', 0, 'tmr2','"+site+"')",20);
                    time=1000;
             }
             else if(wait!=true){
                    openLayer(site);
             }
      }
      return false;
}
function openLayer(site){
      obj=document.getElementById('layer2');
      obj.style.visibility='visible';
      obj.style.top='150px';
      obj.childNodes[0].childNodes[0].innerHTML=site;
      document.getElementById('layer2_content').innerHTML=content[site]
      if(content[site]=='Bitte warten'){//request}
             sendRequest(site);//Anfordern des Inhaltes
             wait=site;
      }
      tmr3=setInterval("move('layer2', 'height', 400, 'tmr3','"+site+"')",20);

}

function move(id,typ,bis,timer,site){
      moving=true;
      var obj=document.getElementById(id);
      var von=parseInt(obj.style[typ].replace(/px/,''));
      if(von<bis){
             von=von+5;
             opened_layer=true;
      }
      else if(von>bis){
             von=von-5;
             if((id=='layer1') && (site!='none') && (von<200) && (von>191)){
                    openLayer(site);
             }
      }
      else{
             window.clearInterval(eval(timer));
             if(id=='layer2'){
                    var obj1=document.getElementById('layer1');
                    var obj2=document.getElementById('layer2');
                    obj1.id='layer2';
                    obj1.childNodes[0].id='layer2_head';
                    obj1.childNodes[1].id='layer2_content';
                    obj2.id='layer1';
                    obj2.childNodes[0].id='layer1_head';
                    obj2.childNodes[1].id='layer1_content';
                    obj2.childNodes[1].style.overflow='auto';
                    
                    moving=false;
                    setTimeout("waiting('"+site+"')", 250);
             }
             if(id=='layer1'){
                    moving=false;
                    document.getElementById('layer1').style.visibility='hidden';
                    if(site=='none'){opened_layer=false;}
             }
      }
      obj.style[typ]=von + 'px';
}



function waiting(site){
      var obj=document.getElementById('layer1_content');
      if(content[site]!='Bitte warten'){
             obj.innerHTML==content[site];
             clearInterval(tmr3);
             
      }
      else if(obj.innerHTML!='Bitte warten...'){
             obj.innerHTML= obj.innerHTML+'.';
      }
      else{
             obj.innerHTML='Bitte warten';
      }
      
      if((wait==true) && (content[site]=='Bitte warten')){
             setTimeout("waiting('"+site+"')", 250);
      }
      else{
             wait=false;
             document.getElementById('layer1_content').innerHTML=content[site]
      }
}
var req=null;

function getXMLHttpRequest(){
      httpReq=null;
      if(window.XMLHttpRequest){
             httpReq=new XMLHttpRequest();
      }
      else if (typeof ActiveXObject != "undefined"){
             httpReq=new ActiveXObject("Microsoft.XMLHTTP");
      }
      return httpReq;
}

function sendRequest(param){
      req=getXMLHttpRequest();
      if(req){
             para=encodeURI(param);
             req.onreadystatechange=requestChange;
             req.open("get",'content.php?typ='+param,true);
             req.send(null);
      }
}
function requestChange(){
      if(req.readyState==4){
             content[wait]=req.responseText;
             //alert(content[wait]);
      }
}