Event.observe(window, 'load', function() {  
	if($('requete.revueDateFromDay')) $('requete.revueDateFromDay').observe('keyup', onValueChange);
	if($('requete.revueDateToDay')) $('requete.revueDateToDay').observe('keyup', onValueChange);
	if($('requete.jurisDateFromDay')) $('requete.jurisDateFromDay').observe('keyup', onValueChange);
	if($('requete.jurisDateToDay')) $('requete.jurisDateToDay').observe('keyup', onValueChange);
	if($('requete.revueDateFromMonth')) $('requete.revueDateFromMonth').observe('keyup', onValueChange);
	if($('requete.revueDateToMonth')) $('requete.revueDateToMonth').observe('keyup', onValueChange);
	if($('requete.jurisDateFromMonth')) $('requete.jurisDateFromMonth').observe('keyup', onValueChange);
	if($('requete.jurisDateToMonth')) $('requete.jurisDateToMonth').observe('keyup', onValueChange);
	if($('requete.revueDateFromYear')) $('requete.revueDateFromYear').observe('keyup', onValueChange);
	if($('requete.revueDateToYear')) $('requete.revueDateToYear').observe('keyup', onValueChange);
	if($('requete.jurisDateFromYear')) $('requete.jurisDateFromYear').observe('keyup', onValueChange);
	if($('requete.jurisDateToYear')) $('requete.jurisDateToYear').observe('keyup', onValueChange);
});
/***************************************
 * Fonctions de gestion de l'affichage *
 * du formulaire de recherche avancée  *
 ***************************************/

// Utilitaire pour afficher/cache une boite
function boxShow(box, visible) {
	if (visible)
		box.show();
	else
		box.hide();
}

function updateBoxes() {
	boxShow($('boxDocuRevues'), $('requete.checkDocuRevues').checked);
	boxShow($('boxDocuJuris'), $('requete.checkDocuJuris').checked);
}

// Gestion de l'affichage des boites de recherche avancees
// pour la jurisprudence et les revues
function manageDocuForms(checkbox) {
	switch (checkbox) {
		case 'juris':
		case 'revues':
			if ($('requete.checkDocuRevues').checked && $('requete.checkDocuJuris').checked) 
				$('requete.checkDocuAll').checked = 'checked';
			else
				$('requete.checkDocuAll').checked = '';
			break;
			
		case 'all':
			$('requete.checkDocuRevues').checked = $('requete.checkDocuAll').checked;
			$('requete.checkDocuJuris').checked = $('requete.checkDocuAll').checked;
			break;
		
		default:
	}
	updateBoxes();
}

// Remise a zero intelligente du formulaire
function resetForm() {
	document.forms.rechAv.reset();
	resetFormAdvanc() ;
	manageDocuForms();
	updateRevueDetails();
	for (var level = 2; level <= 3; level++) {
		updateJuris(level, 3);
		$('requete.selJurisL' + level)
			.setValue(defaultJuris[level]);
	}
}
 
function resetFormAdvanc() {
	var myForm = document.forms.rechAv;
	if (!$('requete.checkDocuAll').checked) {
		$('requete.checkDocuAll').click();
	}	
	var label = $('motcles').value;
	$('requete.textField1').value=label;
	$('requete.textField2').value=label;
	$('requete.textField3').value=label;
	$('requete.textField4').value=label;

	$('requete.proxiTopLeft').value="";
	$('requete.proxiBotLeft').value="";
	$('requete.condTopLeft').value = "ET";	
	$('requete.condBotLeft').value = "ET";	
	$('requete.condRight').value = "ET";		
	if($('requete.selRevue')) $('requete.selRevue').value = "";	
	$('requete.selJurisL1').value = "";
	$('requete.selJurisL2').value = "";
	$('requete.selJurisL3').value = "";
	
	$('requete.revueDateFromDay').value="";
	$('requete.revueDateToDay').value="";
	$('requete.jurisDateFromDay').value="";
	$('requete.jurisDateToDay').value="";
	$('requete.revueDateFromMonth').value="";
	$('requete.revueDateToMonth').value="";
	$('requete.jurisDateFromMonth').value="";
	$('requete.jurisDateToMonth').value="";
	$('requete.revueDateFromYear').value="";
	$('requete.revueDateToYear').value="";
	$('requete.jurisDateFromYear').value="";
	$('requete.jurisDateToYear').value="";
	
	var proxy1 = $('requete.proxiTopLeft');
	var proxy2 = $('requete.proxiBotLeft');
	proxy1.value="";
	proxy2.value="";
	proxy1.disabled=true;
	proxy2.disabled=true;
	$('requete.revueNumero').value="";
	$('requete.revueArticleId').value="";
	$('requete.revuePage').value="";
	$('requete.revueAuteurPrenom').value="";
	$('requete.revueAuteurNom').value="";
	$('requete.jurisDecision').value="";
	
	manageDocuForms();
	updateRevueDetails();
	for (var level = 2; level <= 3; level++) {
		updateJuris(level, 3);
		$('requete.selJurisL' + level)
			.setValue(defaultJuris[level]);
	}
	setProx();
}

