var Loader=new Element('div',{
  'id':'ajaxLoader',
  'title':'bitte warten...'
}).adopt(new Element('img',{
  'src':'img/ajax-loader.gif'
}));
Loader.FX=new Fx.Morph(Loader,{duration:500});

//function al(){return $(Loader)?$(Loader).fade('out'):true;}
function mainRequest(u,d,t){
  return new Request({url:u,data:d,timeout:1000,method:'get'}).addEvents({
    request:function(){
      t.set('html','');
    },
    success:function(rT){
      t.set('html',rT);
    }
  });
}

function NaviSetup(){
  $$('div.nav_item').each(function(item, index){
    var x=document.id('S'+item.id);
    if(x){
      if(!x.hasEvent('mouseleave')){
        if(Browser.ie){
          x.style.display='none';
          x.style.visibility='hidden';
          x.style.opacity=1;
          item.removeEvent('click');
          item.addEvent('click',function(e){
            $('app_navi').getElements('div.nav_item_sub').each(function(i){
              if(i!=x){
                i.style.display='none';
                i.style.visibility='hidden';
              }
            });
            x.style.display=x.style.display=='block'?'none':'block';
            x.style.visibility=x.style.visibility=='visible'?'hidden':'visible';
          });
        } else {
          x.style.display='none';
          x.style.visibility='hidden';
          x.style.opacity=1;
          item.removeEvent('click');
          item.addEvent('click',function(){
            $('app_navi').getElements('div.nav_item_sub').each(function(i){
              if(i!=x){
                i.style.display='none';
                i.style.visibility='hidden';
              }
            });
            x.style.display=x.style.display=='block'?'none':'block';
            x.style.visibility=x.style.display=='block'?'visible':'hidden';
            //x.style.visibility=x.style.visibility=='visible'?'hidden':'visible';
          });
        }
        x.addEvents({
          'mouseleave':function(){
            x.style.display='none';
            x.style.visibility='hidden';
          },
          'mouseenter':function(){
            return false;
          }
        });
      }
    }
  });
  $$('a.nav_item').each(function(item,index){
    if(item.removeEvent('click')){
      if(item.id!="N00"){
        item.addEvent('click', function(e){
          var r=mainRequest('php/core.php','ac='+this.id).send();
          e.stop();
        });
      }
    }
  });
  if(!Browser.ie){
    $$('div.nav_item_sub').each(function(item, index){
      item.setStyles({
        'margin': '5px 0px 0px -6px'
      });
    });
  }
  $$('a.nav_a').removeEvent('click').addEvents({
    'click': function(e) { 
      var p=this.getParent();
      if(p.hasClass('nav_item_sub')){
        p.fireEvent('mouseleave');
      }
      if(this.id=='brochure'||this.id=='nrt'||this.id=='gplogin'){
        if(this.id=='brochure') LoadBook('aurea','app_content');
        if(this.id=='nrt') LoadBook('nrt','app_content');
        if(this.id=='gplogin') document.location.href=this.href;
        e.stop();
        e.preventDefault();
      } else {
        var r = new Request({
          url: 'php/core.php',
          data: 'ac='+this.id,
          method:'get'
        }).addEvents({
          'request': function(){
            document.body.style.cursor='wait';
            //console.log('requesting '+r.url+'?'+r.data);
            //document.id('app_content').set('html', "<img src=\"img/ajax_loader.gif\" id=\"ajaxLoader\">");
          },
          'complete': function(responseText) {
            document.id('app_content').set('html', responseText);
            Setup();
            document.body.style.cursor='pointer';
          }
        }).send();
        this.parentNode.parentNode.fireEvent('mouseleave'); 
      }
      return false;
    }
  });
  $('app_footer').getElements('a').each(function(item,index){
    item.removeEvent('click').addEvent('click',function(e){
      document.body.style.cursor='wait';
      e.stop();
      var r = new Request({
        url: 'php/core.php',
        data: 'ac='+item.id
      }).addEvents({
        'complete': function(responseText) {
          document.id('app_content').set('html', responseText);
          Setup();
          document.body.style.cursor='pointer';
        }
      }).send();
    });
  });
}

