function setVisible(controlId, visible) 
{

	var controle = document.getElementById(controlId);
	if(controle != null) {
		if(visible)	
			controle.style.display = "";
		else
			controle.style.display = "none";
	}
}

/****
 * Vide les espaces avant et après sur une chaine de caractères
 */
function trim(string)
{
	return string.replace(/(^\s*)|(\s*$)/g,'');
} 

/****
 * Retourne vrai si la chaine de caractères n'est pas vide
 */
function isNotEmpty(svalue) {
	return trim(svalue).length > 0	
}

/****
 * Retourne vrai si la chaine de caractères est vide 
 */
function isEmpty(svalue) {
	return trim(svalue).length == 0	
}

function areEqual(sSource1, sSource2) {
	return trim(sSource1.toLowerCase()) == trim(sSource2.toLowerCase())
}

function areNotEqual(sSource1, sSource2) {
	return !areEqual(sSource1, sSource2)
}

function isNull(objet) 
{
	return objet == null;
}

function isNotNull(objet) 
{
	return objet != null;
}
	
/***
 * Cache ou montre un contrôle
 * params : 
 *	controlId	: identifiant du contrôle 
 *	visible		: visible true/false
 */
function setVisible(controlId, visible) 
{
	var controle = document.getElementById(controlId);
	if(controle != null) {
		if(visible)	
			controle.style.display = "";
		else
			controle.style.display = "none";
	}
}

