// ------------------------------------------------------
// FONCTION OUVERTURE DE POP-UP
// ------------------------------------------------------
function fenetre(theURL,winName,features)
	{
	window.open(theURL,winName,features);
	}


// ------------------------------------------------------
// FONCTION METEOCONSULT
// ------------------------------------------------------
function fonction1(form)
	{
	var var3=form.menuchoix.selectedIndex
	if (form.menuchoix.options[var3].value != "0") { mywindow = window.open(form.menuchoix.options[var3].value);}
	}







// ------------------------------------------------------
// FONCTION POUR VERIFIER SI LA VALEUR EST BIEN UN NOMBRE
// ------------------------------------------------------
function verifnum(qte)
	{
	qte = qte.replace(',','.')
	if (qte == '' || (isNaN(qte) || Number(qte) <= 0))
		{
		alert("La valeur saisie n'est pas valide...");
		return false;
		}
	return true;
	}
function verifnumplus(qte)
	{
	qte = qte.replace(',','.')
	if (qte == '' || (isNaN(qte)))
		{
		alert("La valeur saisie n'est pas valide...");
		return false;
		}
	return true;
	}
function verifnumfacult(qte)
	{
	qte = qte.replace(',','.')
	if ((isNaN(qte)))
		{
		alert("La valeur saisie n'est pas valide...");
		return false;
		}
	return true;
	}


// ------------------------------------------------------
// FONCTIONS POUR LA MISE EN VALEUR DES LIGNES DU TABLEAU (ancienne version)
// ------------------------------------------------------
function mOvr(src,clrOver,clrLien) { src.bgColor = clrOver; }
function mOut(src,clrIn) { src.bgColor = clrIn; }
function mCli(src,clrClic) { src.bgColor = clrClic; }



// --------------------------------------------------------------------------
//   FONCTIONS POUR COMPTER LE NOMBRE DE CARACTERES (PAR EX : DANS TEXTAREA)
// --------------------------------------------------------------------------
// Mini-controle en javascript du nombre de caractères max dans un champ de saisie
// Obligation d'activer le javascript sinon mettre un message dans un <noscript>...</noscript>
// Ne semble pas fonctionner sous Mozilla, mais affiche dans ce cas un formulaire de saisie standard
// Nécessite un <body ... onload=javascript:setFocus()>
// Exemple d'appel :
// <form name=FORMNOM ...>
// <SCRIPT language=JavaScript>
// if (IE4) document.write("<textarea cols='37' rows='7' name='MESSAGE' onFocus='Compter(this,10,FORMNOM.compteur)' onKeyPress='Compter(this,10,FORMNOM.compteur)' onKeyUp='Compter(this,10,FORMNOM.compteur)' onBlur='Compter(this,10,FORMNOM.compteur)'></textarea>");
// else document.write("<textarea cols='37' rows='7' name='MESSAGE'></textarea>");
// </SCRIPT><br />
// <SCRIPT language=JavaScript>
// if (IE4) document.write("&nbsp;<INPUT type='text' name='compteur' size='4' onfocus='blur()' value='10'><B>&nbsp caractères restants</B>");
// </SCRIPT>
// </form>
	NS4 = (document.layers) ? 1 : 0;
	IE4 = (document.all) ? 1 : 0;
	function setFocus() 
		{
		return true;
		}
	function Compter(Target, max, nomchamp)
		{
		StrLen = Target.value.length
		if (StrLen > max )
			{
			Target.value = Target.value.substring(0,max);
			CharsLeft = max;								
			}
		else
			{
			CharsLeft = StrLen;
			}	
		nomchamp.value = max - CharsLeft;
		}




// -----------------------------------------------------
// FONCTION POUR LA MISE EN VALEUR DES LIGNES DU TABLEAU
// -----------------------------------------------------

//This array is used to remember mark status of rows in browse mode
var marked_row = new Array;

/**
 * Sets/unsets the pointer and marker in browse mode
 *
 * @param   object    the table row
 * @param   interger  the row number
 * @param   string    the action calling this script (over, out or click)
 * @param   string    the default background color
 * @param   string    the color to use for mouseover
 * @param   string    the color to use for marking a row
 *
 * @return  boolean  whether pointer is set or not
 */
function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor)
{
    var theCells = null;

    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((thePointerColor == '' && theMarkColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // 2. Gets the current row and exits if the browser can't get it
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // 3. Gets the current color...
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
    var currentColor = null;
    var newColor     = null;
    // 3.1 ... with DOM compatible browsers except Opera that does not return
    //         valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
    }
    // 3.2 ... with other browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } // end 3

    // 4. Defines the new color
    // 4.1 Current color is the default one
    if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'over' && thePointerColor != '') {
            newColor              = thePointerColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
        if (theAction == 'out') {
            newColor              = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
        if (theAction == 'click') {
            newColor              = (thePointerColor != '')
                                  ? thePointerColor
                                  : theDefaultColor;
            marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
                                  ? true
                                  : null;
        }
    } // end 4

    // 5. Sets the new color...
    if (newColor) {
        var c = null;
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].setAttribute('bgcolor', newColor, 0);
            } // end for
        }
        // 5.2 ... with other browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
            }
        }
    } // end 5

    return true;
} // end of the 'setPointer()' function