function Section() {
	this.id = '';
	this.nom = '';
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@	this.indContenu = true;
	this.indContenu = false;
	this.lstBlocs = new Array();
	this.nbBlocs = 0;
	this.addBloc = function(b) {
		this.lstBlocs[this.nbBlocs++] = b;
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@		this.indContenu = this.indContenu && b.indContenu;
		this.indContenu = this.indContenu || b.indContenu;
	};
	this.toString = function() {
		var x = '<S>' + this.id + ':' + this.nom + ' (' + this.nbBlocs + ')/'
				+ this.indContenu + '\n';
		for ( var i = 0; i < this.lstBlocs.length; i++) {
			x = x + this.lstBlocs[i].toString() + '\n';
		}
		return x;
	};
	this.print = function() {
		var x = '';
		switch (this.id) {
		case 'G01':
			if (this.indContenu) {
				x = x + prtTxt1('Titre:', this);
			}
			break;
		case 'G02':
			if (this.indContenu) {
				x = x + prtTxt1('No. du projet:', this);
			}
			break;
		case 'G03':
			x = x + prtTxt2('Type de produit:', this);
			break;
		case 'G04':
			x = x + prtTxt2('Quantit&eacute; totale:', this);
			break;
		case 'G05':
			if (this.indContenu) {
				x = x + prtTxt1('Nombre de versions ou de lots:', this);
			}
			break;
		case 'G06':
			if (this.indContenu) {
				x = x + prtTxt6('R&eacute;impression:', this);
			}
			break;
		case 'G07':
			if (this.indContenu) {
				x = x + prtTxt7('Format &agrave; plat:', this);
			}
			break;
		case 'G08':
			if (this.indContenu) {
				x = x + prtTxt1('Format pli&eacute;:', this);
			}
			break;
		case 'G09':
			if (this.indContenu) {
				x = x + prtTxt9('Nombre de pages:', this);
			}
			break;
		case 'G10':
			if (this.indContenu) {
				x = x + prtTxt1('Nombre de copies:', this);
			}
			break;
		case 'G11':
			if (this.indContenu) {
				x = x + prtTxt1('Nombre d\'onglets:', this);
			}
			break;
		case 'G12':
			x = x + prtTxt12('Type de papier:', this);
			break;
		case 'G13':
			x = x + prtTxt13('Impression:', this);
			break;
		case 'G14':
			if (this.indContenu) {
				x = x + prtTxt2('Fini de surface:', this);
			}
			break;
		case 'G15':
			if (this.indContenu) {
				x = x + prtTxt15('Num&eacute;rotage:', this);
			}
			break;
		case 'G16':
			if (this.indContenu) {
				x = x + prtTxt16('Donn&eacute;es variables:', this);
			}
			break;
		case 'G17':
			x = x + prtTxt17('Finition:', this);
			break;
		case 'G18':
			x = x + prtTxt18('Emballage:', this);
			break;
		case 'G19':
			x = x + prtTxt19('Livraison:', this);
			break;
		case 'G20':
			if (this.indContenu) {
				x = x + prtTxt1('Date requise:', this);
			}
			break;
		case 'G21':
			x = x + prtTxt21('Mat&eacute;riel fourni:', this);
			break;
		case 'G22':
			x = x + prtTxt2('&Eacute;preuve avant impression:', this);
			break;
		case 'G23':
			if (this.indContenu) {
				x = x + prtTxt1('Notes:', this);
			}
			break;
		}
		return x;
	};
}
function prtTxt1(t, s) {
	return '<tr><td>' + t + '</td><td>' + s.lstBlocs[0].lstItems[0].valeur
			+ '</td></tr>';
}
function prtTxt2(t, s) {
	var retour = '<tr><td valign="top" width="260px">' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		retour = retour + s.lstBlocs[i].print() + '\n';
	}
	return retour + '</td></tr>';
}
function prtTxt6(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].lstItems[0].valeur) {
			retour = retour + s.lstBlocs[i].lstItems[1].label;
		}
		if (s.lstBlocs[i].lstItems[1].valeur) {
			retour = retour + s.lstBlocs[i].lstItems[2].label + ' : '
					+ s.lstBlocs[i].lstItems[2].valeur;
		}
	}
	return retour + '</td></tr>';
}
function prtTxt7(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].lstItems[0].valeur) {
			retour = retour + s.lstBlocs[i].lstItems[0].label + ' '
					+ s.lstBlocs[i].lstItems[0].valeur + ', ';
		}
		if (s.lstBlocs[i].lstItems[1].valeur) {
			retour = retour + s.lstBlocs[i].lstItems[1].label + ' '
					+ s.lstBlocs[i].lstItems[1].valeur;
		}
		if (s.lstBlocs[i].lstItems[2].valeur) {
			retour = retour + ' pouces';
		}
		if (s.lstBlocs[i].lstItems[3].valeur) {
			retour = retour + ' cm';
		}
	}
	return retour + '</td></tr>';
}
function prtTxt9(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].lstItems[0].valeur) {
			retour = retour + s.lstBlocs[i].lstItems[0].valeur;
		}
		if (s.lstBlocs[i].lstItems[1].valeur) {
			retour = retour + ' incluant la couverture';
		}
		if (s.lstBlocs[i].lstItems[2].valeur) {
			retour = retour + ' plus la couverture';
		}
	}
	return retour + '</td></tr>';
}