function demandeInformation(form) {
    var url = form.action;
    var target = 'contactReponse';
    var myAjax = new Ajax.Updater(
        target,
        url,
        {method: 'post',parameters:{contactNom:$('contactNom').value, 
                                    contactTelephone:$('contactTelephone').value,
                                    contactEmail:$('contactEmail').value,
                                    contactNote:$('contactNote').value}});
    $('demandeInformation').reset();
    return false;
}

function stress(field) {
	if(field){
		field.style.background = '#ffffcc';
	}
}

function unstress(field) {
	if(field){
		field.style.background = '';
	}
}

function prepareSubmitFiltre(isRevue) {
	var cd = new Array();
	var errorField = null;
	var myForm = document.forms.revueDateFilter;
	if(isRevue){
		cd.push($('filtre.revueDateFrom'));
		cd.push($('filtre.revueDateTo'));
	}else{
		cd.push($('filtre.jurisDateFrom'));
		cd.push($('filtre.jurisDateTo'));
		myForm = document.forms.jurisDateFilter;
	}
	for (var i = 0; i < cd.length; i++) {
		cleanField(cd[i]);
		if (cd[i].value != '' && !checkDate(cd[i],false)) {
			stress(cd[i]);
			if (errorField == null) {
				errorField = cd[i];
				errorMessage = "Le format de la date utilis&eacute; est invalide, veuillez entrer une date au format: jj/mm/aaaa";
			}
		}
	}
	var errorFieldTemp = checkIntevalFilterDate(isRevue);
	if(errorField == null){
		errorField = errorFieldTemp;
		errorMessage = "La date de d&eacute;but doit &ecirc;tre inf&eacute;rieur &agrave; la date de fin";
	}
	
	// Si il y a eu une erreur, on affiche le message
	if (errorField != null) {
		modalWarn('Erreur de saisie', errorMessage, 'Erreur sur la saisie du formulaire');
		if (errorField != true)
			errorField.focus();
		return false;
	} else {
		myForm.submit();
		return true;
	}
}

function checkIntevalFilterDate(isRevue){
	var inputFrom = $('filtre.jurisDateFrom');
	var inputTo = $('filtre.jurisDateTo');
	if(isRevue){
		inputFrom = $('filtre.revueDateFrom');
		inputTo = $('filtre.revueDateTo');
	}

	var fromDate = inputFrom.value.split('/');
	var toDate = inputTo.value.split('/');

	var date1 = parseInt(fromDate[2]+fromDate[1]+fromDate[0]);
	var date2 = parseInt(toDate[2]+toDate[1]+toDate[0]);
	if(date1 >= date2){
		stress(inputFrom);
		return inputFrom;
	}
	return null;
}

