


function donothing ()
{
	}

function trim(str) {
  while (str.charAt(str.length - 1)==" ")
    str = str.substring(0, str.length - 1);
  while (str.charAt(0)==" ")
    str = str.substring(1, str.length);
  return str;
}



function checkdate(dtfield,dtform) {
var err = 0
string =  dtfield.value
var valid = "0123456789/"
var temp;
for (var i=0; i< string.length; i++) {
temp = "" + string.substring(i, i+1);
if (valid.indexOf(temp) == "-1") err = 1;
}
if (string.length != 8) err=1
d = string.substring(0, 2) // month
e = string.substring(2, 3)// '/'
b = string.substring(3, 5) // day
c = string.substring(5, 6)// '/'
f = string.substring(6, 8) // year
if (b<1 || b>31) err = 1
if (c != '/') err = 1
if (d<1 || d>12) err = 1
if (e != '/') err = 1
if (f<0 || f>99) err = 1
if (b==4 || b==6 || b==9 || b==11){
if (d==31) err=1
}
if (b==2){
var g=parseInt(f/4)
if (isNaN(g)) {
err=1
}
if (d>29) err=1
if (d==29 && ((f/4)!=parseInt(f/4))) err=1
}
if (err==1) {
alert('The date must be entered in dd/mm/yy format.\nThe date will be unchanged.');
dtfield.value = dtform.OldDate.value;
dtfield.focus();
dtfield.select();
return false;
}else {
return true;
}
}

function validate_percent(champ){
	
var digitsblanc=" 0123456789"
var digits="0123456789"
var blank=" "
var temp
var presence_digit=0
var presence_blanc_apres_digit=0

// test si pas caractere invalide
for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)
if (digitsblanc.indexOf(temp)==-1){
	
return false
      }
   }

// test si pas ' 123 12 '

for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)

if (digits.indexOf(temp)!=-1){
    presence_digit=1
    //alert('presence_digit')
}
if ((blank.indexOf(temp)!=-1) && (presence_digit==1)) {
    presence_blanc_apres_digit=1
    //alert('presence_blanc_apres_digit')
}
if ((digits.indexOf(temp)!=-1) && (presence_blanc_apres_digit==1)) {
    return false
}

} //for 

   
return true
}

function validate_number(champ){
	
var digitsblanc=" 0123456789"
var digits="0123456789"
var blank=" "
var temp
var presence_digit=0
var presence_blanc_apres_digit=0

// test si pas caractere invalide
for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)
if (digitsblanc.indexOf(temp)==-1){
	
return false
      }
   }

// test si pas ' 123 12 '

for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)

if (digits.indexOf(temp)!=-1){
    presence_digit=1
    //alert('presence_digit')
}
if ((blank.indexOf(temp)!=-1) && (presence_digit==1)) {
    presence_blanc_apres_digit=1
    //alert('presence_blanc_apres_digit')
}
if ((digits.indexOf(temp)!=-1) && (presence_blanc_apres_digit==1)) {
    return false
}

} //for 

   
return true
}

function validate_amount(champ){
	
var digitsblanc=" .0123456789"
var digits=".0123456789"
var blank=" "
var dot="."
var temp
var presence_digit=0
var presence_blanc_apres_digit=0
var presence_dot=0
// test si pas caractere invalide
for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)
if (digitsblanc.indexOf(temp)==-1){
	
return false
      }
   }

// test si pas ' 123. 12 '

for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)

if (digits.indexOf(temp)!=-1){
    presence_digit=1
    //alert('presence_digit')
}
if ((blank.indexOf(temp)!=-1) && (presence_digit==1)) {
    presence_blanc_apres_digit=1
    //alert('presence_blanc_apres_digit')
}

if ((digits.indexOf(temp)!=-1) && (presence_blanc_apres_digit==1)) {
    return false
}

} //for 

// test si pas plus d'un .

for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)
if ((dot.indexOf(temp)!=-1) && (presence_dot==1)) {
   return false
}
if (dot.indexOf(temp)!=-1){
    presence_dot=1
    //alert('presence_dot')
}


} //for 


   
return true
}





function length_test (champ) {
var err=0;
var blank=" "
var temp

chaine=champ.value;
if (chaine.length==0) {
	return false;
}
else
{

for (var i=0;i<chaine.length;i++){
temp=chaine.substring(i,i+1)
	if (blank.indexOf(temp)==-1){
	err=0;
	return true
	}
	else
	{
	err=1
	}
}


}

if (err==1) {
return false;
}else {
return true;
}			
}


function select_test(champ) {
if (champ.options[0].selected==true) {
	return false
}
else
{
	return true
}
	
}

function zero_test (champ) {
var err=0;
var blank=" 0"
var temp

chaine=champ.value;
if (chaine.length==0) {
	err=1;
}
else
{

for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)
	if (blank.indexOf(temp)==-1){
	err=0;
	return true
	}
	else
	{
	err=1
	}
}


}

