// (C)2008 addworks

function devis_display() {
	// TYPE D'IMPRESSION
	var ar_x_ImpType          = new Array( 'numerique', 'offset' );
	var ar_x_ImpTypeNumerique = new Array( 'numerique'           );
	var ar_x_ImpTypeOffset    = new Array(              'offset' );

	// ORIGINAUX
	var ar_x_Originaux = new Array(
			'docpdf',
			'docword',
			'docxls',
			'docppt',
			'docpub',
			'docpshop',
			'docillus',
			'docindes',
			'docxps',
			'docautre');

	// FORMATS
	var ar_x_Format    = new Array('a6','f100x210','a5','a4','a3','a3plus');
	var ar_x_FormatOff = new Array('a6','f100x210','a5','a4','a3');

	// PAPIERS
	var ar_x_PapierStd = new Array(
				'i80g',
				'i100g',
				'ib100',
				'ib120',
				'ib160',
				'ib200',
				'ib220',
				'ib250',
				'ib300',
				'icb135',
				'icb170',
				'icb200',
				'icb250',
				'icb300',
				'icm135',
				'icm170',
				'icm200',
				'icm250',
				'icm300',
				'ipp160',
				'ipp250',
				'i80c',
				'ifluo',
				'i120c',
				'i160c');
	var ar_x_PapierA3plus 	= new Array(
				'ib100',
				'ib160',
				'ib200',
				'ib220',
				'ib250',
				'ib300',
				'icb135',
				'icb170',
				'icb300',
				'icm135',
				'icm170',
				'icm300');
	var ar_x_PapierIriso 	= new Array('i80g','i100g','ib100','ib120','i80c','i120c');
	var ar_x_PapierOff	= new Array('icb135','orc140','icb170','icb300','icm170','icm350');


	// IMPRESSIONS
	var ar_x_ImpStdR	= new Array('inbex','icex','irisoex');
	var ar_x_ImpStdRV	= new Array('inbex','icex','imixex','irisoex');
	var ar_x_ImpIriso 	= new Array('irisoex');
	var ar_x_ImpNoIriso 	= new Array('inbex','icex','imixex');
	var ar_x_ImpOff		= new Array('oquadri');

	// FINITION
	var ar_x_Finition       = new Array('inofini','iwa4');
	var ar_x_FinitionOff140 = new Array('inofini');
	var ar_x_FinitionOff170 = new Array('inofini','opbr','opbrv','opmr','opmrv');

	// EXEMPLAIRES
	var ar_x_NbExemplairesFixeOff              = new Array();
	ar_x_NbExemplairesFixeOff['a6']            = new Array('1000','2000','3000','4000','5000','10000','20000','30000','40000','50000');
	ar_x_NbExemplairesFixeOff['f100x210']      = new Array('1000','2000','3000','4000','5000','10000','20000','30000','40000','50000');
	ar_x_NbExemplairesFixeOff['a5']            = new Array('1000','2000','3000','4000','5000','10000','20000','30000','40000','50000');
	ar_x_NbExemplairesFixeOff['a4']            = new Array('1000','2000','3000','4000','5000','10000','20000','50000');
	ar_x_NbExemplairesFixeOff['a3']            = new Array('1000','2000','3000','4000','5000','10000');
	ar_x_NbExemplairesFixeOff['']              = new Array('1000','2000','3000','4000','5000','10000','20000','30000','40000','50000');
	var ar_x_NbExemplairesFixeOffPelli         = new Array();
	ar_x_NbExemplairesFixeOffPelli['a6']       = new Array('1000','2000','3000','4000','8000','12000','16000','20000','30000','40000');
	ar_x_NbExemplairesFixeOffPelli['f100x210'] = new Array('1000','1500','3000','6000','12000','15000','30000');
	ar_x_NbExemplairesFixeOffPelli['a5']       = new Array('1000','2000','4000','6000','8000','10000','20000');
	ar_x_NbExemplairesFixeOffPelli['a4']       = new Array('1000','2000','3000','4000','5000','10000');
	ar_x_NbExemplairesFixeOffPelli['a3']       = new Array('1000','2000','3000','4000','5000','10000');
	ar_x_NbExemplairesFixeOffPelli['']         = new Array(
		'1000','1500','2000','3000','4000','5000','6000','8000','10000','12000','15000','16000','20000','30000','40000');

	// Initialisation des variables
	var theForm = document.forms['fdevis_impadd'];
	var nbExemplaires = theForm.elements['x_NbExemplaires'].value;
	var nbExemplairesFixe = theForm.elements['x_NbExemplairesFixe'].value;
	var impType = theForm.elements['x_ImpType'].value;
	var imp = theForm.elements['x_Impression'].value;
	var format = theForm.elements['x_Format'].value;
	var mode = theForm.elements['x_Mode'].value;
	var papier = theForm.elements['x_Papier'].value;
	var finition = theForm.elements['x_Finition'].value;

	// Calcul du grammage
	var grammage = papier;
	while ('0123456789'.indexOf(grammage.charAt(0)) < 0 && grammage != "")
		grammage = grammage.substr(1);
	grammage = parseInt(grammage, 10);
	if ( isNaN(grammage) || grammage <= 0 || grammage > 999 )
		grammage = 0;

	// Initialistion des listes de choix
	my_updatecombo(theForm.elements['x_Originaux'], this.TabOriginaux, ar_x_Originaux);
	if (impType == "offset") {
		my_updatecombo(theForm.elements['x_ImpType'], this.TabImpType, ar_x_ImpType);
		my_updatecombo(theForm.elements['x_Format'], this.TabFormat, ar_x_FormatOff);
		my_updatecombo(theForm.elements['x_Impression'], this.TabImpression, ar_x_ImpOff);
		my_updatecombo(theForm.elements['x_Papier'], this.TabPapier, ar_x_PapierOff);
		if (grammage >= 170)
			my_updatecombo(theForm.elements['x_Finition'], this.TabFinition, ar_x_FinitionOff170);
		else
			my_updatecombo(theForm.elements['x_Finition'], this.TabFinition, ar_x_FinitionOff140);
		var ar_NbExemplairesFixeOff;
		if (finition == "" || finition == "inofini")
			ar_NbExemplairesFixeOff = ar_x_NbExemplairesFixeOff;
		else
			ar_NbExemplairesFixeOff = ar_x_NbExemplairesFixeOffPelli;
		if (!ar_NbExemplairesFixeOff[format])
			format = '';
		my_updatecombo(theForm.elements['x_NbExemplairesFixe'], this.TabNbExemplairesFixe, ar_NbExemplairesFixeOff[format]);
	} else {
		my_updatecombo(theForm.elements['x_Format'], this.TabFormat, ar_x_Format);
		my_updatecombo(theForm.elements['x_Finition'], this.TabFinition, ar_x_Finition);
		if (mode == 'rectoverso')
			my_updatecombo(theForm.elements['x_Impression'], this.TabImpression, ar_x_ImpStdRV);
		else
			my_updatecombo(theForm.elements['x_Impression'], this.TabImpression, ar_x_ImpStdR);
		if (nbExemplaires >= 900 || nbExemplaires <= 0)
			my_updatecombo(theForm.elements['x_ImpType'], this.TabImpType, ar_x_ImpType);
		else
			my_updatecombo(theForm.elements['x_ImpType'], this.TabImpType, ar_x_ImpTypeNumerique);
		// Traitement des papiers
		if (imp == "iriso" || imp == "irisoex") {
			if (format == "a3plus")
				my_updatecombo(theForm.elements['x_Papier'],    this.TabPapier, arr_intersect(ar_x_PapierIriso, ar_x_PapierA3plus));
			else
				my_updatecombo(theForm.elements['x_Papier'],    this.TabPapier, ar_x_PapierIriso);
		} else {
			if (format == "a3plus")
				my_updatecombo(theForm.elements['x_Papier'],    this.TabPapier, ar_x_PapierA3plus);
			else
				my_updatecombo(theForm.elements['x_Papier'],    this.TabPapier, ar_x_PapierStd);
		}
	}

	// Initialisations des champs
	if (impType != "offset" && nbExemplaires <= 0)
		theForm.elements['x_ImpType'].value = '';
	if (mode == 'rectoverso')
		theForm.elements['x_NbPages'].value = 2;
	else
		theForm.elements['x_NbPages'].value = 1;

	// Enchainement
	var displayNext = true;
	if (impType == "offset")
		devisStep('NbExemplaires', 'clean', nbExemplairesFixe);
	else
		displayNext = devisStep('NbExemplaires', displayNext, '0');
	displayNext = devisStep('ImpType', displayNext);
	if (impType == "offset" || nbExemplaires >= 900)
		document.getElementById('ImpTypeAide').style.display = iif(displayNext, 'none', 'block');
	else
		document.getElementById('ImpTypeAide').style.display = 'none';
	displayNext = devisStep('Originaux', displayNext);
	displayNext = devisStep('Format', displayNext)
	displayNext = devisStep('Mode', displayNext)
	displayNext = devisStep('Impression', displayNext)
	if (imp == "icnb" || imp == "icnbex") {
		NbPages = Number(theForm.elements['x_NbPages'].value);
		PagesC = Number(theForm.elements['x_NbPagesCouleur'].value);
		if (PagesC > NbPages) {
			theForm.elements['x_NbPagesCouleur'].value = '0';
			alert("Nombre de Pages couleur doit etre <= au nombre de pages");
		}
		displayNext = devisStep('NbPagesCouleur', displayNext, '0');
		theForm.elements['x_NbPagesNB'].value = NbPages - PagesC;
	} else {
		devisStep('NbPagesCouleur', 'clean', '0');
		theForm.elements['x_NbPagesNB'].value = '0';
	}
	displayNext = devisStep('Papier', displayNext);
	if (papier == "i80c" || papier == "i120c" || papier == "i160c" || papier == "ifluo")
		displayNext = devisStep('Couleur', displayNext);
	else
		devisStep('Couleur', false);
	displayNext = devisStep('Finition', displayNext);
	if (impType == "offset") {
		displayNext = devisStep('NbExemplairesFixe', displayNext, '0');
		if (finition == "" || finition == "inofini")
			fdevis_finalise(displayNext, "J+3");
		else
			fdevis_finalise(displayNext, "J+4");
	} else {
		fdevis_finalise(displayNext);
	}
}


