function check_orderform( )
{
    var codlang = parseInt(document.orderform.js_language.value) ;


    switch (codlang)
     {
	  case 2:
        // english
        var fieldlabel00 = "You must purchase one product, at least.";
        var fieldlabel01 = "NAME";
        var fieldlabel02 = "ADRESS";
        var fieldlabel03 = "ZIP";
        var fieldlabel3A = "The first two positions of the ZIP area don't match with the selected departement number.";
        var fieldlabel04 = "CITY";
        var fieldlabel05 = "E-MAIL";
        var fieldlabel06 = "PHONE NUMBER";
        var fieldlabel07 = "FAX";
        var fieldlabel08 = "SUBJECT";
        var fieldlabel09 = "YOUR COMMENTS";
        var fieldlabel20 = "Credit Card payments over \u20AC2000 are not allowed.";
        break;
	  case 3:
        // italian
        var fieldlabel00 = "Vous devez commander quelquechose !";
        var fieldlabel01 = "NOMBRE";
        var fieldlabel02 = "DIRECCI%D3N";
        var fieldlabel03 = "CP.";
        var fieldlabel04 = "POBLACI%D3N";
        var fieldlabel05 = "CORREO ELECTR%D3NICO";
        var fieldlabel06 = "TEL. FIJE";
        var fieldlabel07 = "FAX";
        var fieldlabel08 = "MOTIVO DE CONTACTO";
        var fieldlabel09 = "SUS COMMENTARIOS";
        var fieldlabel20 = "Le Montant TTC maximum d'un paiement par Carte Bancaire ne peut pas d%E9passer 2000 %80uros.";
        break;
     default:
        // default: French
        var fieldlabel00 = "Vous devez commander au moins un produit !";
        var fieldlabel01 = "NOM";
        var fieldlabel02 = "ADRESSE";
        var fieldlabel03 = "C.P.";
        var fieldlabel3A = "Les deux 1ers chiffres du C.P. ne correspondent pas au departement de livraison choisi.";
        var fieldlabel04 = "VILLE";
        var fieldlabel05 = "E-MAIL";
        var fieldlabel06 = "TEL. FIXE";
        var fieldlabel07 = "FAX";
        var fieldlabel08 = "MOTIF DU CONTACT";
        var fieldlabel09 = "VOS COMMENTAIRES";
        var fieldlabel20 = "Les paiements par Carte Bancaire sont plafonn%E9s %E0 2000 \u20ACuros.";
        break;
     }



    if ( document.orderform.cb_qty1.value=="0" && document.orderform.cb_qty2.value=="0" )
       {
       alert( fieldlabel00 ) ;
       document.orderform.cb_qty1.focus();
       return false;
       }

//    if ( document.orderform.totalttc.value > 2000 && document.orderform.Radio1[0].checked == true  )
    if ( document.orderform.totalttc.value > 2000 && document.orderform.Radio1[0].checked == true  )
       {
       window.warnbox( fieldlabel20 ) ;
       // window.warnbox( document.orderform.Radio1[0].checked == true ) ;
       document.orderform.cb_qty1.focus();
       return false;
       }




    if ( !check_text(document.orderform.nom, fieldlabel01, 255, codlang ) )
       return false;

	 if ( !check_text(document.orderform.adr1, fieldlabel02, 255, codlang ) )
	    return false;

	 if ( !check_text(document.orderform.codpost, fieldlabel03, 255, codlang ) )
	    return false;


    if (  document.orderform.liv_codpost.value.length==0 && ( left(document.orderform.codpost.value,2) != document.orderform.cb_dept.value)  )
       {
       alert( fieldlabel3A ) ;
       document.orderform.codpost.focus();
       return false;
       }

    if ( ( left(document.orderform.liv_codpost.value,2) != document.orderform.cb_dept.value )  &&  ( left(document.orderform.codpost.value,2) != document.orderform.cb_dept.value )   )
       {
       alert( fieldlabel3A ) ;
       document.orderform.liv_codpost.focus();
       return false;
       }



	 if ( !check_text(document.orderform.ville, fieldlabel04, 255, codlang ) )
	    return false;

	 if ( !check_email(document.orderform.email, fieldlabel05, codlang ) )
	    return false;

	 if ( !check_text(document.orderform.telfixe, fieldlabel06, 255, codlang ) )
	    return false;

//	 if ( !check_text(document.orderform.fax, fieldlabel07, 255, codlang ) )
//   return false;

	 if ( !check_text(document.orderform.telfixe, fieldlabel08, 255, codlang ) )
	    return false;

//	 if ( !check_text(document.orderform.commentaires, fieldlabel09, 1000, codlang ) )
//	    return false;



return true;
}