// Preparation de l'envoi des donnees
// et refuser un formulaire vide mais qui cherche dans tous les fonds
// TODO: ne pas verifier les champs caches
function prepareSubmit() {
	var errorField = null;
	var errorMessage = null; 

	// Check des fonds
	if (!$('requete.checkDocuRevues').checked 
		&& !$('requete.checkDocuJuris').checked) {
		errorField = true;
		errorMessage = "Vous devez s&eacute;lectionner au moins un fond pour votre recherche.";
	}
	
	var requeteAllFunds = ($('requete.checkDocuRevues').checked && $('requete.checkDocuJuris').checked);
	
	// Check de la recherche FullText
	var emptyFields = 0;
	for (var i = 1; i <= 4; i++) {
		var textField = $('requete.textField' + i);
		nullContentIfDefault(textField); 
		cleanField(textField);
		if (textField.value == '')
			emptyFields++;
	}
	
	var requeteFulltext = (emptyFields < 4);
	
	var cp = Array(
			$('requete.proxiTopLeft'),
			$('requete.proxiBotLeft')
			);
	for (var i = 0; i < cp.length; i++) {
		cleanField(cp[i]);
		if (cp[i].value != '' && !checkNumber(cp[i])) {
			stress(cp[i]);
			if (errorField == null) {
				errorField = cp[i];
				errorMessage = "Le format de la proximit&eacute; est invalide, veuillez entrer un nombre.";
			}
		}
	}

	// Selection des champs date a traiter
	// et traitements specifiques
	var cd = new Array();
	var countRevues = 0;

	if ($('requete.checkDocuRevues').checked) {
		// Traitement des champs revues
		// Check de la selection des revues
		if($('requete.selRevue')){
			for (var i = 0; i < $('requete.selRevue').length; i++)
				if ($('requete.selRevue').item(i).selected)
					countRevues++;			
		}
		if (countRevues == 0) {
			stress($('requete.selRevue'));
			if (errorField == null) {
				errorField = $('requete.selRevue');
				errorMessage = "La recherche doit porter sur au moins une revue.";
			}
		} else {
			unstress($('requete.selRevue'));
		}
		
		cd.push($('requete.revueDateFromDay'));
		cd.push($('requete.revueDateFromMonth'));
		cd.push($('requete.revueDateFromYear'));
		var errorFieldTemp = checkTheDate(cd);
		if(errorField == null){
			errorField = errorFieldTemp;
			errorMessage = "Le format de la date utilis&eacute; est invalide, veuillez entrer une date au format: jj/mm/aaaa";
		}
		var cdFrom = cd;
		cd = new Array();
		cd.push($('requete.revueDateToDay'));
		cd.push($('requete.revueDateToMonth'));
		cd.push($('requete.revueDateToYear'));
		errorFieldTemp  = checkTheDate(cd);
		if(errorField == null){
			errorField = errorFieldTemp;
			errorMessage = "Le format de la date utilis&eacute; est invalide, veuillez entrer une date au format: jj/mm/aaaa";
		}
		
		errorFieldTemp = checkIntevalDate(cdFrom,cd);
		if(errorField == null){
			errorField = errorFieldTemp;
			errorMessage = "La date de d&eacute;but doit &ecirc;tre inf&eacute;rieur &agrave; la date de fin";
		}
		cd = new Array();
	}
	if ($('requete.checkDocuJuris').checked) {
		// Traitement des champs jurisprudence
		var countJuris = 0;
		for (var i = 0; i < $('requete.selJurisL1').length; i++)
			if ($('requete.selJurisL1').item(i).selected)
				countJuris++;
		if (countJuris == 0) {
			stress($('requete.selJurisL1'));
			if (errorField == null) {
				errorField = $('requete.selJurisL1');
				errorMessage = "La recherche doit porter sur au moins une juridiction de premier niveau.";
			}
		} else {
			unstress($('requete.selJurisL1'));
		}

		cd.push($('requete.jurisDateFromDay'));
		cd.push($('requete.jurisDateFromMonth'));
		cd.push($('requete.jurisDateFromYear'));
		var errorFieldTemp = checkTheDate(cd);
		if(errorField == null){
			errorField = errorFieldTemp;
			errorMessage = "Le format de la date utilis&eacute; est invalide, veuillez entrer une date au format: jj/mm/aaaa";
		}
		var cdFrom = cd;
		cd = new Array();
		cd.push($('requete.jurisDateToDay'));
		cd.push($('requete.jurisDateToMonth'));
		cd.push($('requete.jurisDateToYear'));
		errorFieldTemp  = checkTheDate(cd);
		if(errorField == null){
			errorField = errorFieldTemp;
			errorMessage = "Le format de la date utilis&eacute; est invalide, veuillez entrer une date au format: jj/mm/aaaa";
		}
		
		errorFieldTemp = checkIntevalDate(cdFrom,cd);
		if(errorField == null){
			errorField = errorFieldTemp;
			errorMessage = "La date de d&eacute;but doit &ecirc;tre inf&eacute;rieur &agrave; la date de fin";
		}
		cd = new Array();
	};
		
	// On cherche a savoir quels sont les encarts renseignes
	var requeteRevueCriteria = 
		($('requete.revueNumero').value != '')
		|| ($('requete.revueArticleId').value != '')
		|| ($('requete.revuePage').value != '')
		|| ($('requete.revueDateFromYear').value != '')
		|| ($('requete.revueDateToYear').value != '' && $('requete.revueDateFromYear').value != '')
		|| ($('requete.revueAuteurNom').value != '')
		|| ($('requete.revueAuteurPrenom').value != '')
		|| (countRevues > 1)
		|| ((countRevues == 1) && $('requete.selRevue') && ($('requete.selRevue').value != ''));
	var requeteJurisCriteria =   
		($('requete.jurisDecision').value != '')
		|| ($('requete.jurisDateFromYear').value != '')
		|| ($('requete.jurisDateToYear').value != '' && $('requete.jurisDateFromYear').value != '')
		|| ($('requete.selJurisL1').value != '');
	
	if (requeteAllFunds && !requeteFulltext) {
		if (!requeteRevueCriteria && !requeteJurisCriteria) {
			if (errorField == null) {
				errorField = true;
				errorMessage = "Vous devez s&eacute;lectionner au moins un crit&egrave;re.";
			}
		}
		if (requeteRevueCriteria && !requeteJurisCriteria) {
			if($('requete.checkDocuJuris')) $('requete.checkDocuJuris').checked = '';
			updateBoxes();
		}
		if (!requeteRevueCriteria && requeteJurisCriteria) {
			if($('requete.checkDocuRevue')) $('requete.checkDocuRevue').checked = '';
			updateBoxes();
		}
	}			
	
	// Si il y a eu une erreur, on affiche le message
	if (errorField != null) {
		modalWarn('Erreur de saisie', errorMessage, 'Erreur sur la saisie du formulaire');
		if (errorField != true)
			errorField.focus();
		return false;
	} else {
		return true;
	}
}
function checkTheDate(cd){
	var dat = '';
	var errorField = null
	for (var i = 0; i < cd.length; i++) {
		nullContentIfDefault(cd[i]);
		cleanField(cd[i]);
		if(i == 0){
			if (cd[i].value != '') {
				if(cd[i].value.length == 1) {
					dat += '0' + cd[i].value + '/';
					cd[i].value = '0' + cd[i].value;
				}
				else dat += cd[i].value + '/';
			}
		}
		else if(i == 1){
			if (cd[i].value != '') {
				if(dat == '') dat = '01/';
				if(cd[i].value.length == 1) {
					dat += '0' + cd[i].value + '/';
					cd[i].value = '0' + cd[i].value;
				}
				else dat += cd[i].value + '/';
			}
		}
		else if((i == 2 && dat == '' && cd[i].value != '')){
			dat = '01/01/' + cd[2].value;
		}
		else if(i == 2 && dat != '' && cd[i].value != ''){
			dat += cd[i].value;
		}
	}
	if (dat != '' && !checkDate(dat,true)) {
		for (var j = 0; j < cd.length; j++) {
			stress(cd[j]);
			if (errorField == null) {
				errorField = cd[j];
			}
		}
	}
	return errorField;
}

