
// convert jsonData to an array sorted by price
function sortJsondataByPrice(jsonData) {
  var order = new Array();
  for (var j in jsonData) {
    order.push( {"elemIndex":j, "elemValue":jsonData[j]} );
  }
  return order.sort(function(a,b) { return parseInt(a.price) - parseInt(b.price) });
}



// convert jsonData to an array sorted by workList; drop elements not in workList
function sortJsondataByWorkList(jsonData, workList) {
  var order = new Array();
  // oops! double nested loop
  var workListArray = workList.split(' ');
  for (var w in workListArray) {
    for (var j in jsonData) {
      //alert(('i' + workListArray[w]) + ' vs ' + j);
      if (('i' + workListArray[w]) == j) {
        order.push( {"elemIndex":j, "elemValue":jsonData[j]} );
      }
    }
  }
  return order;
}


// convert jsonData to an array sorted by elemValue.displayOrder
function sortJsondataByDisplayOrder(jsonData) {
  var order = new Array();
  $.each ( jsonData, function(elemIndex, elemValue) {
    order.push( {"elemIndex":elemIndex, "elemValue":elemValue} );
  })
  function sortDisplayOrder(a,b) { return a.elemValue.displayOrder - b.elemValue.displayOrder }
  order.sort(sortDisplayOrder);
  return order;
}

// fill the quick links section
function initQuicklink() {
  // load quick links: #quicklinks [db=link]
  $.getJSON('/ajax/load.pl',
    {
      'db': 'link'
    },
    function(jsonData) {
      var order = sortJsondataByDisplayOrder(jsonData);
      for (i in order) {
          var elemIndex = order[i].elemIndex;
	  var elemValue = order[i].elemValue;
	  var newElem = '<div db="link" col="linkHtml" '
	      + ' item="' + (elemIndex) + '">'
	      +   '<a href="' + elemValue.linkUrl + '">'
	      +   elemValue.linkHtml
	      +   '</a>';
	      + '</div>';
          var newObj = $(newElem).appendTo('#quicklinks');
	  if (elemValue.onHold == 1) { newObj.addClass('onHold'); }
      };
    });
}


