(function($) {
  
  var state = false;
  function switchNavi(searchUp,animate){
    var $s = $("#search-register");
    var $n = $("#navi-browse");
    if(searchUp != state){
      if(animate){
        searchUp ? flipNavi($n,$s) : flipNavi($s,$n);
      }
      else{
        if(searchUp){
          $s.after($n);
        }
        else{
          $n.after($s);
        }
      }
    }
    state = searchUp;
  }
  function flipNavi(up,down){
    var fill = $("<div></div>");
    var h = down.height();
    fill.css("height",0);
    fill.css('width',down.css('width'));
    fill.css("marginBottom",down.css("marginBottom"));
    down.css("position","absolute");
    down.css("top",down.position().top + "px");
    up.before(fill);
    var t = 300;
    down.animate({top: 0},t,null,function(){
      down.css("position","");
      down.css("top","");
      up.before(down);
      fill.detach();
      if(state){
        // selected input element loses cursor, at lest in Linux
        if(R.f && R.f.j){
          // this is the only way to make IE regain focus
          setTimeout(function(){
            R.f.j.focus();
          },20);
        }
      }
    });
    fill.animate({height: h},t,null);
  }

  $("#clickhome").bind("click",null,function(e){
    window.location.href = 'http://militieregisters.nl/';
  }).hover(function(e){H("Klik op het logo om naar de startpagina te gaan.",$(e.target),'up');},function(e){H();});

  $("#reg-item-detail").bind('moveOut',null,function(e){
    $(this).animate({marginRight:'0px',marginTop: 0},300);
  }).bind('moveIn',null,function(e){
    $(this).animate({marginRight:'120px'},300);
  });
  
  $("#personal .item").bind('blink',null,function(e,i){
    var j = $(this);
    j.addClass("hover");
    setTimeout(function(){
      j.removeClass("hover");
      setTimeout(function(){
        j.addClass("hover");
        setTimeout(function(){
          j.removeClass("hover");
        },200);
      },200)
    },200);
  });

  var altson = false;
  var altsY = 0;
  $("#alts").bind("hide",function(e){
    if(altson){
      $(e.target).hide();
      altson = false;
    }
  });

  $("#alts").bind("show",function(e,_t){
    var t = $(_t);
    var y = t.position().top + t.outerHeight();
    if(!altson || (altsY != y)){
      var j = $(e.target);
      if(document.body.clientWidth > 948 + (j.width() * 2)){
        j.css("left","-210px");
        j.css("top",(y - 42) + "px");
      }
      else{
        j.css("left","-10px");
        j.css("top","220px");
      }
      $(e.target).show();
      altson = true;
    }
  });

  // override default translations
  Lx({ "xRegImage":
       {
         nl: "{0} scan",
         en: "{0} scan",
       },
       "xRegUnit":
       {
         nl: "{0} naam",
         en: "{0} name"
       },
       "xRegImages":
       {
         nl: "{0} scans",
         en: "{0} scans",
       },
       "xRegUnits":
       {
         nl: "{0} namen",
         en: "{0} names"
       }
     });

  var to = 100;
  setTimeout(function(){to = 0;},600);
  $("body").bind('onRegEnter',null,function(e,b){
    if(b){
      switchNavi(true,false);
    }
    else if(to){
      setTimeout(function(){switchNavi(true,true);},to);
    }
    else{
      switchNavi(true,true);
    }
  }).bind('onRegLeave',null,function(e){
    switchNavi(true,false);
    switchNavi(false,true);
  });
  if($("body").hasClass('reg-active')){
    switchNavi(true,false);
  }
  Gl('site');
  Gr('site');
}(jQuery))

