// fonction qui teste si la chaine rentrée peut être interprétée en numérique
function isDigit(c)
{
        var test="" + c;
        if( test >= "0" && test <= "9" )
                return(true);
        return (false);
}



function isAllDigits(s)
{
        var test="" + s;
        for(var k=0; k<test.length; k++)
        {
                var c=test.substring(k, k+1);
                if (isDigit(c) == false )
                        return (false);
        }
   return(true);
}



	//////////////////////////////////////////////////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////////////////////////////////////


/** Recherche :
 ** Compatible ancien systeme (avant le 20/06/03)
 **/
function Maj_urlDesti_detail()
{
  document.formRecherche.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+document.formRecherche.RECHERCHE_1004.options[document.formRecherche.RECHERCHE_1004.selectedIndex].value+"&RECHERCHE.1000="+document.formRecherche.RECHERCHE_1000.value+"&RECHERCHE.1="+"paris30"+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
	document.formRecherche.submit();
}


/** Recherche :
 ** Nouveau systeme pour bourse.lesechos.fr
 **/
function Maj_urlDesti_detail_complexe()
{
	if ( (document.formRechercheComplexe.RECHERCHE_1.value != "%2Bsp_opc2") )
	{
		if ( (document.formRechercheComplexe.RECHERCHE_1.value == "c_nasdaq") )
		{
    	document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"CO"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRechercheComplexe.RECHERCHE_1.options[document.formRechercheComplexe.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
		}
		else
		{
	  	if (document.formRechercheComplexe.RECHERCHE_1004.value == "ALL")
	  	{
	  		document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"ACTIONS_ONLY"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRechercheComplexe.RECHERCHE_1.options[document.formRechercheComplexe.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
	  	}
	  	else
	  	{
				if (document.formRechercheComplexe.RECHERCHE_1004.value == "SICAV")
				{
					document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"OPCVM"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+"sp_opc2"+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
				}
				else
				{
	        document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+document.formRechercheComplexe.RECHERCHE_1004.options[document.formRechercheComplexe.RECHERCHE_1004.selectedIndex].value+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRechercheComplexe.RECHERCHE_1.options[document.formRechercheComplexe.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
				}
	  	}
		}
	}
	else
	{
		if (document.formRechercheComplexe.RECHERCHE_1004.value == "SICAV")
		{
			document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"OPCVM"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+"sp_opc2"+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
		}
		else
		{
	    document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"ALL"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRechercheComplexe.RECHERCHE_1.options[document.formRechercheComplexe.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
  	}
	}
	document.formRechercheComplexe.submit();
}


/** Recherche :
 ** Nouveau systeme pour www.lesechos.fr
 **/
function Maj_urlDesti_detail_complexe_www()
{
	if ( (document.formRechercheComplexe.RECHERCHE_1.value != "%2Bsp_opc2") )
	{
		if ( (document.formRechercheComplexe.RECHERCHE_1.value == "c_nasdaq") )
		{
    	document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"CO"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRechercheComplexe.RECHERCHE_1.options[document.formRechercheComplexe.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
		}
		else
		{
	  	if (document.formRechercheComplexe.RECHERCHE_1004.value == "ALL")
	  	{
	  		document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"ACTIONS_ONLY"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRechercheComplexe.RECHERCHE_1.options[document.formRechercheComplexe.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
	  	}
	  	else
	  	{
				if (document.formRechercheComplexe.RECHERCHE_1004.value == "SICAV")
				{
					document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"OPCVM"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+"sp_opc2"+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
				}
				else
				{
	        document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+document.formRechercheComplexe.RECHERCHE_1004.options[document.formRechercheComplexe.RECHERCHE_1004.selectedIndex].value+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRechercheComplexe.RECHERCHE_1.options[document.formRechercheComplexe.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
				}
	  	}
		}
	}
	else
	{
		if (document.formRechercheComplexe.RECHERCHE_1004.value == "SICAV")
		{
			document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"OPCVM"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+"sp_opc2"+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
		}
		else
		{
    	document.formRechercheComplexe.action = "http://bourse.lesechos.fr/BOURSE/fr/Recherches.html?mode=complexe&urlDesti=detail"+"&RECHERCHE.1004="+"ALL"+"&RECHERCHE.1000="+document.formRechercheComplexe.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRechercheComplexe.RECHERCHE_1.options[document.formRechercheComplexe.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
    }
	}
	
	document.formRechercheComplexe.submit();
}

/** Recherche :
 ** Nouveau systeme pour portfolio
 **/
function Maj_urlDesti_detail_portfolio()
{
	if ( (document.formRecherchePortfolio.RECHERCHE_1.value != "%2Bsp_opc2") )
	{
		if ( (document.formRecherchePortfolio.RECHERCHE_1.value == "c_nasdaq") )
		{
    	document.formRecherchePortfolio.action = "/BOURSE/fr/portfolio/Recherches.html?mode=complexe"+"&RECHERCHE.1004="+"CO"+"&RECHERCHE.1000="+document.formRecherchePortfolio.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRecherchePortfolio.RECHERCHE_1.options[document.formRecherchePortfolio.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
		}
		else
		{
	  	if (document.formRecherchePortfolio.RECHERCHE_1004.value == "ALL")
	  	{
	  		document.formRecherchePortfolio.action = "/BOURSE/fr/portfolio/Recherches.html?mode=complexe"+"&RECHERCHE.1004="+"ACTIONS_ONLY"+"&RECHERCHE.1000="+document.formRecherchePortfolio.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRecherchePortfolio.RECHERCHE_1.options[document.formRecherchePortfolio.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
	  	}
	  	else
	  	{
				if (document.formRecherchePortfolio.RECHERCHE_1004.value == "SICAV")
				{
					document.formRecherchePortfolio.action = "/BOURSE/fr/portfolio/Recherches.html?mode=complexe"+"&RECHERCHE.1004="+"OPCVM"+"&RECHERCHE.1000="+document.formRecherchePortfolio.RECHERCHE_1000.value+"&RECHERCHE.1="+"sp_opc2"+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
				}
				else
				{
	        document.formRecherchePortfolio.action = "/BOURSE/fr/portfolio/Recherches.html?mode=complexe"+"&RECHERCHE.1004="+document.formRecherchePortfolio.RECHERCHE_1004.options[document.formRecherchePortfolio.RECHERCHE_1004.selectedIndex].value+"&RECHERCHE.1000="+document.formRecherchePortfolio.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRecherchePortfolio.RECHERCHE_1.options[document.formRecherchePortfolio.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
				}
	  	}
		}
	}
	else
	{
		if (document.formRecherchePortfolio.RECHERCHE_1004.value == "SICAV")
		{
			document.formRecherchePortfolio.action = "/BOURSE/fr/portfolio/Recherches.html?mode=complexe"+"&RECHERCHE.1004="+"OPCVM"+"&RECHERCHE.1000="+document.formRecherchePortfolio.RECHERCHE_1000.value+"&RECHERCHE.1="+"sp_opc2"+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
		}
		else
		{
	    document.formRecherchePortfolio.action = "/BOURSE/fr/portfolio/Recherches.html?mode=complexe"+"&RECHERCHE.1004="+"ALL"+"&RECHERCHE.1000="+document.formRecherchePortfolio.RECHERCHE_1000.value+"&RECHERCHE.1="+document.formRecherchePortfolio.RECHERCHE_1.options[document.formRecherchePortfolio.RECHERCHE_1.selectedIndex].value+"&NUMPAGE=1&urlErreur=/BOURSE/fr/erreur.html";
	  }
	}
	
	document.formRecherchePortfolio.submit();
}
	//////////////////////////////////////////////////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////////////////////////////////////



function MM_swapImgRestore() { //v2.0
  if (document.MM_swapImgData != null)
    for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
      document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}

function MM_preloadImages() { //v2.0
  if (document.images) {
    var imgFiles = MM_preloadImages.arguments;
    if (document.preloadArray==null) document.preloadArray = new Array();
    var i = document.preloadArray.length;
    with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
      preloadArray[i] = new Image;
      preloadArray[i++].src = imgFiles[j];
  } }
}

function MM_swapImage() { //v2.0
  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
  for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
    objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj = eval(objStr);
    if (obj != null) {
      swapArray[j++] = obj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
      obj.src = MM_swapImage.arguments[i+2];
  } }
  document.MM_swapImgData = swapArray; //used for restore
}

function MM_showHideLayers() { //v2.0
  var i, visStr, args, theObj;
  args = MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) { //with arg triples (objNS,objIE,visStr)
    visStr   = args[i+2];
    if (navigator.appName == 'Netscape' && document.layers != null) {
      theObj = eval(args[i]);
      if (theObj) theObj.visibility = visStr;
    } else if (document.all != null) { //IE
      if (visStr == 'show') visStr = 'visible'; //convert vals
      if (visStr == 'hide') visStr = 'hidden';
      theObj = eval(args[i+1]);
      if (theObj) theObj.style.visibility = visStr;
  } }
}

function remplirUrlDesti(valeur)
{
	document.formRechercheComplexe.urlDesti.value = valeur;
	document.formRechercheComplexe.submit();
}



function remplirUrlDesti2(valeur)
{
	document.formRechercheSimple.urlDesti.value = valeur;
	document.formRechercheSimple.submit();
}

//remet à 0 le champ de saisie

function Raz()
{
  var monIndex=document.formRecherche.RECHERCHE_1004bis.selectedIndex;
	document.formRecherche.RECHERCHE_1000.value=document.formRecherche.RECHERCHE_1000bis.value;
	document.formRecherche.RECHERCHE_1000bis.value="";
	document.formRecherche.RECHERCHE_1004.value=document.formRecherche.RECHERCHE_1004bis.options[monIndex].text;
	document.formRecherche.RECHERCHE_1004bis.selectedIndex=0 ;

 return 1
}


function join(a, d) {
  var i, s = ''

  if (a.length) {
    s = a[0]
    for (i = 1; i < a.length; i++)
      s += d + a[i]
  }
  return s
}

function split(s, d) {
  var a = new Array()
  var i, j

  if (d == '') {
    for (i = 0; i < s.length; i++)
      a[a.length] = s.charAt(i)
  } else if (s == '') {
    a[0] = s
  } else {
    for (i = 0; i < s.length; i = j + d.length) {
      j = s.indexOf(d, i)
      if (j == -1)
        j = s.length
      a[a.length] = s.substring(i, j)
    }
  }
  return a
}

function write_volume(volume) {
	strvol = volume;
	tabvolume = split (strvol, ',');
	document.write(tabvolume[0]);
}


function write_sans_virgule(valeur) {
	strvaleur = valeur;
	tabvaleur = split (strvaleur, ',');
	document.write(tabvaleur[0]);
}


function carte(page,size)
{
	window.open(page,"map",size);
}
// ********************************************************************************
// writeCapitalisationBoursiere
// formate l'affichage de la capitalisation boursiere codes API BOURSE ( __1040.1__
//  * __DETAIL:3005__)
// syntaxe d'appel: writeCapitalisationBoursiere('__DETAIL:1040.1__','__DETAIL:3005
// __',3,"k","Eur"," ","NC")
// parametres :
// 	volume : le volume (l'API BOURSE avec le code 1040.1)
// 	volume : le cours (l'API BOURSE avec le code 3005)
//  nbr : si nbr=3 par ex. on affiche des 'kilos'
//  multiplicateur : la chaine indiquant l'unite ("k" pour kilo par ex.)
//  devise : la devise
//  separateur: le séparateur souhaité pour les milliers
//  messageErreur : si le cours ou le volume ne sont pas ok (qqf en NC)
// ********************************************************************************
function writeCapitalisationBoursiere(volume, cours,nbr,multiplicateur,devise,separateur,messageErreur) {
//alert ( "volume="+volume+" cours="+cours );
	if ( nbr == 3 ) { nbr =1000; }
	if ( nbr == 6 ) { nbr =1000000; }
	if ( nbr == 9 ) { nbr =1000000000; }

	var myArray = new Array(volume.length);
	pos = 0;
	for (i=0;i<volume.length;i++)
	{
		x = ""+volume.charAt(volume.length-i-1);
		if (  isDigit(x) || x == ",")
		{
			myArray[pos]=x;
			pos++;

		}


	}

	myArray.reverse();
	res = myArray.join('');

	vol = res;
	if (vol.indexOf(",") != -1)
	{
		tabvol = split(vol,',');
		vol = tabvol[0] + "." + tabvol[1];
	}
  //alert ("vol="+vol);
	strcours = cours ;
	tabcours = split(strcours,',');
	cours = tabcours[0] + "." + tabcours[1];


 	capiI = parseInt( (vol*cours).toString());
	//alert (capiI);
	if (capiI > ( nbr - 1) )
	{

		unite = " " + multiplicateur + devise;

		capi1 = parseInt(capiI / nbr);
	}
	else
	{
		capi1 = capiI;
		unite = " " + devise;
	}
	capi = capi1.toString();

	var myArray = new Array(capi.length);
	j=0;
	pos=0;
	var afficheErreur = false;
	for (i=0;i<capi.length;i++)
	{

		if (j == 3) { j=0;myArray[pos]=separateur;pos++;}
		j++;
		if ( isDigit(capi.charAt(capi.length-i-1)) )
		{
			myArray[pos]=capi.charAt(capi.length-i-1);
			pos++;
		}
		else
		{
				afficheErreur = true;
		}


	}
	if ( afficheErreur == false)
	{
		myArray.reverse();
		document.write(myArray.join(''));
		document.write(unite);
	}
	else
	{
		document.write(messageErreur);
	}
	//alert("ok");


}

function writeCapitalisationBoursiereBis(volume, cours,nbr,multiplicateur,devise,separateur,messageErreur) {


}



// ********************************************************************************
// writeNombreDeTitres
// formate l'affichage du code API BOURSE __1040.1__ => le volume/nbr de titre
// syntaxe d'appel: writeNombreDeTitres('__DETAIL:1040.1__'," ")
// effet : converti '5.724.540' en '5 724 540' ou '190 555 256,00 en '190 555 256')
// parametres :
// 	volume : le volume (l'API BOURSE avec le code 1040.1 renvoie habituellement des
//  '.' pour séparer les milliers et un ',00' à la fin)
//  separateur: le séparateur souhaité pour les milliers
//  messageErreur : sil le cours ou le volume ne sont pas ok (qqf en NC)
// ********************************************************************************
function writeNombreDeTitres(volume,separateur,messageErreur) {
//alert ("volume="+volume);
	var myArray = new Array(volume.length);
	var stop = false;
	j=0;
pos = 0;
	if (volume.indexOf("NC") !=-1)
	{
		document.write(messageErreur);
	}
	else
		{
		for (i=0;i<volume.length;i++)
		{
			if (j == 3 ){ myArray[pos]=separateur; j=0;pos++; }

			x = ""+volume.charAt(volume.length-i-1);
			if (  isDigit(x) || x == ",")
			{
				myArray[pos]=x;
				pos++;
				j++;
			}


		}

		myArray.reverse();
		res = myArray.join('');
		tabres = split(res,',');
		document.write(tabres[0]);
	}
}
