<!--
// ===================================================================================================================
// Page : inc_utils.asp
// Auteur : LFB
// Date : 20/10/2004
// Commentaires : Fonctions javascript generales
// Suivi : 
// ===================================================================================================================


// Le nombre saisi est il entier positif ?
// Retourne true si oui
// -------------------------------------------
function isPositiveInteger(nb)
{
	var strTemp = new String(nb);
	if( strTemp.search(/^([0-9]{1,})?$/) < 0 )
		return false;
	else
		return true;
}
// Le nombre saisi est il un prix (decimal ou entier positif)
// Jusqu'à 4 décimales (les quantites peuvent aussi etre a virgule)
// -------------------------------------------
function isPrice(strPrix)
{
	if (strPrix.search(/^([0-9]{1,})*(\.[0-9]{1,4})?$/) < 0)
		return false;
	else
		return true;
}


// Le nombre saisi est bien un pourcentage ?
// entre 0 et 100 (séparateur = .)
// -------------------------------------------
function isTaxPercent(nb)
{
	var strTemp = new String(nb);
	if( strTemp.search(/^([0-9]{1,})*(\.[0-9]{1,2})?$/) < 0 && !isPositiveInteger(strTemp) )
		return false;	
	else
	{
		var valeur = parseFloat(strTemp);
		if( strTemp < 0 || strTemp > 100 )
			return false;
		else
			return true;
	}
}
// Champ vide (espaces comptes comme vide
// Attention : les formulaires doivent s'appeler "formulaire" pour pouvoir utiliser cette fonction
// ----------------------------------------
function isEmpty(nomCtrl)
{
	var lString = new String(eval('document.formulaire.'+nomCtrl+'.value'));
	return(lString.replace(/ /g,'') == '');
}

// Validation d'une date
// vérifie que la date saisie est du format JJ/MM/AAAA
// retourne la date formatée si OK, une chaîne vide sinon
// -------------------------------------------------------
function valideDate(dstr) {
	var jour, mois, annee;
	var today = new Date();
	if (dstr.search(/^([0-3][0-9])\/([0-1][0-9])\/((20)[0-9][0-9])$/) <  0) {
		return "";
	}
	jour = parseInt(RegExp.$1,10);
	mois = parseInt(RegExp.$2,10);
	annee = parseInt(RegExp.$3,10);
	switch (mois) {
		case 1 : case 3 : case 5: case 7: case 8: case 10: case 12:
			if (jour < 1 || jour > 31) {
				return "";
			}
			break;
		case 4 : case 6 : case 9 : case 11 :
			if (jour < 1 || jour > 30) {
				return "";
			}
			break;
		case 2 :
			if (jour < 1 || jour > 29) {
				return "";
			}
			if (jour == 29 && (annee % 4) != 0) {
				return "";
			}
			break;
		default :
			return "";
	}
	if ( annee > 99 && annee < 1900 ) {
			return "";
	}
	if (annee <= 99)	annee += 1900;
	return RegExp.$1 + "/" + RegExp.$2 + "/" + String(annee);
}
// Test d anteriorite de date
// ----------------------------------
function Date1AvantDate2(date1, date2)
{
	var tabdate1 = new Array();
	var tabdate2 = new Array();
	tabdate1 = date1.split("/");
	tabdate2 = date2.split("/");
	if( tabdate1.length < 3 || tabdate2.length < 3 )
		return false;
		
	i_date1 = parseInt(tabdate1[2] + tabdate1[1] + tabdate1[0],10);
	i_date2 = parseInt(tabdate2[2] + tabdate2[1] + tabdate2[0],10);
	
	if(i_date1 <  i_date2)
		return true;
	else
		return false;
}
/*function Date1AvantDate2(date1, date2)
{
	var tabdate1 = new Array();
	var tabdate2 = new Array();
	tabdate1 = date1.split("/");
	tabdate2 = date2.split("/");
	if( tabdate1.length < 3 || tabdate2.length < 3 )
		return false;
	var J1 = tabdate1[0];
	var M1 = tabdate1[1];
	var A1 = tabdate1[2];
	var J2 = tabdate2[0];
	var M2 = tabdate2[1];
	var A2 = tabdate2[2];
	if( J1 == J2 && M1 == M2 && A1 == A2 )
		return false;
	if( A2 < A1 )
		return false;
	if( A1 < A2 )
		return true;
	// A1 = A2 acquis
	if( M2 < M1 )
		return false;
	if( M1 < M2 )
		return true;
	// A1=A2 et M1=M2 acquis
	if( J2 < J1 )
		return false;
	if( J1 < J2 )
		return true;
	return false;	// sortie de secours...
}*/

// ----------------------------------------------------------------------------
// Fonction qui retourne la chaine coupee si trop longue avec des ... a la fin
// ----------------------------------------------------------------------------
function CoupeChaine(chaine, taillemaxi)
{
	var resultat = new String(chaine);
	resultat = RTrim(resultat);
	if( parseInt(resultat.length,10) > parseInt(taillemaxi,10) )
	{
		resultat	= resultat.substring(0,taillemaxi-3);
		resultat	+= "...";
	}
	return resultat;
}

// ===========================================================================
// Validation de mail
// IN : adresse mail
// OUT : true si OK, false sinon
// Attention : les formulaires doivent s'appeler "formulaire" pour pouvoir utiliser cette fonction
// ===========================================================================
function isValidEmail(nomCtrl)
{
	var lString = new String(eval('document.formulaire.'+nomCtrl+'.value'));

	if (lString.search(/^[-a-zA-Z0-9._]*[-a-zA-Z0-9_]@[-a-zA-Z0-9_]+(\.[-a-zA-Z0-9_]+)*\.[a-zA-Z]{2,3}$/) < 0)
		return false;
	else
		return true;
}

var fenet = null;
// ouvrir fenetre - maj du 25/10/2000
function ouvrirfenetre(addr, cible, largeur, hauteur)	{
	if ( (navigator.appVersion +"").indexOf("MSIE") != -1 && (navigator.platform +"").indexOf("Mac") != -1) {
		
			taille = "width="+largeur+",height="+hauteur;
			window.open(addr, cible, taille +",scrollbars=1,resizable=1");
	}
	else {
	  	  if ( fenet == null || fenet.closed  ) {
			taille = "width="+largeur+",height="+hauteur;
			fenet=window.open(addr, cible, taille +",scrollbars=1,resizable=1");
		  }
		  else {
			fenet.location = addr;
		  }

	 	if (fenet.focus) {
			fenet.focus();
		}
	}
}

// Vérifie qu'il s'agisse bien d'une heure
function isValidTime(strTime)
{
	tabTime = strTime.split(":");
	if(tabTime.length != 2)
		return false;
		
	heure	= parseInt(tabTime[0],10);
	minute	= parseInt(tabTime[1],10);
	
	if (heure < 0 || heure > 24)
		return false;
	if(minute < 0 || minute > 59)
		return false;
		
	return true;
}

// ===================================================================================================================
// Nom : dateToStr
// Parametres (IN) : dateValue - Objet date
// Retour : date formaté
// Auteur : AC
// Date : 30/09/2004
// Commentaires : retourne une date sous forme 'JJ/MM/AAAA'
// Suivi : 
// ===================================================================================================================
function dateToStr(dateValue) {
	var dt = new Date(dateValue);
	return String(dt.getDate()+100).substr(1,2) + "/"
		+ String(dt.getMonth()+101).substr(1,2) + "/"
		+ String(dt.getFullYear());
}
//-->