function VideoSetup(){
  VideoJS.setupAllWhenReady();
}

function SlideShowSetup(){
  var slideShow = new SlideShow('app_slideshow',{
    files: [
      'img/slideshow/01.jpg',
      'img/slideshow/02.jpg',
      'img/slideshow/03.jpg',
      'img/slideshow/04.jpg',
      'img/slideshow/05.jpg'
    ], 
    texts: [
      'gibt die Antworten',
      'ist Ihr Partner',
      'gibt Sicherheit',
      'schafft Perspektive',
      'schenkt Vertrauen'
    ],
    textmask:'<b style="color:#9B1236">aurea Finanz</b> [text]',
    textclass:'app_text',
    duration: 2000,
    delay: 5000
  });
}

function TickerSetup(){
  if(Ticker.stocks.timer){
    Ticker.inject($('app_ticker'));
    Ticker.start();
  } else {
    //Ticker.get('tinc.php','key=hPmO8ELL','ticker',$('app_ticker'),true);
  }
}

function ImmoSetup(obj){
  var p={};
  switch(obj){
    case'w68':{
      p={
        'folder':'img/bautenstand',
        'obj':obj,
        'stand_datum': [
          '05/2009',
          '06/2009',
          '07/2009'
        ],
        'grundriss': '',
        'container':[
          'prev1=abb1',
          'prev2=abb2',
          'prev3=abb3',
          'prev4=abb4',
          'prev5=abb5'
        ],
        'ctrl': ['stand1','stand2','stand3']
      };
    }break;
    case'm6':{
      p={
        'folder': 'img/bautenstand',
        'obj': obj,
        'stand_datum': ['08/2009',
                        '10/2009',
                        '11/2009',
                        '12/2009'],
        'grundriss': '',
        'container': ['prev1=abb1',
                      'prev2=abb2',
                      'prev3=abb3',
                      'prev4=abb4'],
        'ctrl': ['stand1','stand2','stand3','stand4']      
      };
    } break;
    case'w63':{
      p={
        'folder': 'img/bautenstand',
        'obj': obj,
        'stand_datum': ['09/2010',
                        '11/2010',
                        '01/2011'],
        'grundriss': '',
        'container': ['prev1=abb1',
                      'prev2=abb2',
                      'prev3=abb3',
                      'prev4=abb4',
                      'prev5=abb5'],
        'ctrl': ['stand1','stand2','stand3']
      };
    }break;
    case's11':{
      p={
        'folder': 'img/bautenstand',
        'obj': obj,
        'stand_datum': ['12/2009',
                        '04/2010',
                        '06/2010'],
        'grundriss': '',
        'container': ['prev1=abb1',
                      'prev2=abb2',
                      'prev3=abb3',
                      'prev4=abb4',
                      'prev5=abb5'],
        'ctrl': ['stand1','stand2','stand3']
      };
    }break;
  }
  if(p.obj){
    p=new ImmoPrev(p);
    p.Show(0);
  }
}

function TeamSetup(){
  $$('div.foldable').each(function(item,index){
    item.slider = new Fx.Slide(item.getElement('div.fold_content')).hide();
    item.getElement('div.fold_title').addEvent('click', function(e){
      var p = this.parentNode;
      $$('div.foldable').each(function(item,index){
        if(item!=p&&item.slider.open){
          item.slider.toggle();
        }
      });
      p.slider.toggle();
    });
  });
}

