function isDate(d,f){
  if (f=='d/m/Y'){
    if (d.length!=10)
	  return 0;
	var sep1=d.substring(2,3);
	var sep2=d.substring(5,6);
	var str1=d.substring(0,2);
	var str2=d.substring(3,5);
	var str3=d.substring(6,10);
	if (sep1!='/')
	  return 0;
	if (sep2!='/')
	  return 0;
	if (!isNumber(str1))
	  return 0;
	if (!isNumber(str2))
	  return 0;
	if (!isNumber(str3))
	  return 0;
	return 1;
  }
  if (f=='Y-m-d'){
    if (d.length!=10)
	  return 0;
	var sep1=d.substring(4,5);
	var sep2=d.substring(7,8);
	var str1=d.substring(0,4);
	var str2=d.substring(5,7);
	var str3=d.substring(8,10);
	if (sep1!='-')
	  return 0;
	if (sep2!='-')
	  return 0;
	if (!isNumber(str1))
	  return 0;
	if (!isNumber(str2))
	  return 0;
	if (!isNumber(str3))
	  return 0;
	return 1;
  }
  return 0;
}

function isNumber(n){
  var c="";
  for (var i=0;i<n.length;i++){
    c=n.substring(i,i+1);
	if (!isDigit(c))
	  return 0;
  }
  return 1;
}

function isDigit(m){
  var digits="01234567890";
  if (digits.indexOf(m)!=-1)
    return 1;
  return 0;
}

function getColorForNb(nb){
  if (nb==0)
    return "red";
  return "orange";
}

function showArrow(param,show,color){
  //alert('sti_'+param);
  var div=document.getElementById('sti_'+param);
  div.src='../img/'+color+'_arrow.gif';  
  if (show)
    div.style.display="inline";
  else
    div.style.display="none";
}

function testText(param,nbe){
  var value=document.f.elements[param].value;
  var color=getColorForNb(nbe);
  if (value!=''){
    showArrow(param,0,color);
    return 1;
  }
  showArrow(param,1,color);
  return 0;
}

function testDate(param,df,nbe){
  var value=document.f.elements[param].value;
  var color=getColorForNb(nbe);
  if (value=='' || !isDate(value,df)){
    showArrow(param,1,color);
    return 0;
  }
  showArrow(param,0,color);
  return 1;
}

function testSelect(param,nbe){
  var value=document.f.elements[param].value;
  var color=getColorForNb(nbe);
  if (value==0){
    showArrow(param,1,color);
    return 0;
  }
  showArrow(param,0,color);
  return 1;
}

function testRadio(param,nb_radio,nbe){
  var i;
  var ok=0;
  var color=getColorForNb(nbe);
  for (i=0;i<nb_radio;i++){
    if (document.f.elements['r_'+param][i].checked)
	  ok=1;
  }
  if (ok){
    showArrow(param,0,color);
    return 1;
  }
  showArrow(param,1,color);
  return 0;
}

function getRadioValue(param,lg){
  var i=0;
  for (i=0;i<lg;i++){
    if (document.f.elements['r_'+param][i].checked)
	  document.f.elements[param].value=document.f.elements['r_'+param][i].value;
  }
}