function daysInMonth(month,year) {
	var dd = new Date(year, month, 0);
	return dd.getDate();
} 

function getDigit(val) {
	var digit1 = val.substr(0, 1);
	var digit2 = val.substr(1, 1);
	if(digit1 == 0)
	return digit2;
	else return val;
} 


function checkIntevalDate(cdFrom,cd){
	var yearFrom = parseInt(cdFrom[2].value);
	var year = parseInt(cd[2].value);
	if(yearFrom > year){
		stress(cdFrom[2]);
		return cdFrom[2];
	}
	if(yearFrom == year){
		if(checkNumber(cdFrom[1]) && checkNumber(cd[1])){
			var monthFrom = parseInt(getDigit(cdFrom[1].value));
			var month = parseInt(getDigit(cd[1].value));
			if(monthFrom > month){
				stress(cdFrom[1]);
				return cdFrom[1];
			}
			if(monthFrom == month){
				if(checkNumber(cdFrom[1]) && checkNumber(cd[1])){
					var dayFrom = parseInt(getDigit(cdFrom[0].value));
					var day = parseInt(getDigit(cd[0].value));
					
					if(dayFrom > day){
						stress(cdFrom[0]);
						return cdFrom[0];
					}
					else if(trim(cdFrom[0].value) == '' && trim(cd[0].value) == ''){
						stress(cdFrom[1]);
						return cdFrom[1];				
					}
					else if(trim(cdFrom[0].value) != '' && trim(cd[0].value) == ''){
						var lastDay = daysInMonth(monthFrom,yearFrom);
						if(lastDay == dayFrom){
							stress(cdFrom[0]);
							return cdFrom[0];

						}										
					}
				}
			}
		}
		else if(trim(cdFrom[1].value) == '' && trim(cd[1].value) == ''){
			stress(cdFrom[2]);
			return cdFrom[2];
		}
	}
	return null;
}
function trim(string) {
	return string.replace(/(^\s*)|(\s*$)/g,'');
}

