/***********************************************************************
 * Fonctions JavaScript                                                *
 ***********************************************************************/

/* Barre d'etat par defaut */
window.defaultStatus = 'CE UMV ';
/* Numérique ? */
function isNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;   
}

/* Ouvrir une fenetre popup */
function ouvrir(url, titre, l, h, scrollbar)
{
	hauteur = Math.round( (screen.availHeight - h) / 2 );
	largeur = Math.round( (screen.availWidth - l) / 2 );
	window.open(url, titre, 'toolbar=0,location=0,directories=0,status=0,scrollbars=' + scrollbar + ',resizable=0,menubar=0,top=' + hauteur + ',left=' + largeur + ',width=' + l + ',height=' + h);
}
function PopupCentrer(page,largeur,hauteur,options) {
  var top=(screen.height-hauteur)/2;
  var left=(screen.width-largeur)/2;
  window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}
/* Masque de saisie de date */
function masqueSaisieDate(objet)
{
	var masque = new Mask('jj/mm/aaaa', 'date');
	masque.attach(objet);
}
/* Masque de saisie de duree */
function masqueSaisieDuree(objet)
{
	var masque = new Mask('hh:mm', 'date');
	masque.attach(objet);
}

/* Masque de saisie de montant */
function masqueSaisieMontant(objet)
{
	var masque = new Mask('#_###.00', 'number');
	masque.attach(objet);
}

/* Verifier que le contenu des champs n'est pas identique au filtre de depart */
function estRempli(champ, filtre)
{
	if (champ.value == filtre)
		return false;
	return true;
}

/* Verification de saisie de la date */
function estDate(champ)
{
	// Recuperer la valeur du champ
	var chaineDate = champ.value;

	// Split pour creer un tableau dans lequel on recupere les jour mois annee
	var ladate = chaineDate.split("/");

	// Si je n'ai pas récupéré trois éléments ou bien s'il ne s'agit pas d'entiers, pas la peine non plus d'aller plus loin
	if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2])))
		return false;

	// Sinon, c'est maintenant que je crée la date correspondante. Attention, les mois sont étalonnés de 0 à 11
	var unedate = new Date(eval(ladate[2]), eval(ladate[1])-1, eval(ladate[0]));

	// Bug de l'an 2000 oblige, lorsque je récupère l'année, je n'ai pas toujours 4 chiffres selon les navigateurs, je rectifie donc ici le tir.
	var annee = unedate.getYear();
	if ((Math.abs(annee)+"").length < 4)
		annee = annee + 1900;

	// 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.
	return ((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2])));
}

/* Verification de saisie d'e-mail */
function estPeriodeValide(champ_debut, champ_fin)
{
	// Extraction de la date
	var date_deb = champ_debut.value.split("/");
	var date_fin = champ_fin.value.split("/");

	// Reconstruction au format aaaammjj
	date_deb = date_deb[2] + date_deb[1] + date_deb[0];
	date_fin = date_fin[2] + date_fin[1] + date_fin[0];
	
	if (date_deb > date_fin)
		return false;
	return true;
}

/* Verification de saisie d'e-mail */
function estMail(champ)
{
	// Masque e-mail
	var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	if(!re.test(champ.value)) return false;
	return true;
}

/* Afficher / Cacher un calque suivant son etat */
function afficheCalque(calque)
{
	var obj = document.getElementById(calque);
	if (obj.style.display == 'block')
		obj.style.display = 'none';
	else
		obj.style.display = 'block';
}
function affichePostit(calque,choix)
{
	var obj = document.getElementById(calque);
	if (choix == 'oui'){
		obj.style.visibility = 'visible';
	}
	else
		obj.style.visibility = 'hidden'
}
/* Afficher / Cacher pour les types de filtre */
function filtre(calque1, calque2)
{
	var obj1 = document.getElementById(calque1);
	var obj2 = document.getElementById(calque2);

	obj1.style.display = 'block';
	obj2.style.display = 'none';
}

/* Afficher / Cacher pour les criteres de filtre */
function critere(check, objet)
{
	var obj = document.getElementById(objet);
	if (check.checked == false)
		obj.style.display = 'none';
	else
		obj.style.display = 'block';
}

/* Connaitre l'option selectionnee */
function testerRadio(radio)
{
	for (var i = 0; i < radio.length; i++)
		if (radio[i].checked)
			return radio[i].value;
	// Si aucune case n'a ete cochee, on retourne -1
	return -1;
}

/* Selectionner ou deselectionner toutes les cases a cocher d'un ensemble */
function selectCheckbox(appelant, liste)
{
	// Nom du formulaire
	var formulaire = appelant.form.name;

	// Operation a realiser
	if (appelant.checked == true)
		operation = true;
	else
		operation = false;

	// Elements du formulaire
	var elem = eval('document.' + formulaire + '.elements');

	// On teste si l'element appartient a la liste et on coche en consequence
	for (var i = 0; i < elem.length; i++)
		if (elem[i].name == liste)
			elem[i].checked = operation;
}

var x,y
var timer
var i_fontsize=0
var step=0
var thisx,thisy

function handlerMM(e){
	x = (document.layers) ? e.pageX : event.clientX
	y = (document.layers) ? e.pageY : event.clientY
}

function ringup() {
	if (document.all) {
		thisx = x
		thisy = y
		ringup2()
	}
}

function ringup2() {
	if (i_fontsize<=50) {	
		document.all.ring.style.fontSize=i_fontsize
		document.all.ring.style.color="rgb(255,"+Math.floor(i_fontsize/6)+","+Math.floor(i_fontsize/6)+")"
    		document.all.ring.style.posLeft=thisx-(Math.floor(i_fontsize/3))
		document.all.ring.style.posTop=thisy-(Math.floor(i_fontsize/1.4))	
		step+=2
		i_fontsize+=step
		timer=setTimeout("ringup(100)",50)
	}
}
function efface(){
		clearTimeout(100)
		i_fontsize=0
		step=0
		document.all.ring.style.posTop=-10000
}

function verificationIdentifiant(uid)
{
	var resultat = true;
	if (uid.length != 7)
		resultat = false;
	else
	{
		var lettre = uid.substr(0, 1);
		var chiffres = uid.substr(1, 6);
		if ((lettre.search(/[A-Za-z]/) == -1) || isNaN(chiffres))
			resultat = false;
	}
	return resultat;
}


document.onmousemove = handlerMM;