var tempX = 0
var tempY = 0

function getMouseXY(e)
{
	var IE = document.all?true:false

	if (IE)
	{
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
	}
	else
	{
		tempX = e.pageX;
		tempY = e.pageY;
	}

	// catch possible negative values in NS4
	if (tempX < 0) {tempX = 0;}
	if (tempY < 0) {tempY = 0;}

	return true
}
function getInfoElement()
{
   	if (document.getElementById)
   		obj = document.getElementById('div_info');
   	else
   		obj = document.all["div_info"];

	return obj;
}
function setInfo(obj, str)
{
	obj.innerHTML='<FONT CLASS=classic><B> '+str+' </B></FONT>';
}
function show_info(str, event)
{
	obj = getInfoElement();
	setInfo(obj, str);
	getMouseXY(event);
	show_infoxy(str, tempX+10, tempY+10);
}
function show_info_oncenter(str, event)
{
	obj = getInfoElement();
	setInfo(obj, str);
	getMouseXY(event);
	show_infoxy(str, tempX-(obj.offsetWidth/2), tempY-(obj.offsetHeight/2));
}
function show_info_upcenter(str, event)
{
	obj = getInfoElement();
	setInfo(obj, str);
	getMouseXY(event);
	show_infoxy(str, tempX-(obj.offsetWidth/2), tempY-obj.offsetHeight-20);
}
function show_info_upleft(str, event)
{
	obj = getInfoElement();
	setInfo(obj, str);
	getMouseXY(event);
	show_infoxy(str, tempX-obj.offsetWidth-20, tempY-obj.offsetHeight-20);
}
function show_info_upright(str, event)
{
	obj = getInfoElement();
	setInfo(obj, str);
	getMouseXY(event);
	show_infoxy(str, tempX+20, tempY-obj.offsetHeight-20);
}
function show_infoxy(str, x, y)
{
	obj = getInfoElement();
	if ((x+obj.offsetWidth+20) > document.body.offsetWidth) x=document.body.offsetWidth-obj.offsetWidth-20;
	if ((y+obj.offsetHeight+20) > document.body.offsetHeight) y=document.body.offsetHeight-obj.offsetHeight-20;
	if (x < 0) x = 10;
	if (y < 0) y = 10;

	obj.style.left=x+'px';
	obj.style.top=y+'px';
	obj.style.visibility='visible';
}
function hide_info()
{
	obj = getInfoElement();
	obj.style.visibility='hidden';
}
function changeColor(item)
{
	if (item.value.length == 0)
		item.style.backgroundColor='#DFE396';
	else
		item.style.backgroundColor='';
}
function upperFirstLetter(str)
{
	if (str.length == 0) return str;

	if (str.length >= 2)
	{
		first = str.substring(0,1);
		rest  = str.substring(1);
		return (first.toUpperCase()+rest.toLowerCase());
	}
	else
		return str.toUpperCase();
}
function verif_EMAIL(str)
{
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str))
		testresults=true
	else
	{
		alert("Le champ Email est incorrect !")
		testresults=false
	}
	return (testresults)
}
function verif_JJMMAAAA(str, label)
{
        if (str.length == 0)
        {
                alert('Le champ <'+label+'> ne doit pas être vide');
                return false;
        }

        if (!(str.length == 10))
        {
                alert('Le champ <'+label+'> doit être de la forme JJ/MM/AAAA');
                return false;
        }

        var jour=str.substring(0, 2);
        var mois=str.substring(3, 5);
        var year=str.substring(6, 10);

        if (jour > 31 || jour < 1 || mois < 1 || mois > 12)
        {
                alert('Le champ <'+label+'> doit être de la forme JJ/MM/AAAA');
                return false;
        }

        return true;
}

function verif_JJMMAAAA_brut(str, label)
{
        if (str.length == 0)
        {
                alert('Le champ <'+label+'> ne doit pas être vide');
                return false;
        }

        if (str.length != 8)
        {
                alert('Le champ <'+label+'> doit être de la forme JJMMAAAA');
                return false;
        }

        var jour=str.substring(0, 2);
        var mois=str.substring(2, 4);
        var year=str.substring(4, 8);

        if (jour > 31 || jour < 1 || mois < 1 || mois > 12)
        {
                alert('Le champ <'+label+'> doit être de la forme JJMMAAAA');
                return false;
        }

        return true;
}