function checkNumber(field) {
	var a = field.value.match(/^\d+$/);
	return (a != null);
}
function checkDate2(field) {
	var a = field.value.match(/^(\d+)\/(\d+)\/(\d+)$/);
	if (a == null) return false;
	if ((a[2] < 1900 || a[2] > 9999) && (a[2] < 00 || a[2] > 99))
		return false;
	if (a[1] < 1 || a[2] > 12)
		return false;
	if (a[0] < 1 || a[0] > 31)
		return false;
	return true;
}
function checkDate( field , isNotField) {
	if(!isNotField)strValue = field.value;
	else strValue = field;
 // var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
  var objRegExp = /^\d{1,2}(\/)\d{1,2}\1\d{4}$/;
  //check to see if in correct format
  if(!objRegExp.test(strValue))
    return false; //doesn't match pattern, bad date
  else{
    var strSeparator = strValue.substring(2,3); 
    var arrayDate = strValue.split(strSeparator); 
    //create a lookup for months not equal to Feb.
    var arrayLookup = { '01' : 31,'03' : 31, 
                        '04' : 30,'05' : 31,
                        '06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,
                        '10' : 31,'11' : 30,'12' : 31};
    var intDay = parseInt(arrayDate[0],10); 

    //check if month value and day value agree
    if(arrayLookup[arrayDate[1]] != null) {
      if(intDay <= arrayLookup[arrayDate[1]] && intDay != 0)
        return true; //found in lookup table, good date
    }
    
    //check for February (bugfix 20050322)
    //bugfix  for parseInt kevin
    //bugfix  biss year  O.Jp Voutat
    var intMonth = parseInt(arrayDate[1],10);
    if (intMonth == 2) { 
       var intYear = parseInt(arrayDate[2]);
       if (intDay > 0 && intDay < 29) {
           return true;
       }
       else if (intDay == 29) {
         if ((intYear % 4 == 0) && (intYear % 100 != 0) || 
             (intYear % 400 == 0)) {
              // year div by 4 and ((not div by 100) or div by 400) ->ok
             return true;
         }   
       }
    }
  }  
  return false; //any other values, bad date
}


function cleanField(field) {
	unstress(field);
	field.value =
		field.value.replace(/^\s+|\s+$/g, '');
}

// Gestion de l'affichage de la selection par revue/article/page
// si on n'a qu'une seule revue de selectionnee
function updateRevueDetails() {	
	var selRevue = $('requete.selRevue');
	var selValue = '';
	var count = 0;
	if(selRevue){
		for (i = 0; i < selRevue.length; i++) {
			if (selRevue.item(i).selected) {
				count++;
				selValue = selRevue.item(i).value;
			}
		}
	}
	if (count == 1) {
		if (selValue != '') {
		    $('revueDetails').show();
			if (CONF_REVUES_WITH_ID.indexOf(',' + selValue + ',') > -1) {
			    $('revueIdArticleLabel').show();
			    $('revueIdArticleValue').show();
			} else {
			    $('revueIdArticleLabel').hide();
			    $('revueIdArticleValue').hide();
			}
		} else
			$('revueDetails').hide();
	} else {
		$('revueDetails').hide();
	}
}

// Donnees de l'arbre des jurisprudences
var dataJuris = new Array();
// Donnees par defaut des niveaux >= 2 de l'arbre
var defaultJuris = new Array();
// Texte
var textJuris = new Array();
// Default
var allJuris = 'Toutes les juridictions';

function setAllJuris(s) {
	allJuris = s;
}

// Ajouter un objet dans l'arbre des jurisprudences
function addJuris(level, k, v, lib) {
	if (dataJuris[level] == null)
		dataJuris[level] = new Array();
	if (dataJuris[level][k] == null)
		dataJuris[level][k] = new Array();
	dataJuris[level][k].push(v);
	textJuris[v] = lib;
}

// Regler la juridiction par defaut pour un level donne
// (utilise pour le "reset" du formulaire)
function setDefaultJuris(level, k) {
	defaultJuris[level] = k;
}

