var laPage;
var url;
var name;
var toolbar = 'no';
var abvLocation = 'no';
var directories = 'no';
var status = 'no';
var menubar = 'no';
var scrollbars = 'no';
var resizable = 'no';
var copyhistory = 'no';
var dependent = 'no';
var laLargeur;
var laHauteur;
var w, h, x, y;

//Cette methode va ajouter la valeur du login ainsi que l'url de la page courante (backUrl pour permettre un retour depuis la partie privee) a l'url du lien
function checkLogin( element ) {

	var identifiant = document.getElementById("identifiant");
    var identifiantValue;
    
	//alert( " location : " + this.location );
	//alert( " href : " + element.href );

	if ( ( identifiant != null ) && ( identifiant.value != null ) ) {
		identifiantValue = identifiant.value;

		//alert( " identifiant : " + identifiantValue );

		var beginUrl = element.href;
		var params = beginUrl.split('&');

		//alert( " params : " + params );

		if ( params.length >= 2 ) {
			beginUrl = params[0];
		}

		//alert( " beginUrl : " + beginUrl );	

		if ( identifiantValue.toUpperCase() == 'LOGIN' ) {
			identifiantValue = '';
		}
		
		element.href = beginUrl + "&numcontrat=" + identifiantValue + "&backUrl=" + this.location;

		//alert( " element.href final : " + element.href );

		identifiant.value = 'Login';
	}
}

//Cette methode permet d'ouvrir une nouvelle fenetre
function openWindowForJahia( url , canOpen , name , urlForReload ) {

	if ( canOpen == true ) {
		normal();
		resizable = 'yes';

		if ( !name ) {
			name = 'newWindow';
		}
		
		laPage = nouvelleWindow( name , url , false , true , false , false );
		
		/*if ( urlForReload != null ) {
			
			this.location = urlForReload;
		}*/
	}

	return canOpen;
}

//methode generique d'ouverture de fenetre
function nouvelleWindow( name , url , statusBar , scrollBar , toolbar , menuBar ) {

	var nouvelleWindow;

	if (!scrollBar) {
		scrollBar = 'no';
	}
	else {
		scrollBar = 'yes';
	}
	
	if (!toolbar) {
		toolbar = 'no';
	}
	else {
		toolbar = 'yes';
	}
	
	if (!statusBar) {
		statusBar = 'no';
	}
	else {
		statusBar = 'yes';
	}
	
	if (!menuBar) {
		menuBar = 'no';
	}
	else {
		menuBar = 'yes';
	}

	// Pour Internet Explorer
	if ( document.all ) {
		nouvelleWindow = window.open(url, name, 'toolbar=' + toolbar
				+ ', location=no, directories=no, status=' + statusBar
				+ ', menubar=' + menuBar + ', scrollbars=' + scrollBar
				+ ', resizable=' + resizable + ', copyhistory=no, left=' + x
				+ ', top=' + y + ', width=' + w + ', height=' + h
				+ ', dependent=yes, channelmode=0');
	} 
	else {
		nouvelleWindow = window.open(url, name, 'toolbar=' + toolbar
				+ ',location=no,directories=no,status=' + statusBar
				+ ',menubar=' + menuBar + ',scrollbars=' + scrollBar
				+ ',resizable=' + resizable + ',copyhistory=no,screenX=' + x
				+ ',screenY=' + y + ',outerWidth=' + w + ',outerHeight=' + h
				+ ',z-lock=yes,dependent=no');
	}

	if ( nouvelleWindow == true ) {
		try {
			nouvelleWindow.focus();
		} 
		catch (e) {
		}
	}

	return nouvelleWindow;
}

//Ouvre une nouvelle fenetre de petite taille 40% de l'espace disponible
function small() {
	
	initWindow('0.40');
}

//Ouvre une nouvelle fenetre de taille moyenne 75% de l'espace disponible
function normal() {
	
	//initWindow('0.75');
	initWithWH( 1025 , 781 );
}

//Ouvre une nouvelle fenetre de grande taille 100% de l'espace disponible
function fullScreen() {
	
	initWindow('1');
}