function VorhangSetup(){
  var 
    v=document.id('vorhang'),
    btn=document.id('akademieLogin');
  
  if(btn){
    btn.fxLinks = new Fx.Morph('vorhangBGLinks',{'duration': 2000}).addEvent('start',function(e){});
    btn.fxRechts = new Fx.Morph('vorhangBGRechts',{'duration': 2000}).addEvent('complete',function(e){});
    btn.loginReq = new Request.HTML({'url':''}).addEvent('complete',function(rT){
      sWnd('Dieser Bereich befindet sich noch im Aufbau');
      /*
      btn.fxLinks.start({'width': 50});
      btn.fxRechts.start({'margin-left': 900,'width': 50});
      $$('div.vorhangSchloss').morph({'opacity': 0}).addEvent('oncomplete',function(e){
        this.dispose();
      });
      */
      return false;  
    });
    btn.addEvent('click', function(e){
      this.loginReq.post('');
    });
  }
}

function SavePictures(){
  if(!Browser.ie){  
    document.body.removeEvent('contextmenu').addEvent('contextmenu',function(e){e.stop();}); 
    $$('iframe').each(function(item,index){
      if(item.body){item.body.addEvent('contextmenu',function(e){e.stop();});}
    });
  }
}

function UploadSetup(type){
  switch(type){
    case 'bewerbung':{
      $('app_bewerbung').adopt([UploadFrame,upBtn]);
      UploadForm.getElements('span').each(function(item){item.setStyles({'float':'right'});});
      UploadForm.getElements('input[type=file]').each(function(item){item.setStyles({'margin-left':'20px','width':'300px'});});
      UploadFrame.addEvent('load',function(){
        UploadFrame.contentWindow.document.body=(UploadForm);
      });
    }
  }
}

function ImmoObjekteSetup(){
  ['m6','w68','w63','s11'].each(function(item){
    var Obj=$(item);
    Obj.Trigger=$(item+'_trigger');
    Obj.Trigger.Next='saniert';
    switch(item){
      case 'm6':var c='Margarethenstra&szlig;e 6';break;
      case 'w68':var c='Wei&szlig;enfelser Stra&szlig;e 68';break;
      case 'w63':var c='Wei&szlig;enfelser Stra&szlig;e 63';break;
      case 's11':var c='Schadowstra&szlig;e 11';break;
      default: var c=''; break;
    }
    var status=Obj.Trigger.Next=='saniert'?'unsaniert':Obj.Trigger.Next;
    Obj.Trigger.set('html','Zeige: '+c+' '+Obj.Trigger.Next+' (jetzt: '+status+')');
    Obj.set('html','<p>'+c+'</p>');
    Obj.Trigger.fxFadeIn=new Fx.Morph(Obj, {'duration':1000});
    Obj.Trigger.fxFadeOut=new Fx.Morph(Obj, {'duration':1000}).addEvent('onComplete',function(){
      Obj.setStyles({'background-image':'url(img/'+Obj.id+'_'+Obj.Trigger.Next+'.jpg)'});
      var status=Obj.Trigger.Next;
      Obj.Trigger.Next=Obj.Trigger.Next=='saniert'?'unsaniert':'saniert';
      Obj.Trigger.set('html','Zeige: '+c+' '+Obj.Trigger.Next+' (jetzt: '+status+')');
      Obj.Trigger.fxFadeIn.start({'opacity':1});
    });
    
    Obj.setStyles({'background-image':'url(img/'+Obj.id+'_unsaniert.jpg)','opacity':1});
    
    Obj.Trigger.removeEvent('click').addEvents({
      'click':function(e){
        this.fxFadeOut.start({'opacity':0});
      }
    });
  });
}

function BookSetup(){
  if(document.id('book')){
    document.id('book').getElements('img').each(function(item,index){
      item.addEvent('click',function(e){Magnify(this);});
    });
    document.id('book_ctrl').getElements('a').each(function(item){
      item.removeEvent('click').addEvent('click',function(e){
        var 
          x=item.href.split("?")[1],
          b=x.split("&")[0].split("=")[1],
          r=new Request.HTML({'url':'bookreader/'+b+'.php','method':'post','data':x}).addEvent('success',function(responseText){
            $('app_content').set('html','');
            $('app_content').adopt(responseText);
            BookSetup();
          }).send();
        e.preventDefault();
        e.stop();
        return false;
      });
    });
  }
}

