function bao_dateEnFr(input_text_field) {
    var date_value = input_text_field.value;

    /* 6 number characters --> DDMMYY */
    /* transform into DD/MM/20YY      */
    /*--------------------------------*/

    if (date_value.length == 6) {
        var re = /^([0-9]{2})([0-9]{2})([0-9]{2})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = control[1] + "/" + control[2] + "/" + "20" + control[3];
        }
    }

    /* 6 number characters --> D/M/YY */
    /* transform into 0D/0M/20YY      */
    /*--------------------------------*/

    if (date_value.length == 6) {
        var re = /^([0-9]{1})[\/\.-]([0-9]{1})[\/\.-]([0-9]{2})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = "0" + control[1] + "/" + "0" + control[2] + "/" + "20" + control[3];
        }
    }

    /* 7 number characters --> DD/M/YY */
    /* transform into DD/0M/20YY      */
    /*--------------------------------*/

    if (date_value.length == 7) {
        var re = /^([0-9]{2})[\/\.-]([0-9]{1})[\/\.-]([0-9]{2})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = control[1] + "/" + "0" + control[2] + "/" + "20" + control[3];
        }
    }

    /* 7 number characters --> D/MM/YY */
    /* transform into 0D/MM/20YY      */
    /*--------------------------------*/

    if (date_value.length == 7) {
        var re = /^([0-9]{1})[\/\.-]([0-9]{2})[\/\.-]([0-9]{2})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = "0" + control[1] + "/" + control[2] + "/" + "20" + control[3];
        }
    }

    /* 8 number characters --> DD/MM/YY */
    /* transform into DD/MM/20YY      */
    /*--------------------------------*/

    if (date_value.length == 8) {
        var re = /^([0-9]{2})[\/\.-]([0-9]{2})[\/\.-]([0-9]{2})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = control[1] + "/" + control[2] + "/" + "20" + control[3];
        }
    }

    /* 8 number characters --> D/M/YYYY */
    /* transform into 0D/0M/YYYY        */
    /*----------------------------------*/

    if (date_value.length == 8) {
        var re = /^([0-9]{1})[\/\.-]([0-9]{1})[\/\.-]([0-9]{4})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = "0" + control[1] + "/" + "0" + control[2] + "/" + control[3];
        }
    }

    /* 8 number characters --> DDMMYYYY */
    /* transform into DD/MM/YYYY        */
    /*----------------------------------*/

    if (date_value.length == 8) {
        var re = /^([0-9]{2})([0-9]{2})([0-9]{4})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = control[1] + "/" + control[2] + "/" + control[3];
        }
    }

    /* 9 number characters --> DD/M/YYYY */
    /* transform into DD/0M/YYYY         */
    /*-----------------------------------*/

    if (date_value.length == 9) {
        var re = /^([0-9]{2})[\/\.-]([0-9]{1})[\/\.-]([0-9]{4})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = control[1] + "/" + "0" + control[2] + "/" + control[3];
        }
    }

    /* 9 number characters --> D/MM/YYYY */
    /* transform into 0D/MM/YYYY         */
    /*-----------------------------------*/

    if (date_value.length == 9) {
        var re = /^([0-9]{1})[\/\.-]([0-9]{2})[\/\.-]([0-9]{4})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = "0" + control[1] + "/" + control[2] + "/" + control[3];
        }
    }

    /* 10 number characters --> DD/MM/YYYY */
    /* transform into DD/MM/YYYY           */
    /*-------------------------------------*/

    if (date_value.length == 10) {
        var re = /^([0-9]{2})[\/\.-]([0-9]{2})[\/\.-]([0-9]{4})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            input_text_field.value = control[1] + "/" + control[2] + "/" + control[3];
        }
    }
}

/*
 *-------------------------------------------------------------------
 *
 * valid_date --
 *
 *  check if dateValue is a valid date
 *      return 1 if valid 0 if not valid
 *
 * Side effects :
 *  none.
 *
 *-------------------------------------------------------------------
 */

function bao_estDateValide(date_value) {
    var result = 0;
    if (date_value.length != 10) {
        result = 0;
    } else {
        var re = /^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/;
        var control = re.exec(date_value);
        if (re.test(date_value)) {
            result = 1;
            var jour = control[1];
            var mois = control[2]-1;
            var annee = control[3];
            var tryDate = new Date(annee, mois, jour);
        
            var t_annee = tryDate.getFullYear();
            var t_mois = tryDate.getMonth();
            var t_jour = tryDate.getDate();
            if (annee != t_annee || mois != t_mois || jour != t_jour) result = 0;
            if (annee < 1970 || annee > 2050) result = 0;
            if (mois < 0 || mois > 11) result = 0;
            if (jour < 1 || jour > 31) result = 0;
        } else {
            result = 0;
        }
    }   
    return result;
}

function bao_estNumEntier(val) {
	var ok = true;
	if (val != "") {
		ok = val.match(/^[\s0-9]+$/);
	}
	return ok;
}


function bao_checkboxesChecked(prop) {
    var ok = false;
    var elt;
    var i = 0;
    while (!ok && (elt = document.getElementById("checkboxes_" + prop + "_ids_checkbox_id_" + i))) {
        if (elt.checked) {
            ok = true;
        }
        i++;
    }
    return ok;
}

function bao_radioChecked(elt) {
    var ok = false;
    for (var i=0; i<elt.length; i++) {
        if (elt[i].checked) {
            ok = true;
        }
    }
    return ok;
}

function bao_radioValue(elt) {
    var v = "undefined";
    for (var i=0; i<elt.length; i++) {
        if (elt[i].checked) {
            v = elt[i].value;
        }
    }
    return v;
}

function ouvrirLien(url) {
	window.open(url, 'lien');
}

function bao_offsetDOM(oObj, prop) {
    var val = 0;
    while (oObj && oObj.tagName != 'BODY') {
        // oObj.style.border= "1px dotted green";
        eval('val += oObj.' + prop + ';');
        oObj = oObj.offsetParent;
    }
    return val;
}

function bao_prechargerImages() {
    for (var i = 0; i < imgsPreload.length; i++) {
        MM_preloadImages(imgsPreload[i]);
    }
}

function bao_windowOnloadAdd(fct) {
	var wOnload = window.onload;
	if (typeof wOnload != 'function') {
		window.onload = fct;
	} else {
		window.onload = function () {
			wOnload();
			fct();
		}
	}
}

function bao_windowOnunloadAdd(fct) {
    var wUnload = window.onunload;
    if (typeof wUnload != 'function') {
        window.onunload = fct;
    } else {
        window.onunload = function () {
            wUnload();
            fct();
        }
    }
}

function offsetDOM(oObj, prop) {
    var val = 0;
    while (oObj && oObj.tagName != 'BODY') {
        eval('val += oObj.' + prop + ';');
        oObj = oObj.offsetParent;
    }
    return val;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Pour preload
var imgsPreload = new Array();   // ce tableau est rempli par le script à sa génération
bao_windowOnloadAdd(bao_prechargerImages);

