selected = '';
initial = true;

$(document).ready(function(){

	  //$("#searchform").submit(formProcess);
      
	  search('initial');
	  
  $("#queryPage").autocomplete($("#autocompleteurlPage").attr("value") + '&' + $('#queryPage').val(), {
    delay:10,
    width: 260,
    selectFirst: true,
    scroll:false,
    formatItem: function(item) {
      //return item[0] + ' ' + item[1];
	  return item[0];
    }
    
  });
  
  $("#queryPageTop").autocomplete($("#autocompleteurlPage").attr("value") + '&' + $('#queryPageTop').val(), {
	    delay:10,
	    width: 260,
	    selectFirst: true,
	    scroll:false,
	    formatItem: function(item) {
	      //return item[0] + ' ' + item[1];
	  	  return item[0];
	    }
	    
	  });
  
  $('.suggestion').live("click", function(){
    newkeyword = $(this).attr("id");
    $('#queryPage').val(newkeyword);
    $('#queryPageTop').val(newkeyword);
    $('#keywordTop').val(newkeyword);
    $('#searchBoxTopButton').click();
    //search();
    //$('#suggestions').html("");
    return false;
  });

      
});


function showDetails() {
  $('#details').jqmShow();
}
  
function formProcess(event) {
  //event.preventDefault();

  //search('');
  
  //return false;
}

function search(mode) {

  base = $('#ajaxcallPage').attr("href");
  
  if (mode != 'initial') {
  
    base += '&query=' + encodeURI($('#queryPage').val()); 

    $("input.facetdef").each(function() {
      base += '&facets=' + $(this).val();
    });

    $('input:checkbox:checked').each(function () {
      base += '&' + $(this).attr("name") + '=' + encodeURI($(this).val());
    });

  }

  // workaround for the first submit
  if (base.indexOf('&facets=contentdate') == -1) {
    base += '&facets=contentdate';
  }


  url = base + '&retrieve=all'
  /*$.ajax({
      url: url,
      type: "GET",
      dataType: 'json',
      success: fillResult
  });*/

}

function defineForm() {
  $('input.facet').click(searchFacet);
  
  $("div.more").each(function() {
    $(this).hide();
  });
      
}

function searchFacet() {
  checked = $(this).attr("checked");
  divId = '#' + $(this).attr("name") + '_' + $(this).val() + '#';
  if (checked) {
    selected += divId;
  } else {
    selected = selected.replace(divId,'');  
  }
  search();
}

function fillValues(data) {
  newData = '<table border="0" width="100%" cellpadding="0" cellspacing="0"><tr>';
  $.each(data.facets, function(i,facet){
    newData += '<td width="25%" valign="top"><b>' + facet.facet.replace('facet_','').replace('contentdate','') + '</b><br /><input type="hidden" class="facetdef" name="facets" value="' + facet.facet + '" />';

    // now print the values   
    valueCount = facet.values.length;
    $.each(facet.values, function(j,facetvalue){
      if (typeof facetvalue !=  'undefined') {
        if (j == 6) {
          newData += '<div class="more" id="divmore_' + facet.facet + '">';
        }      
        newData += '<input type="checkbox"';
        if (selected.indexOf('#' + facet.facet + '_' + facetvalue.name + '#') != -1) {
          newData += ' checked="checked"';
        }
        newData += ' class="facet" name="' + facet.facet + '" value="' + facetvalue.name + '" />';        
        newData += facetvalue.label + '&nbsp;<b>(<span class="facetcount" id="' + facetvalue.divId + '">' + facetvalue.count + '</span> / ' + facetvalue.count + ')</b><br />';
      }
    });
    if (valueCount >= 6) {
      newData += '</div><a href="" class="moreLink" id="more_' + facet.facet + '">More</a>';
    }
    newData += '</td>';


  });
  newData += '</tr></table>';

  $('#facetinfo').html(newData);

  defineForm();
}

function fillResult(data) {
  var suggestions = '';
  $.each(data.suggestions, function(i,r){
    suggestions += '<a href="#" class="suggestion" id="' + r.suggestion + '">' + r.suggestion + '</a> ';
  });
  if (suggestions != '') {
    $('#suggestions').html('<span id="relatedKeywords">Bedoelde u : </span>' + suggestions) + "?";
  }
   
  if (initial) {
    fillValues(data);
    initial = false;
  } else {
    updateValues(data);
  }
  
}


function updateValues(data) {
  total = '';
  $.each(data.facets, function(i,facet){

    // now print the values   
    $.each(facet.values, function(j,facetvalue){
      if (typeof facetvalue !=  'undefined') {    
      
        $('#' + facetvalue.divId).html(facetvalue.count);
        total += '#' + facetvalue.divId + '#';
      }
    });

  });
  
  // which are not set: set them to 0
  $("span.facetcount").each(function() {
    myId = $(this).attr("id");
    if (total.indexOf('#' + myId + '#') == -1) {
      $(this).html('0');
    }
    
  });

  defineForm();

}



