// --------------------------------------------------------------------
// Norme de packaging : 1.0.6
// Nom du package - Package name : social-transformation-management-database
// Nom du programme - Program Name : search.js
// Auteurs - Authors :
// - THRIERR Eric eric@excellent-rameur.com
// Version : 0.0.1
// Description : javascript de fonctions de recherche
// Historique - History :
// - 2007-11-08 / Eric Thrierr / fichier initial
// --------------------------------------------------------------------
// $Id: search.js,v 1.1 2007/11/09 17:13:43 uid1012 Exp $
var searcher = new Object();
searcher.ready = false;
searcher.init = function() {
	this.form = document.getElementById("mostDbForm");
	if (this.form.elements["level1[]"]) {
		for (var i = 0; i < this.form.elements["level1[]"].length; i++) {
			var node = this.form.elements["level1[]"][i];
			if (!node.checked) {
				var container = document.getElementById("level1-" + node.value);
				if (container) {
					var empty = true;
					var inputs = container.getElementsByTagName("input");
					for (var j = 0; j < inputs.length; j++) {
						if (inputs[j].checked) empty = false;
					}
					if (!empty) {
						var element = document.getElementById("tglevel1-" + node.value);
						utils.toggle(element, "level1-" + node.value);
					}
				}
			}
		}
	}
	this.ready = true;
}
searcher.onload = (window.onload) ? window.onload : function() {};
window.onload = function() {searcher.onload(); searcher.init()};
searcher.isReady = function() {
    return this.ready;
}
searcher.toggle = function(element) {
	var unfolded = (element.className.indexOf("most-unfolded") >= 0);
	if (unfolded) utils.removeClassName(element, "most-unfolded");
	else utils.addClassName(element, "most-unfolded");
	var table = document.getElementById("mostDbKnowledgeTable");
	if (table) {
		var links = table.getElementsByTagName("a");
		for (var i = 0; i < links.length; i++) {
			if ((unfolded && (links[i].className.indexOf("most-unfolded") >= 0)) || (!unfolded && (links[i].className.indexOf("most-unfolded") < 0))) links[i].onclick();
		}
	}
}
searcher.toggleAbstracts = function(element, showLabel, hideLabel) {
	var table = document.getElementById("mostDbSearchResult");
	if (table) {
		var noabstract = (table.className.indexOf("noabstract") >= 0);
		if (noabstract) {
			utils.removeClassName(table, "noabstract");
			element.innerHTML = showLabel;
		} else {
			utils.addClassName(table, "noabstract");
			element.innerHTML = hideLabel;
		}
	}
}
searcher.updateRegions = function(regions) {
	this.form.elements["regions"].value = regions;
}
searcher.regionChange = function(region) {
	if (region.checked) document.getElementById("mostDbWorld-" + region.value).className = "";
	else document.getElementById("mostDbWorld-" + region.value).className = "unchecked";
}
searcher.getRegionLabel = function(region) {
	var label = document.getElementById("mostDbRegionLabel-" + region);
	if (label) return label.innerHTML;
	else return "";
}
searcher.levelChange = function(node, level1) {
	var container = document.getElementById(node.name.replace(/\[\]/, "-") + node.value);
	if (container) {
		var inputs = container.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++) {
			inputs[i].checked = node.checked;
		}
	}
	if (level1) searcher.updateLevel("level1", level1);
}
searcher.knowledgeChange = function(node, level1, level2) {
	if (!node.checked) {
		if (level1) searcher.updateLevel("level1", level1);
		if (level2) searcher.updateLevel("level2", level2);
	}
}
searcher.updateLevel = function(level, value) {
	var list = this.form.elements[level + "[]"];
	for (var i = 0; i < list.length; i++) if (list[i].value == value) list[i].checked = false;
}
searcher.resetRegions = function() {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		var swf = window["mostDbWorldMap"];
		if (!swf) swf = this.form["mostDbWorldMap"];
		if (!swf) swf = document.getElementById("mostDbWorldMap");
	} else {
		var swf = document["mostDbWorldMap"];
	}
	swf.resetRegions();
	this.form.elements["regions"].value = "";
}
searcher.reset = function() {
	for (var i = 0; i < this.form.elements["level1[]"].length; i++) {
		this.form.elements["level1[]"][i].checked = false;
		this.levelChange(this.form.elements["level1[]"][i]);
	}
	this.form.elements["title"].value = "";
	this.form.elements["title-and"][0].checked = true;
	this.form.elements["text"].value = "";
	this.form.elements["events[]"].options[0].selected = true;
	for (var i = 1; i < this.form.elements["events[]"].length; i++) this.form.elements["events[]"].options[i].selected = false;
	this.form.elements["authors[]"].options[0].selected = true;
	for (var i = 1; i < this.form.elements["authors[]"].length; i++) this.form.elements["authors[]"].options[i].selected = false;
	this.form.elements["languages[]"].options[0].selected = true;
	for (var i = 1; i < this.form.elements["languages[]"].length; i++) this.form.elements["languages[]"].options[i].selected = false;
	this.resetRegions();
	this.form.elements["countries[]"].options[0].selected = true;
	for (var i = 1; i < this.form.elements["countries[]"].length; i++) this.form.elements["countries[]"].options[i].selected = false;
}

