function openwindow(url,l,h,s,r){
	var largeur_ecran=screen.width;
	var hauteur_ecran=screen.height;
	var win=window.open(url,"_blank","scrollbars="+parseInt(s)+",resizable="+parseInt(r)+",width="+parseInt(l)+",height="+parseInt(h)+",top="+parseInt(((hauteur_ecran-h)/2)-50)+",left="+parseInt((largeur_ecran-l)/2)+"");
}

function AddFavorite(url, text)
{
	if (window.sidebar) {
		window.sidebar.addPanel(text, url, "");
	}
	else if (document.all) {
		window.external.AddFavorite(url, text);
	}
}

function applyParam(obj, param1, param2){
	var urlLink = obj;	var urlCurrent = window.location.href;
	if (urlLink.indexOf('?',0) == -1){ 
		urlLink += "?rfrr=";
		if (urlCurrent.indexOf('/leisure/fr/launch/home/',0) != -1) urlLink += param1;	else urlLink += param2;
	}
	else {
		var urlParam = urlLink.slice(urlLink.indexOf('?',0) + 1,urlLink.length);
		var urlLink = urlLink.slice(0,urlLink.indexOf('?',0) + 1);
		var paramToSplit = new Array; paramToSplit = urlParam.split("&");
		for(n=0;n<paramToSplit.length;n++){
			if (paramToSplit[n].slice(0,4) == 'rfrr'){
				urlLink += "rfrr="; 
				if (urlCurrent.indexOf('/leisure/fr/launch/home/',0) != -1) urlLink += param1;	else urlLink += param2;
			} else urlLink += paramToSplit[n];
			if ((n + 1) < paramToSplit.length) urlLink += "&";
		}
	}
	window.location.href = urlLink;
}

// deprecated
function addRfrrAnchor(url, rfrrID, anchor)
{
	var buildUrl = "";
	if (rfrrID != '') 
	{
		buildUrl = url + ((url.indexOf('?',0) != -1) ? "&" : "?") + "rfrr=" + rfrrID;	
	}
	else
	{
		buildUrl = url;
	}
	if (anchor != '')
	{
		buildUrl += '#' + anchor;
	}
	window.location.href = buildUrl;
}
// deprecated
function addRfrr(url, rfrrID)
{
	addRfrrAnchor(url, rfrrID, '');
}



// private method: Do not use
function ConcatUrlAndRfrr(url, rfrrID, anchor, forceInterro)
{
	if (forceInterro)
		url += "?";
	else
		url += ((url.indexOf('?',0) != -1 && rfrrID != '') ? "&" : "?");
	if (rfrrID != '')
		url += "rfrr=" + rfrrID;
	if (anchor != '' && url.indexOf('#',0) == -1)
		url += '#' + anchor;
	return url;
}

function ConcatUrlAndRfrr2(url, rfrrID)
{
	if (rfrrID != '')
	{
		url += ((url.indexOf('?',0) != -1) ? "&" : "?");
		url += "rfrr=" + rfrrID;
	}
	return url;
}

// other object, add the rfrr and redirect
// For onclick Events
function BuildRfrrAndRedirect(url, rfrrID)
{
	var buildUrl = ConcatUrlAndRfrr(RemoveRfrrFromUrl(url), rfrrID, '');
	window.location.href = buildUrl;
}

// for <a> object, just update the link by adding rfrr.
// For onFocus Events
function BuildRfrrA(aLinkObj, rfrrID)
{
	//alert("rentre dans BuildRfrrA");
	return BuildRfrrAwithAnchor(aLinkObj, rfrrID, '');
}

// Force "?" in front of rfrr parameter.
function BuildRfrrAInterrog(aLinkObj, rfrrID)
{
	return BuildRfrrAwithAnchorInterro(aLinkObj, rfrrID, '', true);
}
// Add anchor after rfrr parameter.
function BuildRfrrAwithAnchor(aLinkObj, rfrrID, anchor)
{
	return BuildRfrrAwithAnchorInterro(aLinkObj, rfrrID, anchor, false);
}

// for <a> object, just update the link by adding rfrr and an anchor.
// For onFocus Events
function BuildRfrrAwithAnchorInterro(aLinkObj, rfrrID, anchor, forceInterro)
{
	if (aLinkObj.tagName.toUpperCase() == "A") 
	{
		if (rfrrID == '') 
			return false;
		if (aLinkObj.href.indexOf('rfrr=') == -1) 
			aLinkObj.href = ConcatUrlAndRfrr(aLinkObj.href, rfrrID, anchor, forceInterro);
		else
            aLinkObj.href = ConcatUrlAndRfrr(RemoveRfrrFromUrl(aLinkObj.href), rfrrID, anchor, forceInterro);
	}
	return false;
}

