// protocoleLienEstat.js

//Dans un chaine de caractère, remplacement d'une sous chaine par une autre
function remplaceSousChaine(chaineOrigine, sousChaineAchanger, sousChaineRemplacement) {
	var i=0
	while (i!=-1) {
		i=chaineOrigine.indexOf(sousChaineAchanger,i);
		if (i>=0) {
			chaineOrigine=chaineOrigine.substring(0,i)
					+sousChaineRemplacement
					+chaineOrigine.substring(i+sousChaineAchanger.length);
			i+=sousChaineRemplacement.length;
		}
	}
	return chaineOrigine;
}

//Gère les lien estat "direct" (au lieu d'acceder à la page gmf directement, on a un lien "href" vers le site estat, qui contient en paramètre la page gmf à atteindre)
//Cette fonction valorise le protocole du lien gmf à atteindre (http / https) en fonction du protocole de la page de départ.
//Une fois le protocole valorisé, on redirige vers le lien estat
//function lienEstat(urlEstat){
//	//récupération du protocole de la page courante et suppression des ":"
//	protocole = remplaceSousChaine(location.protocol,":","");
	//mise à niveau du lien avec le protocole
//	urlEstat = remplaceSousChaine(urlEstat,"{protocole}",protocole);
	//redirection
//	window.location.href=urlEstat;
//}

//Gère les lien estat "direct" 
//(au lieu d'acceder à la page gmf directement, on a un lien "href" vers le site estat, qui contient en paramètre la page gmf à atteindre)
//Cette fonction : 
//  - valorise le protocole du lien gmf à atteindre (http / https) en fonction du protocole de la page de départ.
//  - si besoin, modifie le chemin "/espace societaire" pour se placer dans "espace-societaire/securise"
//	- redirige vers le lien estat
function lienEstat(urlEstat, session){
	//récupération du protocole de la page courante et suppression des ":"
	protocole = remplaceSousChaine(location.protocol,":","");
	//mise à niveau du lien avec le protocole
	urlEstat = remplaceSousChaine(urlEstat,"{protocole}",protocole);
	
	//si on est loggé, on doit acceder à l'espace securise 
	//on rajoute "/securise" dans le chemin d'accès
	if (session == "true"){
		//si jamais on est deja dans /securise, on efface le chemin, pour le reajouter ensuite
		urlEstat = remplaceSousChaine(urlEstat,"/securise","");
		urlEstat = remplaceSousChaine(urlEstat,"/espace-societaire","/espace-societaire/securise");
		//session = "false";
	}

	//redirection
	window.location.href=urlEstat;
}


function lienEstatPopUp(urlEstat, session, titleWindow, options){
	//récupération du protocole de la page courante et suppression des ":"
	protocole = remplaceSousChaine(location.protocol,":","");
	//mise à niveau du lien avec le protocole
	urlEstat = remplaceSousChaine(urlEstat,"{protocole}",protocole);
	
	//si on est loggé, on doit acceder à l'espace securise 
	//on rajoute "/securise" dans le chemin d'accès
	if (session == "true"){
		//si jamais on est deja dans /securise, on efface le chemin, pour le reajouter ensuite
		urlEstat = remplaceSousChaine(urlEstat,"/securise","");
		urlEstat = remplaceSousChaine(urlEstat,"/espace-societaire","/espace-societaire/securise");
		//session = "false";
	}

	//redirection
	//window.location.href=urlEstat;
	window.open(urlEstat, titleWindow, options);
}