function UmkreisRequest(v){
  if($('umkreisOutput')){
    var R=new Request.HTML({
      'url':'php/umkreis_request.php',
      'data':'plz='+v
    }).addEvent('request',function(){$('umkreisOutput').set('html','');}).addEvent('success',function(html){
      $('umkreisOutput').adopt(html);
      $('plz').disabled=false;
    }).send();
  }
}

var TypeCheck={
  'data':{'str':{a:65,b:90},'int':{a:48,b:57},'math':{a:21,b:47},'logic':{a:58,b:64},'kp':{a:96,b:105},'kpmath':[106,107,109,111],'ctrl':[8,13,36,46],'pagectrl':[33,34],'arrows':{a:37,b:40}},
  'isType':function(i,d){
    var dat=this.data[d]?this.data[d]:false,r;
    if(d['push']){r=false;for(var j=0;j<d.length;j++){r=r||this.isType(i,d[j]);}} else {
      r=dat['a']?(i>=dat.a&&i<=dat.b):(dat['push']?(dat.indexOf?dat.indexOf(i)>-1:false):false);
    }
    return r;
  }
}

function UmkreisSetup(){
  if($('umkreisSuche')){
    $('umkreisSuche').removeEvent('click');
    $('umkreisSuche').addEvent('click',function(e){
      UmkreisRequest();
      e.stopPropagation();
    });
    $('plz').removeEvent('keydown');
    $('plz').addEvent('keydown',function(e){
      if(e){
        e.stopPropagation();
        if(!(TypeCheck.isType(e.code,['int','kp','ctrl']))) e.preventDefault();
      }
    });
    $('plz').removeEvent('keyup');
    $('plz').addEvent('keyup',function(e){
      if(e){
        e.stopPropagation();
        if(TypeCheck.isType(e.code,['int','kp'])||e.code==13){
          //console.log($('plz').value);
          $('plz').disabled=true;
          UmkreisRequest($('plz').value);
        }
      }
    });
  }
}

function CountDownSetup(){
  var CD=new Countdown({
    'Start': new Date(),
    'End': new Date(2011,0,5,10,0,0),
    'Display': 'app_content',
    'Start':true
  });
}

function ForumSetup(){
  $$('div.app_forum_eintrag_detail').each(function(i,x){
    var s=i.style.display='none';
  });
}

function fbDetail(id,e){
  e.stopPropagation();
  e.preventDefault();
  var 
    n='app_forum_detail_',
    s=$(n+id).style;
  s.display=s.display=='block'?'none':'block';
  $(n+"trigger_"+id).innerHTML=s.display=='block'?'Details ausblenden':'Details einblenden';
}

function immoDetail(id,e){
  e.stopPropagation();
  e.preventDefault();
  var d=new Element('div',{
    'id':'immo'+id,
    'class':'immoPreview'
  }).setStyles({
    'position':'absolute',
    'width':800+'px',
    'height':600+'px'
  });
  var b=new Element('div',{
    'class':'immoPreviewBG',
  }).setStyles({
    'width':window.innerWidth+'px',
    'height':window.innerHeight+'px',
  }).adopt(d);
  
  b.removeEvent('click').addEvent('click',function(x){
    if(x){x.stop();}
    b.fadeDir(0);
    setTimeout(function(){b.dispose();},800);
  }).createFader(
    {duration:2000,fps:30},
    function(){},
    function(){
      var r=new Request.HTML({
        url:'php/ac/immobilien_details.php',
        data:{'id':id}
      }).addEvent('complete',function(rT){
        d.set('html','').adopt(rT);
        document.body.adopt(b);
        d.center('hv');
      }).send();
    }
  ).fadeDir(1);
  

}
