/* sajax.js
*
* Copyright (c) 2004-2005 Cyberlogic. All rights reserved.
* Distributed under license from Cyberlogic.
*
* History:
*   0.0.1 Stephane Girault <sgirault@cyberlogic.ca>
*
* Description:
*   Collection de JavaScripts qui utilisent la librairie SAJAX. */


function chooseAuthors(){

	//liste des contributors possible <select >
	var contributor_list_select = document.getElementById("book_contributor_select");
	//nom du contributor qu'on va soumettre <input type="text">
	var book_contributor_input = document.getElementById("book_contributor_input");
	//id du contributor qu' on va soumettre <input type="hidden">
	var xml_id = document.getElementById("xml_id");
	//label englobant la liste des contributors possible <label class="formulaire">
	var contributor_select_label = document.getElementById("book_contributor_select_label");
	//bouton de soumission <input type="button">
	var contributor_button = document.getElementById("suggest_button");

	var toto = contributor_list_select.selectedIndex ;
	if(toto<0){
		alert("Auteur Choisi");
	}

	book_contributor_input.value = contributor_list_select.options[contributor_list_select.selectedIndex].text ;
	xml_id.value = contributor_list_select.options[contributor_list_select.selectedIndex].value ;
	contributor_button.disabled = false ;
	contributor_select_label.style.display = "none";
}

function setAuthorsResult(result){

	var json = eval ('('+ result +')');
	var contributor_list_select = document.getElementById("book_contributor_select");
	var contributor_select_label = document.getElementById("book_contributor_select_label");
	var contributor_button = document.getElementById("suggest_button");
	var i = 0 ;

	contributor_select_label.style.display = "inline";

	contributor_button.disabled = true ;
	contributor_list_select.length = 0;
	contributor_list_select.size = json.length;



	for(PersonNameInverted in json){
		contributor_list_select.options[contributor_list_select.length] = new Option(json[i].PersonNameInverted, json[i].idContributor);
		i++;
	}


	if((json.length == 1)&&(json[0].idContributor!="no_data")){
		var book_contributor_input = document.getElementById("book_contributor_input");
		var xml_id = document.getElementById("xml_id");

		book_contributor_input.value = json[0].PersonNameInverted ;
		xml_id.value = json[0].idContributor ;
		contributor_select_label.style.display = "none";
		contributor_button.disabled = false ;
	}
}


//INSERTION d'UN AUTEUR
function submitAuthor(){

	var contributor_button = document.getElementById("suggest_button");
	contributor_button.disabled = true ;

	var book_contributor_input = document.getElementById("book_contributor_input");
	book_contributor_input.value= '';

	var idContributor = document.getElementById("xml_id").value ;
	var idProduct = document.getElementById("idProduct").value ;

	var languageCode_select = document.getElementById("book_contributor_language_code") ;
	var idLanguageCode = languageCode_select.options[languageCode_select.selectedIndex].value ;


	var roleCode_select = document.getElementById("book_contributor_role") ;
	var idContributorRole = roleCode_select.options[roleCode_select.selectedIndex].value ;

	x_insertAuthor(idContributor, idProduct, idContributorRole, idLanguageCode, showNewAuthor);
}

function showNewAuthor(result){

	document.getElementById("book_contributor_show").innerHTML = document.getElementById("book_contributor_show").innerHTML + result ;
}


//On enleve un auteur
function deleteAuthor(idContributor){

	var idProduct = document.getElementById("idProduct").value ;

	x_deleteAuthor(idContributor, idProduct, showDelete);
}

//on triche un peu : on cache juste la balise
//Sajax l'a efface sur le serveur
function showDelete(result){
	document.getElementById(result).style.display = 'none';
}


//INSERTION d'UNE CONF
function submitConference(){

	var book_conference = document.getElementById("book_conference_name").value;
	var book_conference_place = document.getElementById("book_conference_place").value;
	var book_conference_date = document.getElementById("book_conference_date").value;
	var idProduct = document.getElementById("idProduct").value ;

	x_insertConference(idProduct, book_conference_date, book_conference_place, book_conference, showNewConference);
}

function showNewConference(result){

	document.getElementById("book_conference_show").innerHTML = document.getElementById("book_conference_show").innerHTML + result ;
}