function verif_MMAAAA(str, label)
{
        if (str.length == 0)
        {
                alert('Le champ <'+label+'> ne doit pas être vide');
                return false;
        }

        if (str.length != 7)
        {
                alert('Le champ <'+label+'> doit être de la forme MM/AAAA');
                return false;
        }

        var mois=str.substring(0, 2);
        var year=str.substring(3, 7);

        if (mois < 1 || mois > 12)
        {
                alert('Le champ <'+label+'> doit être de la forme MM/AAAA');
                return false;
        }

        return true;
}

function isacar(car)
{
	if (	(car >= "0" && car <= "9") ||
		(car >= "A" && car <= "Z") ||
		(car >= "a" && car <= "z")   
	   )
		return true;
	else
		return false;
}
function isaextcar(car)
{
	if (	(car >= "0" && car <= "9") ||
		(car == "&"                ) ||
		(car == "é"                ) ||
		(car == "\""             ) ||
		(car == "\n"             ) ||
		(car == "'"                ) ||
		(car == "("                ) ||
		(car == ")"                ) ||
		(car == "-"                ) ||
		(car == "è"                ) ||
		(car == "_"                ) ||
		(car == "ç"                ) ||
		(car == ","                ) ||
		(car == "à"                ) ||
		(car == ")"                ) ||
		(car == "="                ) ||
		(car == "+"                ) ||
		(car == "#"                ) ||
		(car == "{"                ) ||
		(car == "["                ) ||
		(car == "|"                ) ||
		(car == "\\"             ) ||
		(car == "@"                ) ||
		(car == "ù"                ) ||
		(car == "$"                ) ||
		(car == "£"                ) ||
		(car == "§"                ) ||
		(car == "ê"                ) ||
		(car == "â"                ) ||
		(car == "ô"                ) ||
		(car == "ä"                ) ||
		(car == "ë"                ) ||
		(car == " "                ) ||
		(car == "ï"                ) ||
		(car == "\;"               ) ||
		(car == "."                ) ||
		(car == "?"                ) ||
		(car == "/"                ) ||
		(car == ":"                ) ||
		(car == "!"                ) ||
		(car == "°"                ) ||
		(car == "%"               ) ||
		(car >= "A" && car <= "Z") ||
		(car >= "a" && car <= "z")   
	   )
		return true;
	else
		return false;
}

function verif_alphanum(str, label, size)
{
        if (str.length == 0)
        {
                alert('Le champ <'+label+'> ne doit pas être vide');
                return false;
        }

        if (size != -1 && str.length != size)
        {
                alert('Le champ <'+label+'> doit être composé de '+size+' caractères alphanumériques');
                return false;
        }

        for(var i=0; i < str.length; i++)
        {
                var car=str.substring(i, i+1);
                if (!isacar(car))
                {
                        alert('Le champ <'+label+'> doit être alphanumérique');
                        return false;
                }
        }

        return true;
}

function verif_alphanum2(str, label, size)
{
        if (str.length == 0)
        {
                alert('Le champ <'+label+'> ne doit pas être vide');
                return false;
        }

        if (size != -1 && str.length < size)
        {
                alert('Le champ <'+label+'> doit être composé d\'au moins '+size+' caractères alphanumériques');
                return false;
        }

        for(var i=0; i < str.length; i++)
        {
                var car=str.substring(i, i+1);
                if (!isacar(car))
                {
                        alert('Le champ <'+label+'> doit être alphanumérique');
                        return false;
                }
        }

        return true;
}

function verif_alphanumext(str, label, size)
{
        if (str.length == 0)
        {
                alert('Le champ <'+label+'> ne doit pas être vide');
                return false;
        }

        if (size != -1 && str.length >= size)
        {
                alert('Le champ <'+label+'> doit être composé d\'au moins '+size+' caractères alphanumériques');
                return false;
        }

        for(var i=0; i < str.length; i++)
        {
                var car=str.substring(i, i+1);
                if (!isaextcar(car))
                {
                        alert('Le champ <'+label+'> doit être alphanumérique');
                        return false;
                }
        }

        return true;
}

function verif_num(num, label, min, max)
{
        if (num.length == 0)
        {
                alert('Le champ <'+label+'> ne doit pas être vide');
                return false;
        }

        for(var i=0; i < num.length; i++)
        {
                var car=num.substring(i, i+1);
                if (!(car >= "0" && car <= "9"))
                {
                        alert('Le champ <'+label+'> doit être numérique');
                        return false;
                }
        }

        if (num > max || num < min)
        {
                alert('Le champ <'+label+'> doit être compris entre '+min+' et '+max);
                return false;
        }

        return true;
}