function prtNoData(b) {
	return '<p>' + b.nom + '</p>\n';
}

function prtItemChk(b) {
	var r = '';
	if (b.lstItems.length > 0) {
		r = r + '<p>' + b.nom;
//		var v = ' : ';
		var v = ' ';
		for (x in b.lstItems) {
			if (b.lstItems[x].valeur) {
				r = r + v + b.lstItems[x].label;
				v = ', ';
			}
		}
		return r + '</p>\n';
	}
}

function prtItemChkTxt(b) {
	var r = '';
	if (b.lstItems.length > 0) {
		r = '<p>' + b.nom;
//		var v = ' : ';
		var v = ' ';
		for (x in b.lstItems) {
			if (b.lstItems[x].indContenu && b.lstItems[x].type == 'TXT') {
				r = r + v + b.lstItems[x].label + ' ' + b.lstItems[x].valeur;
				v = ', ';
			}
			if (b.lstItems[x].indContenu && b.lstItems[x].type == 'IND') {
				r = r + v + b.lstItems[x].label;
				v = ', ';
			}
		}
		return r + '</p>\n';
	}
}

function prtTxt12(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].id == 'G12T01') {
			if (s.lstBlocs[i].indContenu) {
				retour = retour + '<p>' + s.lstBlocs[i].lstItems[0].valeur
						+ '</p>\n';
			}
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G12O01', 'G12O16', 'G12O24', 'G12O25',
				'G12O26', 'G12O27', 'G12O28', 'G12O29', 'G12O30' ])) {
			retour = retour + prtNoData(s.lstBlocs[i]);
			// retour = retour + '<p>' + s.lstBlocs[i].nom + '</p>';
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G12O02', 'G12O03', 'G12O04', 'G12O05',
				'G12O06', 'G12O07', 'G12O08', 'G12O09', 'G12O10', 'G12O11',
				'G12O12', 'G12O13', 'G12O14', 'G12O15' ])) {
			retour = retour + prtItemChk(s.lstBlocs[i]);
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G12O17', 'G12O18', 'G12O19', 'G12O20',
				'G12O21', 'G12O22', 'G12O23', 'G12O31', 'G12O32', 'G12O33',
				'G12O34', 'G12O35' ])) {
			retour = retour + prtItemChkTxt(s.lstBlocs[i]);
			continue;
		}
	}
	return retour + '</td></tr>';
}

function prtTxt13(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].id == 'G13T01') {
			if (s.lstBlocs[i].indContenu) {
				retour = retour + '<p>' + s.lstBlocs[i].lstItems[0].valeur
						+ '</p>\n';
			}
			continue;
		}
		if (s.lstBlocs[i].id == 'G13O01') {
			retour = retour + prtNoData(s.lstBlocs[i]);
			// retour = retour + '<p>' + s.lstBlocs[i].nom + '</p>';
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G13O02', 'G13O03', 'G13O04', 'G13O05', 'G13O06',
				'G13O07', 'G13O08', 'G13O09' ])) {
			retour = retour + prtItemChk(s.lstBlocs[i]);
			continue;
		}
	}
	return retour + '</td></tr>';
}

