IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Article] Cr�er une table HTML �ditable en JavaScript v1.0


Sujet :

JavaScript

  1. #1
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut [Article] Cr�er une table HTML �ditable en JavaScript v1.0
    Je vous propose un tutoriel qui vous montrera comment cr�er une classe JavaScript permettant de cr�er une table HTML �ditable et, je l'esp�re, "sexy" ^^.

    Ce tutoriel est le premier lot (v1.0). C'est-�-dire que d'autres suivront avec leur lot d'�volutions.

    Actuellement et pour se mettre dans l'ambiance, la table r�sultante permet l'affichage des donn�es (encore heureux), l'�dition � la "Excel" (au double clic appara�t un input), la r�cup�ration des donn�es, la cr�ation de nouvelles lignes et colonnes.

    A venir :
    - rendre une table, d�j� cr��e dans votre document HTML, �ditable
    - tri
    - navigation avec les fl�ches
    - formules de calcul entre les colonnes
    - select, checkbox, radio, bouton... � la place de l'input
    ...

    N'h�sitez � me faire part de vos remarques, optimisations, corrections, suggestions, encouragements. Tout ce qui peut �tre utile � am�liorer ce tutoriel et � proposer un contr�le web performant.

    En esp�rant que cela vous plaira,
    BBS

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Si la suite est de la m�me veine, c'est tout bon !
    En tout cas, f�licitations pour cet article tr�s complet !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Sublime code !!!!

    1 - J'ai adapt� ta solution pour mes besoin, seulement j'ai un petit souci, le onblur sous FF ne marche pas chez moi alors qu'il fonctionne sur ton exemple....

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
    611
    612
    613
    614
    615
    616
    617
    618
    619
    620
    621
    622
    623
    624
    625
    626
    627
    628
    629
    630
    631
    632
    633
    634
    635
    636
    637
    638
    639
    640
    641
    642
    643
    644
    645
    646
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Portail des experts</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="cache-control" content="no-cache" />
    <META NAME="Description" CONTENT="Systeme de partage d'information et de travail collaboratif des experts de la SMACL - Portail des experts automobiles de la smacl">
    <link rel="icon" type="image/gif" href="../templates/divers/icone.gif" />
    <script type="text/javascript" src="../commun/javascript.js"></script>
    <script type="text/javascript" src="../commun/jquery.js"></script>
    <style type="text/css">
    body { margin:0px; font-family:arial,helvetica,sans-serif; font-size:11px;  color:#000;   background-color:#fff;  background-attachment:fixed; background-position:center center; background-repeat:no-repeat; }
     
    /* BLOCKS PRINCIPAUX */
    .menu_td				{ width:260px; font-weight:bold; }
    .menu_block				{ margin-bottom:5px; }
    .menu_ligne				{ cursor:pointer; margin:0px; margin-top:5px; }
    .menu_ligne:hover		{ color:#999; }
    .content				{ padding:10px; vertical-align:top;  border:1px solid #777; -moz-border-radius:4px; background-color:#fff; background-image:url(../templates/divers/background.jpg); background-repeat:no-repeat;  }
    .div_menu_horizontal	{ float:left; padding:2px;  border:1px solid #777; -moz-border-radius:4px; background-color:#fff; background-image:url(../templates/divers/background.jpg); background-repeat:no-repeat;  }
    .div_center				{ width:1100px; margin-left:auto; margin-right:auto; margin-top:10px; }
     
    /* CONTENU */
    .div_element_deselect	{ float:left; margin:7px; margin-top:0px; margin-left:0px;  border:1px solid #777; -moz-border-radius:4px; background-color:#fff; background-image:url(../templates/divers/background.jpg); background-repeat:no-repeat; 	}
    .div_element_select		{ float:left; margin:7px; margin-top:0px; margin-left:0px;  border:1px solid #000; -moz-border-radius:4px; background-color:#aaa; 	}
    .div_element_deselect:hover	{ border:1px solid #aaa; }
    .div_element_options	{ float:left; margin-top:-1px; margin-left:-1px; }
    .div_element_contenu	{ height:100%; position:relative; overflow:hidden; background-repeat:no-repeat; line-height:1; }
    .div_element_table		{ height:100%; width:100%; }
    .div_element_table_stat	{ table-layout: fixed; height:95%; width:95%; border:1px solid black; border-collapse:collapse; margin-left:auto; margin-right:auto; }
    .div_element_table_stat tbody td { height:40px; vertical-align:middle; font-size:11px; border:1px solid black;}
    .div_element_td			{ vertical-align:middle; font-weight:bold; font-size:11px;}
    .div_element_image		{ width:85px; cursor:pointer; vertical-align:middle }
    .div_element_infos		{ text-align:center; font-weight:bold; vertical-align:middle; }
    .div_element_aucun		{ padding:2px;  border:1px solid #777; -moz-border-radius:4px; background-color:#fff; background-image:url(../templates/divers/background.jpg); background-repeat:no-repeat;  height:80px; padding-top:50px; text-align:center; font-weight:bold; font-size:14px; }
    .div_element_page		{ padding:2px;  border:1px solid #777; -moz-border-radius:4px; background-color:#fff; background-image:url(../templates/divers/background.jpg); background-repeat:no-repeat;  padding-top:50px; text-align:center; font-weight:bold; font-size:14px; }
    .div_infos				{ border: dotted 1px #700; -moz-border-radius:5px; background-color:#300; color:#fff; text-align:center; font-style:italic; padding:5px; }
     
    /* LIENS */
    a						{  color:#000;  cursor:pointer; text-decoration:none; }
    a:hover					{  color:#555;  }
    .lien					{  color:#000;  cursor:pointer; font-weight:bold; text-decoration:none; }
    .lien:hover				{  color:#555;  }
    .lien_select			{  color:#F77D19;  cursor:pointer; font-weight:bold;text-decoration:none; }
    .lien_select2			{  color:#c60;  cursor:pointer; font-weight:bold;text-decoration:none; }
     
    /* ICONE */
    .icone_module 			{ vertical-align:top; cursor:pointer; margin:5px; height:34px; }
    .icone_module_select	{ vertical-align:top; cursor:pointer; margin:3px; margin-top:16px; }
    .icone_module_masque	{ vertical-align:top; cursor:pointer; margin:3px; opacity:0.5; filter:alpha(opacity=50); }
    .icone_module_masque:hover	{ opacity:1;filter:alpha(opacity=100); }
    .icone					{ opacity:0.9; filter:alpha(opacity=90); }
    .icone:hover			{ opacity:1; filter:alpha(opacity=100); }
     
    /* LIBELLES & CHAMPS DES FORMULAIRES  */
    input[type=text], input[type=password], input[type=file], textarea,	{ background-color:#eee; border: #999 1px solid; font-size:11px; font-family:Arial,Helvetica,sans-serif; font-weight:normal; color:#000; }	/* champs texte ou textarea */
    input[type=text]:focus, input[type=password]:focus, textarea:focus, { background-color:#fff; border: #ccc 1px solid; }
    input[type=submit]		{ color: #000; width:120px; font-size:11px; }
    fieldset				{ margin-top:15px; padding:8px;  background-color:#ccc; border:1px solid #777; -moz-border-radius:4px; background-color:#fff; background-image:url(../templates/divers/background.jpg); background-repeat:no-repeat;  }
    legend					{ font-weight:bold; padding-bottom:10px; padding-left:5px; padding-right:5px; }
    select					{ background-color:#fff; font-size:11px; color:#000; }
    form					{ margin:0px; padding:0px; }
    .form_libelle			{ font-weight:bold; }
    .menu_txt_lecture		{ cursor:pointer;  color:#c60;  font-weight:bold; }
    .menu_txt_ecriture		{ cursor:pointer;  color:#F77D19;  font-weight:bold; }
     
    /* CALENDRIER */
    .cal_tableau				{ width:95%; text-align:center; }
    .cal_libelle_jour			{ font-style:italic; padding-top:5px; padding-bottom:5px; }
    .cal_jour_normal			{ cursor:pointer; }
    .cal_jour_normal:hover		{ text-decoration:underline; }
    .cal_jour_du_jour			{ cursor:pointer; font-weight:bold; color:#f33; }
    .cal_jour_selection			{ cursor:pointer; font-weight:bold; }
    .cal_jour_selection:hover	{ text-decoration:underline; }
     
    /* DIVERS CLASS */
    .menu_flottant			{ position:absolute; z-index:100; display:none; width:auto; text-align:left; margin:10px 0px; padding:10px; cursor:auto; -moz-border-radius:5px; font-weight:bold; font-size:11px;  border:2px solid #aaa; color:#000; background-color:#fff; background-image:url(../templates/divers/background.jpg); background-repeat:no-repeat;  }
    .info					{ cursor:help; }
    .cacher					{ display:none; }
    .infobulle				{ position:absolute; z-index:10000; visibility:hidden; padding:7px; border:1px solid #ccc; -moz-border-radius:4px; background-image:url(../templates/divers/fond_opaque_noir.png); }
    .infobulle_contenu		{ padding:7px; max-width:300px; color:#fff; font-weight:bold; background-color:#000; }
    .page_fantome			{ position:fixed; top:0px; left:0px; z-index:100000; display:none; width:100%; height:100%; text-align:center; vertical-align:middle; color:#fff; background-image:url(../templates/divers/fond_opaque_noir.png); }
    .page_fantome_contenu	{ width:100%; height:100%; text-align:center; vertical-align:middle; }
    .div_accueil			{ width:700px; margin:auto;  border:1px solid #777; -moz-border-radius:4px; background-color:#fff; background-image:url(../templates/divers/background.jpg); background-repeat:no-repeat;  font-weight:bold; text-align:center;	}
    .titre_popup			{ font-weight:bold; color:#000; text-align:center; padding:5px; overflow:hidden; background-image:url(../templates/divers/popup_fond_titre.jpg); background-position:bottom left; }
    .tr_survol:hover		{ background-color: #ddd;  }
     
    /* DIVERS BALISES */
    img						{ border:0px; vertical-align:middle; }
    table					{ margin:0px; padding:0px; }
    td						{ vertical-align:top; }
    hr						{ height:1px; opacity:0.35; filter:alpha(opacity=35); }
     
    /* IMPRESSION */
    @media print {
    	body		{ background-color:#fff; color:#000; }
    	.noprint	{ display:none; }
    }
    </style><!--  AGORA-PROJECT is under the GPL. AGORA-PROJECT 2003-2009  -->
    <!--  GNU Public License: http://www.fsf.org/copyleft/gpl.html  -->
    </head>
     
     
    <body>
    <div id="infobulle" class="infobulle"></div>
    <div id="page_fantome" class="page_fantome">
    	<table class="page_fantome_contenu" cellpadding="0" cellspacing="0"><tr><td id="page_fantome_contenu">&nbsp;</td></tr></table>
    </div>
    <table style="position:fixed;top:0px;left:0px;z-index:1000;width:100%;min-width:1000px;" cellpading="0" cellspacing="0" class="noprint"><tr>
    	<td style="width:50px;padding-top:6px;padding-left:10px; background-image:url(../templates/divers/header_gauche.png); background-repeat:repeat-x;" class="lien_select" onMouseOver="afficher('menu_header_principal',true);" onMouseOut="afficher('menu_header_principal',false);" onMouseDown="return false;" onselectstart="return false;">
    		<div class="menu_flottant" id="menu_header_principal">
    			<div style="margin-bottom:3px">Affichage :</div> &nbsp; <a href='/module_darva/index.php?affichage_objet=normal' class='lien_select'>&Eacute;l&eacute;ments qui me sont affect&eacute;s</a><br /> &nbsp; <a href='/module_darva/index.php?affichage_objet=auteur' class='lien'>&Eacute;l&eacute;ments que j'ai cr&eacute;&eacute;s</a><br /> &nbsp; <a href='/module_darva/index.php?affichage_objet=tout' class='lien'>Tous les &eacute;l&eacute;ments de l'espace</a><br /><hr align="center" width="250px" /><div class="menu_ligne" onClick="redir('../index.php?deconnexion=oui');"><img src="../templates/divers/sortir.png" /> &nbsp; D&eacute;connexion du portail</div><hr align="center" width="250px" /><div class="menu_ligne" style="cursor:help"  onMouseOver="bulle('5 % de 100 Mo');" onMouseOut="bullefin();" ><img src="../templates/divers/espace_disque_vert.png" /> &nbsp; Espace disque utilis&eacute;  : 4.64 Mo</div>						
    		</div>
    		<img src="../templates/divers/logo_header.png" />			
    	</td>
    	<td style="vertical-align:top; background-image:url(../templates/divers/header_gauche.png); background-repeat:repeat-x;">
    		<table cellpadding="0px" cellspacing="0px">
    			<tr>
    				<td style="height:25px;vertical-align:middle;font-weight:bold;">
    					Christophe Marraillac				</td>
    			</tr>			
    		</table>
    	</td>
    	<td style="width:65px; background-image:url(../templates/divers/header_centre.png); background-repeat:no-repeat;background-position:top left">
    		&nbsp;
    	</td>
    	<td style="text-align:right; background-image:url(../templates/divers/header_droite.png); background-repeat:repeat-x;" onMouseDown="return false;" onselectstart="return false;">
    		<a href="../module_tableau_bord/"  onMouseOver="bulle('<div style=\'max-width:250px;text-align:center\'>Actualit&eacute;s & nouveaux &eacute;l&eacute;ments<div>');" onMouseOut="bullefin();"  ><img src="../templates/module_tableau_bord/menu.png" class="icone_module"  /></a><a href="../module_forum/"  onMouseOver="bulle('<div style=\'max-width:250px;text-align:center\'>Forum<div>');" onMouseOut="bullefin();"  ><img src="../templates/module_forum/menu.png" class="icone_module"  /></a><a href="../module_contact/"  onMouseOver="bulle('<div style=\'max-width:250px;text-align:center\'>Annuaire de contacts<div>');" onMouseOut="bullefin();"  ><img src="../templates/module_contact/menu.png" class="icone_module"  /></a><a href="../module_darva/"  onMouseOver="bulle('<div style=\'max-width:250px;text-align:center\'>Statistiques Darva<div>');" onMouseOut="bullefin();"  ><img src="../templates/module_darva/menu.png" class="icone_module_select"  /></a>	</td>
    </tr></table>
    <hr style="visibility:hidden;height:60px;" />
    <script type="text/javascript" src="HtmlEditTable.js"></script>
    <script type="text/javascript">
    // Fonction pour l affichage de la page de saisie des statistiques nationales
    function affichage_statistiques_nationales (){
    	document.getElementById("arborescence_fichiers").style.display="none"; 
    	document.getElementById("statistiques_nationales").style.display="block";
    	document.getElementById("statistiques_cabinets").style.display="none";
    }
    function affichage_statistiques_cabinets (){
    	document.getElementById("arborescence_fichiers").style.display="none"; 
    	document.getElementById("statistiques_nationales").style.display="none";
    	document.getElementById("statistiques_cabinets").style.display="block";
    }
     
    // Fonction permettant de ne garder que des chifres 
    function lettre_interdite(pointeur)
    {
    	pointeur.value = pointeur.value.replace(/[^0-9]/g, '');
    }
     
    // Fonction de control des statistiques (par cabinet ou national)
    // Et lançant soit la génération de PDF soit enregistrant les données en base
    function formValid(IdDateDeb,IdDateFin){	
    	//*******************//
    	//* Initialisation *//
    	//*******************//
    	// Variables de parcour du tableau
    	var row;
    	var cell;
    	// Variables pour les années
    	var dateDeb=document.getElementById(IdDateDeb);
    	var dateFin=document.getElementById(IdDateFin);	
    	// Booléen de test des valeurs saisies
    	var succes=true;
     
    	if ((dateDeb!=null) && (dateFin!=null)){
     
    		// Dans le cas "National"
    		if (dateDeb.id=="annee_deb"){		
     
    			// Afin d_éviter le clique successifs		
    			document.getElementById('btValidNational').disabled=true;			
     
    			//**********************************//
    			//* On test si tous est bien saisi *//
    			//**********************************//
     
    			// Les dates
    			if ((succes==true) && (dateDeb.value=="")){ 
    				succes=false;				
    				alert("Renseigner les années concernées par ces statistiques");
    			}
    			if ((succes==true) && (dateFin.value=="")){
    				succes=false;
    				alert("Renseigner les années concernées par ces statistiques");
    			}			
    			if ((succes==true) && ((parseInt(dateDeb.value) >= parseInt(dateFin.value)) || ((parseInt(dateFin.value) - parseInt(dateDeb.value))!=1))){
    				succes=false;
    				alert("Les années saisies sont erronées");
    			}
     
    			// Test les données du table HTML et construction de tableau JS			
    			if (succes==true) {				
    				var table = document.getElementById("table_statistiques_nationales");				
    				// Parcour du tableau 
    				for (var i = 2; i < table.rows.length; i++) {
    				  row = table.rows[i];				 				  
    				  for (var j = 1; j < row.cells.length; j++) {
    				    cell = row.cells[j];				    				    
    				    //Test si la cellule est vide
    				    if (cell.innerHTML=="" || cell.innerHTML=="&nbsp;"){
    				    	succes=false;
    				      alert("Renseigner toutes les cellules du tableau");				    
    				    	break;				    				    	
    				    }		    
    				  }
    				  if (succes==false){
    				  	break;
    				  }
    				}
    			}
     
    			//*******************************//
    			//* Enregistrement des données *//
    			//*******************************//		
    			if (succes==true) {
    				element("formulaire_statistique_national").submit();				
    			}
    			document.getElementById('btValidNational').disabled=false;
    		}
    		// Dans le cas "Par cabinet"
    		else {
    			// Afin d_éviter le clique successifs
    			document.getElementById('btValidCabinet').disabled=true;	
     
    			//**********************************//
    			//* On test si tous est bien saisi *//
    			//**********************************//
     
    			// Les dates
    			if ((succes==true) && (dateDeb.value=="")){ 
    				succes=false;				
    				alert("Renseigner les années concernées par ces statistiques");
    			}
    			if ((succes==true) && (dateFin.value=="")){
    				succes=false;
    				alert("Renseigner les années concernées par ces statistiques");
    			}			
    			if ((succes==true) && ((parseInt(dateDeb.value) >= parseInt(dateFin.value)) || ((parseInt(dateFin.value) - parseInt(dateDeb.value))!=1))){
    				succes=false;
    				alert("Les années saisies sont erronées");
    			}
     
    			// Test les données du table HTML et construction de tableau JS			
    			if (succes==true) {				
    				var table = document.getElementById("table_statistiques_cabinets");				
    				// Parcour du tableau 
    				for (var i = 2; i < table.rows.length; i++) {
    				  row = table.rows[i];				 				  
    				  for (var j = 1; j < row.cells.length; j++) {
    				    cell = row.cells[j];				    				    
    				    // Test si la cellule est vide
    				    if (cell.innerHTML=="" || cell.innerHTML=="&nbsp;"){
    				    	succes=false;
    				      	alert("Renseigner toutes les cellules du tableau");				    
    				    	break;				    				    	
    				    }		    
    				  }
    				  if (succes==false){
    				  	break;
    				  }
    				}
    			}
    			//*********************//
    			//* Génération du PDF *//
    			//*********************//		
    			if (succes==true) {
    				alert("Génération du PDF");				
    			}
    			document.getElementById('btValidCabinet').disabled=false;
    		}
    	}
    }
     
    </script>
     
    <form method="POST" action="ajouter_statistiques_national.php" id="formulaire_statistique_national" enctype="multipart/form-data">
    	<table width="100%" cellspacing="10px" onMouseDown="return false;" onselectstart="return false;"><tr>
    		<td class="menu_td" id="menu_td_gauche">
    			<div class="content menu_block">
    				<script type="text/javascript">
    // Selection du dossier
    var tab_dossiers = new Array();
    function select_dossier(id_dossier, initialise)
    {
    	// change le style du dossier
    	for(var i=0; i< tab_dossiers.length; i++)	{ set_css("dossier_"+tab_dossiers[i]["id_dossier"],"lien"); }
    	set_css("dossier_"+id_dossier,"lien_select");
    	// Action spécifique (select_dossier_action) / Action par défaut
    	if(initialise==undefined) {
    		if("function"==typeof(select_dossier_action))	{ select_dossier_action(id_dossier); }
    		else											{ redir("/module_darva/index.php?id_dossier="+id_dossier); }
    	}
    }
     
    // Affichage/masquage des dossiers enfants
    function afficher_dossiers_enfants(id_dossier) {
    	for(var i=0; i< tab_dossiers.length; i++)
    	{
    		if(tab_dossiers[i]["id_dossier_parent"]==id_dossier)	afficher("div_dossier_"+tab_dossiers[i]["id_dossier"],true,"block");
    	}
    }
    </script>
     
     
    <div style="margin:0px;padding:0px;overflow-y:auto;max-height:500px;"><script type="text/javascript">tab_dossiers[0] = Array();tab_dossiers[0]["id_dossier"] = "1"; tab_dossiers[0]["id_dossier_parent"] = ""; </script><div id="div_dossier_1" style="padding:1px;cursor:pointer;0"><img src="../templates/divers/dossier_arborescence.png" onClick="select_dossier(1);" /><span id="dossier_1" onClick="select_dossier(1);" title="Dossier racine des statistiques du portail des experts"> Statistiques</span>&nbsp;
     
    <span onMouseOver="afficher_info_edit('196839fichier_dossier1','');" onMouseOut="afficher('196839fichier_dossier1',false);">
    	<div class="menu_flottant" style="width:auto" id="196839fichier_dossier1" onMouseDown="return false;" onselectstart="return false;">
    			<table width="100%" cellspacing="0px"><tr style=" color:#F77D19; cursor:help;"  onMouseOver="bulle('Acc&eacute;s en &eacute;criture : ajout, modification et suppression d\'elements et de sous-dossiers.');" onMouseOut="bullefin();"  ><td width="50px">&Eacute;criture : </td><td>Acc&eacute;s en &eacute;criture par d&eacute;faut</td><td style="width:25px;text-align:right;opacity:0.7"><img src="../templates/divers/info.png" /></td></tr></table><hr align="center" /><table><tr class="lien" onclick="popup('../divers/dossier_edit.php?module_dossier=module_darva&type_objet_dossier=fichier_dossier&id_dossier=1');"><td style="width:25px;"><img src="../templates/divers/crayon.png" /></td><td>Modifier + Droits d'acc&eacute;s</td></tr></table><hr align="center" /><div style="text-align:center">2 dossier(s)<img src="../templates/divers/separateur.gif" />2 element(s)<img src="../templates/divers/separateur.gif" />4.28 Mo</div>	</div>
    	<img src="../templates/divers/options_small.png" />
    </span></div><script type="text/javascript">tab_dossiers[1] = Array();tab_dossiers[1]["id_dossier"] = "10"; tab_dossiers[1]["id_dossier_parent"] = "1"; </script><div id="div_dossier_10" style="padding:1px;cursor:pointer;0"><img src="../templates/divers/dependance_dossier.png" /><img src="../templates/divers/dossier_arborescence.png" onClick="select_dossier(10);" /><span id="dossier_10" onClick="select_dossier(10);" title=""> Darva</span>&nbsp;</div><script type="text/javascript">tab_dossiers[2] = Array();tab_dossiers[2]["id_dossier"] = "11"; tab_dossiers[2]["id_dossier_parent"] = "1"; </script><div id="div_dossier_11" style="padding:1px;cursor:pointer;0"><img src="../templates/divers/dependance_dossier.png" /><img src="../templates/divers/dossier_arborescence.png" onClick="select_dossier(11);" /><span id="dossier_11" onClick="select_dossier(11);" title=""> Par cabinet</span>&nbsp;</div></div><div class="lien" style="text-align:right;margin-top:5px"  onclick="popup('../divers/dossier_edit.php?module_dossier=module_darva&type_objet_dossier=fichier_dossier&id_dossier_parent=1','ajouter');">Ajouter dossier &nbsp; <img src="../templates/divers/dossier_ajouter.png" /></div>
     
    <script type="text/javascript">  select_dossier(1, true);  </script>			</div>
    			<div class="content menu_block">
    				<div onclick="popup('ajouter_fichiers.php?id_dossier=1');" class="menu_ligne"><img src="../templates/module_darva/ajouter_fichiers.png" /> &nbsp; D&eacute;poser des statistiques Darva</div><hr /><div onclick="affichage_statistiques_nationales();" class="menu_ligne"><img src="../templates/module_darva/statistiques_nationales.png" /> &nbsp; Saisir des statistiques nationales</div><hr /><div onclick="affichage_statistiques_cabinets();" class="menu_ligne"><img src="../templates/module_darva/statistiques_cabinets.png" /> &nbsp; Saisir des statistiques par cabinet</div><hr /><div class="menu_ligne" onClick="if(nb_elements_select(false,'fichier-')==0) selection_tous_elements(true,'fichier-');  redir('creer_archive.php?elements='+elements_url());"><img src="../templates/module_darva/telecharger_fichiers.png" /> T&eacute;l&eacute;charger les fichiers</div><div class="menu_ligne" onMouseOver="afficher('menu_affichage',true);" onMouseOut="afficher('menu_affichage',false);" onMouseDown="return false;" onselectstart="return false;"><div class="menu_flottant" id="menu_affichage"><a href="/module_darva/index.php?id_dossier=1&type_affichage=bloc" class="lien"><img src="../templates/divers/affichage_bloc.png" style="margin-bottom:5px;" /> &nbsp; Bloc</a><br /><a href="/module_darva/index.php?id_dossier=1&type_affichage=liste" class="lien_select"><img src="../templates/divers/affichage_liste.png" /> &nbsp; Liste</a></div><img src="../templates/divers/affichage_liste.png" /> &nbsp; Affichage</div><div class="menu_ligne" onMouseOver="afficher('menu_tri',true);" onMouseOut="afficher('menu_tri',false);" onMouseDown="return false;" onselectstart="return false;"><div class="menu_flottant" id="menu_tri"><a href="/module_darva/index.php?id_dossier=1&tri=nom@@asc" class="lien_select">nom &nbsp;<img src="../templates/divers/tri_asc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=nom@@desc" class="lien">nom &nbsp;<img src="../templates/divers/tri_desc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=date@@desc" class="lien">date de cr&eacute;ation &nbsp;<img src="../templates/divers/tri_desc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=date@@asc" class="lien">date de cr&eacute;ation &nbsp;<img src="../templates/divers/tri_asc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=id_utilisateur@@asc" class="lien">auteur &nbsp;<img src="../templates/divers/tri_asc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=id_utilisateur@@desc" class="lien">auteur &nbsp;<img src="../templates/divers/tri_desc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=extension@@asc" class="lien">type de fichier &nbsp;<img src="../templates/divers/tri_asc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=extension@@desc" class="lien">type de fichier &nbsp;<img src="../templates/divers/tri_desc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=taille_octet@@asc" class="lien">taille &nbsp;<img src="../templates/divers/tri_asc.png" /></a><br /><a href="/module_darva/index.php?id_dossier=1&tri=taille_octet@@desc" class="lien">taille &nbsp;<img src="../templates/divers/tri_desc.png" /></a><br /></div><img src="../templates/divers/tri.png" /> &nbsp;Tri&eacute; par &nbsp;nom &nbsp; <img src="../templates/divers/tri_asc.png" /></div><script type="text/javascript">
    ////	NB ELEMENTS SELECTIONNES
    ////	type_element => si on ne souhaite qu'un certain type d'element
    function nb_elements_select(alerte, type_element)
    {
    	tab_elements = document.getElementsByName("elements[]");
    	var nb_elements_select = 0;
    	for(var i=0; i< tab_elements.length; i++)
    	{
    		if(tab_elements[i].checked==true  &&  (type_element==undefined || tab_elements[i].value.substring(0,type_element.length)==type_element))	nb_elements_select++;
    	}
    	if(nb_elements_select==0 && alerte==true)	alert("Aucun &eacute;l&eacute;ment n'a &eacute;t&eacute; s&eacute;lectionn&eacute;");
    	return nb_elements_select;
    }
     
     
    ////	PREPARATION URL
    ////
    function elements_url()
    {
    	element_url = "";
    	tab_elements = document.getElementsByName("elements[]");
    	for(var i=0; i< tab_elements.length; i++)		{  if(tab_elements[i].checked==true)  element_url += tab_elements[i].value+"@@";  }
    	return element_url;
    }
     
     
    ////	SÉLECTION / DÉSELECTION ÉLEMENT
    ////	selectionner => selection/deselection/bascule
    function selection_element(id_elem, selectionner, pas_aff_menu)
    {
    	checkbox_element = element("checkbox_element_"+id_elem);
    	if (selectionner==true ||  (selectionner==null && checkbox_element.checked==false))			{ checkbox_element.checked = true;   element("div_element_"+id_elem).className = "div_element_select"; }
    	else if (selectionner==false ||  (selectionner==null && checkbox_element.checked==true))	{ checkbox_element.checked = false;  element("div_element_"+id_elem).className = "div_element_deselect"; }
    	// Affiche le menu complet ?
    	if(element("menu_elements_bis") && pas_aff_menu!=true) {
    		if(nb_elements_select()>0 && element('menu_elements_bis').style.display=="none")	{ afficher_dynamic('menu_elements_bis', null, true); }
    		else if(nb_elements_select()==0)													{ afficher_dynamic('menu_elements_bis', null, false); }
    	}
    }
     
     
    ////	SELECTION / DESELECTION DE TOUS LES ELEMENTS
    ////	selectionner => selection/deselection/bascule   type_element => si on ne souhaite qu'un certain type d'element
    function selection_tous_elements(selectionner, type_element)
    {
    	////	Init
    	if(selectionner==undefined)  selectionner = "bascule";
    	tab_elements = document.getElementsByName("elements[]");
    	nb_selections = 0;
    	////	On lance la sélection/déselection (filtre un type d'element si besoin)
    	for(var i=0; i< document.getElementsByName("elements[]").length; i++)
    	{
    		if(type_element==undefined || tab_elements[i].value.substring(0,type_element.length)==type_element) {
    			id_elem = i + 1;
    			if(selectionner==true || (selectionner=="bascule" && element("checkbox_element_"+id_elem).checked==false))	{ select = true;  nb_selections ++; }
    			else																										{ select = false; }
    			selection_element(id_elem, select, true);
    		}
    	}
    	if(nb_selections>0)		{ afficher_dynamic('menu_elements_bis', null, true); }
    	else					{ afficher_dynamic('menu_elements_bis', null, false); }
    }
     
     
    ////	SUPPRIMER LES ÉLEMENTS SÉLECTIONNÉS
    ////
    function supprimer_elements()
    {
    	if(nb_elements_select(true) > 0  &&  confirm("Confirmez-vous la suppression ? (x"+nb_elements_select()+")")==true)
    		redir("elements_suppr.php?elements="+elements_url()+"&id_dossier_retour=1");
    }
    </script>
     
     
     
    <div class="menu_ligne" onClick="selection_tous_elements('bascule','fichier-');" title="inverser la s&eacute;lection"><img src="../templates/divers/elements_menu.png" /> &nbsp; S&eacute;lectionner / D&eacute;selectionner</div><div id="menu_elements_bis" style="display:none"><div class="menu_ligne" style="padding-left:20px;" onClick="if(nb_elements_select(true)>0) popup('../divers/deplacer.php?module_dossier=module_darva&type_objet_dossier=fichier_dossier&id_dossier_parent=1&elements='+elements_url(),'deplacer');"><img src="../templates/divers/dossier_deplacer.png" /> &nbsp; D&eacute;placer dans un autre dossier</div><div class="menu_ligne" style="padding-left:20px;" onClick="supprimer_elements();"><img src="../templates/divers/supprimer.png" /> &nbsp; Supprimer les &eacute;l&eacute;ments</div></div>			</div>
    		</td>
    		<td id="arborescence_fichiers">
    			<div class="div_menu_horizontal" onMouseDown="return false;" onselectstart="return false;">&nbsp;<a href="index.php?id_dossier=1" class="lien"><img src="../templates/divers/dossier_arborescence.png" />&nbsp;Statistiques</a>&nbsp;&nbsp;</div><hr style="clear:both;visibility:hidden;" /><div class="div_element_deselect" style="width:100%;height:40px;cursor: url('../templates/divers/elements_selectionner.png'),crosshair;" id="div_element_1" onClick="selection_element('1');"><input type="checkbox" name="elements[]" id="checkbox_element_1" value="fichier_dossier-10" style="display:none;" /><div class="div_element_options">
     
    <span onMouseOver="afficher_info_edit('300873fichier_dossier10','');" onMouseOut="afficher('300873fichier_dossier10',false);">
    	<div class="menu_flottant" style="width:auto" id="300873fichier_dossier10" onMouseDown="return false;" onselectstart="return false;">
    			<table width="100%" cellspacing="0px"><tr style=" color:#F77D19; cursor:help;"  onMouseOver="bulle('Acc&eacute;s en &eacute;criture : ajout, modification et suppression d\'elements et de sous-dossiers.<br /><br />Seul l\'auteur et les administrateurs peuvent modifier les droits d\'acc&eacute;s.');" onMouseOut="bullefin();"  ><td width="50px">&Eacute;criture : </td><td>Portail des experts<br />Christophe Marraillac, Ferreira Frederic</td><td style="width:25px;text-align:right;opacity:0.7"><img src="../templates/divers/info.png" /></td></tr></table><hr align="center" /><table><tr class="lien" onclick="popup('../divers/dossier_edit.php?module_dossier=module_darva&type_objet_dossier=fichier_dossier&id_dossier=10');"><td style="width:25px;"><img src="../templates/divers/crayon.png" /></td><td>Modifier + Droits d'acc&eacute;s</td></tr></table><table><tr class="lien" onclick="popup('../divers/deplacer.php?module_dossier=module_darva&type_objet_dossier=fichier_dossier&id_dossier_parent=1&elements=fichier_dossier-10');"><td style="width:25px;"><img src="../templates/divers/dossier_deplacer.png" /></td><td>D&eacute;placer dans un autre dossier</td></tr></table><table><tr class="lien" onclick="confirmer('Confirmer la suppression du dossier et toutes les donn&eacute;es qu\'il contient ? &nbsp; Attention! certains sous-dossiers ne vous sont peut-&eacute;tre pas accessibles : ils seront &eacute;galement effac&eacute;s !! ','elements_suppr.php?id_dossier=10&id_dossier_retour=1');"><td style="width:25px;"><img src="../templates/divers/supprimer.png" /></td><td>Supprimer</td></tr></table><hr align="center" /><div style="text-align:center">Auteur :  Christophe Marraillac <br />Cr&eacute;&eacute; jeudi 20/08/2009 &Eacute; 16:20</div><hr align="center" /><div style="text-align:center">2 element(s)<img src="../templates/divers/separateur.gif" />4.21 Mo</div>	</div>
    	<img src="../templates/divers/options.png" />
    </span></div><div class="div_element_contenu" ><table class="div_element_table"><tr><td class="div_element_td" style="width:70px"><img src="../templates/divers/dossier.png"  class="lien" onClick="redir('/module_darva/index.php?id_dossier=10');"  style="position:absolute;margin-top:-20px;" /></td><td class="div_element_td lien"  class="lien" onClick="redir('/module_darva/index.php?id_dossier=10');" >Darva</td><td class="div_element_td" align="right">2 element(s)<img src="../templates/divers/separateur.gif" />4.21 Mo <img src="../templates/divers/separateur.gif" /> Christophe Marraillac <img src="../templates/divers/separateur.gif" /> 20/08/2009</td></tr></table></div></div><div class="div_element_deselect" style="width:100%;height:40px;cursor: url('../templates/divers/elements_selectionner.png'),crosshair;" id="div_element_2" onClick="selection_element('2');"><input type="checkbox" name="elements[]" id="checkbox_element_2" value="fichier_dossier-11" style="display:none;" /><div class="div_element_options">
     
    <span onMouseOver="afficher_info_edit('1fichier_dossier11','');" onMouseOut="afficher('1fichier_dossier11',false);">
    	<div class="menu_flottant" style="width:auto" id="1fichier_dossier11" onMouseDown="return false;" onselectstart="return false;">
    			<table width="100%" cellspacing="0px"><tr style=" color:#F77D19; cursor:help;"  onMouseOver="bulle('Acc&eacute;s en &eacute;criture : ajout, modification et suppression d\'elements et de sous-dossiers.<br /><br />Seul l\'auteur et les administrateurs peuvent modifier les droits d\'acc&eacute;s.');" onMouseOut="bullefin();"  ><td width="50px">&Eacute;criture : </td><td>Portail des experts<br />Christophe Marraillac, Ferreira Frederic</td><td style="width:25px;text-align:right;opacity:0.7"><img src="../templates/divers/info.png" /></td></tr></table><hr align="center" /><table><tr class="lien" onclick="popup('../divers/dossier_edit.php?module_dossier=module_darva&type_objet_dossier=fichier_dossier&id_dossier=11');"><td style="width:25px;"><img src="../templates/divers/crayon.png" /></td><td>Modifier + Droits d'acc&eacute;s</td></tr></table><table><tr class="lien" onclick="popup('../divers/deplacer.php?module_dossier=module_darva&type_objet_dossier=fichier_dossier&id_dossier_parent=1&elements=fichier_dossier-11');"><td style="width:25px;"><img src="../templates/divers/dossier_deplacer.png" /></td><td>D&eacute;placer dans un autre dossier</td></tr></table><table><tr class="lien" onclick="confirmer('Confirmer la suppression du dossier et toutes les donn&eacute;es qu\'il contient ? &nbsp; Attention! certains sous-dossiers ne vous sont peut-&eacute;tre pas accessibles : ils seront &eacute;galement effac&eacute;s !! ','elements_suppr.php?id_dossier=11&id_dossier_retour=1');"><td style="width:25px;"><img src="../templates/divers/supprimer.png" /></td><td>Supprimer</td></tr></table><hr align="center" /><div style="text-align:center">Auteur :  Christophe Marraillac <br />Cr&eacute;&eacute; jeudi 20/08/2009 &Eacute; 16:21</div><hr align="center" /><div style="text-align:center">0 element(s)<img src="../templates/divers/separateur.gif" />65 Ko</div>	</div>
    	<img src="../templates/divers/options.png" />
    </span></div><div class="div_element_contenu" ><table class="div_element_table"><tr><td class="div_element_td" style="width:70px"><img src="../templates/divers/dossier.png"  class="lien" onClick="redir('/module_darva/index.php?id_dossier=11');"  style="position:absolute;margin-top:-20px;" /></td><td class="div_element_td lien"  class="lien" onClick="redir('/module_darva/index.php?id_dossier=11');" >Par cabinet</td><td class="div_element_td" align="right">0 element(s)<img src="../templates/divers/separateur.gif" />65 Ko <img src="../templates/divers/separateur.gif" /> Christophe Marraillac <img src="../templates/divers/separateur.gif" /> 20/08/2009</td></tr></table></div></div>		</td>
    		<td id="statistiques_nationales" style="display:none">
    			<div class="div_menu_horizontal">
    				<a class="lien"><img src="../templates/divers/dossier_arborescence.png" />&nbsp;Statistiques nationales</a>&nbsp;&nbsp;			</div>
    			<hr style="clear:both;visibility:hidden;" />
    			<div class="div_element_page">		
    				<div>Statistiques nationales de juillet&nbsp;
    					<input type="text" name="annee_deb" id="annee_deb" maxlength="4" style="width:60px; text-align:center;" onClick="document.getElementById('annee_deb').focus();" onChange="lettre_interdite(this);"/>&nbsp;&agrave;&nbsp;		
    					<input type="text" name="annee_fin" id="annee_fin" maxlength="4" style="width:60px; text-align:center;" onClick="document.getElementById('annee_fin').focus();" onChange="lettre_interdite(this);"/>
    				</div>		
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />				
    				<div>
    					<table id="table_statistiques_nationales" class="div_element_table_stat" >					
    						<tr>
    							<td></td>
    							<td colspan=2>Nb de rapport sans doublons</td>
    							<td colspan=2>D&eacute;lai moyen de d&eacute;p&ocirc;t<br />V&eacute;h. r&eacute;parables</td>         
    							<td colspan=2>D&eacute;lai moyen de d&eacute;p&ocirc;t<br />V&eacute;h. non r&eacute;parables</td> 
    							<td colspan=2>Co&ucirc;t moyen HT r&eacute;parations</td>         
    							<td colspan=2>Nb d'heures</td>
    							<td colspan=2>Co&ucirc;t des pi&egrave;ces</td>
    						</tr>
    						<tr>
    							<td></td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>     
    						</tr> 
    						<tr>         
    							<td>National VP</td>
    							<td id="VP_doublon_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_doublon_N" value="true" />
    							<td id="VP_doublon_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_doublon_N-1" value="true" />
    							<td id="VP_delai_veh_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_delai_veh_reparable_N" value="true" />
    							<td id="VP_delai_veh_reparable_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_delai_veh_reparable_N-1" value="true" />
    							<td id="VP_delai_veh_non_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_delai_veh_non_reparable_N" value="true" />
    							<td id="VP_delai_veh_non_reparable_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_delai_veh_non_reparable_N-1" value="true" />						     
    							<td id="VP_cout_reparation_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_cout_reparation_N" value="true" />
    							<td id="VP_cout_reparation_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_cout_reparation_N-1" value="true" />
    							<td id="VP_nb_heure_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_nb_heure_N" value="true" />
    							<td id="VP_nb_heure_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_nb_heure_N-1" value="true" />
    							<td id="VP_cout_piece_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_cout_piece_N" value="true" />
    							<td id="VP_cout_piece_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_cout_piece_N-1" value="true" />
    						</tr>     
    						<tr>         
    							<td>National CTTE</td>
    							<td id="CTTE_doublon_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_doublon_N" value="true" />
    							<td id="CTTE_doublon_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_doublon_N-1" value="true" />
    							<td id="CTTE_delai_veh_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_delai_veh_reparable_N" value="true" />
    							<td id="CTTE_delai_veh_reparable_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_delai_veh_reparable_N-1" value="true" />
    							<td id="CTTE_delai_veh_non_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_delai_veh_non_reparable_N" value="true" />
    							<td id="CTTE_delai_veh_non_reparable_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_delai_veh_non_reparable_N-1" value="true" />						     
    							<td id="CTTE_cout_reparation_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_cout_reparation_N" value="true" />
    							<td id="CTTE_cout_reparation_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_cout_reparation_N-1" value="true" />
    							<td id="CTTE_nb_heure_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_nb_heure_N" value="true" />
    							<td id="CTTE_nb_heure_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_nb_heure_N-1" value="true" />
    							<td id="CTTE_cout_piece_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_cout_piece_N" value="true" />
    							<td id="CTTE_cout_piece_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_cout_piece_N-1" value="true" />
    						</tr> 
    						<tr>         
    							<td>National Autres</td>
    							<td id="doublon_N">&nbsp;</td>
    							<input type="hidden" id="Input_doublon_N" value="true" />
    							<td id="doublon_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_doublon_N-1" value="true" />
    							<td id="delai_veh_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_delai_veh_reparable_N" value="true" />
    							<td id="delai_veh_reparable_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_delai_veh_reparable_N-1" value="true" />
    							<td id="delai_veh_non_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_delai_veh_non_reparable_N" value="true" />
    							<td id="delai_veh_non_reparable_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_delai_veh_non_reparable_N-1" value="true" />						     
    							<td id="cout_reparation_N">&nbsp;</td>
    							<input type="hidden" id="Input_cout_reparation_N" value="true" />
    							<td id="cout_reparation_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_cout_reparation_N-1" value="true" />
    							<td id="nb_heure_N">&nbsp;</td>
    							<input type="hidden" id="Input_nb_heure_N" value="true" />
    							<td id="nb_heure_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_nb_heure_N-1" value="true" />
    							<td id="cout_piece_N">&nbsp;</td>
    							<input type="hidden" id="Input_cout_piece_N" value="true" />
    							<td id="cout_piece_N-1">&nbsp;</td>
    							<input type="hidden" id="Input_cout_piece_N-1" value="true" />     
    						</tr>
    					</table>
    					<script>
    						var tableHTML = document.getElementById("table_statistiques_nationales");
    						var tableEdit = new HtmlEditTable({"table": tableHTML});
    					</script>	
    				</div>
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />								
    				<input type="button" id="btValidNational" value="Enregistrer" onclick="formValid('annee_deb','annee_fin')" class="button" />
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />				
    			</div>	
    		</td>
    		<td id="statistiques_cabinets" style="display:none">
    			<div class="div_menu_horizontal">
    				<a class="lien"><img src="../templates/divers/dossier_arborescence.png" />&nbsp;Statistiques par cabinet</a>&nbsp;&nbsp;				<div class="div_element_contenu" >
    				</div>
    			</div>		
    			<hr style="clear:both;visibility:hidden;" />
    			<div class="div_element_page">		
    				<div>Statistiques du cabinet&nbsp;
    					<input type="text" id="nom_cabinet" style="width:250px" onClick="document.getElementById('nom_cabinet').focus();"/>&nbsp;de juillet&nbsp;
    					<SELECT id="annee_deb_select" size="1" style="width:80px"><OPTION>----<OPTION>2005<OPTION>2006<OPTION>2007<OPTION>2008<OPTION>2009</SELECT>&nbsp;&agrave;&nbsp;		
    					<SELECT id="annee_fin_select" size="1" style="width:80px"><OPTION>----<OPTION>2005<OPTION>2006<OPTION>2007<OPTION>2008<OPTION>2009</SELECT>
    				</div>		
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />				
    				<div>
    					<table id="table_statistiques_cabinets" class="div_element_table_stat" >					
    						<tr>
    							<td></td>
    							<td colspan=2>Nb de rapport sans doublons</td>
    							<td colspan=2>D&eacute;lai moyen de d&eacute;p&ocirc;t<br />V&eacute;h. r&eacute;parables</td>         
    							<td colspan=2>D&eacute;lai moyen de d&eacute;p&ocirc;t<br />V&eacute;h. non r&eacute;parables</td> 
    							<td colspan=2>Co&ucirc;t moyen HT r&eacute;parations</td>         
    							<td colspan=2>Nb d'heures</td>
    							<td colspan=2>Co&ucirc;t des pi&egrave;ces</td>
    						</tr>
    						<tr>
    							<td></td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>     
    						</tr> 
    						<tr>         
    							<td>VP</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>						     
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>							
    							<td>&nbsp;</td>							
    						</tr>     
    						<tr>         
    							<td>CTTE</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>						     
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    						</tr> 
    						<tr>         
    							<td>Autres</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>						     
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>     
    						</tr>
    					</table>
    					<script>
    						var tableHTML = document.getElementById("table_statistiques_cabinets");
    						var tableEdit = new HtmlEditTable({"table": tableHTML});
    					</script>									
    				</div>
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />								
    				<input type="button" id="btValidCabinet" value="G&eacute;n&eacute;rer" onclick="formValid('annee_deb_select','annee_fin_select')" class="button" />
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />				
    			</div>	
    		</td>
    		</td>
    	</tr></table>
    </form>
     
     
     
    </body>
    </html>
    Quelqu'un sait-il pourquoi ?

    2 - J'ai �galement une autre question subsidiaire du � mon niveau de base en CSS Lorsque je personnalise la class "HtmlEdit" (input de l'exemple) rien ne se passe car une classe par d�faut pour les input text est d�j� d�fini et on dirai qu'elle passe avant tout ...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    input[type=text], input[type=password], input[type=file], textarea,	{ background-color:#eee; border: #999 1px solid; font-size:11px; font-family:Arial,Helvetica,sans-serif; font-weight:normal; color:#000; }	/* champs texte ou textarea */
    input[type=text]:focus, input[type=password]:focus, textarea:focus, { background-color:#fff; border: #ccc 1px solid; }
    Comment puis je contourner le probl�me.....


    Merci d'avance.

  4. #4
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    M�a le probl�me venait en fait de ma CSS.....

  5. #5
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    Salut
    Merci pour l'appr�ciation

    Tu as r�solu le 2� probl�me, mais pas le 1er ?
    Peux-tu nous donner une page HTML simple o� tu reproduis le probl�me ?
    (genre en supprimant tout ce qui n'est pas HtmlEditTable de ta page pour pouvoir tester)

  6. #6
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    la voici :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
     
    <?php
    ////	INITIALISATION
    ////
    include "commun.inc.php";
    include path_includes."header_menu.inc.php";
    init_resolution_elements("170px","90px");
     
    $cpt_element = 0;
    if(empty($_GET["id_dossier"]))  $_GET["id_dossier"] = 1;
     
     
    ////	CONTROLES AUTO (ADMIN GE)
    ////
    if($_SESSION["user"]["admin_general"]==1 and $_GET["id_dossier"]==1) {
    	nettoyer_tmp();
    	if(is_dir(path_gest_fichier)==false)	mkdir(path_gest_fichier, 0775);
    }
     
     
    ////	ALERTE SI DOSSIER INACCESSIBLE ECRITURE
    ////
    $droit_acces_dossier = droit_acces($objet["fichier_dossier"],$_GET["id_dossier"],"controle_1");
    $chemin_dossier_courant = path_gest_fichier.chemin($objet["fichier_dossier"],$_GET["id_dossier"]);
    if(!is_writable(path_stock_fichiers) and $_SESSION["user"]["admin_general"]==1)		{ alert($trad["erreur"]["chmod_stock_fichiers"]); }
    elseif(!is_writable($chemin_dossier_courant) and  $droit_acces_dossier>1)			{ alert($trad["darva"]["ajouter_fichier_alert"]." (id=".$_GET["id_dossier"].")"); }
     
     
    ////	LISTE DES FICHIERS + DIAPORAMA
    ////
    $liste_fichiers = db_tableau("SELECT * FROM gt_fichier WHERE id_dossier='".$_GET["id_dossier"]."' ".(($_GET["id_dossier"]==1)?sql_affichage($objet["fichier"]):"")."  ".tri_sql($config["tri_fichier"])." ");
    $_SESSION["cfg_espace"]["scroller_images"] = array();
    foreach($liste_fichiers as $fichier_tmp)	{ if(controle_fichier($fichier_tmp["nom"],"image_browser")==1)  $_SESSION["cfg_espace"]["scroller_images"][] = $fichier_tmp; }
    $nb_img = count($_SESSION["cfg_espace"]["scroller_images"]);
    $_SESSION["cfg_espace"]["vignettes_xml"] = path_tmp."vignettes_dossier_".$_GET["id_dossier"].".xml";
    ?>
     
    <script type="text/javascript" src="HtmlEditTable.js"></script>
    <script type="text/javascript">
    // Fonction pour l affichage de la page de saisie des statistiques nationales
    function affichage_statistiques_nationales (){
    	document.getElementById("arborescence_fichiers").style.display="none"; 
    	document.getElementById("statistiques_nationales").style.display="block";
    	document.getElementById("statistiques_cabinets").style.display="none";
    }
    function affichage_statistiques_cabinets (){
    	document.getElementById("arborescence_fichiers").style.display="none"; 
    	document.getElementById("statistiques_nationales").style.display="none";
    	document.getElementById("statistiques_cabinets").style.display="block";
    }
     
    // Fonction permettant de ne garder que des chifres
    function onlyNumbers(e)
    {
    	var keynum;
    	var keychar;
    	var numcheck;
     
    	if(window.event) // IE
    	{
    		keynum = e.keyCode;
    	}
    	else if(e.which) // Netscape/Firefox/Opera
    	{
    		keynum = e.which;
    	}
    	keychar = String.fromCharCode(keynum);	
    	numcheck = /\d/;
    	return numcheck.test(keychar);
    }
     
    // Fonction de control des statistiques (par cabinet ou national)
    // Et lançant soit la génération de PDF soit enregistrant les données en base
    function formValid(IdDateDeb,IdDateFin){	
    	//*******************//
    	//* Initialisation *//
    	//*******************//
    	// Variables de parcour du tableau
    	var row;
    	var cell;
    	// Variables pour les années
    	var dateDeb=document.getElementById(IdDateDeb);
    	var dateFin=document.getElementById(IdDateFin);	
    	// Booléen de test des valeurs saisies
    	var succes=true;
     
    	if ((dateDeb!=null) && (dateFin!=null)){
     
    		// Dans le cas "National"
    		if (dateDeb.id=="annee_deb"){		
     
    			// Afin d_éviter le clique successifs		
    			document.getElementById('btValidNational').disabled=true;			
     
    			//**********************************//
    			//* On test si tous est bien saisi *//
    			//**********************************//
     
    			// Les dates
    			if ((succes==true) && (dateDeb.value=="")){ 
    				succes=false;				
    				alert("<?php echo $trad["darva"]["annee_empty"]; ?>");
    			}
    			if ((succes==true) && (dateFin.value=="")){
    				succes=false;
    				alert("<?php echo $trad["darva"]["annee_empty"]; ?>");
    			}			
    			if ((succes==true) && ((parseInt(dateDeb.value) >= parseInt(dateFin.value)) || ((parseInt(dateFin.value) - parseInt(dateDeb.value))!=1))){
    				succes=false;
    				alert("<?php echo $trad["darva"]["annee_erronee"]; ?>");
    			}
     
    			// Test les données du table HTML et construction de tableau JS			
    			if (succes==true) {				
    				var table = document.getElementById("table_statistiques_nationales");				
    				// Parcour du tableau 
    				for (var i = 2; i < table.rows.length; i++) {
    				  row = table.rows[i];				 				  
    				  for (var j = 1; j < row.cells.length; j++) {
    				    cell = row.cells[j];				    				    
    				    //Test si la cellule est vide
    				    if (cell.innerHTML=="" || cell.innerHTML=="&nbsp;"){
    				    	//succes=false;
    				    	//alert("<?php echo $trad["darva"]["table_empty"]; ?>");				    
    				    	//break;				    				    	
    				    }		    
    				  }
    				  if (succes==false){
    				  	break;
    				  }
    				}
    			}
     
    			//*******************************//
    			//* Enregistrement des données *//
    			//*******************************//		
    			if (succes==true) {
    				element("formulaire_statistique_national").submit();				
    			}
    			document.getElementById('btValidNational').disabled=false;
    		}
    		// Dans le cas "Par cabinet"
    		else {
    			// Afin d_éviter le clique successifs
    			document.getElementById('btValidCabinet').disabled=true;	
     
    			//**********************************//
    			//* On test si tous est bien saisi *//
    			//**********************************//
     
    			// Les dates
    			if ((succes==true) && (dateDeb.value=="")){ 
    				succes=false;				
    				alert("<?php echo $trad["darva"]["annee_empty"]; ?>");
    			}
    			if ((succes==true) && (dateFin.value=="")){
    				succes=false;
    				alert("<?php echo $trad["darva"]["annee_empty"]; ?>");
    			}			
    			if ((succes==true) && ((parseInt(dateDeb.value) >= parseInt(dateFin.value)) || ((parseInt(dateFin.value) - parseInt(dateDeb.value))!=1))){
    				succes=false;
    				alert("<?php echo $trad["darva"]["annee_erronee"]; ?>");
    			}
     
    			// Test les données du table HTML et construction de tableau JS			
    			if (succes==true) {				
    				var table = document.getElementById("table_statistiques_cabinets");				
    				// Parcour du tableau 
    				for (var i = 2; i < table.rows.length; i++) {
    				  row = table.rows[i];				 				  
    				  for (var j = 1; j < row.cells.length; j++) {
    				    cell = row.cells[j];				    				    
    				    // Test si la cellule est vide
    				    if (cell.innerHTML=="" || cell.innerHTML=="&nbsp;"){
    				    	succes=false;
    				      	alert("<?php echo $trad["darva"]["table_empty"]; ?>");				    
    				    	break;				    				    	
    				    }		    
    				  }
    				  if (succes==false){
    				  	break;
    				  }
    				}
    			}
    			//*********************//
    			//* Génération du PDF *//
    			//*********************//		
    			if (succes==true) {
    				alert("Génération du PDF");				
    			}
    			document.getElementById('btValidCabinet').disabled=false;
    		}
    	}
    }
     
    </script>
     
    <form method="POST" action="ajouter_statistiques_national.php" id="formulaire_statistique_national" enctype="multipart/form-data">
    	<table width="100%" cellspacing="10px" onMouseDown="return false;" onselectstart="return false;"><tr>
    		<td class="menu_td" id="menu_td_gauche">
    			<div class="content menu_block">
    				<?php
                                    ////    MENU D'ARBORESCENCE
                                    $cfg_menu_arbo = array("objet"=>$objet["fichier_dossier"], "id_objet"=>$_GET["id_dossier"], "ajouter_dossier"=>"oui", "droit_acces_dossier"=>$droit_acces_dossier, "objet_enfant"=>$objet["fichier"]);                  
                                    include_once path_includes."menu_arborescence.inc.php";
                                    ?>
                            </div>
                            <div class="content menu_block">
                                    <?php
                                    ////    AJOUTER FICHIER
                                    if($droit_acces_dossier>=1.5)  echo "<div onclick=\"popup('ajouter_fichiers.php?id_dossier=".$_GET["id_dossier"]."');\" class=\"menu_ligne\"><img src=\"".path_templates."module_darva/ajouter_fichiers.png\" /> &nbsp; ".$trad["darva"]["ajouter_fichier"]."</div><hr />";
                                    ////    SAISIR LES STATISTIQUES NATIONALES
                                    if($droit_acces_dossier>=1.5)  echo "<div onclick=\"affichage_statistiques_nationales();\" class=\"menu_ligne\"><img src=\"".path_templates."module_darva/statistiques_nationales.png\" /> &nbsp; ".$trad["darva"]["statistiques_nationales"]."</div><hr />";
                                    ////    SAISIR LES STATISTIQUES PAR CABINET
                                    if($droit_acces_dossier>=1.5)  echo "<div onclick=\"affichage_statistiques_cabinets();\" class=\"menu_ligne\"><img src=\"".path_templates."module_darva/statistiques_cabinets.png\" /> &nbsp; ".$trad["darva"]["statistiques_cabinets"]."</div><hr />";
                                    ////    LANCER DIAPORAMA
                                    if($nb_img>1)   echo "<div class=\"menu_ligne\" onclick=\"afficher_images('".$_SESSION["cfg_espace"]["scroller_images"][0]["id_fichier"]."',true);\"><img src=\"".path_templates."module_darva/diaporama.png\" height=\"26px\" /> ".$trad["darva"]["voir_images"]."</div>";
                                    ////    TELECHARGER LES FICHIERS
                                    echo "<div class=\"menu_ligne\" onClick=\"if(nb_elements_select(false,'fichier-')==0) selection_tous_elements(true,'fichier-');  redir('creer_archive.php?elements='+elements_url());\"><img src=\"".path_templates."module_darva/telecharger_fichiers.png\" /> ".$trad["darva"]["telecharger_fichiers"]."</div>";
                                    ////    MENU D'AFFICHAGE & DE TRI
                                    echo menu_affichage();
                                    echo menu_tri($config["tri_fichier"]);
                                    ////    MENU ELEMENTS
                                    $cfg_menu_elements = array("objet"=>$objet["fichier"], "objet_dossier"=>$objet["fichier_dossier"], "id_objet_dossier"=>$_GET["id_dossier"], "droit_acces_dossier"=>$droit_acces_dossier);
                                    include path_includes."menu_elements.inc.php";
                                    ?>
    			</div>
    		</td>
    		<td id="arborescence_fichiers">
    			<?php
    			////	MENU CHEMIN + OBJETS_DOSSIERS + TAILLE ICONES
    			////
    			echo menu_chemin($objet["fichier_dossier"], $_GET["id_dossier"]);
    			$cfg_dossiers = array("objet"=>$objet["fichier_dossier"], "id_objet"=>$_GET["id_dossier"], "objet_enfant"=>$objet["fichier"]);
    			include_once path_includes."dossiers.inc.php";
    			$icone_max_height = ($_REQUEST["type_affichage"]=="bloc") ? "110" : "30";
    			$icone_max_width  = ($_REQUEST["type_affichage"]=="bloc") ? "180" : "70";
     
    			////	AFFICHAGE DES FICHIERS
    			////
    			foreach($liste_fichiers as $fichier_tmp)
    			{
    				////	INIT
    				$cpt_element++;
    				$nb_versions = db_valeur("SELECT count(*) FROM gt_fichier_version WHERE id_fichier='".$fichier_tmp["id_fichier"]."' ");
    				////	INFOS / MODIF / SUPPR
    				$cfg_menu_elem = array("objet"=>$objet["fichier"], "id_objet"=>$fichier_tmp["id_fichier"], "date"=>$fichier_tmp["date"]);
    				$fichier_tmp["droit_acces"] = ($_GET["id_dossier"]==1) ? droit_acces($objet["fichier"],$fichier_tmp["id_fichier"]) : $droit_acces_dossier;
    				if($fichier_tmp["droit_acces"]>=2) {
    					$cfg_menu_elem["modif"] = "fichier_edit.php?id_fichier=".$fichier_tmp["id_fichier"];
    					$cfg_menu_elem["deplacer"] = path_divers."deplacer.php?module_dossier=".module_dossier."&type_objet_dossier=fichier_dossier&id_dossier_parent=".$_GET["id_dossier"]."&elements=fichier-".$fichier_tmp["id_fichier"];
    					$cfg_menu_elem["suppr"] = "elements_suppr.php?id_fichier=".$fichier_tmp["id_fichier"]."&id_dossier_retour=".$_GET["id_dossier"];
    				}
    				$cfg_menu_elem["options_divers"][] = array("icone_src"=>path_templates."module_darva/ajouter_fichiers.png", "text"=>$trad["darva"]["ajouter_versions_fichier"], "action_js"=>"popup('ajouter_fichiers.php?id_dossier=".$_GET["id_dossier"]."&id_fichier_version=".$fichier_tmp["id_fichier"]."');");
    				////	TAILLE OCTETS  +  RESOLUTION IMAGE
    				$fichier_tmp["afficher_taille"] = afficher_taille($fichier_tmp["taille_octet"]);
    				if(controle_fichier($fichier_tmp["nom"],"image_browser")) {
    					$infos_dernier_fichier = infos_version_fichier($fichier_tmp["id_fichier"]);
    					list($width,$height) = getimagesize($chemin_dossier_courant.$infos_dernier_fichier["nom_reel"]);
    					$fichier_tmp["resolution"] = $width." x ".$height." ".$trad["darva"]["pixels"];
    				}
    				////	INFOBULLES
    				$txt_infobulle = $fichier_tmp["afficher_taille"];
    				if(@$fichier_tmp["resolution"]!="")  $txt_infobulle .= "<br />".$fichier_tmp["resolution"];
    				if($fichier_tmp["description"]!="")  $txt_infobulle .= "<br />".$fichier_tmp["description"];
    				$txt_infobulle_image = "<div style='color:#f33;'>".$trad["darva"]["apercu"]."&nbsp;<img src='".path_templates."divers/recherche.png'/></div>".$txt_infobulle;
    				$txt_infobulle_telecharger = "<div style='color:#f33;'>".$trad["divers"]["telecharger"]." &nbsp;<img src='".path_templates."divers/telecharger.png' /></div>".$txt_infobulle;
    				$a_lien_infobulle = "<a href=\"telecharger.php?id_fichier=".$fichier_tmp["id_fichier"]."\" ".infobulle($txt_infobulle_telecharger)." >";
    				////	ICONE DU FICHIER
    				if($fichier_tmp["vignette"]==1)	 { $icone_fichier = "<img src=\"".path_vignette.$fichier_tmp["id_fichier"].$fichier_tmp["extension"]."\" class=\"lien\" style=\"max-height:".$icone_max_height."px;max-width:".$icone_max_width."px;\"  onclick=\"afficher_images('".$fichier_tmp["id_fichier"]."');\" ".infobulle($txt_infobulle_image)." />"; }
    				else							 { $icone_fichier = $a_lien_infobulle."<img src=\"".path_templates."module_darva/type_fichier/".image_fichier($fichier_tmp["nom"]).".png\" style=\"max-height:".$icone_max_height."px;padding-top:5px;\" /></a>"; }
     
     
    				////	AFFICHAGE BLOCK
    				////
    				if($_REQUEST["type_affichage"]=="bloc")
    				{
    					echo div_element($objet["fichier"], $fichier_tmp["id_fichier"]);
    						////	MENU DE L'ELEMENT  +  VERSIONS DU FICHIER
    						echo "<div class=\"div_element_options\">";
    						include path_includes."menu_element.inc.php";
    						if($nb_versions>1)	echo "<br /><img src=\"".path_templates."module_darva/versions.png\" onclick=\"popup('versions_fichier.php?id_fichier=".$fichier_tmp["id_fichier"]."');\" class=\"lien\" style=\"margin-top:5px;\" ".infobulle($nb_versions." ".$trad["darva"]["nb_versions_fichier"])." />";
    						echo "</div>";
    						////	ICONE FICHIER + NOM
    						echo "<div class=\"div_element_contenu\">";
    							echo "<div style=\"text-align:center;\">".$icone_fichier."</div>";
    							echo "<table style=\"position:absolute;bottom:0px;width:100%;height:18px;font-weight:bold;line-height:10px;". (($fichier_tmp["vignette"]==1)?$_SESSION["skin"]["fond_lib_vignette"]:"") ." cellpadding=\"0px\" cellspacing=\"0px\"><tr><td style=\"text-align:center;vertical-align:middle;\">";
    								echo $a_lien_infobulle.strtolower(wordwrap($fichier_tmp["nom"],26,"<br />",true))."</a>";
    							echo "</td></tr></table>";
    						echo "</div>";
    					echo "</div>";
    				}
    				////	AFFICHAGE LISTE
    				////
    				else
    				{
    					echo div_element($objet["fichier"], $fichier_tmp["id_fichier"]);
    						echo "<div class=\"div_element_options\">";	include path_includes."menu_element.inc.php"; echo "</div>";
    						echo "<div class=\"div_element_contenu\" >";
    							////	ICONE FICHIER + NOM
    							echo "<table class=\"div_element_table\"><tr>";
    							echo "<td style=\"text-align:center;width:70px;\">".$icone_fichier."</td>";
    							echo "<td class=\"div_element_td lien\">".$a_lien_infobulle.$fichier_tmp["nom"]."</a></td>";
    							$versions  =  ($nb_versions>1)  ?  "<a href=\"javascript:popup('versions_fichier.php?id_fichier=".$fichier_tmp["id_fichier"]."');\">".$nb_versions." ".$trad["darva"]["nb_versions_fichier"]." &nbsp; <img src=\"".path_templates."module_darva/versions.png\" /></a><img src=\"".path_templates."divers/separateur.gif\" />"  :  "";
    							echo "<td class=\"div_element_td\" align=\"right\">".$versions." ".$fichier_tmp["afficher_taille"]." <img src=\"".path_templates."divers/separateur.gif\" /> ".$txt_auteur_tmp." <img src=\"".path_templates."divers/separateur.gif\" /> ".strftime("%d/%m/%Y",strtotime($fichier_tmp["date"]))."</td>"; // Depuis menu_element.inc.php
    							echo "</tr></table>";
    						echo "</div>";
    					echo "</div>";
    				}
    			}
    			////	AUCUN FICHIER
    			if($cpt_element==0)  echo "<div class=\"div_element_aucun\">".$trad["darva"]["aucun_fichier"]."</div>";
    			?>
    		</td>
    		<td id="statistiques_nationales" style="display:none">
    			<div class="div_menu_horizontal">
    				<?php
                                            echo "<a class=\"lien\"><img src=\"".path_templates."divers/dossier_arborescence.png\" />&nbsp;Statistiques nationales</a>&nbsp;&nbsp;";
                                    ?>
    			</div>
    			<hr style="clear:both;visibility:hidden;" />
    			<div class="div_element_page">		
    				<div>Statistiques nationales de juillet&nbsp;
    					<input type="text" name="annee_deb" id="annee_deb" maxlength="4" style="width:60px; text-align:center;" onClick="document.getElementById('annee_deb').focus();" onkeypress="return onlyNumbers(event)"/>&nbsp;&agrave;&nbsp;		
    					<input type="text" name="annee_fin" id="annee_fin" maxlength="4" style="width:60px; text-align:center;" onClick="document.getElementById('annee_fin').focus();" onkeypress="return onlyNumbers(event)"/>
    				</div>		
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />				
    				<div>
    					<table id="table_statistiques_nationales" class="div_element_table_stat">
    						<tr>
    							<td></td>
    							<td colspan=2>Nb de rapport sans doublons</td>
    							<td colspan=2>D&eacute;lai moyen de d&eacute;p&ocirc;t<br />V&eacute;h. r&eacute;parables</td>         
    							<td colspan=2>D&eacute;lai moyen de d&eacute;p&ocirc;t<br />V&eacute;h. non r&eacute;parables</td> 
    							<td colspan=2>Co&ucirc;t moyen HT r&eacute;parations</td>         
    							<td colspan=2>Nb d'heures</td>
    							<td colspan=2>Co&ucirc;t des pi&egrave;ces</td>
    						</tr>
    						<tr>
    							<td></td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>     
    						</tr> 
    						<tr>         
    							<td>National VP</td>
    							<td id="VP_doublon_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_doublon_N" name="Input_VP_doublon_N"/>
    							<td id="VP_doublon_N1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_doublon_N1" name="Input_VP_doublon_N1"/>
    							<td id="VP_delai_veh_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_delai_veh_reparable_N" name="Input_VP_delai_veh_reparable_N"/>
    							<td id="VP_delai_veh_reparable_N1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_delai_veh_reparable_N1" name="Input_VP_delai_veh_reparable_N1"/>
    							<td id="VP_delai_veh_non_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_delai_veh_non_reparable_N" name="Input_VP_delai_veh_non_reparable_N"/>
    							<td id="VP_delai_veh_non_reparable_N1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_delai_veh_non_reparable_N1" name="Input_VP_delai_veh_non_reparable_N1"/>						     
    							<td id="VP_cout_reparation_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_cout_reparation_N" name="Input_VP_cout_reparation_N"/>
    							<td id="VP_cout_reparation_N1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_cout_reparation_N1" name="Input_VP_cout_reparation_N1"/>
    							<td id="VP_nb_heure_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_nb_heure_N" name="Input_VP_nb_heure_N"/>
    							<td id="VP_nb_heure_N1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_nb_heure_N1" name="Input_VP_nb_heure_N1"/>
    							<td id="VP_cout_piece_N">&nbsp;</td>
    							<input type="hidden" id="Input_VP_cout_piece_N" name="Input_VP_cout_piece_N"/>
    							<td id="VP_cout_piece_N1">&nbsp;</td>
    							<input type="hidden" id="Input_VP_cout_piece_N1" name="Input_VP_cout_piece_N1"/>
    						</tr>     
    						<tr>         
    							<td>National CTTE</td>
    							<td id="CTTE_doublon_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_doublon_N" name="Input_CTTE_doublon_N"/>
    							<td id="CTTE_doublon_N1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_doublon_N1" name="Input_CTTE_doublon_N1"/>
    							<td id="CTTE_delai_veh_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_delai_veh_reparable_N" name="Input_CTTE_delai_veh_reparable_N"/>
    							<td id="CTTE_delai_veh_reparable_N1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_delai_veh_reparable_N1" name="Input_CTTE_delai_veh_reparable_N1"/>
    							<td id="CTTE_delai_veh_non_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_delai_veh_non_reparable_N" name="Input_CTTE_delai_veh_non_reparable_N"/>
    							<td id="CTTE_delai_veh_non_reparable_N1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_delai_veh_non_reparable_N1" name="Input_CTTE_delai_veh_non_reparable_N1"/>						     
    							<td id="CTTE_cout_reparation_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_cout_reparation_N" name="Input_CTTE_cout_reparation_N"/>
    							<td id="CTTE_cout_reparation_N1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_cout_reparation_N1" name="Input_CTTE_cout_reparation_N1"/>
    							<td id="CTTE_nb_heure_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_nb_heure_N" name="Input_CTTE_nb_heure_N"/>
    							<td id="CTTE_nb_heure_N1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_nb_heure_N1" name="Input_CTTE_nb_heure_N1"/>
    							<td id="CTTE_cout_piece_N">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_cout_piece_N" name="Input_CTTE_cout_piece_N"/>
    							<td id="CTTE_cout_piece_N1">&nbsp;</td>
    							<input type="hidden" id="Input_CTTE_cout_piece_N1" name="Input_CTTE_cout_piece_N1"/>
    						</tr> 
    						<tr>         
    							<td>National Autres</td>
    							<td id="doublon_N">&nbsp;</td>
    							<input type="hidden" id="Input_doublon_N" name="Input_doublon_N"/>
    							<td id="doublon_N1">&nbsp;</td>
    							<input type="hidden" id="Input_doublon_N1" name="Input_doublon_N1"/>
    							<td id="delai_veh_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_delai_veh_reparable_N" name="Input_delai_veh_reparable_N"/>
    							<td id="delai_veh_reparable_N1">&nbsp;</td>
    							<input type="hidden" id="Input_delai_veh_reparable_N1" name="Input_delai_veh_reparable_N1"/>
    							<td id="delai_veh_non_reparable_N">&nbsp;</td>
    							<input type="hidden" id="Input_delai_veh_non_reparable_N" name="Input_delai_veh_non_reparable_N"/>
    							<td id="delai_veh_non_reparable_N1">&nbsp;</td>
    							<input type="hidden" id="Input_delai_veh_non_reparable_N1" name="Input_delai_veh_non_reparable_N1"/>						     
    							<td id="cout_reparation_N">&nbsp;</td>
    							<input type="hidden" id="Input_cout_reparation_N" name="Input_cout_reparation_N"/>
    							<td id="cout_reparation_N1">&nbsp;</td>
    							<input type="hidden" id="Input_cout_reparation_N1" name="Input_cout_reparation_N1"/>
    							<td id="nb_heure_N">&nbsp;</td>
    							<input type="hidden" id="Input_nb_heure_N" name="Input_nb_heure_N"/>
    							<td id="nb_heure_N1">&nbsp;</td>
    							<input type="hidden" id="Input_nb_heure_N1" name="Input_nb_heure_N1"/>
    							<td id="cout_piece_N">&nbsp;</td>
    							<input type="hidden" id="Input_cout_piece_N" name="Input_cout_piece_N"/>
    							<td id="cout_piece_N1">&nbsp;</td>
    							<input type="hidden" id="Input_cout_piece_N1" name="Input_cout_piece_N1"/>  
    						</tr>
    					</table>
    					<script>
    						var tableHTML = document.getElementById("table_statistiques_nationales");
    						var tableEdit = new HtmlEditTable({"table": tableHTML});
    					</script>	
    				</div>
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />								
    				<input type="button" id="btValidNational" value="Enregistrer" onclick="formValid('annee_deb','annee_fin')" class="button" />
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />				
    			</div>	
    		</td>
    		<td id="statistiques_cabinets" style="display:none">
    			<div class="div_menu_horizontal">
    				<?php
                                            echo "<a class=\"lien\"><img src=\"".path_templates."divers/dossier_arborescence.png\" />&nbsp;Statistiques par cabinet</a>&nbsp;&nbsp;";
                                    ?>
    				<div class="div_element_contenu" >
    				</div>
    			</div>		
    			<hr style="clear:both;visibility:hidden;" />
    			<div class="div_element_page">		
    				<div>Statistiques du cabinet&nbsp;
    					<input type="text" id="nom_cabinet" style="width:250px" onClick="document.getElementById('nom_cabinet').focus();"/>&nbsp;de juillet&nbsp;
    					<SELECT id="annee_deb_select" size="1" style="width:80px"><OPTION>----<OPTION>2005<OPTION>2006<OPTION>2007<OPTION>2008<OPTION>2009</SELECT>&nbsp;&agrave;&nbsp;		
    					<SELECT id="annee_fin_select" size="1" style="width:80px"><OPTION>----<OPTION>2005<OPTION>2006<OPTION>2007<OPTION>2008<OPTION>2009</SELECT>
    				</div>		
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />				
    				<div>
    					<table id="table_statistiques_cabinets" class="div_element_table_stat" >					
    						<tr>
    							<td></td>
    							<td colspan=2>Nb de rapport sans doublons</td>
    							<td colspan=2>D&eacute;lai moyen de d&eacute;p&ocirc;t<br />V&eacute;h. r&eacute;parables</td>         
    							<td colspan=2>D&eacute;lai moyen de d&eacute;p&ocirc;t<br />V&eacute;h. non r&eacute;parables</td> 
    							<td colspan=2>Co&ucirc;t moyen HT r&eacute;parations</td>         
    							<td colspan=2>Nb d'heures</td>
    							<td colspan=2>Co&ucirc;t des pi&egrave;ces</td>
    						</tr>
    						<tr>
    							<td></td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>
    							<td>Ann&eacute;e N-1</td>         
    							<td>Ann&eacute;e N</td>     
    						</tr> 
    						<tr>         
    							<td>VP</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>						     
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>							
    							<td>&nbsp;</td>							
    						</tr>     
    						<tr>         
    							<td>CTTE</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>						     
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    						</tr> 
    						<tr>         
    							<td>Autres</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>						     
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>
    							<td>&nbsp;</td>     
    						</tr>
    					</table>
    					<script>
    						var tableHTML = document.getElementById("table_statistiques_cabinets");
    						var tableEdit = new HtmlEditTable({"table": tableHTML});
    					</script>									
    				</div>
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />								
    				<input type="button" id="btValidCabinet" value="G&eacute;n&eacute;rer" onclick="formValid('annee_deb_select','annee_fin_select')" class="button" />
    				<hr style="clear:both;visibility:hidden;" />
    				<hr style="clear:both;visibility:hidden;" />				
    			</div>	
    		</td>
    		</td>
    	</tr></table>
    </form>
     
     
    <?php
    ////    VISUALISATION DES IMAGES
    if($nb_img>0)
    {
            if($nb_img<10)  { $swf_width = $nb_img * 90; }
            else                    { $swf_width = round($_SESSION["cfg"]["resolution_width"] * 0.85); }
            $swf_height = "70";
            $flash_vars = "xmlFile=".$_SESSION["cfg_espace"]["vignettes_xml"]."&amp;dockWidth=".$swf_width."&amp;dockHeight=".$swf_height."&amp;smoothScrolling=true&amp;expandingDirection=center&amp;backgroundColor=000000&amp;autoScrollSpeed=1&amp;minThumbWidth=70&amp;minThumbHeight=70&amp;maxThumbWidth=100&amp;maxThumbHeight=100&amp;imagesInfluence=500&amp;fontSize=10&amp;useReflection=false&amp;fontSize=10";
    ?>
    	<div class="page_fantome" id="afficher_images">
    		<a onClick="masquer_images();" class="lien" style="position:absolute;top:0px;right:0px;margin:5px;color:#fff;font-style:italic;"><?php echo $trad["divers"]["fermer"]; ?> <img src="<?php echo path_templates; ?>divers/supprimer.png" /></a>
    		<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="<?php echo $swf_width; ?>" height="<?php echo $swf_height; ?>">
    			<param name="movie" value="vignettes.swf" />
    			<param name="FlashVars" value="<?php echo $flash_vars; ?>" />
    			<param name="wmode" value="transparent" />
    			<param name="allowScriptAccess" value="always" />
    			<param name="scale" value="noscale" />
    			<param name="salign" value="tl" />
    			<embed type="application/x-shockwave-flash" src="vignettes.swf"  width="<?php echo $swf_width; ?>" height="<?php echo $swf_height; ?>" wmode="transparent" allowScriptAccess="always" scale="noscale" salign="tl" FlashVars="<?php echo $flash_vars; ?>"></embed>
    		</object>
    		<iframe id="iframe_images" style="width:100%;margin:0px;padding:0px;" allowtransparency="true" frameborder="0">NO IFRAME</iframe>
    	</div>
     
    	<script type="text/javascript">
    	////	Redirection de l'iframe depuis le vignettes
    	function redirimg(id_fichier) {
    		element("iframe_images").src = "images.php?id_fichier="+id_fichier;
    		focus_iframe();
    	}
     
    	////	Focus Iframe =>  pour obtenir le focus de l'iframe au chargement et ensuite faire d�filer les images avec le clavier
    	function focus_iframe() {
    		element("iframe_images").contentDocument.getElementById("factice").focus();
    	}
     
    	////	Affiche les images dans une iframe
    	function afficher_images(id_fichier, diaporama)
    	{
    		New_Http_Request("GET", "vignettes_xml.php");
    		if(Http_Request_Result!="")  alert("XML error : "+Http_Request_Result);
    		(diaporama==true) ? diaporama = "&diaporama=1" : diaporama = "";
    		element("iframe_images").src = "images.php?id_fichier="+id_fichier+diaporama;
    		element("iframe_images").style.height = (document.documentElement.clientHeight - <?php echo $swf_height; ?>) + "px";
    		afficher("afficher_images", true);
    		element("iframe_images").onload = focus_iframe;
    	}
     
    	////	Masque les images
    	function masquer_images() {
    		afficher('afficher_images',false);
    	}
    	</script>
    <?php
    }
    include_once path_includes."footer.inc.php";
    ?>

  7. #7
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut


    c'est pas testable �a, ya du php.
    il faut le code g�n�r�.

  8. #8
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Le code g�n�r� est juste au dessus .....

    Jme suis aper�u �galement, lorsque l'on double click sur une cellule, que l'input est initialis� avec un espace (eu �gard au fait certainement que l'on est mis "&nbsp;" dans le TD pour qu'il soit double cliquable). Il serait mieux de l'initialiser � vide si on est dans ce cas l� !!! non ?

    J'aimerai �galement tester les coordonn�es de la cellule double cliquer pour emp�cher l'utilisateur de saisir des b�tises dans la colonne 0 car mon tableau � deux dimensions. Comment puis-je mis prendre ?

  9. #9
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par drumtof Voir le message
    Le code g�n�r� est juste au dessus

    Juste au-dessus, il y a un code PHP qui ne nous sert � rien car on a pas acc�s � ton environnement. Ce qu'il faut c'est le code HTML g�n�r�, celui affich� par ton navigateur !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  10. #10
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Il est dans le messge au dessus du 31/08/2009, 14h50 on je dit �galement que ce code est sublime et ou je pose 2 questions, c'est le troisi�me message de la discussion je crois .....

  11. #11
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Tous mes pb �nonc�s un peu plus haut sont r�gl�s...merci

  12. #12
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Bonjour � tous,

    J'aimerais savoir s'il est possible d'ajouter au sublime code de "bigboomshakala" : "cr�er une table HTML �ditable" la navigation par tabulation, car moi je n'y suis pas arriv� ?

    Merci pour vos r�ponse

  13. #13
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    j'ai du d�ja proposer cette source:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
     
    <html>
    <head>
     
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
     
    <title>Nouvelle page 1</title>
    <style type='text/css'>
    td,#saisie { border:solid 1px black;
         			width:100px;
         			font-family:verdana;
         			font-size:12px;
         			line-height:20px;
         			}
    #saisie {color:red;}
     
     
     
    html body {margin:0;}
     
         </style>
     
    <script type='text/javascript'>
     var currentCell
    function edit(Obj){
      currentCell=Obj; 
      var editbox=document.getElementById('saisie')
      editbox.style.top=currentCell.offsetTop+'px';
      editbox.style.left=currentCell.offsetLeft+'px';
      editbox.style.width=currentCell.offsetWidth+'px';
      editbox.style.height=currentCell.offsetHeight+'px';
      editbox.style.fontSize=currentCell.style.fontSize;
      editbox.style.display='';
      if (!document.all){editbox.style.paddingTop='4px'};
      editbox.value=(currentCell.innerHTML!="&nbsp;")?currentCell.innerHTML:'';
      editbox.focus();
      editbox.value=editbox.value
      }
     
     
    function editSelect(Obj1){
      editsel.style.width=currentCell.offsetWidth+'px';
      editsel.style.height=currentCell.offsetHeight+'px';
      var LesOptions=Obj1.getAttribute("ArrayOpt").split(';');
      while(editsel.options.length>1){editsel.removeChild(editsel.options[editsel.options.length-1])}
      var cellMid=Math.round(currentCell.offsetHeight/2,0);
      editsel.style.top=currentCell.offsetTop+cellMid-10+'px';
      editsel.style.left=currentCell.offsetLeft+'px';
      editsel.style.fontSize=currentCell.style.fontSize;
      editsel.style.visibility="visible";
     
      for(i=0;LesOptions[i];i++){
          var newOpt=document.createElement('option');
          newOpt.value=LesOptions[i];
          newOpt.innerHTML=LesOptions[i];
          if(newOpt.innerHTML==currentCell.innerHTML){newOpt.selected='selected';}
          editsel.appendChild(newOpt);
          }
       editsel.focus();   
      }  
     
    function copyValue(Box){
     
    TransValue="";
    switch(Box.id){
      case "saisie" :   TransValue=(Box.value.length>0)?Box.value:"&nbsp;";
    						Box.value=""
    						Box.style.display='none';
    						break;
      case "MySel":     TransValue=(Box.options.selectedIndex==-1)?"&nbsp;":Box.options[Box.selectedIndex].value;
    						Box.style.top=0;
    						Box.style.left=0;
    						Box.style.visibility='hidden';	
    						break;
    						}
    currentCell.innerHTML=TransValue;
    }
     
     
    function Myinit(){
        var TabTr=document.getElementsByTagName('tr');
     
        for(i=0;TabTr[i];i++){
              var TabTd=TabTr[i].getElementsByTagName('td');
    	       for(j=0;TabTd[j];j++){ 
    	       				TabTd[j].id="Cell"+i+"_"+j;
    	       				if(j==3){TabTd[j].ondblclick=function(){currentCell=this;
    	       															editSelect(this)};
    	       				                                      }
    	       				else{TabTd[j].ondblclick=function(){edit(this)}}
    				          }
       }
    editsel=document.getElementById('MySel');				          
     }     
    window.onResize=function(){alert('coucou');}
     </script>    
     
    </head>
     
    <body onload="Myinit()" >
    <table >
    	<tr>
    			<td>bonjour</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td ArrayOpt="S;E;L">&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    	</tr>	
    	<tr>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td ArrayOpt="Bonjour;Aurevoir;coucou; salut">&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    	</tr>				
    	<tr>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td ArrayOpt="Banane;Oranges;Kiwi;fraises">&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    	</tr>				
    	<tr>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td ArrayOpt="chocolat;vanille;menthe;café;grenadine">&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    	</tr>				
    	<tr>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    			<td ArrayOpt="rouge;vert;bleu;noir;jaune;marron;taupe;violet;blanc;saumon">&nbsp;</td>
    			<td>&nbsp;</td>
    			<td>&nbsp;</td>
    	</tr>				
    	<tr>
    			<td></td>
    			<td></td>
    			<td></td>
    			<td ArrayOpt="Bonjour;Aurevoir;coucou; salut"></td>
    			<td></td>
    			<td></td>
    	</tr>		
    </table>
     
    <input type='text'	style='position:absolute;display:none;top:0;left:0;width:150px;' id='saisie' onblur="copyValue(this)" value=''/>
    <select id="MySel" name="hello" style='position:absolute;visibility:hidden;top:0;left:0;width:150px;' onblur="copyValue(this)" >
    <option value="&nbsp;">-selectionnez</option>
    </select>			
     
    </body>
    Les cellules deviennent editables au double click
    avec une surprise en colonne 4
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  14. #14
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Merci pour ce code mais j'aimerais int�grer cette fonctionnalit� au .js de "bigboomshakala" pour �viter d'avoir tout � refaire....

    Personne pour m'aider....

  15. #15
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    J'ai ajouter ce code dans ma cellule d'�dition pour passer � la cellule suivante avec la fonction nextSibling :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    this.control.onkeypress= function(e){
    	// Tabulation
    	if (Tools.KeyCode(e) == 9){
    	      loseFocus(e);
    	      var src = Tools.Node(Tools.Target(e), "TD");
    	      srcEdit = src.nextSibling;
    	      var htmlEdit = new HtmlEdit(srcEdit.firstChild.data, srcEdit);
                  htmlEdit.AppendTo(srcEdit);
    	      srcEdit.ondblclick = null;
    	}			
    	// Entrée
    	if (Tools.KeyCode(e) == 13){
    	      loseFocus(e);	    
            }								    
    };
    Mais cela ne fonctionne pas non plus ..... personne � des notions en DOM pour m'aider

  16. #16
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    En fait j'arrive � intercepter la frappe de la touche tabulation en testant le keycode mais je n'arrive pas � donner le focus � la cellule suivante de mon tableau (ce qui �quivaut au noeud suivant je pense )

    Jsui novice en DOM

  17. #17
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    salut

    arf d�sol�. dans l'imm�diat je suis "full taf" + f�tes, c'est pas gagn� pour que je puisse consacrer du temps � �a tout de suite (d'ailleurs je me fais rare sur le forum). je me remet au travail sur cette webgrid d�s que possible. la navigation au clavier fait partie des �volutions pr�vues, du coup je commencerais peut-�tre par �a!

  18. #18
    Inactif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    117
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 117
    Par d�faut
    Je voudrais rajouter un petit truc
    table est assez sympathique avec ses nodelists associ�s sur tbody et sur tr
    mais idem sur le table, nous avec la node list 'rows' et 'tBodies'
    Donc on peut remplacer cette ligne :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    var rows = this.control.getElementsByTagName("tbody")[0].rows
    par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    var rows = this.control.tBodies[0].rows;
    autre petite parenth�se qui vous permettra de mieux ma�triser les <table> en HTML :

    un tableau contient un <thead> et un <tfoot> mais peut contenir plusieurs
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    <table>
    	<thead></thead>
    	<tbody></tbody>
    	<tbody></tbody>
    	<tfoot></tfoot>
    </table>
    Donc pour r�sumer sur <table> vous aurez les propri�t�s suivantes :
    table.tHead <= reference au thead (ce n'est pas une nodelist puisque un thead est unique dans un <table>
    table.tFoot <- idem que pour thead
    table.tBodies[] <- nodelist contenant tous les tbodies
    table.rows <- nodelist de tous les tr du tableau (tous les tr compris dans les thead, tbodies et tfoot)
    table.tHead.rows <- nodelist des <tr> du thead
    table.tFoot.rows <- nodelist des <tr> du tfoot
    table.tBodies[n].rows <- nodelist des <tr> du tbody sur lequel on it�re

  19. #19
    Membre confirm�
    Inscrit en
    Mai 2009
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 141
    Par d�faut
    Oki bigboomshakala ... j'attendrais un peu lol.... bonne f�te de fin d'ann�e et au mois de janvier....

  20. #20
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par Gatsu35 Voir le message
    un tableau contient un <thead> et un <tfoot> mais peut contenir plusieurs
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    <table>
    	<thead></thead>
    	<tbody></tbody>
    	<tbody></tbody>
    	<tfoot></tfoot>
    </table>
    Autre pr�cision, il est pr�f�rable de positionner le tfoot avant le (ou les) tbody :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    <table>
    	<thead></thead>
    	<tfoot></tfoot>
    	<tbody></tbody>
    	<tbody></tbody>
    </table>
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. [Article] Cr�er une table HTML �ditable en JavaScript v2.0
    Par bigboomshakala dans le forum G�n�ral JavaScript
    R�ponses: 27
    Dernier message: 16/05/2014, 16h32
  2. R�ponses: 13
    Dernier message: 30/06/2011, 17h33
  3. R�ponses: 4
    Dernier message: 22/01/2010, 10h24
  4. Comment cr�er une Table dans 1 Bdd ACCESS avec Builder??
    Par makandja dans le forum C++Builder
    R�ponses: 6
    Dernier message: 17/03/2004, 20h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo