// (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('a5f','a4f','a5fpp','a4fpp');
	var ar_x_FormatOff	= new Array('a5f','a4f','d63x30');

	// MODES
	var ar_x_Mode		= new Array('recto', 'rectoverso');
	var ar_x_ModeRV		= new Array('rectoverso');

	// 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_PapierPleinePage 	= 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_PapierCarton 	= new Array(
				'ipgc',
				'igc',
				'i160c',
				'ib250',
				'ib300',
				'icb250',
				'icb300',
				'icm250',
				'icm300');
	var ar_x_PapierOff = new Array(
				'orc140',
				'icb135',
				'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_FinitionRainage   = new Array('i1rain', 'i2rainsa', 'i2rainsr', 'i2rainsf');
	var ar_x_FinitionRainage3f = new Array('i2rainsa', 'i2rainsr'); // 63x30mm
	var ar_x_FinitionPliage    = new Array('i1pli', 'i2plisa', 'i2plisr', 'i2plisf');
	var ar_x_FinitionPliage3f  = new Array('i2plisa', 'i2plisr');  // 63x30mm

	var ar_x_NbExemplairesFixeOff = new Array('500','1000','2000','3000','4000','5000','10000');
	var ar_x_Finition2 = new Array('inofini','opbr','opbrv','opmr','opmrv');

	// Initialisation des variables
	var theForm = document.forms['fdevis_impadd'];
	var imp = theForm.elements['x_Impression'].value;
	var format = theForm.elements['x_Format'].value;
	var papier = theForm.elements['x_Papier'].value;
	var mode = theForm.elements['x_Mode'].value;
	var impType = theForm.elements['x_ImpType'].value;
	var nbExemplaires = theForm.elements['x_NbExemplaires'].value;
	var nbExemplairesFixe = theForm.elements['x_NbExemplairesFixe'].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 ) {
		if (papier = 'ifluo')
			grammage = 80;
		else
			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_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);
		my_updatecombo(theForm.elements['x_NbExemplairesFixe'], this.TabNbExemplairesFixe, ar_x_NbExemplairesFixeOff);
		my_updatecombo(theForm.elements['x_Finition2'], this.TabFinition, ar_x_Finition2);
	} else {
		my_updatecombo(theForm.elements['x_Format'], this.TabFormat, ar_x_Format);
		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);
		// Traitement des papiers
		if (imp == "iriso" || imp == "irisoex") {
			if (format == "a5fpp" || format == "a4fpp")
				my_updatecombo(theForm.elements['x_Papier'],    this.TabPapier, arr_intersect(ar_x_PapierIriso,ar_x_PapierPleinePage));
			else
				my_updatecombo(theForm.elements['x_Papier'],    this.TabPapier, ar_x_PapierIriso);
		} else {
			if (format == "a5fpp" || format == "a4fpp")
				my_updatecombo(theForm.elements['x_Papier'],    this.TabPapier, ar_x_PapierPleinePage);
			else
				my_updatecombo(theForm.elements['x_Papier'],    this.TabPapier, ar_x_PapierStd);
		}
	}
	if (grammage >= 300 || (impType != "offset" && grammage >= 160)) {
		if (format == "d63x30")
			my_updatecombo(theForm.elements['x_Finition'], this.TabFinition, ar_x_FinitionRainage3f);
		else
			my_updatecombo(theForm.elements['x_Finition'], this.TabFinition, ar_x_FinitionRainage);
	} else {
		if (format == "d63x30")
			my_updatecombo(theForm.elements['x_Finition'], this.TabFinition, ar_x_FinitionPliage3f);
		else
			my_updatecombo(theForm.elements['x_Finition'], this.TabFinition, ar_x_FinitionPliage);
	}

	// Initialisations des champs
	theForm.elements['x_CouvertureDevant'].value = 'aucune';
	theForm.elements['x_CouvertureDerriere'].value = 'aucune';
	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 >= 450) {
		my_updatecombo(theForm.elements['x_ImpType'], this.TabImpType, ar_x_ImpType);
		document.getElementById('ImpTypeAide').style.display = iif(displayNext, 'none', 'block');
	} else {
		document.getElementById('ImpTypeAide').style.display = 'none';
		if (nbExemplaires > 0) {
			my_updatecombo(theForm.elements['x_ImpType'], this.TabImpType, ar_x_ImpTypeNumerique);
		} else {
			my_updatecombo(theForm.elements['x_ImpType'], this.TabImpType, ar_x_ImpType);
			theForm.elements['x_ImpType'].value = '';
		}
	}
	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 = PagesC = '0';
			alert("Nombre de Pages couleur doit etre <= au nombre de pages");
		}
		theForm.elements['x_NbPagesNB'].value = NbPages - PagesC;
		displayNext = devisStep('NbPagesCouleur', displayNext, '0');
	} else {
		theForm.elements['x_NbPagesNB'].value = '';
		devisStep('NbPagesCouleur', 'clean');
	}

	displayNext = devisStep('Papier', displayNext);
	papier = theForm.elements['x_Papier'].value;
	finition2 = theForm.elements['x_Finition2'].value;
	if (papier == "i80c" || papier == "i120c" || papier == "i160c" || papier == "ifluo")
		displayNext = devisStep('Couleur', displayNext);
	else
		devisStep('Couleur', 'clean');
	displayNext = devisStep('Finition', displayNext);
	if (impType == "offset" && grammage >= 170)
		displayNext = devisStep('Finition2', displayNext);
	else
		devisStep('Finition2', 'clean');
	if (impType == "offset") {
		displayNext = devisStep('NbExemplairesFixe', displayNext, '0');
		if (finition2 == '' || finition2 == 'inofini')
			fdevis_finalise(displayNext, 'J+3');
		else
			fdevis_finalise(displayNext, 'J+4');
	} else {
		fdevis_finalise(displayNext);
	}
}


