var advertFile = "/javascript/aa_adverts/cool-adverts.json";
var AD_LIST = new Array();
var TIMEOUT = 10000;

function getAdverts() {
 $.getJSON(advertFile, {}, function(data){ AD_LIST = buildAdList(data); serveAds(); writeAllAds();  });
}

function buildAdList(json) {
 var ads = json.adverts;
 var len = ads.length;
 for(var i = 0;i < len;i++) {
  AD_LIST.push(ads[i].advert);
 }

 return AD_LIST;
}

function serveAds() {
 var ads = getRandomAds(2);
 clearAds();
 for(var i = 0;i < ads.length;i++) {
 writeAd(ads[i],"#coolAdverts","");
 }
  
 setTimeout(serveAds, TIMEOUT);
}

function writeAd(advert,target,idAppend,classAppend) {
 var liEle = $("<li id='" + advert.id + "" + idAppend+"'></li>");
 var ancEle = $("<a href='" + advert.link + "'>" + advert.text + "</a>");
 liEle.append(ancEle);
 $(target).append(liEle);
}

/** remove the li children of #coolAdverts (ul) gracefully **/
function clearAds() {
 $("#coolAdverts").children().remove();
}

/** get n adverts, where n > 0 **/
function getRandomAds(count) {
 var ads = new Array();
 var AD_LISTTMP = AD_LIST.slice();

 if(count > 0) {
 for(var i = 0;i < count;i++) {
 var index = Math.floor(AD_LISTTMP.length * Math.random());

 ads.push(AD_LISTTMP[index]);
 //now remove ad from array
 AD_LISTTMP.splice(index,1);
 }
 }
 return ads;
}

function writeAllAds()
{
 $("#textAdverts").append("<ul id='coolAdvertsAll' style='display:none;'></ul>");

//need to add a class for column 2
  for(var i=0;i<AD_LIST.length;i++)
  {
    writeAd(AD_LIST[i],"#coolAdvertsAll","ALL");
  }
}

