function annotationPopup(bodyId, documentId, annotationId, lang) {
	window.open('viewAnnotation.do?body=' + bodyId + '&document=' + documentId + '&annotation=' + annotationId + '&lang=' + lang,'','width=760,height=300,resizable=1,scrollbars=1');
	return;
} // annotationPopup()

function annotationUrlPopup(annotationUrl) {
	window.open(annotationUrl,'','width=760,height=300,resizable=1,scrollbars=1');
	return;
} // annotationCDPopup()

function initJS() {
	initAdvancedSearchAnno();
	return;
}

function initJSResults() {
	hideSubmit();
	return;
}

function submit(form) {
	form.submit();
	return;
}

function hideSubmit() {
	var elements = document.getElementsByName('submitOrder');

	for(var i=0; i<elements.length; i++) {
		elements[i].style.display="none";
	}
	return;
}

function initAdvancedSearchAnno() {
	initAdvancedSearchAnnoCountryRegion();
	initAdvancedSearchAnnoCategoryCluster();
	initAdvancedSearchAnnoBodyBodyType();

	var list = document.getElementById('affectedPersonsList');

	updateUprRecommendingCountries();
	updateAffectedPersons();
	updateQuery();
	updateSymbol();
	updateAnnotationType();
	updateYear();
	return;
}

function initAdvancedSearchAnnoCountryRegion() {

	var element;
	var elements;
	element = document.getElementById('regionCountry_region');

	if(element != null) {
		if(element.checked) {
			elements = document.getElementsByName('countries');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=true;
			}

			elements = document.getElementsByName('regions');

			for (var i=0; i<elements.length; i++) {
				elements[i].disabled=false;
			}

			updateRegions();

			var title = document.getElementById('countriesFiltersTitle');
			title.style.display = 'none';

		} else {
			elements = document.getElementsByName('countries');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=false;
			}

			elements = document.getElementsByName('regions');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=true;
			}

			updateCountries();

			var title = document.getElementById('regionsFiltersTitle');
			title.style.display = 'none';

		}
	}

	return;
}

function initAdvancedSearchAnnoCategoryCluster() {
	var element;
	var elements;
	element = document.getElementById('clusterCategory_cluster');

	if(element != null) {
		if(element.checked) {
			elements = document.getElementsByName('categories');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=true;
			}

			elements = document.getElementsByName('clusters');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=false;
			}

			updateClusters();

			var title = document.getElementById('categoriesFiltersTitle');
			title.style.display = 'none';

		} else {
			elements = document.getElementsByName('categories');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=false;
			}

			elements = document.getElementsByName('clusters');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=true;
			}

			updateCategories();

			var title = document.getElementById('clustersFiltersTitle');
			title.style.display = 'none';

		}
	}
	return;
}

function initAdvancedSearchAnnoBodyBodyType() {
	var element;
	var elements;
	element = document.getElementById('bodyTypeBody_bodyType');

	if(element != null) {
		if(element.checked) {
			elements = document.getElementsByName('bodies');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=true;
			}

			elements = document.getElementsByName('bodyTypes');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=false;
			}

			updateBodyTypes();

			var title = document.getElementById('bodiesFiltersTitle');
			title.style.display = 'none';

		} else {
			elements = document.getElementsByName('bodies');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=false;
			}

			elements = document.getElementsByName('bodyTypes');

			for(var i=0; i<elements.length; i++) {
				elements[i].disabled=true;
			}

			updateBodies();

			var title = document.getElementById('bodyTypesFiltersTitle');
			title.style.display = 'none';

		}
	}
	return;
}