function prtTxt15(t, s) {
	var sb = s.lstBlocs[0];
	var retour = '<tr><td>' + t + '</td><td><p>';
	if (sb.lstItems[0].indContenu) {
		retour = retour + sb.lstItems[0].valeur + '</p><p>';
	}
	if (sb.lstItems[1].indContenu) {
		retour = retour + sb.lstItems[1].label + ' : ' + sb.lstItems[1].valeur
				+ '</p><p>';
	}
	if (sb.lstItems[2].indContenu) {
		retour = retour + sb.lstItems[2].label + ' : ' + sb.lstItems[2].valeur
				+ '</p><p>';
	}
	retour = retour + 'Couleur d\'encre: ';
	if (sb.lstItems[3].valeur) {
		retour = retour + sb.lstItems[3].label + '</p><p>';
	}
	if (sb.lstItems[4].valeur) {
		retour = retour + sb.lstItems[4].label + '</p><p>';
	}
	retour = retour + 'Nombre de positions: ';
	if (sb.lstItems[5].valeur) {
		retour = retour + sb.lstItems[5].label + '</p>';
	}
	if (sb.lstItems[6].valeur) {
		retour = retour + sb.lstItems[6].label + '</p>';
	}
	if (sb.lstItems[7].valeur) {
		retour = retour + sb.lstItems[7].label + '</p>';
	}
	return retour + '</td></tr>';
}

function prtTxt16(t, s) {
	var sb = s.lstBlocs[0];
	var retour = '<tr><td>' + t + '</td><td><p>';
	if (sb.lstItems[0].indContenu) {
		retour = retour + sb.lstItems[0].valeur + '</p><p>';
	}
	if (sb.lstItems[1].indContenu) {
		retour = retour + sb.lstItems[1].label + ' : ' + sb.lstItems[1].valeur
				+ '</p><p>';
	}
	if (sb.lstItems[2].indContenu) {
		retour = retour + sb.lstItems[2].label + ' : ' + sb.lstItems[2].valeur
				+ '</p><p>';
	}
	if (sb.lstItems[3].indContenu) {
		retour = retour + sb.lstItems[3].label + ' : ' + sb.lstItems[3].valeur
				+ '</p><p>';
	}
	if (sb.lstItems[4].indContenu) {
		retour = retour + sb.lstItems[4].label + ' : ' + sb.lstItems[4].valeur
				+ '</p><p>';
	}
	if (sb.lstItems[5].indContenu) {
		retour = retour
				+ 'Nombre de styles variables (couleur, police, disposition) dans le document  : '
				+ sb.lstItems[5].valeur + '</p>';
	}
	return retour + '</td></tr>';
}