if (err==1) {
return false;
}else {
return true;
}			
}

function zeroamount_test (champ) {
var err=0;
var blank=" .0"
var temp

chaine=champ.value;
if (chaine.length==0) {
	err=1;
}
else
{

for (var i=0;i<champ.value.length;i++){
temp=champ.value.substring(i,i+1)
	if (blank.indexOf(temp)==-1){
	err=0;
	return true
	}
	else
	{
	err=1
	}
}


}

if (err==1) {
return false;
}else {
return true;
}			
}


function email_test (str) {
// are regular expressions supported?
var supported = 0;
if (window.RegExp) {
var tempStr = "a";
var tempReg = new RegExp(tempStr);
if (tempReg.test(tempStr)) supported = 1;
}
if (!supported) 
return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
return (!r1.test(str) && r2.test(str));
}



function language_test (formulaire) {
var message=''
// check des champs obligatoires
if (length_test(formulaire.language_language)==false) message='Vous devez choisir une langue';
// affichage du message d'erreur
if (message!='') alert(message);
else formulaire.submit()
}

// MASQUES :




function mask_date(champ) {
	
	var Ret1 = mask (champ.value, "##???##");
	var Ret2 = validate_date(champ)

	if ((Ret1==1)&&(Ret2==true)) {
 	return true 
	}
	else
	{
	return false
	}


}


function mask (InString, Mask)  {
	LenStr = InString.length;
	LenMsk = Mask.length;
	if ((LenStr==0) || (LenMsk==0))
		return(0);
	if (LenStr!=LenMsk)
		return(0);
	TempString=""
	for (Count=0; Count<=InString.length; Count++)  {
		StrChar = InString.substring(Count, Count+1);
		MskChar = Mask.substring(Count, Count+1);
		if (MskChar=='#') {
			if(!isNumberChar(StrChar))
				return(0);
		}
		else if (MskChar=='?') {
			if(!isAlphabeticChar(StrChar))
				return(0);
		}
		else if (MskChar=='!') {
			if(!isNumOrChar(StrChar))
				return(0);
		}
		else if (MskChar=='*') {
		}
		else {
			if (MskChar!=StrChar) 
				return(0);
		}
	}
	return (1);
}

function isAlphabeticChar (InString)  {
	if(InString.length!=1) 
		return (false);
	InString=InString.toLowerCase();
	RefString="abcdefghijklmnopqrstuvwxyz";
	if (RefString.indexOf (InString.toLowerCase(), 0)==-1) 
		return (false);
	return (true);
}

function isCancelCond (InString)  {
	
	if(InString.length!=1) 
		{return (false);}
	
	RefString="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	if (RefString.indexOf (InString, 0)==-1) 
		{return (false);}
	return (true);
}


function isNumberChar (InString)  {
	if(InString.length!=1) 
		return (false);
	RefString="1234567890";
	if (RefString.indexOf (InString, 0)==-1) 
		return (false);
	return (true);
}

