
var etype;
var eloc;
var age;
var sport;
var ploc;
var ptype;
var tagArr = new Array();
var frm = document.forms["eventsearch"];
var sports = new Array();
var plocs = new Array();
var ages = new Array();
var ptypes = new Array();
var etypes = new Array();   

//get the value of the selected dropdowns
function getSelectedEventTags(){
   etype = frm.p_eventtype.options[frm.p_eventtype.selectedIndex].value;
   eloc = 9;
}
function getSelectedProgramTags(){
   age = frm.p_programage.options[frm.p_programage.selectedIndex].value;
   sport = frm.p_programsport.options[frm.p_programsport.selectedIndex].value;
   ploc = 34;
   ptype = frm.p_programtype.options[frm.p_programtype.selectedIndex].value;
   
}

//remove the options from the dropdwons in the hierarchy
function clearEventTags(){
    for (i=frm.p_eventtype.length; i>0; i--) {frm.p_eventtype.options[i] = null;}
    frm.p_eventtype.options.length = 1;
}
function clearProgramTags(){
    for (i=frm.p_programsport.length; i>0; i--) {frm.p_programsport.options[i] = null;}
    frm.p_programsport.options.length = 1;
    //for (i=frm.p_programloc.length; i>=1; i--){ frm.p_programloc.options[i] = null; }
    //frm.p_programloc.options.length = 1;
    for (i=frm.p_programtype.length; i>=1; i--){ frm.p_programtype.options[i] = null;}
    frm.p_programtype.options.length = 1;
    for (i=frm.p_programage.length; i>=1; i--){ frm.p_programage.options[i] = null;}
    frm.p_programage.options.length = 1;
}

//based on the selected tag, update the dropdown options
function updateEventTags(){
    getSelectedEventTags();
    clearEventTags();
    etypes.length = 0;
    for(i=0; i<tagArr.length; i++) {
     if (eloc =="" || eloc==tagArr[i].eventloc.tagid){
         etypes.push(tagArr[i].eventtype)
     }
    }
    resetList(etypes, frm.p_eventtype, etype);
    return true;
}
function updateProgramTags(){
    getSelectedProgramTags();
    clearProgramTags();
    sports.length = 0;
    //plocs.length = 0;
    ptypes.length = 0;
    for(i=0; i<tagArr.length; i++) {
      if (ploc =="" || ploc==tagArr[i].programloc.tagid){
         ages.push(tagArr[i].programage);
         if (age =="" || age==tagArr[i].programage.tagid){
             sports.push(tagArr[i].programsport);
             if (sport =="" || sport==tagArr[i].programsport.tagid){
             //    plocs.push(tagArr[i].programloc);
             //    if (ploc =="" || ploc==tagArr[i].programloc.tagid){
                 ptypes.push(tagArr[i].programtype);}
             //}
         }
       }
    }
    resetList(sports, frm.p_programsport, sport);
 //   resetList(plocs, frm.p_programloc, ploc);
    resetList(ptypes, frm.p_programtype, ptype);   
    resetList(ages, frm.p_programage, age);
    return true;
}

function sortByOrder(a, b) {
    var x = parseInt(a.sortorder);
    var y = parseInt(b.sortorder);
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

//give an array of all the possible opions, whittle it down to just unique values, then add those options to the dropdown
function resetList(optArr, frmOpt, val){
    var ind, i, ids = "||";
    var sortArr = new Array();
    for (i=0; i<optArr.length; i++) {
        if (ids.indexOf("|" + optArr[i].tagid + "|") == -1){
        ids = ids + "|" + optArr[i].tagid + "|"
        sortArr.push(optArr[i]);
        }
    }
    sortArr.sort(sortByOrder)
    ind=1;
    for (i=0; i<sortArr.length; i++) {
      var opt = document.createElement('option');
      opt.value = sortArr[i].tagid;
      opt.text  = sortArr[i].tagname;
      frmOpt.options[ind] = opt;
      if (val == sortArr[i].tagid){
          frmOpt.options[ind].selected = true;}
       ind++;
      }
}

