/*
 fonctions_dialogs.js v0.5
 08/04/2010
*/

function prompts()
{
	return Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
}

function Alert(titre, message)
{//Affiche un alert avec un titre et un message
	var prompt=prompts();
	
	prompt.alert(window, titre, message);
}

function AlertCheck(titre, message, check_message, check_state)
{//Affiche un alert avec un titre, un message, une case son message et son état
	var prompt=prompts();

	var check = {value:check_state};
	
	prompt.alertCheck(window, titre, message, check_message, check);
	
	return check.value;
}

function Confirm(titre, message)
{//Affiche un confirm avec un titre et un message
	var prompt=prompts();

	return prompt.confirm(window, titre, message);
}

function ConfirmCheck(titre, message, check_message, check_state)
{//Affiche un confirm avec un titre, un message, une case son message et son état
	var prompt=prompts();

	var check = {value:check_state};
	
	var reponse = prompt.confirmCheck(window, titre, message, check_message, check);
	
	if (reponse)
		if (check.value)
			return 1;
		else
			return 0;
	else
		return false;
}

function Prompt(titre, message, valeur)
{//Affiche un prompt avec un titre, un message et une valeur par defaut
	var prompt=prompts();

	var input = {value:valeur};

	if (prompt.prompt(window, titre, message, input, null, {value:false}))
		return input.value.trim();
	else
		return false;
}

function PromptCheck(titre, message, valeur, check_message, check_state)
{//Affiche un prompt avec un titre, un message, une valeur par defaut, une case son message et son état
	var prompt=prompts();

	var input = {value:valeur};
	var check = {value:check_state};
	
	if (prompt.prompt(window, titre, message, input, check_message, check))
		return [input.value.trim(), check.value];
	else
		return false;
}

function Password(titre, message, pass)
{//Affiche un prompt cripté avec un titre, un message et un passe par defaut
	var prompt=prompts();

	var input = {value:pass};
	
	if (prompt.promptPassword(window, titre, message, input, null, {value:false}))
		return input.value.trim();
	else
		return false;
}

function PasswordCheck(titre, message, pass, check_message, check_state)
{//Affiche un prompt cripté avec un titre, un message, un passe par defaut, une case son message et son état
	var prompt=prompts();

	var input = {value:pass};
	var check = {value:check_state};

	if (prompt.promptPassword(window, titre, message, input, check_message, check))
		return [input.value.trim(), check.value];
	else
		return false;
}

function PasswordUser(titre, message, user, pass, check_message, check_state)
{//Affiche un prompt du user et un cripté avec un titre, un message et les valeurs par defauts
	var prompt=prompts();

	var username = {value:user};
	var password = {value:pass};
	
	if (prompt.promptUsernameAndPassword(window, titre, message, username, password, null, {value:false}))
		return [username.value.trim(), password.value.trim()];
	else
		return false;
}

function PasswordUserCheck(titre, message, user, pass, check_message, check_state)
{//Affiche un prompt du user et un cripté avec un titre, un message, les valeurs par defauts, une case son message et son état
	var prompt=prompts();

	var username =	{value:user};
	var password =	{value:pass};
	var check =			{value:check_state};
	
	if (prompt.promptUsernameAndPassword(window, titre, message, username, password, check_message, check))
		return [username.value.trim(), password.value.trim(), check.value];
	else
		return false;
}

function Select(titre, message, list, visible)
{//!!! 4ème paramètre - nombre de lignes à afficher dans la liste mais ne fonctionne pas !!!
	var prompt=prompts();

	selected = {value:visible};

	if (prompt.select(window, titre, message, list.length, list, selected))
		return selected.value;
	else
		return false;
}