//methode generique qui permet de determiner une hauteur/largeur en fonction d'un ratio ainsi que de calculer la position x y de la fenetre
function initWindow(aString) {
	
	var laLargeurDispo;
	var laHauteurDispo;

	// Pour Internet Explorer
	if ( document.all ) {
		laLargeurDispo = screen.availWidth - 10;
		laHauteurDispo = screen.availHeight - 70;
	} 
	else {
		laLargeurDispo = screen.availWidth;
		laHauteurDispo = screen.availHeight;
	}

	//alert("initWindow : Resolution utile : x : " + screen.availWidth + " : y : " + screen.availHeight);

	laLargeur = laLargeurDispo * eval(parseFloat('1'));
	laHauteur = laHauteurDispo * eval(parseFloat('1'));

	//alert("initWindow : laLargeur : "+ laLargeur + " : laHauteur : " + laHauteur + " .");

	w = Math.round(laLargeur * eval(parseFloat(aString)));
	h = Math.round(laHauteur * eval(parseFloat(aString)));

	x = Math.round((laLargeur - w) / 2);
	y = Math.round((laHauteur - h) / 4);

	//alert("initWindow : x : " + x + " : y : " + y + " : w : " + w + " : h : " + h + " .");
}

//methode generique qui permet de calculer la position x y de la fenetre en fonction de la largeur/hauteur desiree
function initWithWH(aLargeur, anHauteur) {

	var laLargeurDispo;
	var laHauteurDispo;

	// Pour Internet Explorer
	if ( document.all ) {
		laLargeurDispo = screen.availWidth - 10;
		laHauteurDispo = screen.availHeight - 70;
	} 
	else {
		laLargeurDispo = screen.availWidth;
		laHauteurDispo = screen.availHeight;
	}

	laLargeur = laLargeurDispo * eval(parseFloat('1'));
	laHauteur = laHauteurDispo * eval(parseFloat('1'));

	//alert("initWithWH : laLargeur : "+ laLargeur + " : laHauteur : " + laHauteur + " .");

	w = aLargeur;
	h = anHauteur;

	x = Math.round((laLargeur - w) / 2);
	y = Math.round((laHauteur - h) / 4);

	//alert("initWithWH : x : " + x + " : y : " + y + " : w : " + w + " : h : " + h + " .");
}

//Cette methode permet de calculer l'url de l'iframe de la Page Apporteur
//Attention aux alertes sous FF : annule l'assignation du src de l'iframe
function chargePageApporteur() {

	try {
		var theUrl;
		var frameApporteurName = "iframeICD";
		var codeApporteur;
		var villeApporteur;
		var reseauApporteur;

		libelleReseauApporteur = null;
		codeApporteur = getValueForKey( "rri" );
		villeApporteur = getValueForKey( "ville" );
		reseauApporteur = getValueForKey( "res" );
		
	        //set_cookie( "codeApporteur" , codeApporteur );
	        //set_cookie( "villeApporteur" , villeApporteur );
	        //set_cookie( "reseauApporteur" , reseauApporteur );

		//Traitement du changement de ville
		var divVilleApporteur = document.getElementById( "divVille" );

		if ( ( villeApporteur != null ) && ( villeApporteur != "" ) ) {
			showPopup( divVilleApporteur );
		}
		
		var frameApporteur = document.getElementById( frameApporteurName );
		var divFrameApporteur = document.getElementById( "DIV_" + frameApporteurName );

		theUrl = getProtocolServeur() + "/portail/front?controller=internetClient.MiniSite&rri="+codeApporteur;
		//alert( " chargePageApporteur : " + theUrl );
		frameApporteur.src = theUrl;
		//alert( " chargePageApporteur : " + frameApporteur.src );

		showPopup( divFrameApporteur );
	}
	catch(e) {
		//alert( " e : " + e );
	}
}

