// =============================================================
// filter javascript functions

// -----------------------------------------------------------
// Reload the innerHTML for the filter div tag

function filter_update_div(caller) {
  
  // base url
  var url = '/util/filters/?';

  // get the filter type and add it to the url
  var type_val = document.filterform.type.options[document.filterform.type.selectedIndex].value;
  url += 'type=' + type_val;

  // get the editing id and add it to the url
  var edit_val = document.filterform.editing_id.value;
  url += '&editing_id=' + edit_val;

  // next, if type was not called, we will add more
  if(caller != 'type') {
  
    // get the first filter value depending on filter type
    if(type_val==1) { var type_val1 = gradelevel_get_fval1(); }
    if(type_val==2) { var type_val1 = resourcetype_get_fval1(); }
    if(type_val==3) { var type_val1 = language_get_fval1(); }
    if(type_val==4) { var type_val1 = religion_get_fval1(); }
    if(type_val==5) { var type_val1 = dates_get_fval1(); }
    if(type_val==6) { var type_val1 = resourceobjective_get_fval1(); }
    url += '&fval1=' + type_val1;
  
    // if the first filter value was not the caller
    if(caller != 'fval1' || type_val == 6 || type_val == 2 || type_val == 3) {
    
      // get the second filter value depending on type
      if(type_val==1) { var type_val2 = gradelevel_get_fval2(); }
      if(type_val==2) { var type_val2 = resourcetype_get_fval2(); }
      if(type_val==3) { var type_val2 = language_get_fval2(); }
      if(type_val==4) { var type_val2 = ''; }
      if(type_val==5) { var type_val2 = dates_get_fval2(); }
      if(type_val==6) { var type_val2 = resourceobjective_get_fval2(); }
      url += '&fval2=' + type_val2;
      
    }
  }
  
  if(typeof(filters[type_val]) != 'undefined') {
    alert("You have a filter of this type.  It will be loaded in so you can edit it.");
    url += '&fval1=' + filters[type_val][1];
    url += '&fval2=' + filters[type_val][2];
    url += '&editing_id=' + filters[type_val][0];
  }
  
  // load the page
  fillElement('popbox',url);
}

// -----------------------------------------------------------
// Submit filter request and reload main page

function filter_do_add() {
  var type_val = document.filterform.type.options[document.filterform.type.selectedIndex].value;
  if(type_val==1) { var type_val1 = gradelevel_get_fval1();         var type_val2 = gradelevel_get_fval2(); }
  if(type_val==2) { var type_val1 = resourcetype_get_fval1();       var type_val2 = resourcetype_get_fval2(); }
  if(type_val==3) { var type_val1 = language_get_fval1();           var type_val2 = language_get_fval2(); }
  if(type_val==4) { var type_val1 = religion_get_fval1();           var type_val2 = ''; }
  if(type_val==5) { var type_val1 = dates_get_fval1();              var type_val2 = dates_get_fval2(); }
  if(type_val==6) { var type_val1 = resourceobjective_get_fval1();  var type_val2 = resourceobjective_get_fval2(); }
  if(type_val==7) { var type_val1 = audience_get_fval1();           var type_val2 = audience_get_fval2(); }
  document.cookie = 'circle_add_filter=' + type_val + '#' + type_val1 + '#' + type_val2 + '#' + '; path=/';
  if (document.hidden_search)
  {
    document.hidden_search.submit();
  } else {
    document.location.reload();
  }
}


// -----------------------------------------------------------
// Submit filter edit request (delete and add) and reload

function filter_do_edit() {
  var type_val = document.filterform.type.options[document.filterform.type.selectedIndex].value;
  var edit_val = document.filterform.editing_id.value;
  if(type_val==1) { var type_val1 = gradelevel_get_fval1();         var type_val2 = gradelevel_get_fval2(); }
  if(type_val==2) { var type_val1 = resourcetype_get_fval1();       var type_val2 = resourcetype_get_fval2(); }
  if(type_val==3) { var type_val1 = language_get_fval1();           var type_val2 = language_get_fval2(); }
  if(type_val==4) { var type_val1 = religion_get_fval1();           var type_val2 = ''; }
  if(type_val==5) { var type_val1 = dates_get_fval1();              var type_val2 = dates_get_fval2(); }
  if(type_val==6) { var type_val1 = resourceobjective_get_fval1();  var type_val2 = resourceobjective_get_fval2(); }
  if(type_val==7) { var type_val1 = audience_get_fval1();           var type_val2 = audience_get_fval2(); }
  document.cookie = 'circle_edit_filter=' + edit_val + '#' + type_val + '#' + type_val1 + '#' + type_val2 + '#' + '; path=/';
  if (document.hidden_search)
  {
    document.hidden_search.submit();
  } else {
    document.location.reload();
  }
}


// -----------------------------------------------------------
// Submit a filter cancel request (close div)

function filter_do_cancel() {
  setCSSProperty('popbox','display','none');
}
  

// -----------------------------------------------------------
// Add a filter (open div and request basic page)