function prtTxt17(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].id == 'G17T01') {
			if (s.lstBlocs[i].indContenu) {
				retour = retour + '<p>' + s.lstBlocs[i].lstItems[0].valeur
						+ '</p>\n';
			}
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G17O01', 'G17O03', 'G17O04', 'G17O05',
				'G17O06', 'G17O07', 'G17O08', 'G17O11', 'G17O14', 'G17O15',
				'G17O16', 'G17O19', 'G17O24', 'G17O26', 'G17O27',
				'G17O29', 'G17O30', 'G17O31', 'G17O32', 'G17O33', 'G17O34',
				'G17O35', 'G17O36', 'G17O37', 'G17O40', 'G17O44', 'G17O45',
				'G17O47', 'G17O48', 'G17O49' ])) {
			retour = retour + prtNoData(s.lstBlocs[i]);
			// retour = retour + '<p>' + s.lstBlocs[i].nom + '</p>';
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G17O02', 'G17O09', 'G17O10', 'G17O20',
				'G17O25', 'G17O38', 'G17O39', 'G17O50' ])) {
			retour = retour + prtItemChkTxt(s.lstBlocs[i]);
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G17O12', 'G17O13', 'G17O23',
				'G17O28', 'G17O41', 'G17O46' ])) {
			retour = retour + prtItemChk(s.lstBlocs[i]);
			continue;
		}
		if (s.lstBlocs[i].id == 'G17O17') {
			retour = retour + '<p>' + s.lstBlocs[i].nom + ': ';
			var sb = s.lstBlocs[i];
			if (sb.lstItems[0].indContenu) {
				retour = retour + sb.lstItems[0].label + ', ';
			}
			if (sb.lstItems[1].indContenu) {
				retour = retour + sb.lstItems[1].label + ', ';
			}
			if (sb.lstItems[2].indContenu) {
				retour = retour + sb.lstItems[2].label + ', ';
			}
			if (sb.lstItems[3].indContenu) {
				retour = retour + sb.lstItems[3].label + ', ';
			}
			if (sb.lstItems[4].indContenu) {
				retour = retour + sb.lstItems[4].label + ' '
						+ sb.lstItems[4].valeur;
			}
			retour = retour + '</p>';
			continue;
		}
		if (s.lstBlocs[i].id == 'G17O21') {
			retour = retour + '<p>' + s.lstBlocs[i].nom + ': ';
			var sb = s.lstBlocs[i];
			if (sb.lstItems[0].indContenu) {
				retour = retour + sb.lstItems[0].label + ' '
						+ sb.lstItems[0].valeur + ' ';
			}
			if (sb.lstItems[1].indContenu) {
				retour = retour + sb.lstItems[1].label + ' '
						+ sb.lstItems[1].valeur + ' ';
			}
			if (sb.lstItems[2].indContenu) {
				retour = retour + sb.lstItems[2].label + ' ';
			}
			if (sb.lstItems[3].indContenu) {
				retour = retour + sb.lstItems[3].label + ' ';
			}
			if (sb.lstItems[4].indContenu) {
				retour = retour + ', ' + sb.lstItems[4].label + ' : '
						+ sb.lstItems[4].valeur + ' ';
			}
			retour = retour + '</p>';
			continue;
		}
		if (s.lstBlocs[i].id == 'G17O22') {
			retour = retour + '<p>' + s.lstBlocs[i].nom + ': ';
			var sb = s.lstBlocs[i];
			if (sb.lstItems[0].indContenu) {
				retour = retour + sb.lstItems[0].label + ' '
						+ sb.lstItems[0].valeur + ' ';
			}
			if (sb.lstItems[1].indContenu) {
				retour = retour + sb.lstItems[1].label + ' '
						+ sb.lstItems[1].valeur + ' ';
			}
			if (sb.lstItems[2].indContenu) {
				retour = retour + sb.lstItems[2].label + ' ';
			}
			if (sb.lstItems[3].indContenu) {
				retour = retour + sb.lstItems[3].label + ' ';
			}
			retour = retour + '</p>';
			continue;
		}
		if (s.lstBlocs[i].id == 'G17O42' || s.lstBlocs[i].id == 'G17O52') {
			retour = retour + '<p>' + s.lstBlocs[i].nom + ': ';
			var sb = s.lstBlocs[i];
			if (sb.lstItems[0].indContenu) {
				retour = retour + sb.lstItems[0].label + ' '
						+ sb.lstItems[0].valeur + ' / ';
			}
			if (sb.lstItems[1].indContenu) {
				retour = retour + sb.lstItems[1].label + ' ';
			}
			if (sb.lstItems[2].indContenu) {
				retour = retour + sb.lstItems[2].label + ' ';
			}
			if (sb.lstItems[3].indContenu) {
				retour = retour + sb.lstItems[3].label + ' ';
			}
			if (sb.lstItems[4].indContenu) {
				retour = retour + sb.lstItems[4].label + ' ';
			}
			retour = retour + '</p>';
			continue;
		}
		if (s.lstBlocs[i].id == 'G17O43') {
			retour = retour + '<p>' + s.lstBlocs[i].nom + ': ';
			var sb = s.lstBlocs[i];
			if (sb.lstItems[0].indContenu) {
				retour = retour + sb.lstItems[0].label + ' '
						+ sb.lstItems[0].valeur;
			}
			retour = retour + '</p>';
			continue;
		}
		if (s.lstBlocs[i].id == 'G17O51') {
			retour = retour + '<p>' + s.lstBlocs[i].nom + ': ';
			var sb = s.lstBlocs[i];
			if (sb.lstItems[0].indContenu) {
				retour = retour + sb.lstItems[0].label + ' '
						+ sb.lstItems[0].valeur;
			}
			retour = retour + '</p>';
			continue;
		}
	}
	return retour + '</td></tr>';
}

function prtTxt18(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].id == 'G18T01') {
			if (s.lstBlocs[i].indContenu) {
				retour = retour + '<p>' + s.lstBlocs[i].lstItems[0].valeur
						+ '</p>\n';
			}
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G18O01', 'G18O02', 'G18O03', 'G18O05',
				'G18O06' ])) {
			retour = retour + prtItemChkTxt(s.lstBlocs[i]);
			continue;
		}
		if (s.lstBlocs[i].id == 'G18O04') {
			retour = retour + prtNoData(s.lstBlocs[i]);
			// retour = retour + '<p>' + s.lstBlocs[i].nom + '</p>';
			continue;
		}
	}
	return retour + '</td></tr>';
}

function prtTxt19(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].id == 'G19T01') {
			if (s.lstBlocs[i].indContenu) {
				retour = retour + '<p>' + s.lstBlocs[i].lstItems[0].valeur
						+ '</p>\n';
			}
			continue;
		}
		if (s.lstBlocs[i].id == 'G19O01' || s.lstBlocs[i].id == 'G19O02') {
			retour = retour + prtNoData(s.lstBlocs[i]);
			// retour = retour + '<p>' + s.lstBlocs[i].nom + '</p>';
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G19O03', 'G19O04' ])) {
			retour = retour + prtItemChkTxt(s.lstBlocs[i]);
			continue;
		}
	}
	return retour + '</td></tr>';
}