//Cette methode permet de calculer l'url de l'iframe de la Recherche Apporteur
//Attention aux alertes sous FF : annule l'assignation du src de l'iframe
function chargeRechercheApporteur() {

	try {
		var theUrl;
		var frameApporteurName = "iframeICD";
		var frameApporteur = document.getElementById( frameApporteurName );
		var divFrameApporteur = document.getElementById( "DIV_" + frameApporteurName );
		
		theUrl = getProtocolServeur() + "/portail/front?controller=internetClient.RechercheApporteur";
		//alert( " chargeRechercheApporteur : " + theUrl );
		frameApporteur.src = theUrl;
		//alert( " chargeRechercheApporteur : " + frameApporteur.src );

		showPopup( divFrameApporteur );
	}
	catch(e) {
		//alert( " e : " + e );
	}
}

//Cette methode permet de calculer l'url de l'iframe de la Page Plan Agence
//Attention aux alertes sous FF : annule l'assignation du src de l'iframe
function chargePlanAgence() {
	
	try {
		var rri = getValueForKey( "rri" );
		var theUrl;
		var frameApporteurName = "iframeICD";
		var frameApporteur = document.getElementById( frameApporteurName );
		var divFrameApporteur = document.getElementById( "DIV_" + frameApporteurName );

		theUrl = getProtocolServeur() + "/portail/front?controller=internetClient.PlanAgence&rri=" + rri;
		//alert( " chargePlanAgence : " + theUrl );
		frameApporteur.src = theUrl;
		//alert( " chargePlanAgence : " + frameApporteur.src );

		showPopup( divFrameApporteur );
	}
	catch(e) {
		//alert( " chargePlanAgence : e : " + e );
	}
}

//Cette methode permet de calculer l'url de l'iframe de la Info collaborateur
//Attention aux alertes sous FF : annule l'assignation du src de l'iframe
function chargeInfoCollaborateur() {
	
	try {
		var rri = getValueForKey( "rri" );
		var theUrl;
		var frameApporteurName = "iframeICD";
		var frameApporteur = document.getElementById( frameApporteurName );
		var divFrameApporteur = document.getElementById( "DIV_" + frameApporteurName );

		theUrl = getProtocolServeur() + "/portail/front?controller=internetClient.InfoCollaborateur&rri=" + rri;
		//alert( " chargeInfoCollaborateur : " + theUrl );
		frameApporteur.src = theUrl;
		//alert( " chargeInfoCollaborateur : " + frameApporteur.src );

		showPopup( divFrameApporteur );
	}
	catch(e) {
		//alert( " chargeInfoCollaborateur : e : " + e );
	}
}

//methode generique permettant d'afficher un element
function showPopup( element ) {

	element.style.visibility = "visible";
	element.style.display = "block";
}

//methode generique permettant de masquer un element
function hidePopup( element ) {

	element.style.visibility = "hidden";
	element.style.display = "none";
}

//Cette methode renvoie la valeur de la variable protocolServeur calculee prealablement (ex : https://xxxxx)
function getProtocolServeur() {

	return protocolServeur;
}

//Cette methode permet de cherche la valeur d'une cle dans une querystring
function getValueForKey( aKey ) {

	var valueForKey = "";

	try {
		var cle = new Array();
		var valeur = new Array();
		var param;
		var paramArray;
		var paramKeyValueArray;
		
		// On enleve le ?
		param = window.location.search.slice( 1 , window.location.search.length );
		
		// On separe le parametres....
		// first[0] est de la forme cle=valeur
		paramArray = param.split("&");

		for( i=0 ; i<paramArray.length ; i++ )
		{
			paramKeyValueArray = paramArray[i].split("=");
			cle[i] = paramKeyValueArray[0];
			valeur[i] = paramKeyValueArray[1];

			if ( paramKeyValueArray[0] == aKey ) {
				valueForKey = paramKeyValueArray[1];
			}
		}
	}
	catch(e) {
		//alert( " e : " + e );
	}
	
	return valueForKey;
}

//Superstitel pour la page Login d'acces a la partie privee
function showPopWinLogin( url ) {

	showPopWin( url , 602 , 385 , null );
}

//Superstitel pour la page Recherche Apporteur
function showPopWinRechercheApporteur( url ) {

	showPopWin( url , 852 , 428 , null );
}