//On enleve une conference
function deleteConference(idConference){

	var idProduct = document.getElementById("idProduct").value ;

	x_deleteConference(idConference, idProduct, showDelete);

}

//INSERTION d'UNE RECOMPENSE
function submitPrize(){

	var book_prize = document.getElementById("book_prize_name").value;
	var book_prize_date = document.getElementById("book_prize_date").value;
	var idProduct = document.getElementById("idProduct").value ;

	var countries = document.getElementById("book_prize_country");
	var book_prize_place = countries.options[countries.selectedIndex].value ;

	x_insertPrize(idProduct, book_prize_date, book_prize_place, book_prize, showNewPrize);
}

function showNewPrize(result){

	document.getElementById("book_prize_show").innerHTML = document.getElementById("book_prize_show").innerHTML + result ;
}


//On enleve une prize
function deletePrize(idPrize){

	var idProduct = document.getElementById("idProduct").value ;

	x_deletePrize(idPrize, idProduct, showDelete);

}

//INSERTION d'UNE RECOMPENSE AUTEURS
function submitAuthorPrize(){

	var auteur_prize = document.getElementById("auteur_prize_name").value;
	var auteur_prize_date = document.getElementById("auteur_prize_date").value;
	var idContributor = document.getElementById("idContributor").value ;

	var countries = document.getElementById("auteur_prize_country");
	var auteur_prize_place = countries.options[countries.selectedIndex].value;

	x_insertAuthorPrize(idContributor, auteur_prize_date, auteur_prize_place, auteur_prize, showNewAuthorPrize);
}

function showNewAuthorPrize(result){

	document.getElementById("auteur_prize_show").innerHTML = document.getElementById("auteur_prize_show").innerHTML + result;
}

//On enleve une prize d'un auteur
function deleteAuthorPrize(idPrize){

	var idContributor = document.getElementById("idContributor").value;

	x_deleteAuthorPrize(idPrize, idContributor, showDelete);

}

//INSERTION d'un Theme
function submitTheme(){

	var idProduct = document.getElementById("idProduct").value ;
	var book_theme = document.getElementById("book_select_main_subject");
	var idTheme = book_theme.options[book_theme.selectedIndex].value ;
	var valueTheme = book_theme.options[book_theme.selectedIndex].text ;

	x_insertTheme(idProduct, idTheme, valueTheme, showNewTheme);
}

function showNewTheme(result){

	document.getElementById("book_theme_show").innerHTML = document.getElementById("book_theme_show").innerHTML + result ;
}


//On enleve un theme
function deleteTheme(idTheme){

	var idProduct = document.getElementById("idProduct").value ;

	x_deleteTheme(idTheme, idProduct, showDelete);

}

//On enleve un lien
function deleteLink(idLink){
	
	x_deleteLink(idLink, showDelete);

}

//on exclue une langue
function submitExcludedLanguage(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var languages = document.getElementById("book_included_language");
	
	for(var i = 0;i < languages.options.length;i++)
	{
		if (languages.options[i].selected == true) {
			codeValue = codeValue + languages.options[i].value + ";";
		}
	}			
	
	x_submitExcludedLanguage(idClient, codeValue, showNewLanguagePage);
}

function showNewLanguagePage(result){
	
	if (result == "include"){	
		var x = document.getElementById("book_included_language");
		var y = document.getElementById("book_excluded_language");
	}
	else{
		var x = document.getElementById("book_excluded_language");
		var y = document.getElementById("book_included_language");
	}
	
	genericAddRemoveFromList(x,y);
}

//on inclue une langue
function submitIncludedLanguage(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var languages = document.getElementById("book_excluded_language");
	
	for(var i = 0;i < languages.options.length;i++)
	{
		if (languages.options[i].selected == true) {
			codeValue = codeValue + languages.options[i].value + ";";
		}
	}
	
	x_submitIncludedLanguage(idClient, codeValue, showNewLanguagePage);
}


//on exclu une pays
function submitExcludedCountry(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var countries = document.getElementById("auteur_included_country");
	
	for(var i = 0;i < countries.options.length;i++)
	{
		if (countries.options[i].selected == true) {
			codeValue = codeValue + countries.options[i].value + ";";
		}
	}			
	
	x_submitExcludedCountry(idClient, codeValue, showNewCountryPage);
}