function prtTxt21(t, s) {
	var retour = '<tr><td>' + t + '</td><td>';
	for ( var i = 0; i < s.lstBlocs.length; i++) {
		if (s.lstBlocs[i].id == 'G21T01') {
			if (s.lstBlocs[i].indContenu) {
				retour = retour + '<p>' + s.lstBlocs[i].lstItems[0].valeur
						+ '</p>\n';
			}
			continue;
		}
		if (inList(s.lstBlocs[i].id, [ 'G21O00', 'G21O01', 'G21O02', 'G21O03', 'G21O04',
				'G21O05', 'G21O06' ])) {
			retour = retour + prtNoData(s.lstBlocs[i]);
			// retour = retour + '<p>' + s.lstBlocs[i].nom + '</p>';
			continue;
		}
		if (s.lstBlocs[i].id == 'G21O07') {
			sb = s.lstBlocs[i];
			retour = retour + '<p>' + s.lstBlocs[i].nom + '</p>';
			if (sb.lstItems[0].indContenu) {
				retour = retour + '<p>' + sb.lstItems[1].label + '</p>\n';
			}
			if (sb.lstItems[1].indContenu) {
				retour = retour + '<p>' + sb.lstItems[2].label + '</p>\n';
			}
			if (sb.lstItems[2].indContenu) {
				retour = retour + '<p>V&eacute;rifier le chevauchement des couleurs «trapping»</p>\n';
			}
			retour = retour + '</p>';
			continue;
		}
	}
	return retour + '</td></tr>';
}

function prtTxtSel1(s) {
	var retour = '';
	if (s.lstBlocs[0].lstItems[0].indContenu) {
		retour = '<p>' + s.lstBlocs[0].lstItems[0].valeur + '</p>' + '\n';
	}
	if (s.lstBlocs.length > 1) {
		for ( var i = 1; i < s.lstBlocs.length; i++) {
			retour = retour + s.lstBlocs[i].print() + '\n';
		}

	}
	return '' + retour + '';
}

function Bloc() {
	this.id = '';
	this.nom = '';
	this.indContenu = false;
	this.lstItems = new Array();
	this.nbItems = 0;
	this.addItem = function(i) {
		this.lstItems[this.nbItems++] = i;
		this.indContenu = this.indContenu || i.indContenu;
	};
	this.toString = function() {
		var x = '<B>' + this.id + ':' + this.nom + ' (' + this.nbItems + ')/'
				+ this.indContenu + '\n';
		for ( var i = 0; i < this.lstItems.length; i++) {
			x = x + ' ' + i + ':' +this.lstItems[i].toString() + '\n';
		}
		return x;
	};
	this.print = function() {
		var x = '';
		if (this.lstItems.length > 0) {
			// x = '<td>' + this.nom + '';
			for ( var i = 0; i < this.lstItems.length; i++) {
				x = x + this.lstItems[i].print() + '\n';
			}
			// x = x + '</td>';
		} else {
			// x = '<td>' + this.nom + '</td>';
			x = '<p>' + this.nom + '</p>';
		}
		return x;
	};
}

function ItemTxt(i, l, v) {
	this.id = i;
	this.type = 'TXT';
	this.label = l;
	this.valeur = trim(v);
	this.indContenu = !(this.valeur == '');
	this.toString = function() {
		return '<T>' + this.id + ' (' + this.type + ') :' + this.label + '='
				+ this.valeur + '/' + this.indContenu;
	};
	this.print = function() {
		if (this.indContenu) {
			// if (this.label != '') {;
			// return '<p>' + this.label+' '+this.valeur + '</p>';
			// } else {
			return '<p>' + this.valeur + '</p>';
			// }
		}
		return '';
	};
}

function ItemSel(i, l, v) {
	this.id = i;
	this.type = 'IND';
	this.label = l;
	this.valeur = v;
	this.indContenu = this.valeur;
	this.toString = function() {
		return '<I>' + this.id + ' (' + this.type + ') :' + this.label + '='
				+ this.valeur + '/' + this.indContenu;
	};
	this.print = function() {
		if (this.indContenu) {
			return '<p>' + this.label + '</p>';
		}
		return '';
	};
}

function inList(i, l) {
	for ( var j = 0; j < l.length; j++) {
		if (i == l[j]) {
			return true;
		}
	}
	return false;
}
