var TvNav = $.klass({
  
  initialize: function(options)
    {
    this.register = new TvForm("#controls p.register a", {
      afterRefresh: function(response, form)
        {
        if(response.logged_in == 1)
          {
          this.options.check = false;
          var new_location = form.find("a").attr("href");
          
          $('#fancybox-close').unbind('click');
          $('#fancybox-close').click(function(){ location.replace(new_location); });
          
          setTimeout(function(){
            location.replace(new_location);
            }, 4000);
          }
        }
      });
    this.login = new TvForm("#controls p.login a.login", {
      afterRefresh: function(response, form)
        {
        if(response.logged_in == 1)
          {
          this.options.check = false;
          var new_location = form.find("a").attr("href");
          
          $('#fancybox-close').unbind('click');
          $('#fancybox-close').click(function(){ location.replace(new_location); });
          
          setTimeout(function(){
            location.replace(new_location);
            }, 4000);
          }
        }
      });
    
    this.recover = new TvForm("#controls p.login a.recover");
    this.account = new TvAccount("#controls p.account a");
    this.advanced_search = new TvAdvancedSearch("a.adv_search");
    this.teaser = new TvTeaser();
    this.initialize_query();
    if($("#broadcasts").length > 0) this.initialize_loader();
    
    this.start = parseFloat($("#start").val());
    this.end = parseFloat($("#end").val());
    
    this.initialize_legal_page();
    },
  
  initialize_legal_page: function()
    {
    $("a#legal").fancybox({
      transitionIn:	  'elastic',
      transitionOut:	'elastic',
      scrolling:      'no',
      hideOnOverlayClick: false,
      autoScale:      false,
      overlayColor:   "#00468C",
      onComplete: function(){
        
        }
      });
    },
  
  is_logged_in: function()
    {
    var val = $("#logged_in").val();
    return (parseInt(val) == 1)? true : false;
    },
  
  check: function(response)
    {
    if(this.is_logged_in() != response.logged_in)
      {
      location.reload();
      }
    
    this.start = (response.start)? parseFloat(response.start) : parseFloat($("#start").val());
    this.end = (response.end)? parseFloat(response.end) : parseFloat($("#end").val());
    
    return response;
    },
  
  initialize_query: function()
    {
    var initial_query = $("#search input.query").val();
    
    $("#search input.query").bind("focus", null, function(){
      if($(this).val() == initial_query) $(this).val("");
      });
    
    $("#search input.query").bind("blur", null, function(){
      if($(this).val() == "") $(this).val(initial_query);
      });
    },
  
  initialize_loader: function()
    {
    $("#broadcasts").append('<div id="loading"><div></div></div>');
    $("#loading").hide();
    this.replace_loader();
    },
  
  replace_loader: function()
    {
    $("#loading").css({ top: ($("#broadcasts").position().top + 100), left: (($("#broadcasts").outerWidth() / 2)) });
    },
  
  loading: function()
    {
    this.replace_loader();
    $("#loading").fadeIn(300);
    },
  
  stop_loading: function()
    {
    $("#loading").fadeOut(300);
    }
  
  });

