//  Interested in looking at our code?  Maybe you should work for us !!!

//  If you understand most of what is going on below this message and you have a real passion 
//  for working somewhere which breaks into new opportunites and CAN'T STAND red tape you may 
//  be right for the job.  Drop us an email: info@puntersparadise.com.au


  function LadderBoardHandler()
  {
    this.betType;
    this.ranker;
    this.period;
    this.filterFavourites;
    this.currentRecordIndex;
    this.numberOfRecordsPerPage;
    this.ready;
  }

  LadderBoardHandler.prototype.changePageFromFooter = function(newPageIndex)
  {
    this.currentRecordIndex = newPageIndex;
    this.changeView(true);
  }

  LadderBoardHandler.prototype.changePage = function(newPageIndex)
  {
    this.currentRecordIndex = newPageIndex;
    this.changeView(false);
  }

  LadderBoardHandler.prototype.changeView = function(footerMessage)
  {
    if (this.ready)
    {
      //Get the bettype
      if (document.getElementById('WinView').checked)
        this.betType = 'Win';
      else if (document.getElementById('PlaceView').checked)
        this.betType = 'Place';
      else if (document.getElementById('EachWayView').checked)
        this.betType = 'EachWay';

      //Get the ranker
      if (document.getElementById('selRanker') != null)
        this.ranker = document.getElementById('selRanker').options[document.getElementById('selRanker').selectedIndex].value;

      //Get the period
      if (document.getElementById('selPeriod') != null)
        this.period = document.getElementById('selPeriod').options[document.getElementById('selPeriod').selectedIndex].value;

      //Get the filter
      if (document.getElementById('cbFavourites') != null && document.getElementById('cbFavourites').checked)
      {
        this.filterFavourites = true;
        this.currentRecordIndex = 0;
      }
      else
      {
        this.filterFavourites = false;
      }

      if (typeof(footerMessage) == 'undefined' || footerMessage == null || footerMessage == false)
      {
        document.getElementById('ViewsLoadingMessage').innerHTML = 'Loading ladder board...&nbsp;&nbsp;&nbsp;' + (this.betType.replace('Way',' Way').toLowerCase()) + ' bets over ' + (this.period) + ' days, ranked by ' + (this.ranker.replace('StrikeRate','Strike Rate').replace('ProfitOnTurnover','Profit on turnover')).toLowerCase();
        document.getElementById('ViewsLoading').className = '';
      }
      else
      {
        document.getElementById('ViewsLoadingFooterMessage').innerHTML = 'Loading ladder board...&nbsp;&nbsp;&nbsp;' + (this.betType.replace('Way',' Way').toLowerCase()) + ' bets over ' + (this.period.replace('Days',' Days').toLowerCase()) + ', ranked by ' + (this.ranker.replace('StrikeRate','Strike Rate').replace('ProfitOnTurnover','Profit on turnover')).toLowerCase();
        document.getElementById('ViewsLoadingFooter').className = '';
      }

      sendAjaxRequest("/kingtipping/LadderBoardView.php", "t="+this.betType+"&r="+this.ranker+"&p="+this.period+"&ff="+this.filterFavourites+"&cr="+this.currentRecordIndex+"&nr="+this.numberOfRecordsPerPage, ladderBoardPageHandler.changeView_Success, ladderBoardPageHandler.changeView_Failed);
    }
  }

  LadderBoardHandler.prototype.changeView_Success = function(response)
  {
    document.getElementById('ViewsLoading').className = "noShow";
    document.getElementById('ViewsLoadingFooter').className = "noShow";
    document.getElementById("resultFailed").className = "noShow";
    document.getElementById("ladderBoard").innerHTML = response;
    $(".LadderCol2 script").each(
      function( iIndex )
      { 
        var h = document.getElementsByTagName("head")[0];
        var s = document.createElement("script");
        s.type="text/javascript";
        h.appendChild(s);
        s.text=this.text;
        $('.ladderUserMenu').hover(
    			function() { $('ul', this).css('display', 'inline'); },
		    	function() { $('ul', this).css('display', 'none'); });
      } 
    );
  }

  LadderBoardHandler.prototype.changeView_Failed = function(response)
  {
    document.getElementById("resultFailed").innerHTML = 'An error occurred while attempting to retreive this page of tips.  Please try again.<br/>';
    document.getElementById("resultFailed").className = "show, error";
  }

  LadderBoardHandler.prototype.toggleFilters = function()
  {
    var current = $("#formLadderFilters .HideShow a.icon").html();
    if (current == '-')
    {
      $("#formLadderFilters .LadderFilter:not(.HideShow)").fadeOut();
      $("#formLadderFilters .HideShow a.icon").html('+');
      $("#formLadderFilters .HideShow a.text").html('Show Filters');
    }
    else
    {
      $("#formLadderFilters .LadderFilter:not(.HideShow)").fadeIn();
      $("#formLadderFilters .HideShow a.icon").html('-');
      $("#formLadderFilters .HideShow a.text").html('Hide Filters');
    }
  }

  LadderBoardHandler.prototype.submit = function()
  {
    alert('test');
  }

  var ladderBoardPageHandler = new LadderBoardHandler();

  $(document).ready(function() 
  {
    $('.ladderUserMenu').hover(
			function() { $('ul', this).css('display', 'inline'); },
			function() { $('ul', this).css('display', 'none'); });

    $('#formLadderFilters').ajaxForm(function(responseText, statusText) 
    { 
      alert(responseText);
    });
    //$('#formLadderFilters').bind('submit',ladderBoardPageHandler.submit);
  });