function filter_add() {
  var y = (circle_mouseY - 300);
  if (y < 25) { y = 25; }
  setCSSProperty('popbox','left',(circle_mouseX - 360) + 'px');
  setCSSProperty('popbox','top',y + 'px');
  fillElement('popbox','/util/filters/');
}

// -----------------------------------------------------------
// Saves current filters to mycircle

function filter_save() {
  var y = (circle_mouseY - 300);
  if (y < 25) { y = 25; }
  setCSSProperty('popbox','left',(circle_mouseX - 360) + 'px');
  setCSSProperty('popbox','top',y + 'px');
  fillElement('popbox','/util/filters/save.phtml');
}


// -----------------------------------------------------------
// Delete a filter

function filter_del(id) {
  document.cookie = 'circle_del_filter=' + id + '; path=/';
  if(document.hidden_search) {
    document.hidden_search.submit();
  } else {
    document.location.reload();
  }
}


// -----------------------------------------------------------
// Edit a filter

function filter_edit(id) {
  var y = (circle_mouseY - 300);
  if (y < 25) { y = 25; }
  setCSSProperty('popbox','left',(circle_mouseX - 360) + 'px');
  setCSSProperty('popbox','top',y + 'px');
  fillElement('popbox','/util/filters/?edit_id='+id);
}


// =============================================================
// Functions for individual filters

	
//------------------------------------------------------------
// grade level filter functions

function gradelevel_get_fval1() {
  var fval1 = document.filterform.fval1;
  return fval1.options[fval1.selectedIndex].value;
}

function gradelevel_get_fval2() {
  var fval2 = document.filterform.fval2;
  return fval2.options[fval2.selectedIndex].value;
}


//------------------------------------------------------------
// religion filter functions

function religion_get_fval1() {
  var val = document.filterform.fval1;
  var selected = new Array();
  var index = 0;
  for (var i = 0; i < val.length; i++) {
    if (val[i].checked) {
      selected[index] = val[i].value;
      index++;
    }
  }
  return selected.join('|');
}

//------------------------------------------------------------
// resource type functions

function resourcetype_get_fval1() {
  var fval1 = document.filterform.fval1;
  return fval1.options[fval1.selectedIndex].value;
}

function resourcetype_get_fval2() {
  var val = document.filterform.fval2;
  var selected = new Array();
  var index = 0;
  for (var i = 0; i < val.length; i++) {
    if (val[i].checked) {
      selected[index] = val[i].value;
      index++;
    }
  }
  return selected.join('|');
}

//------------------------------------------------------------
// Resource Objective Functions

function resourceobjective_get_fval1() {
  var fval1 = document.filterform.fval1;
  return fval1.options[fval1.selectedIndex].value;
}

function resourceobjective_get_fval2() {
  var val = document.filterform.fval2;
  var selected = new Array();
  var index = 0;
  for (var i = 0; i < val.length; i++) {
    if (val[i].checked) {
      selected[index] = val[i].value;
      index++;
    }
  }
  return selected.join('|');
}

//------------------------------------------------------------
// audience functions

function audience_get_fval1() {
  var fval1 = document.filterform.fval1;
  return fval1.options[fval1.selectedIndex].value;
}

function audience_get_fval2() {
  var val = document.filterform.fval2;
  var selected = new Array();
  var index = 0;
  for (var i = 0; i < val.length; i++) {
    if (val[i].checked) {
      selected[index] = val[i].value;
      index++;
    }
  }
  return selected.join('|');
}

//------------------------------------------------------------
// language functions

function language_get_fval1() {
  var fval1 = document.filterform.fval1;
  return fval1.options[fval1.selectedIndex].value;
}

function language_get_fval2() {
  var val = document.filterform.fval2;
  var selected = new Array();
  var index = 0;
  for (var i = 0; i < val.length; i++) {
    if (val[i].checked) {
      selected[index] = val[i].value;
      index++;
    }
  }
  return selected.join('|');
}


//------------------------------------------------------------
// dates functions

function dates_get_fval1() {
  var fval1 = document.filterform.fval1;
  return fval1.value;
}

function dates_get_fval2() {
  var fval2 = document.filterform.fval2;
  return fval2.value;
}


// Save to mycircle functions

function saveconfirm() {
  params = 'submit=save';
  sendPostRequest('/util/filters/save.phtml','filterSave',params);
}

function savelogin() {
  params = 'submit=login';
  params += '&email=' + escape(encodeURI(document.getElementById('email').value));
  params += '&pword=' + escape(encodeURI(document.getElementById('pword').value));
  
  sendPostRequest('/util/filters/save.phtml','filterSave',params);
}

function filterSaveHandler() {
  if (request.readyState == 4) {
    if (request.status == 200) {
      var data = eval('(' + request.responseText + ')');
      
      if (data['status'] == 'save') {
        document.getElementById('filterSave').innerHTML = data['msg'];
      } else if (data['status'] == 'login') {
        document.getElementById('filterMsg').innerHTML = data['msg'];
      } else if (data['status'] == 'fail') {
        fillElement('popbox','/util/filters/save.phtml');
      }
    }
  }
}