var fadeSpeed = 1500;
var nPage = 8;
var startAt = 0;

function correctPriceList()
{
  $('priceband').selectedIndex = 0;
}

function getWantedList(minp, maxp)
{
  $('#dataPanel').fadeOut('slow', function() {
    $.ajax({url: 'list/',
            data: {'minp': minp, 'maxp': maxp, 
                 'startAt': startAt, 'nPage': nPage},
            dataType: 'json',
            type: 'POST',
            success: function (data) {
              showWanted2(data); 
              $('#dataPanel').fadeIn(fadeSpeed);    
            }
           });
  });
}
   
function updateWantedValues()
{
  var val = $('#priceband').val();
  var cPos = val.indexOf(':');
  minp = parseInt(val.substring(0, cPos));
  maxp = parseInt(val.substring(cPos + 1));
}

function updateWantedList()
{
  updateWantedValues();
  getWantedList(minp, maxp);
}

function showWanted2(adData)
{
    var wh = $('#which');
    wh.find('button').remove();
    wh.find('span').remove();

    if (adData.startAt > 0) {
        $('<button>').text('Previous').click(prevAds).appendTo(wh);
    }

    var whTxt = '';
    if (parseInt(adData.adCount) == 0) {
        whTxt = "No applicants to display";
    } else {
        var highest = startAt + nPage;
        if (highest > parseInt(adData.adCount)) highest = parseInt(adData.adCount);
        if (highest > 1) {
            whTxt = "Displaying applicants " + (startAt + 1) +
                                            " to " + highest + " from a total of " +
                                            adData.adCount;
        } else {
            whTxt = "Displaying 1 applicant";
        }
    }
    $('<span>').text(whTxt).appendTo(wh);
    if (adData.adCount > startAt + nPage + 1) {
        $('<button>').text('Next').click(nextAds).appendTo(wh);
    }

    var div = $('#applicants');
    div.find('li').remove();
    $.each(adData.adverts, function(i, item) {
        addItem(div, item);
    });
}

function addItem(div, item)
{
    var mydiv = $('<li>').addClass('theApplicant').attr('id', item.ref);
    $('<h3>').addClass('priceText').text("\xa3" + item.value).appendTo(mydiv);
    $('<p>').addClass('qualifierText').text(item.qual).appendTo(mydiv);
    if (item.found) {
      mydiv.append($('<img>').addClass('found').attr('src', '/graphics/stamp3.png'));
    } else {
      mydiv.append($('<p>').addClass('viewmore').text('Click to view more details'));
    }
    $('<p>').addClass('introText').text(item.headline).appendTo(mydiv);
    mydiv.appendTo(div);
}

function prevAds(type)
{
  if (startAt > 0)
    startAt = startAt - nPage;
  $('#dataPanel').fadeOut(fadeSpeed, function() {
    getWantedList(minp, maxp);
  });
}

function nextAds(type)
{
  startAt = startAt + nPage;
  $('#dataPanel').fadeOut(fadeSpeed, function() {
    getWantedList(minp, maxp);
  });
}

function viewDetails()
{
  var el = $('#applicantDetails');
  var titleText = "Details of applicant " + this.id;
  el.load("/wanted/"+this.id+"/", 
          function(){
                     $(this).dialog({title: titleText});
                     $(this).dialog("open");
                    } 
         );
}


