var SearchEngine = {
	//Variables de classe
	divReload: '',
	fScript: '',
	params: '',

	//Exemple page 1
	/*refreshTabsBar: function(idNewCat) {
		this.params = "idFilter="+idNewCat+"&idNewCat="+idNewCat;
		this.configRun("tabsFilter", "/classes/searchEngine/scripts/search_refreshTabsBar.php");
		this.configRun("criterion01", "/classes/searchEngine/scripts/search_refreshFilter.php");
		//to be change -should have a specifc script
		this.configRun("ResultsDisplayed", "/classes/searchEngine/scripts/search_changeResultsPerPage.php");
	},*/
	//refresh A rray
	refreshArray: function(idUnivers, sTypeSearch, aSearchCritere) {
		var iTabSelected = document.getElementById('iTabSelected').value;
		var sFiltersHidden = document.getElementById('sFiltersHidden').value;
		this.params = "idUnivers="+idUnivers+"&sTypeSearch="+sTypeSearch+"&aSearchCritere="+aSearchCritere+"&sFiltersHidden="+sFiltersHidden+"&iTabSelected="+iTabSelected;
		this.configRun("non_existant", "/classes/searchEngine/scripts/search_refreshArray.php");
	},
	//Refrash Tabs bar
	refreshTabsBar: function(idUnivers, sTypeSearch, aSearchCritere, idNewCat) {
		var iTabSelected = document.getElementById('iTabSelected').value;
		var sFiltersHidden = document.getElementById('sFiltersHidden').value;
		this.params = "idFilter="+idNewCat+"&idNewCat="+idNewCat+"&idUnivers="+idUnivers+"&sTypeSearch="+sTypeSearch+"&aSearchCritere="+aSearchCritere+"&sFiltersHidden="+sFiltersHidden+"&iTabSelected="+iTabSelected;
		new Ajax.Updater('non_existant', '/classes/searchEngine/scripts/search_refreshArray.php', {
			method: 'post', parameters: this.params, evalScripts: true, onComplete: function() {
			new Ajax.Updater('tabsFilter', '/classes/searchEngine/scripts/search_refreshTabsBar.php', {
				method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
					new Ajax.Updater('criterion01', '/classes/searchEngine/scripts/search_refreshFilter.php', {
						method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
							new Ajax.Updater('ResultsDisplayed', '/classes/searchEngine/scripts/search_changeResultsPerPage.php', {
								method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
									new Ajax.Updater('ResultsPageList', '/classes/searchEngine/scripts/search_changePageList.php', {
									method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
										$('tabsFilter').show();
										$('criterion01').show();
										$('ResultsDisplayed').show();
										$('ResultsPageList').show();
										$('non_existant').show();
										}
									});
								}
							});
						}
					});
				}
			});
		}
	});
	},

	//Change filtre
	refreshFilter: function(idUnivers, sTypeSearch, aSearchCritere, idFilter,idGroupFilter) {
		var iTabSelected = document.getElementById('iTabSelected').value;
		var sFiltersHidden = document.getElementById('sFiltersHidden').value;
		this.params = "idFilter="+idFilter+"&idGroupFilter="+idGroupFilter+"&idUnivers="+idUnivers+"&sTypeSearch="+sTypeSearch+"&aSearchCritere="+aSearchCritere+"&sFiltersHidden="+sFiltersHidden+"&iTabSelected="+iTabSelected;
		new Ajax.Updater('non_existant', '/classes/searchEngine/scripts/search_refreshArray.php', {
			method: 'post', parameters: this.params, evalScripts: true, onComplete: function() {
			new Ajax.Updater('criterion01', '/classes/searchEngine/scripts/search_refreshFilter.php', {
				method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
				new Ajax.Updater('ResultsDisplayed', '/classes/searchEngine/scripts/search_changeResultsPerPage.php', {
					method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
						new Ajax.Updater('ResultsPageList', '/classes/searchEngine/scripts/search_changePageList.php', {
							method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
								$('criterion01').show();
								$('ResultsDisplayed').show();
								$('ResultsPageList').show();
								$('non_existant').show();
								}
							});
						}
					});
				}
			});
		}
	});
		//this.configRun("criterion01", "/classes/searchEngine/scripts/search_refreshFilter.php");
		//this.configRun("ResultsDisplayed", "/classes/searchEngine/scripts/search_changeResultsPerPage.php");
	},
	
	//Change filtre
	removeFilter: function(idUnivers, sTypeSearch, aSearchCritere, idFilter,idGroupFilter) {
		var iTabSelected = document.getElementById('iTabSelected').value;
		var sFiltersHidden = document.getElementById('sFiltersHidden').value;
		this.params = "idFilter="+idFilter+"&idGroupFilter="+idGroupFilter+"&bFilterDelete=1&idUnivers="+idUnivers+"&sTypeSearch="+sTypeSearch+"&aSearchCritere="+aSearchCritere+"&sFiltersHidden="+sFiltersHidden+"&iTabSelected="+iTabSelected;
		new Ajax.Updater('non_existant', '/classes/searchEngine/scripts/search_refreshArray.php', {
			method: 'post', parameters: this.params, evalScripts: true, onComplete: function() {
			new Ajax.Updater('criterion01', '/classes/searchEngine/scripts/search_refreshFilter.php', {
				method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
				new Ajax.Updater('ResultsDisplayed', '/classes/searchEngine/scripts/search_changeResultsPerPage.php', {
					method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
						new Ajax.Updater('ResultsPageList', '/classes/searchEngine/scripts/search_changePageList.php', {
							method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
								$('criterion01').show();
								$('ResultsDisplayed').show();
								$('ResultsPageList').show();
								$('non_existant').show();
									}
								});
							}
						});
					}
				});
			}
		});
		
		//this.configRun("criterion01", "/classes/searchEngine/scripts/search_refreshFilter.php");
		//this.configRun("ResultsDisplayed", "/classes/searchEngine/scripts/search_changeResultsPerPage.php");
	},

	//change le nombre de resultats affichés par page (div :ResultsDisplayed)
	changeResultsPerPage: function(idUnivers, sTypeSearch, aSearchCritere, iResultsPerPage){
		var iTabSelected = document.getElementById('iTabSelected').value;
		var sFiltersHidden = document.getElementById('sFiltersHidden').value;
		this.params = "iResultsPerPage="+iResultsPerPage+"&idUnivers="+idUnivers+"&sTypeSearch="+sTypeSearch+"&aSearchCritere="+aSearchCritere+"&sFiltersHidden="+sFiltersHidden+"&iTabSelected="+iTabSelected;
		new Ajax.Updater('non_existant', '/classes/searchEngine/scripts/search_refreshArray.php', {
			method: 'post', parameters: this.params, evalScripts: true, onComplete: function() {
			new Ajax.Updater('criterion01', '/classes/searchEngine/scripts/search_refreshFilter.php', {
				method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
				new Ajax.Updater('ResultsDisplayed', '/classes/searchEngine/scripts/search_changeResultsPerPage.php', {
					method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
						new Ajax.Updater('ResultsPageList', '/classes/searchEngine/scripts/search_changePageList.php', {
							method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
								$('criterion01').show();
								$('ResultsDisplayed').show();
								$('ResultsPageList').show();
								$('non_existant').show();
								}
							});
						}
					});
				}
			});
			}
		});
		//this.configRun("criterion01", "/classes/searchEngine/scripts/search_refreshFilter.php");
		//this.configRun("ResultsDisplayed", "/classes/searchEngine/scripts/search_changeResultsPerPage.php");
		//this.configRun("ResultsPageList", "/classes/searchEngine/scripts/search_changePageList.php");
	},

	//change la page de resultat(div :ResultsDisplayed)
	changeResultsPageSelected: function(idUnivers, sTypeSearch, aSearchCritere,iPageSelected){
		var iTabSelected = document.getElementById('iTabSelected').value;
		var sFiltersHidden = document.getElementById('sFiltersHidden').value;
		this.params = "iPageSelected="+iPageSelected+"&idUnivers="+idUnivers+"&sTypeSearch="+sTypeSearch+"&aSearchCritere="+aSearchCritere+"&sFiltersHidden="+sFiltersHidden+"&iTabSelected="+iTabSelected;
		new Ajax.Updater('non_existant', '/classes/searchEngine/scripts/search_refreshArray.php', {
			method: 'post', parameters: this.params, evalScripts: true, onComplete: function() {
			new Ajax.Updater('ResultsDisplayed', '/classes/searchEngine/scripts/search_changePageSelected.php', {
				method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
				new Ajax.Updater('ResultsPageList', '/classes/searchEngine/scripts/search_changePageList.php', {
					method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
							$('ResultsDisplayed').show();
							$('ResultsPageList').show();
							$('non_existant').show();
						}
					});
				}
			});
		}
		});
		//this.configRun("ResultsDisplayed", "/classes/searchEngine/scripts/search_changePageSelected.php");
		//this.configRun("ResultsPageList", "/classes/searchEngine/scripts/search_changePageList.php");
	},
	
	//change l'ordre des resultats(div :ResultsDisplayed)
	changeResultsOrder: function(idUnivers, sTypeSearch, aSearchCritere, sColumn){
		var iTabSelected = document.getElementById('iTabSelected').value;
		var sFiltersHidden = document.getElementById('sFiltersHidden').value;
		this.params = "sColumn="+sColumn+"&idUnivers="+idUnivers+"&sTypeSearch="+sTypeSearch+"&aSearchCritere="+aSearchCritere+"&sFiltersHidden="+sFiltersHidden+"&iTabSelected="+iTabSelected;
		new Ajax.Updater('non_existant', '/classes/searchEngine/scripts/search_refreshArray.php', {
			method: 'post', parameters: this.params, evalScripts: true, onComplete: function() {
				new Ajax.Updater('ResultsDisplayed', '/classes/searchEngine/scripts/search_changeResultsOrder.php', {
				method: 'post', parameters: SearchEngine.params, evalScripts: true, onComplete: function() {
						$('ResultsDisplayed').show();
						$('non_existant').show();
					}
				});
			}
		});
		//this.configRun("ResultsDisplayed", "/classes/searchEngine/scripts/search_changeResultsOrder.php");
	},


	//Préparation lancement AJAX
	configRun: function(divReload, fScript) {
		this.divReload = divReload;
		this.fScript = fScript;
		this.run();
	},

	//Méthode de lancement requête AJAX
	run: function() {
		new Ajax.Updater(this.divReload, this.fScript, {
			method: 'post', parameters: this.params, evalScripts: true, onComplete: function() { $(SearchEngine.divReload).show(); }
		});
	}
	
};
