var Manager;

(function ($) 
	{
	$(function () 
		{
		
		Manager = new AjaxSolr.Manager(
			{
			solrUrl: 'http://solr2.hvgklubkartya.hu/'
			});

		Manager.addWidget(new AjaxSolr.ResultWidget(
			{
			id: 'result',
			target: '#docs'
			}
		));
    
		Manager.addWidget(new AjaxSolr.PagerWidget(
			{
			id: 'pager',
			target: '#pager',
			prevLabel: '&lt;Előző ',
			nextLabel: ' Következő&gt;',
			innerWindow: 1,
			currentPage: 1,
			renderHeader: function (perPage, offset, total) 
				{
				if (total == 0)
					{
					$('#info').html('<li><span style="text-align:center;">Nincs a keresésenek megfelelő elfogadóhely!</span></li>');
					$('#search_text').text('Új keresés: ');		
					$('#query').css("width","405px");
					return;
					}
				
				if (total == 1768)
					{
					$('#info').html('<li><span style="text-align:center;">Adatbázisunkban<b> ' + total + ' </b>elfogadóhely között kereshet.</span></li>');
					$('#search_text').text('Keresés: ');		
					$('#query').css("width","415px");
					return;
					}
				
				/*if ($('body').offset().top == 0)
					{
					$('html').animate({ scrollTop: $("#main_container").offset().top }, { duration: 'slow', easing: 'swing'});
					}*/
				
				$('#info').html('<li><span style="text-align:center;">Találatok:<b> ' + total + '</b></span></li>');
				$('#search_text').text('További szűrés: ');		
				$('#query').css("width","370px");		
				}
			}
		));


		Manager.addWidget(new AjaxSolr.CurrentSearchWidget(
			{
			id: 'currentsearch',
			target: '#selection'
			}
		));
	

	 Manager.addWidget(new AjaxSolr.AutocompleteWidget({
	  id: 'text',
      target: '#search',
	  field: 'allText',
      fields: ['allText']
    }));
    
	var fields = ['kategoria', 'megye', 'varos', 'kedvezmeny', 'kerulet'];
    for (var i = 0, l = fields.length; i < l; i++) 
		{
		Manager.addWidget(new AjaxSolr.TagcloudWidget(
			{
			id: fields[i],
	        target: '#' + fields[i],
		    field: fields[i]
			}));
		}
	    
    Manager.init();
    Manager.store.addByValue('q', '*:*');
	Manager.store.addByValue('sort', 'nev asc'); 	

    var params = {
      facet: true,
      'facet.field': fields,
      'facet.limit': 40,
      'facet.mincount': 1,
      'json.nl': 'map'
    };
    for (var name in params) {
      Manager.store.addByValue(name, params[name]);
    }
    Manager.doRequest();
  });

  $.fn.showIf = function (condition) {
    if (condition) {
      return this.show();
    }
    else {
      return this.hide();
    }
  }

})(jQuery);