function findPos(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

/*
 * Validation d'une dropdownlist
 */
function CheckDDL(controlId, errorMessage) 
{
	var ddl= document.getElementById(controlId);
	var resultat = true;
	if(ddl.selectedIndex == -1 || isEmpty(ddl.options[ddl.selectedIndex].value))
		resultat = false
	setVisible(errorMessage,!resultat);	
	return resultat;
}

/*
 * Validation d'une textbox
 */
function CheckTBX(controlId, errorMessage) 
{
	var resultat = isNotEmpty(document.getElementById(controlId).value);
	setVisible(errorMessage,!resultat);	
	return resultat;
}

/*
 * Validation d'un radiobuttonlist
 */
function CheckRBL(controlId, errorMessage) 
{
	var resultat = false;
	var radioButton = null;
	var index = 0;
	do {
		radioButton = document.getElementById(controlId + "_" + index);
		if(isNotNull(radioButton)) 
		{
			if(radioButton.checked)
				resultat = true;
		}
		index++;
	} while(isNotNull(radioButton))
	setVisible(errorMessage,!resultat);
	return resultat;
}

/*
 * Validation d'une checkbox
 */
function CheckCBX(controlId, errorMessage) 
{
	var resultat = document.getElementById(controlId).checked;
	setVisible(errorMessage,!resultat);
	return resultat;
}

/***
 * Valide une date
 */
function validateDate(controlId) 
{

	var controle = document.getElementById(controlId);
	var reg = new RegExp("^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$","g");
    return reg.test(controle.value);
}

function autoCompleteDateFieldMMAAAA(fieldId)
{
	var field = document.getElementById(fieldId);
	if(isEmpty(field.value)) return false;
	field.value = field.value.replace(/ /g,"/");
	if (field.value.length == 6 && isFinite(field.value)) {
		var mois  =Number(field.value.slice(0,2));
		var annee =Number(field.value.slice(2,6));
		if ( ( mois>0 && mois<13) && (annee>1907 && annee<2500) ) {
			field.value = field.value.slice(0,2) + '/' + field.value.slice(2,6);
			return true;
		}
		else
			return false;
	} else
		return false;
	
}


function autoCompleteDateFieldJJMM(fieldId)
{
	var field = document.getElementById(fieldId);
	if(isEmpty(field.value)) return false;
	field.value = field.value.replace(/ /g,"/");
	if (field.value.length == 4 && isFinite(field.value)) {
		var jour  =Number(field.value.slice(0,2));
		var mois =Number(field.value.slice(2,4));
		if ( ( mois>0 && mois<13) && (jour>0 && jour<32) )
		{
			field.value = field.value.slice(0,2) + '/' + field.value.slice(2,4);
			return true;
		}
		else
			return false;
	} else
		return false;
	
}


function autoCompleteDateField(fieldId)
{
	var field = document.getElementById(fieldId);
	if(isEmpty(field.value)) return false;
	field.value = field.value.replace(/ /g,"/");
	if (validateDate(fieldId) == true)
		return true;
	else
	{
		if (field.value.length == 8 && isFinite(field.value)) {
			var jour  =Number(field.value.slice(0,2));
			var mois  =Number(field.value.slice(2,4));
			var annee =Number(field.value.slice(4,8));
				
			if ( (jour >0 && jour<32) && ( mois>0 && mois<13) && (annee>1000 && annee<2500) ) {
				field.value = field.value.slice(0,2) + '/' + field.value.slice(2,4) + '/' + (field.value.slice(4,8));
				return true;
			}
			else
				return false;
		} else
			return false;
	}
}

	// Verifie si le client a une assurance, si il a renseigné les champs date et ancienne assurance
	function VerifPage()
	{
			var res = true;
			var ddl = document.getElementById("DDL_VousSouhaitez");
			if (ddl.selectedIndex != -1 && ddl.options[ddl.selectedIndex].value =="changer_contrat") 
			{ 
				
			}
			if ( autoCompleteDateField(document.getElementById("TBX_DateEffet")) == false ) return false; 
			var testVerifDateFutur = VerifDateFutur();	
			if ( testVerifDateFutur == false ) res= false;	

	return res;

	}
			

	// verifie si la date est une date existante (31/02/2002 n'est pas possible par ex.)
	function isDateValid(chaineDate)
	{
	
		var result = true;
		var field = document.getElementById(chaineDate);
		var jour  = Number(field.value.slice(0,2));
		var mois  = Number(field.value.slice(3,5));
		var annee = Number(field.value.slice(6,10));
		// création de la date correspondante. Attention, les mois sont étalonnés de 0 à 11
		var unedate = new Date(annee,mois-1,jour);
		// Il ne reste plus qu'à vérifier si le jour, le mois et l'année obtenus sont les mêmes que ceux saisis par l'utilisateur.
		if ((unedate.getDate() == jour) && (unedate.getMonth() == mois-1) && (unedate.getFullYear() == annee)) result=true;
		else result = false;
		return result;
	}
	
		
		
		
		
// ____________________________PAGE 4 __________________________________________




			function VerifDateNaissance(tbx,nb1,nb2)
			{
			var textbox=document.getElementById(tbx);
			var nbMin= nb1;
			var nbMax= nb2;
			
			//__________ déclaration de 3 var : res, aujourdhui et varDateEffet________________________
				var res = true;


			//__________prend la date du jour et enleve 66 ans__________________________________________________________
				var aujourdhui_66 = new Date();
				var aujourdhui_16 = new Date();

				var AnneeDuJour = Number(aujourdhui_66.getFullYear());

				var AnneeNaissance_66 = Number(AnneeDuJour - nbMax);	
				var AnneeNaissance_16 = Number(AnneeDuJour - nbMin);	
			//initialise les 2 dates au jour d d'aujourd'hui - 66 et - 16
				aujourdhui_66.setFullYear(AnneeNaissance_66); 
				aujourdhui_16.setFullYear(AnneeNaissance_16); 

			
			//__________les mois sont  en tableau de 0 à 11 on met donc -1______________________________
				var joaur= Number(textbox.value.slice(0,2));
				var mois= Number(textbox.value.slice(3,5));
				mois -= 1;
				var an=   Number(textbox.value.slice(6,10));
				var dateNaissanceFormate= new Date(an, mois, jour);

			//__________fait la difference entre la date du client et la date du jour -66 et -15 pour vor son age						
				var diff_66 = Number(Math.round(aujourdhui_66 - dateNaissanceFormate)/(1000*60*60*24));
				var diff_16 = Number(Math.round(aujourdhui_16 - dateNaissanceFormate)/(1000*60*60*24));
			
			//__________si le client a + de 65 ans ou - de 16 ans => message erreur________________________________
				if ( diff_16 < 0 || diff_66 >0)	res = false;
							
				return res;
		
			}
			

		function preloadImage() {
			
			var image_arr = new Array();
			image_arr[0] = "title_bg.jpg";
			image_arr[1] = "close.jpg";
			var i = 0;
			for(i=0; i<image_arr.length; i++)  { 
				preload_image = new Image();
				preload_image.src = "images/" + image_arr[i];
			}
			
		}
		
//AIDE TEXTUELLE POP-UP

var Mouse_Y; // Variable globale Position Y de la Mouse
var Mouse_X;
//-----------------------------------------------------------------------------
// l'argument e n'est passé à la fonction que par les navigateur n'ayant pas
// implémenté event comme objet, IE posséde son propre objet bien connu event
//-----------------------------------------------------------------------------
function WhereMouse( e ){
  var DocRef;    // Variable pour IE uniquement


  // L'événement est passée à la fonction
  // donc tous sauf IE…
  if( e){                   // Dans ce cas on obtient directement la position dans la page
    Mouse_Y = e.pageY;
    Mouse_X = e.pageX;
  }
  else{                      // Dans ce cas on obtient la position relative à la fenêtre d'affichage
    Mouse_Y = event.clientY;
    Mouse_X = event.clientX;

    //-- Il faut traiter le CAS des DOCTYPE sous IE
    if( document.documentElement && document.documentElement.clientWidth) // Donc DOCTYPE
      DocRef = document.documentElement;   // Dans ce cas c'est documentElement qui est réfèrence
    else
      DocRef = document.body;                    // Dans ce cas c'est body qui est réfèrence

    //-- On rajoute la position liée aux ScrollBars
    Mouse_Y += DocRef.scrollTop;  
    Mouse_X += DocRef.scrollLeft;

  }  
}


var DecalageTop = 350;

function GetRadioButtonValue(id) {
    var options = document.getElementById(id).getElementsByTagName('input');
    for (i = 0; i < options.length; i++) {
        var opt = options[i];
        if (opt.checked) {
            return opt.value;
        }
    }
}