function clear_orderform()
{

    var sav_lang    = document.orderform.js_language.value ;
    var sav_subject = document.orderform.js_subject.value  ;
    var sav_comment = document.orderform.js_comment.value  ;

	 var n = 0 ;
	 var nb = document.orderform.elements.length  ;

	 while(n<nb)
      {
		  document.orderform.elements[n].value="";
		  n++;
		}


    document.orderform.js_language.value  = sav_lang    ;
    document.orderform.motif.value        = sav_subject ;
    document.orderform.commentaires.value = sav_comment ;


    document.orderform.js_subject.value  = sav_subject ;
    document.orderform.js_comment.value  = sav_comment ;
}




function val(string)
{

var nvalue = parseFloat(string);

if( isNaN(nvalue) )
 {
   nvalue = 0;
 }

 return nvalue;

}



function str( nvalue, npos, ndec)
{

var string = "";

if( isNaN(nvalue) )
 {
   nvalue = 0;
 }

string = nvalue.toFixed(ndec);

return string;

}



// string.substring([départ],[fin])
// Note l'index commence à 0.

function left(str, n)
{
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}



function right(str, n)
{
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else
     {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
     }
}





function clear_formrow( nrow )
{

 var sdformat;
 var dept;
 var oDate;


 if ( nrow==0 )
  {
    dept = document.orderform.cb_dept.value;
    sdformat = 'Ymd'+  "/"+left(dept,1)+  "/"+right(dept,1)  +'His';

    oDate = new Date();
// jnd marche pas sous i.e v<7    document.orderform.js_numcde.value = oDate.dateFormat( sdformat);
    document.orderform.js_numcde.value = datefmt( oDate, sdformat);
  }




  if (nrow==1 || nrow==0 )
   {
     document.orderform.cb_qty1.value  = "0";
     document.orderform.get_pu1.value  = "" ;
     document.orderform.get_mt1.value  = "" ;
   }

  if (nrow==2 || nrow==0 )
   {
     document.orderform.cb_qty2.value  = "0";
     document.orderform.get_pu2.value  = "" ;
     document.orderform.get_mt2.value  = "" ;
   }

  eval_orderform();
}



function eval_orderform()
{

    var nTotHT   = 0 ;
    var nTotTVA  = 0 ;
    var nTotTTC  = 0 ;

    var tmp_mtht = 0 ;

    if (document.orderform.cb_qty1.value=="0" || document.orderform.get_pu1.value=="" )
     {
       document.orderform.cb_qty1.value  = "0";
       document.orderform.get_pu1.value  = "" ;
       document.orderform.get_mt1.value  = "" ;
     }
    else
     {
       tmp_mtht = parseFloat(document.orderform.cb_qty1.value) * parseFloat(document.orderform.get_pu1.value)
       document.orderform.get_mt1.value  = tmp_mtht.toFixed(2) ;
     }



    if (document.orderform.cb_qty2.value=="0" || document.orderform.get_pu2.value=="" )
     {
       document.orderform.cb_qty2.value  = "0";
       document.orderform.get_pu2.value  = "" ;
       document.orderform.get_mt2.value  = "" ;
     }
    else
     {
       tmp_mtht = parseFloat(document.orderform.cb_qty2.value) * parseFloat(document.orderform.get_pu2.value)
       document.orderform.get_mt2.value  = tmp_mtht.toFixed(2) ;
     }





    nTotHT   = val(document.orderform.get_mt1.value) + val(document.orderform.get_mt2.value) ;
    nTotHT   = str( nTotHT , 10, 2 );

    nTotTVA  = (nTotHT * 5.5 ) / 100 ;
    nTotTVA  = str( nTotTVA, 10, 2 );

    nTotTTC  = str( val(nTotHT) + val(nTotTVA), 10, 2 )  ;


    document.orderform.get_totalht.value   = nTotHT  ;
    document.orderform.get_totaltva.value  = nTotTVA ;
    document.orderform.get_totalttc.value  = nTotTTC ;

}






