//raccourci de getElementById
function byId(element) {
	return document.getElementById(element);
}

//raccourci de getElementByName
function byName(element) {
	return document.getElementsByName(element)[0];
}

//raccourci de getElementByName
function valeur(element) {
	return byId(element).value;
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

//affiche un élément à partir de son id
function afficher(id) {
	fermer_popups();
	byId(id).style.visibility = 'visible';
	byId(id).style.display = 'block';
}

//cache un élément à partir de son id
function cacher(id) {
	byId(id).style.visibility = 'hidden';
	byId(id).style.display = 'none';
}

function fermer_popups() {
	elements = getElementsByClass('popup'); //voir pour un sélecteur avec jquery
	for(i=0 ; i < elements.length ; i++) {
		elements[i].style.visibility = 'hidden';
	}
}		

//redirection javascript
function rediriger(url) {
	document.location.href = url;
}

function lien_blank(url) {
	window.open(url); 
}

//teste une date au format jj/mm/aaaa
function isDateValide(saisie) {
	if (saisie == "") return false;
	saisie = (saisie).split("/");
	if ((saisie.length != 3) || isNaN(parseInt(saisie[0])) || isNaN(parseInt(saisie[1])) || isNaN(parseInt(saisie[2]))) return false;
	var laDate = new Date(eval(saisie[2]),eval(saisie[1])-1,eval(saisie[0]));
	var annee = laDate.getYear();
	if ((Math.abs(annee)+"").length < 4) annee = annee + 1900;
	return ((laDate.getDate() == eval(saisie[0])) && (laDate.getMonth() == eval(saisie[1])-1) && (annee == eval(saisie[2])));
}

//teste une date au format jj/mm/aaaa
function isDateValidePreformate(saisie) {
	if (saisie == 'jj/mm/aaaa') {
		return true;
	}
	return isDateValide(saisie);
}
