/**
 * Frontend of expert-desk search engine
 *
 * @author Yura Bogdanov © 2006, Hypernaut
 */

var searchFormPopup = null;

/**
 * Update`s theme options in search form
 */
function updateSearchTheme(id) {
	params = 'task=updateTheme&id=' + id + '&value=' + getFormElementValue($('searchForm_secteurField_'+id));
	new Ajax.Updater('searchForm_themeBlock_'+id,'/lib/Ajax/ajax.search.php', {method:'post', postBody:params});
}

function updateSearchSecteur() {
	params = 'task=updateSecteur&value=' + getFormElementValue($('theme_id'));
	new Ajax.Updater('secteur_block','/lib/Ajax/ajax.search.php', {method:'post', postBody:params});
}

/**
 * Send the form by ajax and push the errors if it need
 */
function submitForm() {
	searchFormValues = getFormValues1('searchForm');
	params = 'task=validate&'+searchFormValues;

	new Ajax.Request('/lib/Ajax/ajax.search.php', {
  		'method': 'post',
  		'postBody': params,
  		'onSuccess' : function(req) { clearSearchFormErrors(); _submitForm__callback(req) },
  		'onFailure' : sendDataFailure
  	});
}

/**
 * Success callback of submit form
 */
function _submitForm__callback(req) {

	if(req.responseText) {
		var errors = eval(req.responseText);

		for(i in errors) {
			$('searchForm_error_'+i).innerHTML = errors[i];
		}

		searchFormPopup.updateHeight();
	}
	else {
		document.location = '/search.php';
	}
}

/**
 * Clear search form errors
 */
function clearSearchFormErrors() {
	$('searchForm_error_theme').innerHTML = '';
	$('searchForm_error_info').innerHTML = '';
	$('searchForm_error_global').innerHTML = '';
}

/**
 * Set error of send data
 */
function sendDataFailure() {
	$('searchForm_error_global').innerHTML = 'Failed to send the request';
}

/**
 * Reset the search form fields and request to delete it from session
 */
function resetSearchForm() {
	
	for (var i = 0; i < document.forms['searchForm'].elements.length; i++)
	{
		var el = document.forms['searchForm'].elements[i];
		if (el.selectedIndex) 
		{
			el.selectedIndex = 0;
		}

		if (el.type)
		{
		
			if (el.type == 'text') 
			{
				el.value = '';
			}
		}
		
	}
	
	resetSearchTheme('0');
	resetSearchTheme('1');	
	resetSearchTheme('2');		
	
	//$('searchForm').reset();
	//Field.clear(Form.getElements('searchForm'));
	params = 'task=resetForm';
	new Ajax.Request('/lib/Ajax/ajax.search.php', {method:'post', postBody:params});

//	hideSearchForm();
//	setTimeout('showSearchForm()',100);
}

function resetSearchTheme($id) 
{
	
	$html = "" +
	        "<select name=\"searchForm[theme][" + $id + "]\">" +
          "<option value='null'>--- Choisir ---</option>" +
		     	"</select>";
		     	
	
	$('searchForm_themeBlock_' + $id).innerHTML = $html;

}

/**
 * Show the search form in popup
 */
function showSearchForm() {

	if(searchFormPopup) return;

	searchFormPopup = new Window(
		'window_searchFormPopup', {
			className: 'pheadline',
			width: 608,
			height: 300,
			top: 175,
			left: 818 - 608,
			zIndex: 999,
			showEffect: Element.show,
			hideEffect: Element.hide,
			minimizable: false,
			maximizable: false,
			resizable: true,
			runInlineScripts: true,
			title: 'Recherche'
		}
	);

	var onCloseObserver = {
		onClose: function() {
			searchFormPopup = null;
		}
	}

	Windows.addObserver(onCloseObserver);

	searchFormPopup.setDestroyOnClose();

	searchFormPopup.setAjaxContent('/lib/Ajax/ajax.search.php', {
		method: 'post',
		postBody: 'task=form'
	});
}

/**
 * Hide the search form popup
 */
function hideSearchForm() {

	searchFormPopup.destroy();
	searchFormPopup = null;
}

function searchPaging(search,page) {
}