function showNewCountryPage(result){
	
	if (result == "include"){	
		var x = document.getElementById("auteur_included_country");
		var y = document.getElementById("auteur_excluded_country");
	}
	else{
		var x = document.getElementById("auteur_excluded_country");
		var y = document.getElementById("auteur_included_country");
	}
	
	genericAddRemoveFromList(x,y);
}

//on inclu une pays
function submitIncludedCountry(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var countries = document.getElementById("auteur_excluded_country");
	
	for(var i = 0;i < countries.options.length;i++)
	{
		if (countries.options[i].selected == true) {
			codeValue = codeValue + countries.options[i].value + ";";
		}
	}
	
	x_submitIncludedCountry(idClient, codeValue, showNewCountryPage);
}

//on exclude un contributeur
function submitExcludedContributor(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var contributors = document.getElementById("book_included_contributors");
	
	for(var i = 0;i < contributors.options.length;i++)
	{
		if (contributors.options[i].selected == true) {
			codeValue = codeValue + contributors.options[i].value + ";";
		}
	}

	x_submitExcludedContributor(idClient, codeValue, showNewContributorPage);
}

function showNewContributorPage(result){
	
	if (result == "include"){	
		var x = document.getElementById("book_included_contributors");
		var y = document.getElementById("book_excluded_contributors");
	}
	else{
		var x = document.getElementById("book_excluded_contributors");
		var y = document.getElementById("book_included_contributors");
	}
	
	genericAddRemoveFromList(x,y);
}

//on include un contributeur
function submitIncludedContributor(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var contributors = document.getElementById("book_excluded_contributors");
	
	for(var i = 0;i < contributors.options.length;i++)
	{
		if (contributors.options[i].selected == true) {
			codeValue = codeValue + contributors.options[i].value + ";";
		}
	}

	x_submitIncludedContributor(idClient, codeValue, showNewContributorPage);
}

//on exclude une theme
function submitExcludedTheme(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var themes = document.getElementById("book_included_themes");
	
	for(var i = 0;i < themes.options.length;i++)
	{
		if (themes.options[i].selected == true) {
			codeValue = codeValue + themes.options[i].value + ";";
		}
	}

	x_submitExcludedTheme(idClient, codeValue, showNewThemePage);
}

function showNewThemePage(result){
	
	if (result == "include"){	
		var x = document.getElementById("book_included_themes");
		var y = document.getElementById("book_excluded_themes");
	}
	else{
		var x = document.getElementById("book_excluded_themes");
		var y = document.getElementById("book_included_themes");
	}
	
	genericAddRemoveFromList(x,y);
}

//on include une theme
function submitIncludedTheme(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var themes = document.getElementById("book_excluded_themes");
	
	for(var i = 0;i < themes.options.length;i++)
	{
		if (themes.options[i].selected == true) {
			codeValue = codeValue + themes.options[i].value + ";";
		}
	}

	x_submitIncludedTheme(idClient, codeValue, showNewThemePage);
}

//on exclude une option de "Description Physique du Support"
function submitExcludedSupport(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var support = document.getElementById("book_included_support");
	
	for(var i = 0;i < support.options.length;i++)
	{
		if (support.options[i].selected == true) {
			codeValue = codeValue + support.options[i].value + ";";
		}
	}

	x_submitExcludedSupport(idClient, codeValue, showNewSupportPage);
}

function showNewSupportPage(result){
	
	if (result == "include"){	
		var x = document.getElementById("book_included_support");
		var y = document.getElementById("book_excluded_support");
	}
	else{
		var x = document.getElementById("book_excluded_support");
		var y = document.getElementById("book_included_support");
	}
	
	genericAddRemoveFromList(x,y);
}

//on include une theme
function submitIncludedSupport(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var support = document.getElementById("book_excluded_support");
	
	for(var i = 0;i < support.options.length;i++)
	{
		if (support.options[i].selected == true) {
			codeValue = codeValue + support.options[i].value + ";";
		}
	}

	x_submitIncludedSupport(idClient, codeValue, showNewSupportPage);
}

//on exclude une option de "Description Physique Détaillé du Support"
function submitExcludedDetailedSupport(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var detailed_support = document.getElementById("book_included_detailed_support");
	
	for(var i = 0;i < detailed_support.options.length;i++)
	{
		if (detailed_support.options[i].selected == true) {
			codeValue = codeValue + detailed_support.options[i].value + ";";
		}
	}

	x_submitExcludedDetailedSupport(idClient, codeValue, showNewDetailedSupportPage);
}