function updateRegions() {
	var regionsCheckboxes = document.getElementsByName('regions');
	var temp = '';
	var nbRegions = 0;

	for(var i=0; i <regionsCheckboxes.length; i++) {
		var regionCheckbox = regionsCheckboxes[i]
		if(regionCheckbox.checked) {
			var region_id = regionCheckbox.id;
			nbRegions++;

			var idOfLabel = 'lab_' + region_id;
			var label = document.getElementById(idOfLabel);
			var name = label.textContent;
			if(name == null) {
				name = label.innerText;
			}
			temp += '<li>' + name + ' <span onClick="removeRegion(\'' + region_id + '\');"><img class="x" src="skin/img/x.gif" /></span></li>';
		}
	}

	var title = document.getElementById('regionsFiltersTitle');
	if(nbRegions == 0) {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var regionsContainer = document.getElementById('regionsFilters');

	regionsContainer.innerHTML = temp;
	return;
}

function removeRegion(region) {
	var regionCheckbox = document.getElementById(region);
	regionCheckbox.checked = false;

	updateRegions();
	return;
}

function updateCountries() {
	var countriesCheckboxes = document.getElementsByName('countries');
	var temp = '';
	var nbCountries = 0;

	for(var i=0; i <countriesCheckboxes.length; i++) {
		var countryCheckbox = countriesCheckboxes[i]
		if(countryCheckbox.checked) {
			var country_id = countryCheckbox.id;
			nbCountries++;

			var idOfLabel = 'lab_' + country_id;
			var label = document.getElementById(idOfLabel);
			var name = label.textContent;
			if(name == null) {
				name = label.innerText;
			}

			temp += '<li>' + name + ' <span onClick="removeCountry(\'' + country_id + '\');"><img class="x" src="skin/img/x.gif" /></span></li>';
		}
	}

	var title = document.getElementById('countriesFiltersTitle');
	if(nbCountries == 0) {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var countriesContainer = document.getElementById('countriesFilters');

	countriesContainer.innerHTML = temp;
	return;
}

function removeCountry(country) {
	var countryCheckbox = document.getElementById(country);
	countryCheckbox.checked = false;

	updateCountries();
	return;
}

function updateUprRecommendingCountries() {
	var uprRecommendingCountriesCheckboxes = document.getElementsByName('uprRecommendingCountries');
	var temp = '';
	var nbUprRecommendingCountries = 0;

	for(var i=0; i <uprRecommendingCountriesCheckboxes.length; i++) {
		var countryCheckbox = uprRecommendingCountriesCheckboxes[i]
		if(countryCheckbox.checked) {
			var country_id = countryCheckbox.id;
			nbUprRecommendingCountries++;

			var idOfLabel = 'lab_' + country_id;
			var label = document.getElementById(idOfLabel);
			var name = label.textContent;
			if(name == null) {
				name = label.innerText;
			}

			temp += '<li>' + name + ' <span onClick="removeUprRecommendingCountry(\'' + country_id + '\');"><img class="x" src="skin/img/x.gif" /></span></li>';
		}
	}

	var title = document.getElementById('uprRecommendingCountriesFiltersTitle');
	if(nbUprRecommendingCountries == 0) {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var uprRecommendingCountriesContainer = document.getElementById('uprRecommendingCountriesFilters');

	uprRecommendingCountriesContainer.innerHTML = temp;
	return;
}

function removeUprRecommendingCountry(country) {
	var countryCheckbox = document.getElementById(country);
	countryCheckbox.checked = false;

	updateUprRecommendingCountries();
	return;
}


function updateClusters() {
	var clustersCheckboxes = document.getElementsByName('clusters');
	var temp = '';
	var nbClusters = 0;

	for(var i=0; i <clustersCheckboxes.length; i++) {
		var clusterCheckbox = clustersCheckboxes[i]
		if(clusterCheckbox.checked) {
			var cluster_id = clusterCheckbox.id;
			nbClusters++;

			var idOfLabel = 'lab_' + cluster_id;
			var label = document.getElementById(idOfLabel);
			var name = label.textContent;
			if(name == null) {
				name = label.innerText;
			}

			temp += '<li>' + name + ' <span onClick="removeCluster(\'' + cluster_id + '\');"><img class="x" src="skin/img/x.gif" /></span></li>';
		}
	}

	var title = document.getElementById('clustersFiltersTitle');
	if(nbClusters == 0) {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var clustersContainer = document.getElementById('clustersFilters');

	clustersContainer.innerHTML = temp;
	return;
}

function removeCluster(cluster) {
	var clusterCheckbox = document.getElementById(cluster);
	clusterCheckbox.checked = false;

	updateClusters();
	return;
}

function updateCategories() {
	var categoriesCheckboxes = document.getElementsByName('categories');
	var temp = '';
	var nbCategories = 0;

	for(var i=0; i <categoriesCheckboxes.length; i++) {
		var categoryCheckbox = categoriesCheckboxes[i]
		if(categoryCheckbox.checked) {
			var category_id = categoryCheckbox.id;
			nbCategories++;

			var idOfLabel = 'lab_' + category_id;
			var label = document.getElementById(idOfLabel);
			var name = label.textContent;
			if(name == null) {
				name = label.innerText;
			}

			temp += '<li>' + name + ' <span onClick="removeCategory(\'' + category_id + '\');"><img class="x" src="skin/img/x.gif" /></span></li>';
		}
	}

	var title = document.getElementById('categoriesFiltersTitle');
	if(nbCategories == 0) {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var categoriesContainer = document.getElementById('categoriesFilters');

	categoriesContainer.innerHTML = temp;
	return;
}

function removeCategory(category) {
	var categoryCheckbox = document.getElementById(category);
	categoryCheckbox.checked = false;

	updateCategories();
	return;
}

function updateBodyTypes() {
	var bodyTypesCheckboxes = document.getElementsByName('bodyTypes');
	var temp = '';
	var nbBodyTypes = 0;

	for(var i=0; i <bodyTypesCheckboxes.length; i++) {
		var bodyTypeCheckbox = bodyTypesCheckboxes[i]
		if(bodyTypeCheckbox.checked) {
			var bodyType_id = bodyTypeCheckbox.id;
			nbBodyTypes++;

			var idOfLabel = 'lab_' + bodyType_id;
			var label = document.getElementById(idOfLabel);
			var name = label.textContent;
			if(name == null) {
				name = label.innerText;
			}

			temp += '<li>' + name + ' <span onClick="removeBodyType(\'' + bodyType_id + '\');"><img class="x" src="skin/img/x.gif" /></span></li>';
		}
	}

	var title = document.getElementById('bodyTypesFiltersTitle');
	if(nbBodyTypes == 0) {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var bodyTypesContainer = document.getElementById('bodyTypesFilters');

	bodyTypesContainer.innerHTML = temp;
	return;
}

function removeBodyType(bodyType) {
	var bodyTypeCheckbox = document.getElementById(bodyType);
	bodyTypeCheckbox.checked = false;

	updateBodyTypes();
	return;
}

function updateBodies() {
	var bodiesCheckboxes = document.getElementsByName('bodies');
	var temp = '';
	var nbBodies = 0;

	for(var i=0; i <bodiesCheckboxes.length; i++) {
		var bodyCheckbox = bodiesCheckboxes[i]
		if(bodyCheckbox.checked) {
			var body_id = bodyCheckbox.id;
			nbBodies++;

			var idOfLabel = 'lab_' + body_id;
			var label = document.getElementById(idOfLabel);
			var name = label.textContent;
			if(name == null) {
				name = label.innerText;
			}

			temp += '<li>' + name + ' <span onClick="removeBody(\'' + body_id + '\');"><img class="x" src="skin/img/x.gif" /></span></li>';
		}
	}

	var title = document.getElementById('bodiesFiltersTitle');
	if(nbBodies == 0) {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var bodiesContainer = document.getElementById('bodiesFilters');

	bodiesContainer.innerHTML = temp;
	return;
}

function removeBody(body) {
	var bodyCheckbox = document.getElementById(body);
	bodyCheckbox.checked = false;

	updateBodies();
	return;
}

function updateAffectedPersons() {
	var affectedPersonsCheckboxes = document.getElementsByName('affectedPersons');
	var temp = '';
	var nbAffectedPersons = 0;

	for(var i=0; i <affectedPersonsCheckboxes.length; i++) {
		var affectedPersonCheckbox = affectedPersonsCheckboxes[i]
		if(affectedPersonCheckbox.checked) {
			var affectedPerson_id = affectedPersonCheckbox.id;
			nbAffectedPersons++;

			var idOfLabel = 'lab_' + affectedPerson_id;
			var label = document.getElementById(idOfLabel);
			var name = label.textContent;
			if(name == null) {
				name = label.innerText;
			}

			temp += '<li>' + name + ' <span onClick="removeAffectedPerson(\'' + affectedPerson_id + '\');"><img class="x" src="skin/img/x.gif" /></span></li>';
		}
	}

	var title = document.getElementById('affectedPersonsFiltersTitle');
	if(title != null && nbAffectedPersons == 0) {
		title.style.display = 'none';
		var affectedPersonsContainer = document.getElementById('affectedPersonsFilters');

		affectedPersonsContainer.innerHTML = temp;
	} else if(title != null) {
		title.style.display = 'block';
		var affectedPersonsContainer = document.getElementById('affectedPersonsFilters');

		affectedPersonsContainer.innerHTML = temp;
	}

	return;
}

function removeAffectedPerson(affectedPerson) {
	var affectedPersonCheckbox = document.getElementById(affectedPerson);
	affectedPersonCheckbox.checked = false;

	updateAffectedPersons();
	return;
}

function updateQuery() {
	var booleanQuery = document.getElementById('booleanQuery');
	var queryType = document.getElementById('queryType');


	var selectedOption = document.getElementById('queryType_' + queryType.value);
	var qt_name = selectedOption.textContent;
	if(qt_name == null) {
		qt_name = selectedOption.innerText;
	}

	var temp = '';
	var queryText = '';

	if(booleanQuery.value != '') {
		queryText = booleanQuery.value

		temp += '<li>' + queryText + ' (' + qt_name + ')</li>';
	}

	var title = document.getElementById('queryFiltersTitle');
	if(queryText == '') {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var queryContainer = document.getElementById('queryFilters');

	queryContainer.innerHTML = temp;

	return;
}

function updateSymbol() {
	var symbol = document.getElementById('symbol');

	var symbolText = '';
	var temp = '';


	if(symbol.value != '') {
		symbolText = symbol.value

		temp += '<li>' + symbolText + '</li>';
	}

	var title = document.getElementById('symbolFiltersTitle');
	if(symbolText == '') {
		title.style.display = 'none';
	} else {
		title.style.display = 'block';
	}

	var symbolContainer = document.getElementById('symbolFilters');

	symbolContainer.innerHTML = temp;

	return;
}

function updateAnnotationType() {
	var annotationTypeRadios = document.getElementsByName('annoType');
	var temp = '';
	var nbAnnoType = 0;
	var annotationType_id = '';

	for(var i=0; i < annotationTypeRadios.length; i++) {
		var annotationTypeRadio = annotationTypeRadios[i]
		if(annotationTypeRadio.checked ) {
			annotationType_id = annotationTypeRadio.id;
			if (annotationType_id != 'annoType_allAnnoType') {
				nbAnnoType++;

				var idOfLabel = 'lab_' + annotationType_id;
				var label = document.getElementById(idOfLabel);
				var name = label.textContent;
				if(name == null) {
					name = label.innerText;
				}

				temp = '<li>' + name + '</li>';
			}
		}
	}

	var title = document.getElementById('annotationTypeFiltersTitle');
	if(title != null && nbAnnoType == 0 ) {
		title.style.display = 'none';
		var annotationTypeContainer = document.getElementById('annotationTypeFilters');

		annotationTypeContainer.innerHTML = temp;
	} else if(title != null) {
		title.style.display = 'block';
		var annotationTypeContainer = document.getElementById('annotationTypeFilters');

		annotationTypeContainer.innerHTML = temp;
	}

	return;
}

function updateYear() {
	var yearChoiceRadios = document.getElementsByName('yearFilterChoice');
	var temp = '';
	var yearChoice = false;
	var yearChoice_id = '';

	for(var i=0; i < yearChoiceRadios.length; i++) {
		var yearChoiceRadio = yearChoiceRadios[i]
		if(yearChoiceRadio.checked ) {
			yearChoice_id = yearChoiceRadio.id;
			if (yearChoice_id != 'yearChoice_all') {
				yearChoice = true;

				if(yearChoice_id == 'yearChoice_single') {
					var label = document.getElementById('year');
					var name = label.value;
					temp = name;

					var title = document.getElementById('yearFiltersTitle');
					if(title != null) {
						var yearContainer = document.getElementById('yearFilterContainer');

						title.style.display = 'block';
						yearContainer.style.display = 'inline';

						if(temp == ''){temp = ' - '
}						yearContainer.innerHTML = temp;
					}

					var toHide = document.getElementById('betweenYearsFilters');
					toHide.style.display = 'none';
					var toShow = document.getElementById('yearFilters');
					toShow.style.display = 'block';

					/*
					if(name == '') {
						yearContainer.style.display = 'none';
					}
					*/

				} else if(yearChoice_id == 'yearFilter_between') {
					var inff = document.getElementById('betweenInf');
					var supp = document.getElementById('betweenSup');

					var infValue = inff.value;
					var supValue = supp.value;

					if(infValue == ''){infValue = ' - ';}
					if(supValue == ''){supValue = ' - ';}

					var title = document.getElementById('yearFiltersTitle');
					if(title != null) {
						title.style.display = 'block';
						var yearContainerInf = document.getElementById('betweenInfFilter');
						var yearContainerSup = document.getElementById('betweenSupFilter');

						yearContainerInf.innerHTML = infValue;
						yearContainerSup.innerHTML = supValue;
					}

					var toHide = document.getElementById('yearFilters');
					toHide.style.display = 'none';
					var toShow = document.getElementById('betweenYearsFilters');
					toShow.style.display = 'block';
				}

			}
		}
	}

	var title = document.getElementById('yearFiltersTitle');
	if(title != null && !yearChoice ) {
		title.style.display = 'none';
	}

	return;
}