function isNumOrChar (InString)  {
	if(InString.length!=1) 
		return (false);
	InString=InString.toLowerCase();
	RefString="1234567890abcdefghijklmnopqrstuvwxyz";
	if (RefString.indexOf (InString, 0)==-1)  
		return (false);
	return (true);
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function isDate(day,month,year) {
	var test=new Date(year, eval(month)-1, day)

	if (( test.getYear() == year) && (month == eval(test.getMonth()+1)) && (day == test.getDate()) )
        { return true;}
    else
        {return false}
	
	}


function isDate2 (day,month,year) {
// checks if date passed is valid
// will accept dates in following format:
// isDate(dd,mm,ccyy), or
// isDate(dd,mm) - which defaults to the current year, or
// isDate(dd) - which defaults to the current month and year.
// Note, if passed the month must be between 1 and 12, and the
// year in ccyy format.

    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}

function validate_date(champ){
var day=champ.value.substring(0,2)
var monthletter=champ.value.substring(2,5)
var month=''
if (onlyblanks(champ.value)==true) return true
if (monthletter=='JAN') {month='01'}
else if (monthletter=='FEB') {month='02'}
else if (monthletter=='MAR') {month='03'}
else if (monthletter=='APR') {month='04'}
else if (monthletter=='MAY') {month='05'}
else if (monthletter=='JUN') {month='06'}
else if (monthletter=='JUL') {month='07'}
else if (monthletter=='AUG') {month='08'}
else if (monthletter=='SEP') {month='09'}
else if (monthletter=='OCT') {month='10'}
else if (monthletter=='NOV') {month='11'}
else if (monthletter=='DEC') {month='12'}
else return false
if (month=='') return false


var year='20' + champ.value.substring(5,7) 
                                             
if (isDate(day, month, year)) {return true}
else {return false}
                   
	}      
	
function onlyblanks(chaine){
	var blank=" "
	var temp
	for (var i=0;i<chaine.length;i++){
		temp=chaine.substring(i,i+1)
		if (blank.indexOf(temp)==-1)
		{return false}
	}
return true
}
		
function validate_date2(champ){
	
var digitsblanc=" 0123456789"
var digits="0123456789"
var slash="/"
var blank=" "
var month= "" 
var day=""
var year=""
var temp
var presence_slash1=0
var presence_slash2=0
var dayfinal=""
var monthfinal=""
var yearfinal=0
var compteur_slash=0

// 


for (var i=0;i<champ.value.length;i++){
	


temp=champ.value.substring(i,i+1)

if (presence_slash2==1) year=year+temp;


if ((slash.indexOf(temp)!=-1) && (presence_slash1==1)) {
    presence_slash2=1;
    //alert('presence_slash2');
    dayfinal=day
    compteur_slash=compteur_slash+1
}

if ((presence_slash2==0)&&(presence_slash1==1)) day=day+temp;

if ((slash.indexOf(temp)!=-1)&&(presence_slash1==0)){
    presence_slash1=1
    //alert('presence_slash1')
    monthfinal=month
}
if (presence_slash1==0) month=month+temp;









} //for 

//alert (monthfinal+'|'+day+'|'+year);

if ((monthfinal=="")&&(length_test(champ)==false)) return true;
if ((monthfinal=="")&&(length_test(champ)==true)) return false;

if (eval(year) <= 99) {
yearfinal=eval(year)+2000;
}
else
{
yearfinal=eval(year)
}

if (isDate(dayfinal, monthfinal, yearfinal)==true) {
return true
}
else
{
return false
}


}


function galileo2date(g)
{
if (onlyblanks(g)==true) {return ''}
	
var dd=g.substr( 0, 2)
var mm=g.substr( 2, 3)
var yy=g.substr( 5, 2)
if (mm=='JAN') {mm='01'}
if (mm=='FEB') {mm='02'}
if (mm=='MAR') {mm='03'}
if (mm=='APR') {mm='04'}
if (mm=='MAY') {mm='05'}
if (mm=='JUN') {mm='06'}
if (mm=='JUL') {mm='07'}
if (mm=='AUG') {mm='08'}
if (mm=='SEP') {mm='09'}
if (mm=='OCT') {mm='10'}
if (mm=='NOV') {mm='11'}
if (mm=='DEC') {mm='12'}


return mm +'/' + dd + '/20'+ yy 
}

// valide si la date1 est inférieur à la date2 (exemple : pour les saisons)
function validate_couple_date (date_a, date_b) {

if ((length_test(date_a)==false)&&(length_test(date_b)==false)) return true;

var date_a=new Date(galileo2date(date_a.value))
var date_b=new Date(galileo2date(date_b.value))




if (date_a<=date_b) {
	return true
}
else
{
	return false
}

}

// compare 2 dates, retourne 1 si a > b 0 si a =b, -1 si a < b
function compare_date(a, b) {



var a_year=a.getYear()
var a_month=a.getMonth()
var a_day=a.getDate()
var b_year=b.getYear()
var b_month=b.getMonth()
var b_day=b.getDate()



if (eval(a_year) > eval(b_year)){return 1};
if (eval(a_year) < eval(b_year)){ return -1};
if (eval(a_month) > eval(b_month)){ return 1};
if (eval(a_month) < eval (b_month)){ return -1};
if (eval(a_day) > eval(b_day)){ return 1};
if (eval(a_day) < eval(b_day)){ return -1};


return 0;
}



// valide si la periode date_a, date_b ne recoupe pas la période à la date_c, date_d (exemple : pour les saisons)
function vo (date_a, date_b, date_c, date_d) {

if ((length_test(date_a)==false)||(length_test(date_b)==false)||(length_test(date_c)==false)||(length_test(date_d)==false)) return true;

var date_adate=galileo2date(date_a.value)
var date_bdate=galileo2date(date_b.value)
var date_cdate=galileo2date(date_c.value)
var date_ddate=galileo2date(date_d.value)
var date_a=new Date(date_adate)
var date_b=new Date(date_bdate)
var date_c=new Date(date_cdate)
var date_d=new Date(date_ddate)


if (compare_date(date_a, date_c)==0) {return false;}
if (compare_date(date_b, date_d)==0) {return false;}
if (compare_date(date_a, date_d)==0) {return false;}
if (compare_date(date_b, date_c)==0) {return false;}

if (date_a < date_c) {
	             if (date_a>=date_c) {return false;
	             
	             }
	             if (date_b > date_c) {
	             				return false;
	             				
	             			  }
	             else
	             			  {	
	             			  	return true;
	             			  }
}
else
{
		     if (date_d > date_a) {
	             				return false;
	             				
	             			  }
	             else
	             			  {	
	             			  	return true;
	             			  }
}
}



