function toogleSearch(){
	if($("verfeinert").style.display == "none"){
		$("einfach").style.display = "none";
		$("verfeinert").style.display = "";
		$("toogleSearchButton").innerHTML = "Einfachsuche";
	} else {
		$("verfeinert").style.display = "none";
		$("einfach").style.display = "";
		$("toogleSearchButton").innerHTML = "Detailsuche";	
	}
}

function executeExhibitorSearch(event, presentations){
	$('exhibitorsearchresultWait').show();
	$('exhibitorsearchload').style.visibility = 'visible';
	
	var elm = Event.element(event);
	Event.stop(event);
	var formData = $('exhibitorsearch').serialize();
	if(presentations){
		formData += "&vortraege=true";
	}
	
	window.setTimeout("getResults('" + formData + "')", 5);
	
// uncomment this to hide the tabes after the search
//	toggleTab(1,6);
	
	return false;
}

function getResults(formData){	
	new Ajax.Request(ROOT_PATH + 'helpers/exhibitorsearch.php', {
		postBody : formData,
		onComplete : showResult
	});
}

function showResult(ajaxResponse){	
/*	try {
		console.time('showResult');
	}catch(e){}*/
	
	try{
		var response = ajaxResponse.responseJSON;
		$('exhibitorsearchcount').update(response.count);
		if (response.searchparams == null) {
			$('searchparams').update('<h3 class="margin10">Alle Aussteller werden angezeigt!</h3>');
			$$('tr[rel=exhibitor]').invoke('show');
			$$('tr[rel=exhibitor]').each(function(elm){elm.removeClassName('show')});
		} else {
		
			// hide all rows
			$$('tr[rel=exhibitor]').invoke('hide');
			
			if (response.count == 0) {
			//$('exhibitorstitle').update('Es wurden keine Ergebnisse gefunden. Bitte versuchen Sie es mit anderen Suchparametern erneut!');
			}
			else {
				// show responsed rows
				response.ids.each(function(elm){
					try {
						$('exhibitor' + elm).show();
					} 
					catch (e) {
					}
				});
				
				// show od hide all detail tables 
				if( response.searchparamsarray.contains("begleitprogramm")
						||	response.searchparamsarray.contains("bewerbungsmappenchecks")
						||	response.searchparamsarray.contains("bewerbungsinterviews")){
							$$('td.exhibitorDetails').invoke('show');
				} else {
					$$('td.exhibitorDetails').invoke('hide');
				}
			}
		}
		// change backgroundcolor of rows
	/*	var counter = 0;
		$$('tr[rel=exhibitor]').each(function(elm){
			try {
				if (elm.style.display != 'none') {
					if (counter++ % 2 == 0) {
						elm.removeClassName('odd').addClassName('even');
					} else {
						elm.removeClassName('even').addClassName('odd');
					}
				}
			} catch (e) {
			}
		});*/
		
		// check if all or no day has been checked and no other field is selected
		if (response.validsearch) {
			$('exhibitorsearchresult').show();
		} else {
			$('exhibitorsearchresult').hide();
		}
		
		// hide title and show count
		$('exhibitorstitle').hide();
		$('exhibitorsearchtitle').show();
		$('searchparams').show().update(response.searchparams);
			
		

	}catch(e){debug(e)}
	
	$('exhibitorsearchresultWait').hide();
	$('exhibitorsearchload').style.visibility = 'hidden';
	$('advanched').show();
	
/*	try {
		console.timeEnd('showResult');
	}catch(e){}*/
}

function resetExhibitorSearch(){
	$('exhibitorsearchresultWait').show();
	$('exhibitorsearchload').style.visibility = 'visible';
	$('exhibitorsearch').reset();
	//$('messetage1240437600').reset();
	
	// change backgroundcolor of rows and show them
	// counter = 0;
	$$('tr[rel=exhibitor]').each(function(elm){
		elm.show();
		/*
		if(counter++ %2 == 0){
			elm.removeClassName('odd').addClassName('even');
		} else {
			elm.removeClassName('even').addClassName('odd');
		}
		*/	
	});
			
	// hide count and show title
	try {
		$('exhibitorstitle').show();
	}catch(e){}
	$('exhibitorsearchtitle').hide();
	$('exhibitorsearchresult').hide();
	$('searchparams').hide();
	
	$('exhibitorsearchresultWait').hide();
	$('exhibitorsearchload').style.visibility = 'hidden';
	$$('td.exhibitorDetails').invoke('hide');
}

Array.prototype.contains = function (elem) {
  var i;
  for (i = 0; i < this.length; i++) {
    if (this[i] == elem) {
      return true;
    }
  }

  return false;
};
