// +-------------------------------------------------------------+
// | Zaplife AJAX search javascript file
// | All rights reserved. Copyright 2005-2008 Zaplife
// |
// +-------------------------------------------------------------+

function activateSearch() {
    if ($('searchForm')) {
        
        //$('searchForm').onsubmit = function() { doSearch();return false; };
        $('value').onfocus = focusS; // Function to clear the default search box text on focus
        SearchResults = $('searchResults');
        var f = $('searchForm');
        $('indicator').setStyle('display', 'none');
        SearchResults.style.display = '';
        SearchResults.setStyle('opacity', '1');
        is_searching = false;
		selectTab($('show').value, true);
        doSearch();
        //scrollOnLoad(false);
    }
}

function doSearch() {
    // If we're already loading, don't do anything
    if (is_searching) return false; 
    v = $('value').value;
    // Same if the search is blank
    //if (v == $('default_search_info').value) return false; 
    is_searching = true;
   
    hideTooltip('value');
    $('indicator').setStyle('display', '');
    
	//SearchResults.effect('opacity', { 'onComplete' : doAjaxSearch, 'duration' : 250 }).start(0);
	doAjaxSearch();
}

function doAjaxSearch () {
	pars = $('searchForm').toQueryString() + '&value=' + encodeURIComponent($('value').value);
	
    setCookie('searchstate', pars, '1');
    
    var vars = {
		url: 'ajax_search.php', 
		method: 'post',
		evalScripts: true,
		data: 'action=search&' + pars,
		onComplete: function (responseTree, responseElements, responseHTML, responseJavaScript) {
			
			SearchResults.set('html', responseHTML);
			//SearchResults.effect('opacity', { 'onComplete' : resetForm, 'duration' : 250 }).start(1);
			resetForm();
			if ($('type').value != 'members') {
				startSlideshow.update();
			}

		}
	};
	var myAjax = new Request.HTML(vars).send();
}

function doPagination(pagenumber) {
    $('pagenumber').value = pagenumber;
    doSearch();
}

function resetForm() {
    $('indicator').setStyle('display', 'none');
    is_searching = false;
}

function focusS() {
    if ($('value').value == $('default_search_info').value) $('value').value = '';
    //focusInput('value');
    toggleTooltip('value', 0, 0, 1);
}

function toggleFilterset(set) {
	if($(set).className == 'collapsed') {
		$(set).className='';
	} else {
		$(set).className='collapsed';
	}
}

function toggleAdvanced() {
	if($('advancedSearch').style.display == 'none') {
		$('advancedSearch').setStyle('display', '');
	} else {
		$('advancedSearch').setStyle('display', 'none');
	}
}

function clickTab(show) {
	$('show').value = show;
	selectTab(show);
	doSearch();
}

function selectTab(id, start) {

	if (start == undefined) {
		var start = false; 
	}	

	$(id).getParent('ul').getElements('li').each(function(el) {
		el.removeClass('tabMainSelected');
	});
	$(id).addClass('tabMainSelected');
	
	//Popular searches
	$('popularSearches').getElements('div').each(function(el) {
		el.setStyle('display', 'none');
	});
	$(id + 'PopularSearch').setStyle('display', '');
	
	//Toggle member search options
	if ($('membersOptions')) {
		if (id == 'members') {
			$('membersOptions').setStyle('display', '');
		} else {
			$('membersOptions').setStyle('display', 'none');
		}
	}
	
	// Toggle channel search options
	if ($('locationOptions')) {
		if (id != 'channels') {
			$('locationOptions').setStyle('display', '');
		} else {
			$('locationOptions').setStyle('display', 'none');
		}
	}
	
	if ($('tags')) {
		if (id != 'channels') {
			$('tags').setStyle('display', '');
		} else {
			$('tags').setStyle('display', 'none');
		}
	}
	
	// Toggle the channel toolbar
	if ($('channelsToolbar')) {
		if (id == 'channels' || id == 'entries') {
			$('channelsToolbar').setStyle('display', '');
		} else {
			$('channelsToolbar').setStyle('display', 'none');
		}
	}

	
	//Reset page we are on
	if (!start) {
		$('pagenumber').value = '';
	}
}

function addSearchValue(value) {
    $('value').value = value;
    $('value').selectionStart = 0;
	$('value').selectionEnd = $('value').value.length;
    //Form.focusFirstElement('searchform');
}