FENETRES	= new Array();
FENETRES["ADRESSES"]					= null;
FENETRES["AJOUT_FORFAITS"]				= null;
FENETRES["APLP_ACCUEIL"]				= null;
FENETRES["ATTESTATION"]					= null;	// Revalider le texte
FENETRES["APLP_ACCUEIL"]				= null;
FENETRES["AVOIR_CREATION"]				= null;
FENETRES["AVOIR_LISTE"]					= null;
FENETRES["COMMANDE_CARTES_SPORTIVES"]	= null;
//FENETRES["COMMANDE_CARTES_SPORTIVES"]["INFLUENCEE_PAR"][0]	= "FICHE_AYANTS_DROIT";
FENETRES["COMMANDE_CONSULTER"]			= null;
FENETRES["COMMANDE_PAYER"]				= null;
FENETRES["COMMANDE_SAP"]				= null;
FENETRES["COMPTES_A_EQUILIBRER"]		= null;
FENETRES["CONSTANTES_SAISON"]			= null;
FENETRES["CORRECTION_CHEQUE"]			= null;
FENETRES["DECLARATION_MULTISPORTS"]		= null;
FENETRES["DESAFFECTATION_FORFAITS"]		= null;
FENETRES["DETAIL_COMMANDES"]			= null;
FENETRES["DETAIL_COMPTE"]				= null;
FENETRES["DETAIL_ECRITURES"]			= null;
FENETRES["EMARGEMENT"]					= null;
FENETRES["ENCAISSEMENTS_LISTE"]			= null;
FENETRES["ENCAISSEMENT_LIBRE"]			= null;
FENETRES["ENQUETE_FORFAITS"]			= null;
FENETRES["ENREGISTREMENT_CHEQUES"]		= null;
FENETRES["FENETRE_OPTIONS"]				= null;
FENETRES["FICHE_ADHERENT"]				= null;
FENETRES["FICHE_APPARTEMENT"]			= null;
FENETRES["FICHE_AYANTS_DROIT"]			= null;
FENETRES["FORCE_CB"]					= null;
FENETRES["FORFAIT_APLP_DEFINIR"]		= null;
FENETRES["FORMULAIRES"]					= null;
FENETRES["GESTION_SITE"]				= null;
FENETRES["IMMEUBLES_LISTE"]				= null;
FENETRES["IMMEUBLES_VALIDATION"]		= null;
FENETRES["INFORMER_APLP"]				= null;
FENETRES["MAILING"]						= null;
FENETRES["MISE_EN_BANQUE"]				= null;
FENETRES["NOUVELLES"]					= null;
FENETRES["OPTIONS"]						= null;
FENETRES["PREPARATION_ADHERENT"]		= null;
FENETRES["PREPARATION_COMMANDE"]		= null;
FENETRES["PREPARATION_COMPLETE"]		= null;
FENETRES["PRESENTATION"]				= null;
FENETRES["REMBOURSEMENT_CREATION"]		= null;
FENETRES["SAISIE_CHEQUE"]				= null;
FENETRES["SELECTION_ADHERENT"]			= null;
FENETRES["STATISTIQUES_SEL"]			= null;
FENETRES["TARIF_FORFAITS"]				= null;
FENETRES["TRANSACTIONS_SANS_RETOUR"]	= null;

ACTION_ACTIVE	= null;


function HTML_OuvreFenêtre( ChampsDeContrôle, ID_FENETRE, NomPage, Action, Paramètres)
{
	if (Paramètres == "")
	{
		options_locales	= "width=1900px, height=1200px , location=yes, status=no, directories=no, toolbar=no, menubar=no, scrollbars=yes, resizable=no";
	}
	else
	{
		options_locales	= Paramètres;
	}

	if ( document.getElementById( ChampsDeContrôle).value == 0)
	{
		document.getElementById( ChampsDeContrôle).value	= 1;
		FENETRES[ID_FENETRE]	= window.open( Action, NomPage, options_locales);
	}
	else
	{
		FENETRES[ID_FENETRE].focus();
	}
}


function HTML_FermerLesFenêtres()
{
	fenêtre_à_fermer	= false;
	for ( var name in FENETRES)
	{
		if ( FENETRES[name] != null)
		{
			if ( !FENETRES[name].closed)
			{
				fenêtre_à_fermer	= true;
			}
		}
	}

	if ( fenêtre_à_fermer)
	{
		if ( confirm( "Un changement d'adhérent est possible. Des fenêtres sont restées ouvertes, elles peuvent contenir des mises à jour non enregistrées. Voulez-vous les supprimer ?"))
		{
			for ( var name in FENETRES)
			{
				if ( FENETRES[name] != null)
				{
					if ( !FENETRES[name].closed)
					{
						FENETRES[name].close();
					}
				}
			}
		}
	}
}