// Mise a jour d'un niveau de jurisprudence
function updateJuris(level, max) {
	if (level > max) return;
	
	for (var i = level; i <= max; i++) {
		$('requete.selJurisL' + i).hide();
		$('arrowJurisL' + i).hide();
	}
	
	var selJuris = $('requete.selJurisL' + level);
	var selJurisParent = $('requete.selJurisL' + (level - 1));
	var arrowJuris = $('arrowJurisL' + level);
	selJuris.length = 0;

	var sel = selJurisParent.selectedIndex;
	if (sel < 0) return;
	var selName = selJurisParent.item(sel);
	if (!selName) return;
	
	selName = selName.value;
	if (values = dataJuris[level][selName]) {
		var opt = document.createElement('option');
    	opt.value = '';
    	opt.innerHTML = allJuris;
    	selJuris.appendChild(opt);
		for (i = 0; i < values.length; i++) {
			var opt = document.createElement('option');
	    	opt.value = values[i];
	    	opt.innerHTML = textJuris[values[i]];
	    	selJuris.appendChild(opt);
		}
		arrowJuris.show();
		selJuris.show();
	}
}

function setProx() {
	var proxy1 = $('requete.proxiTopLeft');
	var proxy2 = $('requete.proxiBotLeft');
	if($('requete.condTopLeft').value == 'PROX'){
		proxy1.disabled=false;
		if(proxy1.value == "") proxy1.value="3";
	}else{
		proxy1.disabled=true;
		proxy1.value="";
	}
	if($('requete.condBotLeft').value == 'PROX'){
		proxy2.disabled=false;
		if(proxy2.value == "") proxy2.value="3";
	}else{
		proxy2.disabled=true;
		proxy2.value="";
	}
}

function onValueChange(event) {
	var element = Event.element(event);
	var ID = element.readAttribute('id') ;
	var value = document.getElementById(ID).value;
	// Revue From
	if(ID == 'requete.revueDateFromDay'){
		if(value.length == 2){
			document.getElementById("requete.revueDateFromMonth").focus();
			document.getElementById("requete.revueDateFromMonth").select();
		}
	}else if(ID == 'requete.revueDateFromMonth'){
		if(value.length == 2){
			document.getElementById("requete.revueDateFromYear").focus();
			document.getElementById("requete.revueDateFromYear").select();
		}
	}else if(ID == 'requete.revueDateFromYear'){
		if(value.length == 4){
			document.getElementById("requete.revueDateToDay").focus();
			document.getElementById("requete.revueDateToDay").select();
		}
	}
	// Revue To
	else if(ID == 'requete.revueDateToDay'){
		if(value.length == 2){
			document.getElementById("requete.revueDateToMonth").focus();
			document.getElementById("requete.revueDateToMonth").select();
		}
	}
	else if(ID == 'requete.revueDateToMonth'){
		if(value.length == 2){
			document.getElementById("requete.revueDateToYear").focus();
			document.getElementById("requete.revueDateToYear").select();
		}
	}else if(ID == 'requete.revueDateToYear'){
		if(value.length == 4){
			document.getElementById("requete.revueDateFromDay").focus();
			document.getElementById("requete.revueDateFromDay").select();
		}
	} 
	// Juris From
	else if(ID == 'requete.jurisDateFromDay'){
		if(value.length == 2){
			document.getElementById("requete.jurisDateFromMonth").focus();
			document.getElementById("requete.jurisDateFromMonth").select();
		}
	}else if(ID == 'requete.jurisDateFromMonth'){
		if(value.length == 2){
			document.getElementById("requete.jurisDateFromYear").focus();
			document.getElementById("requete.jurisDateFromYear").select();
		}
	}else if(ID == 'requete.jurisDateFromYear'){
		if(value.length == 4){
			document.getElementById("requete.jurisDateToDay").focus();
			document.getElementById("requete.jurisDateToDay").select();
		}
	}
	// Juris To
	else if(ID == 'requete.jurisDateToDay'){
		if(value.length == 2){
			document.getElementById("requete.jurisDateToMonth").focus();
			document.getElementById("requete.jurisDateToMonth").select();
		}
	}else if(ID == 'requete.jurisDateToMonth'){
		if(value.length == 2){
			document.getElementById("requete.jurisDateToYear").focus();
			document.getElementById("requete.jurisDateToYear").select();
		}
	}else if(ID == 'requete.jurisDateToYear'){
		if(value.length == 4){
			document.getElementById("requete.jurisDateFromDay").focus();
			document.getElementById("requete.jurisDateFromDay").select();
		}
	}
}

