	var tabsMap = [null,'articles','publications','users','teams','groups','objects'];
	var defaultDefaults = [null,'TYTUŁ ARTYKUŁU','TYTUŁ PUBLIKACJI','IMIĘ, NAZWISKO LUB LOGIN','NAZWA ZESPOŁU', 'NAZWA GRUPY', 'NAZWA OBIEKTU'];
	var urlSearch = {
                artykuly:'1|articles',
		publikacje:'2|publications',
		uzytkownicy:'3|users',
		zespoly:'4|teams',
		grupy:'5|groups',
		obiekty:'6|objects'

	};
	var miniSearchAdequateFields = {
                articles:'title',
		publications:'work_name',
		users:'',
		teams:'team_name',
		groups:'group_name',
		objects:'providers_object_name'
	};
	var search = {};

  var view = 'list';
  var order = 'young';
  var category = 'user';
  var limit = 1;
  var users_extra_params = {};
	var joiner = location.search=='' ? '?' : '&';
	var search = new Object();
  var url_search = '';
  var errors = {};
	var specs ={};
	var	teams ={};
	var defaultCompleated=false;

	var resUsers = '';
	var resObjects = '';
	var resGroups = '';
	var resTeams = '';
	var resPublications = '';
	var resArticles = '';

	function sendSearchForm(additional){
		switch(current_tab){
			default:
			case 'articles': url_search = resArticles;break;
			case 'users': url_search = resUsers;break;
			case 'objects': url_search = resObjects;break;
			case 'groups': url_search = resGroups;break;
			case 'teams': url_search = resTeams;break;
			case 'publications': url_search = resPublications;break;
		}
    $.search.send(current_tab,usersContainer,additional);		
	}

	function expandAdvList(){
		$('#advForm').slideToggle('slow',function(){
				if($('#open').attr('src').indexOf('minus')>-1){
					$('#open').attr({src:'img/plus.gif'});
				}
				else{
					$('#open').attr({src:'img/minus.gif'});
				}		
				resizeShadow();
		});
	}

	function compleateFields(){
		$.each(search,function(i,item){
			if(new RegExp(/default_/).test(i)){
				var adequateTab = i.split('_');
				adequateTab = adequateTab[1];
				$('#'+miniSearchAdequateFields[adequateTab]).defaultvalue(decodeURI(item));
				defaultCompleated=true;
			}
			else if(i!=miniSearchAdequateFields[adequateTab]){
				defaultCompleated=false;
				var fieldType = $('#'+i).attr('type');
				switch(fieldType){
					case undefined:
					case 'select-one':
						switch (i){
							case 'person_field':
								customSelectPopulate(specs,item,{
									firstLevelPopulate:'person_talent',
									firstLevelPopulateDef:'DZIEDZINA'
								});
							break;
							case 'team_field':
								customSelectPopulate(specs,$(this).val(),{
									firstLevelPopulate:'team_specialization',
									firstLevelPopulateDef:'SPECJALIZACJA'
								});
								break;
							case 'work_field':
								customSelectPopulate(multilist,item,{
									hiddenPopulate:'work_search_cats',

									firstLevelPopulate:'work_specialization',
									firstLevelPopulateDef:'DZIEDZINA',

									secondLevelPopulate:'work_category',
									secondLevelPopulateDef:'KATEGORIA'
								});
							break;
						}
						$('select[name="'+i+'"] option[value="'+decodeURI(item)+'"]').attr({selected:true});
					break;
					case 'text':
						$('#'+i).defaultvalue(decodeURI(item));
					break;
				}
			}
			if(defaultCompleated===false){
				$('#default_search_field').defaultvalue(defaultDefaults[$('#search_type').val()]);
			}
	  });
	}

	$(document).ready(function(){

    if(location.search!=''){search = $.searchQuery2array(location.search);}
		else{search = {};}

		$('#default_search_field').attr({name:'default_'+tabsMap[$('#search_type').val()]});
		
		if(defaultValue===true){
			$('#default_search_field').defaultvalue(defaultDefaults[$('#search_type').val()]);			
			defaultValue=true;
		}				

		$("#btn_search").click(function(){
			$('#default_search_field').attr({id:'default_'+current_tab});
			usersContainer="olbs";
			sendSearchForm();
		});

		$("#btn_adv_search").click(function(){
			usersContainer='advForm';
			sendSearchForm();
		});

		$('#default_search_field').keyup(function(){
			var tVal = $(this).val();
			if(tVal!='' && tVal!=null && tVal!=defaultDefaults[$('#search_type').val()]){
				defaultValue=false;
			}
		});

		$('#search_type').change(function(){
				current_tab = tabsMap[this.value];
				if(defaultValue===true){
					$('#default_search_field').defaultvalue(defaultDefaults[this.value]);
					$('#default_search_field').attr({name:'default_'+current_tab});
				}
				else{
					var tVal = $('#default_search_field').val();
					$('#default_search_field').attr({name:'default_'+current_tab});				
					$('#default_search_field').val(tVal);
				}
			advSearchAvailable=false;
		});		

    $('#view').change(function(){
	    view = $(this).val();
			location.href = $.modifySearchQuery(search,'view',view);
    });

    $('#order').change(function(){
  	  order = $(this).val();
			location.href = $.modifySearchQuery(search,'order',order);
    });

		$('#expandAdv').click(function(){
				expandAdvList();
		});

	 $('div#adv_option_content :input').change(function (){
          switch(this.name){
						default :
							errors[this.name] = false;
						break;
            case 'work_age_from':
						case 'person_age_from':
							if(this.name=='work_age_from'){var check = 'work_age_to';}
							else if(this.name=='person_age_from'){var check = 'person_age_to';}
              if(($('#'+check).val()-this.value)<0 && $('#'+check).val()!=0){
                jAlert('pole "wiek od" nie może mieć większej wartości od pola "wiek do"');
								errors[this.name] = true;
								$(this).val('');
	            }
              else{
                errors[this.name] = false;
							}
              if(new RegExp(/[^\d]/).test($(this).val())){
                jAlert('pole "wiek od" może zawierać tylko cyfry');
								errors[this.name] = true;
								$(this).val('');
	            }
              else{
                errors[this.name] = false;
              }
            break;
            case 'work_age_to':
						case 'person_age_to':
							if(this.name=='work_age_to'){var check = 'work_age_from';}
							else if(this.name=='person_age_to'){var check = 'person_age_from';}
              if((this.value-$('#'+check).val())<0 && $('#'+check).val()!=0){
                jAlert('pole "wiek do" nie może mieć mniejszej wartości od pola "wiek od"');
								errors[this.name] = true;
								$(this).val('');
	            }            
              else{
                errors[this.name] = false;
							}
              if(new RegExp(/[^\d]/).test($(this).val())){
                jAlert('pole "wiek do" może zawierać tylko cyfry');
								errors[this.name] = true;
								$(this).val('');
	            }
              else{
                errors[this.name] = false;
              }
            break;
//            case 'person_language_level':
//              if($('#person_language').val()==0){
//                jAlert('Aby wybrać poziom zaawansowania języka, musisz wybrać język');
//                errors[this.name] = true;
//              }           
//              else{
//                errors[this.name] = false;
//              }
//            break;
					}

       });

		if(typeof search['search_type']=='undefined'){
			var type = urlSearch[searchType];
			if(typeof type!='undefined'){
				type = type.split('|');
				var index = type[0];
				type = type[1];
				search['search_type'] = index;
				current_tab = type;
			}
		}

		if(typeof search['view']!='undefined'){$('#view option[value="'+search['view']+'"]').attr('selected',true);}
		if(typeof search['order']!='undefined'){$('#order option[value="'+search['order']+'"]').attr('selected',true);}
		if(typeof search['letter']!='undefined'){
			var selectedLetter = '';
			if(search['letter']!=''){
				selectedLetter = search['letter'].toUpperCase();
			}
      $('span.search_letter a').css({'color' : '#000000'});
      $('span.search_letter a[href="#fc/'+selectedLetter+'"]').css({'color' : '#FF9966'})
		}

		if(location.hash.indexOf('sadvs')>-1){
			showAdvOptions($('#btn_adv_option'));
			advSearchExpanded=true;
		}

		if(defaultCompleated===false){
			$('#default_search_field').defaultvalue(defaultDefaults[$('#search_type').val()]);
		}

		compleateFields();

		current_tab = tabsMap[$('#search_type').val()];

	});