//Superstitel pour la page plan agence
function showPopWinPlanAgence( url ) {

	//alert('showPopWinPlanAgence : '+ url );
	showPopWin( url , 450 , 440 , null );
}

//Superstitel pour la page info collaborateur
function showPopWinInfoCollaborateur( url ) {

	//alert('showPopWinInfoCollaborateur : '+ url );
	showPopWin( url , 800 , 600 , null );
}

//Selection de boite lors de la contribution via le portail agent
function selectBox( boxReference , startDate , endDate , descriptif )
{
	var typeBloc = getValueForKey('typeBloc');
	var valueUrlPortail = getValueForKey('urlEnv');
	
    if ( ( startDate == null ) || ( startDate == "-" ) ) {
    	startDate = "";
    }
    if ( ( endDate == null ) || ( endDate == "-" ) ) {
    	endDate = "";
    }
    if ( ( descriptif == null ) || ( descriptif == "-" ) ) {
    	descriptif = "";
    }

    //alert('boxReference : ' + boxReference + '\ntypeBloc : ' + typeBloc + '\nstartDate : '+ startDate + '\nendDate : ' + endDate + '\ndescriptif : ' + descriptif );

	try {
        var newUrl = "http://"+valueUrlPortail+"/portail/front?controller=internetClient.SiteApporteurMajDonneeJahia&"+typeBloc+"="+boxReference+"&startDate="+startDate+"&endDate="+endDate+"&titreBoite="+descriptif+"&cinematique=internetClient.SiteAgentCinematique";

        //alert('newUrl : ' + newUrl );

        window.opener.location.replace( newUrl );
    	window.opener.focus();
    	window.close();
    }
    catch (e) {
    	//alert( " e : " + e );
    }
}

//Gestion nedstat
/* Sitestat4 code */ 
function sitestat(ns_l){

    //Expresion reguli￨re remplacant les espaces par des _
    ns_l = ns_l.replace(/ /g, "_"); 

    ns_l += "&ns__t=" + (new Date()).getTime();
    ns_pixelUrl = ns_l;
    ns_0 = document.referrer;
    ns_0 = (ns_0.lastIndexOf("/")==ns_0.length-1)?ns_0.substring(ns_0.lastIndexOf("/"),0):ns_0;
    if( ns_0.length > 0 ) {
        ns_l += "&ns_referrer=" + escape( ns_0 );
    }
    if( document.images ){
        ns_1 = new Image();
        ns_1.src = ns_l;
    }
    else {
        document.write("<img src="+ns_l+" width=1 height=1>");
    }
    //alert( " ns_1 : " + ns_l );
}

//Cette methode renvoie la valeur du cookie "name"
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(";");
    for(var i=0;i < ca.length;i++)
    {
        var c = ca[i];
        while (c.charAt(0)==" ") { 
        	c = c.substring(1,c.length);
        }
        if (c.indexOf(nameEQ) == 0) {
        	return c.substring(nameEQ.length,c.length);
        }
    }
     //alert("A cookie was not set. "+name+". Please ensure that your browser accepts cookies.");
    return "Username";
}

//Cette methode cree un cookie "name"
//ex : set_cookie( "aName" , "aValue" ); 
//ex : set_cookie( "aName" , "aValue", 2003, 01, 15 ); 
//ex : set_cookie( "aName" , "aValue", null, null, null, null, "aDomain" ); 
function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure ) {
  var cookie_string = name + "=" + escape ( value );

  if ( exp_y ) {
    var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }

  if ( path )
    cookie_string += "; path=" + escape ( path );

  if ( domain )
    cookie_string += "; domain=" + escape ( domain );
  
  if ( secure )
    cookie_string += "; secure";
  
  //alert("cookie_string : "+cookie_string);

  document.cookie = cookie_string;
}

//Cette methode supprime le cookie "name"
function deleteCookie (name,path,domain) {
  if ( readCookie( name ) != "Username" ) {
	  set_cookie ( name, "", 2001, 01, 01, path, domain, null );
  }
}