function showNewDetailedSupportPage(result){
	
	if (result == "include"){	
		var x = document.getElementById("book_included_detailed_support");
		var y = document.getElementById("book_excluded_detailed_support");
	}
	else{
		var x = document.getElementById("book_excluded_detailed_support");
		var y = document.getElementById("book_included_detailed_support");
	}
	
	genericAddRemoveFromList(x,y);
}

//on include une theme
function submitIncludedDetailedSupport(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var detailed_support = document.getElementById("book_excluded_detailed_support");
	
	for(var i = 0;i < detailed_support.options.length;i++)
	{
		if (detailed_support.options[i].selected == true) {
			codeValue = codeValue + detailed_support.options[i].value + ";";
		}
	}

	x_submitIncludedDetailedSupport(idClient, codeValue, showNewDetailedSupportPage);
}

//on exclude une option de "Description des Illustration"
function submitExcludedIllustration(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var illustration = document.getElementById("book_included_illustration");
	
	for(var i = 0;i < illustration.options.length;i++)
	{
		if (illustration.options[i].selected == true) {
			codeValue = codeValue + illustration.options[i].value + ";";
		}
	}

	x_submitExcludedIllustration(idClient, codeValue, showNewIllustrationPage);
}

function showNewIllustrationPage(result){
	
	if (result == "include"){	
		var x = document.getElementById("book_included_illustration");
		var y = document.getElementById("book_excluded_illustration");
	}
	else{
		var x = document.getElementById("book_excluded_illustration");
		var y = document.getElementById("book_included_illustration");
	}
	
	genericAddRemoveFromList(x,y);
}

//on include une theme
function submitIncludedIllustration(){

	var codeValue = "";
	var idClient = document.getElementById("idClient").value;
	var illustration = document.getElementById("book_excluded_illustration");
	
	for(var i = 0;i < illustration.options.length;i++)
	{
		if (illustration.options[i].selected == true) {
			codeValue = codeValue + illustration.options[i].value + ";";
		}
	}

	x_submitIncludedIllustration(idClient, codeValue, showNewIllustrationPage);
}

//INSERTION d'un droit
function submitRight() {

	var idContrat = document.getElementById("idContrat").value ;
	var min_value = document.getElementById("contrat_min_value").value;
	var max_value = document.getElementById("contrat_max_value").value;
	var percentage = document.getElementById("contrat_percentage_value").value;

	x_insertRight(idContrat, min_value, max_value, percentage, showNewRight);
}

function showNewRight(result){

	document.getElementById("auteur_droit_show").innerHTML = document.getElementById("auteur_droit_show").innerHTML + result ;
}

//On enleve un droit
function deleteRight(idDroit){
	
	x_deleteRight(idDroit, showDelete);
}

//INSERTION d'un droit
function submitClubRight() {

	var idContrat = document.getElementById("idContrat").value ;
	var min_value = document.getElementById("contrat_club_min_value").value;
	var max_value = document.getElementById("contrat_club_max_value").value;
	var percentage = document.getElementById("contrat_club_percentage_value").value;
	
	x_insertClubRight(idContrat, min_value, max_value, percentage, showNewClubRight);
}

function showNewClubRight(result){

	document.getElementById("auteur_droit_club_show").innerHTML = document.getElementById("auteur_droit_club_show").innerHTML + result ;
}

//On enleve un droit
function deleteClubRight(idDroit){

	x_deleteClubRight(idDroit, showDelete);
}

//fonction qui va ajouter et effacer des elements pour n'importe quel 
//element 'select' de la page HTML "menus_modif.php.tpl"
function genericAddRemoveFromList(x,y) {
	
	for(var i = 0;i < x.options.length;i++)
	{
		if (x.options[i].selected == true) {
			var codeValue1 = x.options[i].value;
			var codeText1 = x.options[i].text;
			// on ajout notre element au fin de l'autre liste
			y.options[y.options.length] = new Option(codeText1, codeValue1);			
		}
	}
	for(i = 0;i < x.options.length;i++)
	{
		if (x.options[i].selected == true) {
			//// on efface notre element de la liste de provenience
			x.options[i] = null;
			i--;
		}
	}
}