function setprice1(ncodlang, aJSpelletprice, aJStransport)
{

  var i = 0 ;
  var cdept = document.orderform.cb_dept.value;
  var npal  = val( document.orderform.cb_qty1.value );
  var npuht = 0 ;

  if ( val(cdept)==0 )
   {
     if (ncodlang==1)
      {
        alert( "Vous devez renseigner votre departement de livraison !" ) ;
      }
     else
      {
        alert( "You must enter a valid french department!" ) ;
      }
   document.orderform.get_pu1.value = "" ;
   eval_orderform() ;
   document.orderform.cb_dept.focus() ;
   return;
   }


  if ( npal==0 )
   {
   // Forcer les zones à vide et retour à l'item choisir=0 de la CB nb palettes
   document.orderform.get_pu1.value = "" ;
   eval_orderform() ;
   return;
   }


  // -- recuperer le puv ht des pellets en fonction du nb de palettes demandé
  // jnd le 19.04.09 ne marche pas sous i.e <v7 ???!!!
  // npuht = npuht + aJSpelletprice[0][npal] ;
  // alert( npuht )

  // -- Trouver et ajouter a npuht, la valeur du transport en rapport avec le dept et le nb palettes demandés
  // jnd le 19.04.09 ne marche pas sous i.e <v7 ???!!! for (i=0; i<aJStransport.length; i++)
  for (i=0; i<aJStransport.length; i=i+1)
    {
      if (aJStransport[i][0]==cdept)
       {
         npuht = npuht + aJStransport[i][npal] ;
         i = aJStransport.length+1
       }
    }


  // document.orderform.get_pu1.value = str( npuht, 10, 2 ) ;
  document.orderform.get_pu1.value = str( npuht+aJSpelletprice[0][npal], 10, 2 ) ;
  eval_orderform() ;

}




function setprice2(ncodlang, aJSlogprice, aJStransport)
{
  var i = 0 ;
  var npuht = 0 ;
  var cdept = document.orderform.cb_dept.value ;
  var npal  = val( document.orderform.cb_qty2.value );


  if ( val(cdept)==0 )
   {
     if (ncodlang==1)
      {
        alert( "Vous devez renseigner votre departement de livraison !" );
      }
     else
      {
        alert( "You must enter a valid french department!" ) ;
      }
   document.orderform.get_pu2.value = "" ;
   eval_orderform() ;
   document.orderform.cb_dept.focus() ;
   return;
   }


  if ( npal==0 )
   {
   // Forcer les zones à vide et retour à l'item choisir=0 de la CB nb palettes
   document.orderform.get_pu2.value = "" ;
   eval_orderform() ;
   return;
   }


  // -- recuperer le puv ht des buches en fonction du nb de palettes demandé
  // jnd le 19.04.09 ne marche pas sous i.e <v7 ???!!!
  // npuht = npuht + aJSlogprice[0][npal] ;
  // alert( npuht )





  // -- Trouver et ajouter la valeur du transport en rapport avec le dept et le nb palettes demandés
  // jnd le 19.04.09 ne marche pas sous i.e <v7 ???!!! for (i=1; i<aJStransport.length; i++)
  for (i=0; i<aJStransport.length; i=i+1)
    {
      // alert(aJStransport[i][0]+' > '+cdept );

      if (aJStransport[i][0]==cdept)
       {
         // alert(aJStransport[i][npal]);
         npuht = npuht + aJStransport[i][npal] ;
         i = aJStransport.length+1
       }
    }


  // alert(npuht);

  // document.orderform.get_pu2.value = str( npuht, 10, 2 ) ;
  document.orderform.get_pu2.value = str( npuht+aJSlogprice[0][npal], 10, 2 ) ;
  eval_orderform() ;
}




/*
 Foxpro function 	Javascript function 	Foxpro sample 	Javascript equivalent
 $ 	indexOf > 0 	'i' $ 'string' 	'string'.indexOf('i') > 0
 LEN 	length 	LEN('ABC') 	'string'.length
 SUBSTR 	substr 	SUBSTR('string',3,2) 	'string'.substr(2,2)
 LEFT 	substr 	LEFT('string',2) 	'string'.substr(0,2)
 RIGHT 	substr 	RIGHT('string',2) 	'string'.substr('string'.length-2)
 STRTRAN 	replace 	STRTRAN('stringstring', 'in', 'IN') 	'stringstring'.replace(/in/g, 'IN')
 LTRIM 	ltrim (stringlib.js) 	LTRIM(' string ') 	'=='+ ltrim(' string ')+ '=='
 RTRIM 	rtrim (stringlib.js) 	RTRIM(' string ') 	'=='+ rtrim(' string ')+ '=='
 ALLTRIM 	alltrim (stringlib.js) 	ALLTRIM(' string ') 	'=='+ alltrim(' string ')+ '=='
*/

