var TPL, AYFLD, ACTJ;

$.ajaxSetup({async: false, cache: false});

$(document).ready(function () {
  // parse template
  TPL = $("#cftmpl").html();
  emptyTemplate();
  AYFLD = TPL.match(/@[^@]+@/g);
  for (i = 0; i < AYFLD.length; i++) {
    AYFLD[i] = AYFLD[i].substring(1, AYFLD[i].length - 1);
  }
  doSearch();
});

function doSearch() {
  emptyTemplate();
  var params = '';
  //alert('actid='+SRCH.actid+'\nsite='+SRCH.site+'\nagegroup='+SRCH.agegroup+'\ncategory='+SRCH.category+'\ntitle='+SRCH.title+'\ninstructor='+SRCH.instructor+'\nroom='+SRCH.room);
  if ((SRCH.actid!="")&&(SRCH.actid!=undefined)) {
    params = 'actid='+SRCH.actid+'&site='+SRCH.site;
  } else if (!((SRCH.site=="")||(SRCH.agegroup=="")&&(SRCH.category=="")&&(SRCH.title=="")&&(SRCH.instructor=="")&&(SRCH.instructor==undefined)&&(SRCH.room==""))) {
    if (SRCH.fullclass==undefined) SRCH.fullclass = '';
    if (SRCH.freeclass==undefined) SRCH.freeclass = '';
    params = '&site='+SRCH.site
            +'&agegroup='+SRCH.agegroup
            +'&category='+SRCH.category
            +'&tterm='+escape(SRCH.title)
            +'&instructor='+SRCH.instructor
            +'&room='+SRCH.room
            +'&fullclass='+SRCH.fullclass
            +'&freeclass='+SRCH.freeclass;
  }
  // retrieve activities
  if (params=='') {
    $("#cftmpl").html('<tr><td><b>Please specifiy the parameters.</b></td></tr>');
  } else {
    $("#cftmpl").html('<tr><td><b>Searching ...... please wait.</b></td></tr>');
    $.getJSON('http://app.vancouver.ca/SafariActivityList_net/default.aspx?' + params +'&jsoncallback=?', function (j) {
      ACTJ = j;
      if (ACTJ.length>0) {
        emptyTemplate();
        renderTemplate(ACTJ);
      } else {
        $("#cftmpl").html('<b>No activities.</b>');
      }
    });
  }
}

function renderTemplate (j) {
  if (SRCH.instructor!='') {
    $("#instructorname").html(j[0].instructorname_fl);
  }
  var ccatg = '';
  $.each(j, function () {
    var s = TPL;
    for (var i = 0; i < AYFLD.length; i++) {
      if (AYFLD[i]!='categoryname') {
        s = s.replace('@'+AYFLD[i]+'@', this[AYFLD[i]]);
      } else {
        if (this[AYFLD[i]]==ccatg) {
          s = s.replace('@'+AYFLD[i]+'@', '');
        } else {
          s = s.replace('@'+AYFLD[i]+'@', this[AYFLD[i]]);
          ccatg = this[AYFLD[i]];
        }
      }
    }
    $("#cftmpl").append(s);
  });
  $("#cftmpl .category").each(function () {
    if (!$(this).html()) $(this).remove();
  });
}

function emptyTemplate () {
  $("#cftmpl").empty();
}

function objsort (a,b) {
  if (a.name==b.name) { return 0; }
  else if (a.name > b.name) { return 1; }
  else { return -1; }
}