//FUNCTIONS WITH MCICIID PARAMETER
//Add 03/30/2009
function ConcatUrlAndRfrrMcic(url, rfrrID, mciciID, anchor, forceInterro)
{
	if (forceInterro)
		url += "?";
	else
	{
	    if (rfrrID != '')
	    {
		    url += ((url.indexOf('?',0) != -1 && rfrrID != '') ? "&" : "?");
		    url += "rfrr=" + rfrrID;
		}
    }
		
    //20090825 fix the double mcicID in each url
	if (url.indexOf('mcicid',0) == -1)
	{
		if (mciciID != '')
		{
			url += ((url.indexOf('?',0) != -1 && mciciID!='') ? "&" : "?");
			url += "mcicid="+ mciciID;
		}
	}
	
	if (anchor != '' && url.indexOf('#',0) == -1)
		url += '#' + anchor;
	return url;
}

// Add anchor after rfrr parameter.
function BuildRfrrAwithAnchorMcic(aLinkObj, rfrrID, mciciID, anchor)
{
	return BuildRfrrAwithAnchorInterroMcic(aLinkObj, rfrrID, mciciID, anchor, false);
}

// other object, add the rfrr and redirect
// For onclick Events
function BuildRfrrMcicAndRedirect(url, rfrrID, mciciID)
{
	var buildUrl = url;
	if ( rfrrID != "" || mciciID != "")
		buildUrl = ConcatUrlAndRfrrMcic(RemoveRfrrFromUrl(url), rfrrID, mciciID, '');
	window.location.href = buildUrl;
}

// for <a> object, just update the link by adding rfrr and an anchor.
// For onFocus Events
function BuildRfrrAwithAnchorInterroMcic(aLinkObj, rfrrID, mciciID, anchor, forceInterro)
{
	if (aLinkObj.tagName.toUpperCase() == "A") 
	{
		//if (rfrrID == '') //20090901 : accept the empty rfrrID 
		//	return false;
		
		if ( (aLinkObj.href.indexOf('rfrr=') == -1) || (rfrrID == '') )
			aLinkObj.href = ConcatUrlAndRfrrMcic(aLinkObj.href, rfrrID, mciciID, anchor, forceInterro);
		else
            aLinkObj.href = ConcatUrlAndRfrrMcic(RemoveRfrrFromUrl(aLinkObj.href), rfrrID, mciciID, anchor, forceInterro); 
	}
	return false;
}

function RemoveRfrrFromUrl(link)
{
	var lastInterroIdx = link.lastIndexOf("?");
    var firstpart = link.substring(0, lastInterroIdx);
    var lastpart = link.substring(lastInterroIdx, link.length);
	if (lastInterroIdx == -1)
	{
		firstpart = link;
		lastpart = "";
	}
   
    var url = '';
    var reg = new RegExp("[?&]+", "g");
    var regAnchor = new RegExp("[#]+", "g");
    var params = lastpart.split(reg);
    var nbparam = 0;
    var myAnchor = "";
    // url +=  params[0];
   
    for (var i=0; i < params.length; i++)
    {
        if (params[i] == "")
            continue;
        if (params[i].indexOf("rfrr=") == 0)
         ;
        else
        { 
             if (nbparam > 0)
                url += "&";
             else
                url += "?";
            
             if (params[i].indexOf("#") != -1) //20090901 : split the value where there is an anchor
             {
                tabAnchor = params[1].split(regAnchor);
                if (tabAnchor.length >= 1)
                    url += tabAnchor[0];
             }
             else
                url += params[i];
             nbparam++;
        }
    }
    return firstpart + url;
}

// for <a> object, just update the link by adding rfrr.
// For onFocus Events
function BuildRfrrMcicA(aLinkObj, rfrrID, mciciID)
{
	return BuildRfrrAwithAnchorMcic(aLinkObj, rfrrID, mciciID, '');
}
// display mentions legales
function VscMlDisplay(id)
{
      var layer = document.getElementById(id);
      if (layer.style.display == "none")
            layer.style.display = "block";
      else
            layer.style.display = "none";
}