function ValideOuvertureFenêtre( Option, Action, NomFenêtre)
{
	switch ( Option)
	{
		case "ENREGISTREMENT_CHEQUES":
		case "PREPARATION_COMPLETE":
		case "SELECTION_ADHERENT_PAR_NOM":
		case "SELECTION_ADHERENT_PAR_CLEF":
		case "SELECTION_ADHERENT_PAR_AYD_ACTIF":
		case "SELECTION_ADHERENT_PAR_AYD_SUPPRIME":
		case "SELECTION_ADHERENT_PAR_COURRIEL":
			HTML_FermerLesFenêtres();
			break;
	}

//alert( "ValideOuvertureFenêtre   :  ACTION_ACTIVE ="+ACTION_ACTIVE+"    Option = "+Option+"   NomFenêtre = "+NomFenêtre);   
	if ( ACTION_ACTIVE == Option)
	{
		if ( FENETRES[ NomFenêtre] != null)
		{
			FENETRES[ NomFenêtre].focus();
			ACTION_ACTIVE	= null;
			return true;
		}
		return false;
	}

	ACTION_ACTIVE	= Option;	// Tant que égale à Option on interdit la construction d'une fenêtre de même nom


	action			= Action+"?_Option="+Option;
	fenêtre_existe	= true;


	if ( typeof( FENETRES[NomFenêtre]) == "undefined" )
	{
		alert( "HTML.js - ValideOuvertureFenêtre : La fenêtre : "+NomFenêtre+" pour l'option = "+Option+" n'est pas définie");
		return false;
	}


	switch ( Option)
	{
		case "ADRESSES_IMPRIMER":
		case "PRESENTATION_ADHESION":
		case "PRESENTATION_ADHESIONSUITE":
		case "PRESENTATION_COMPETENCES":
		case "PRESENTATION_LEPATRIMOINE":
		case "PRESENTATION_LESASSURANCES":
		case "PRESENTATION_LESCONTACTS":
		case "PRESENTATION_LESKI":
		case "PRESENTATION_LESLOISIRS":
		case "PRESENTATION_LESPARTENAIRES":
		case "PRESENTATION_MANIFESTATIONS":
		case "PRESENTATION_HOME":
		case "PRESENTATION_ROLE":
		case "SELECTION_ADHERENT_PAR_NOM":
		case "SELECTION_ADHERENT_PAR_CLEF":
		case "SELECTION_ADHERENT_PAR_AYD_ACTIF":
		case "SELECTION_ADHERENT_PAR_AYD_SUPPRIME":
		case "SELECTION_ADHERENT_PAR_COURRIEL":
			force_ouverture	= true;
			break;
		default:
			force_ouverture	= false;
			break;
	}

/// AJOUTER TEST POUR SI FENETRE INFLUENTE EXISTE AFIN D'ALERTER L'UTILISATEUR DE LA NON 
// PRISE EN COMPTE D'EVENTUELLES MODIFICATIONS (mettre liste des fenêtres influantes en argument)
// Ce test est à mettre sur le onFocus de la fenêtre, ainsi même sur un rappel manuel on peut tester la présence 
// d'un fenêtre dépendante ou influente
	if ( FENETRES[NomFenêtre] == null)
	{
		fenêtre_existe	= false;
	}
	FENETRES[NomFenêtre]	= StatutFenêtre( FENETRES[NomFenêtre], NomFenêtre, action, false);
	ACTION_ACTIVE	= null;
	return fenêtre_existe;
}



function StatutFenêtre( Fenêtre, NomFenêtre, Action, ForceOuverture)
{
	if ( Fenêtre == null || ForceOuverture)
	{
		return window.open(Action, NomFenêtre, "width="+screen.width+", height="+screen.height+", location=yes, status=no, directories=no, toolbar=no, menubar=no, scrollbars=yes, resizable=yes");
	}
	else if ( Fenêtre.closed == true )
	{
		return window.open(Action, NomFenêtre, "width="+screen.width+", height="+screen.height+", location=yes, status=no, directories=no, toolbar=no, menubar=no, scrollbars=yes, resizable=yes");
	}
	else
	{
		Fenêtre.focus();
		return Fenêtre;
	}
}



