// définition des différentes taille de popup
popsize_devisX = 800;
popsize_devisY = 670;
popsize_selectX = 900;
popsize_selectY = 670;
popsize_smallX = 500;
popsize_smallY = 300;

// Function: toggleBlock(selection)
function toggleBlock(selection) {
	disp = document.getElementById(selection).style.display;
	if ((disp == 'none')||(disp == '')) {
		document.getElementById(selection).style.display ='block';
	} else {
		document.getElementById(selection).style.display ='none';
	}
}

// Function: openBlock(selection)
function openBlock(selection) {
	document.getElementById(selection).style.display ='block';
}

// Function: openOpenerBlock(selection)
function openOpenerBlock(selection) {
	opener.parent.document.getElementById(selection).style.display ='block';
}

// Function: closeBlock(selection)
function closeBlock(selection) {
		document.getElementById(selection).style.display ='none';
}

// Function: closeOpenerBlock(selection)
function closeOpenerBlock(selection) {
	opener.document.getElementById(selection).style.display ='none';
}

// Function: fullscreen(x)
function fullscreen(x){
	sx = screen.width;
	sy = screen.height - 32 ;
	px = ((sx - 800) / 2);
	py = ((sy - 600 ) / 2);
	menufen=open (x, 'fenetre', 'scrollbars=1,resizable=0,width=800,height=600,screenx='+px+',left='+px+',screeny='+py+',top='+py);
	return false;
}

// Function: popup(x,titre,w,h)
function popup(x,titre,w,h){
	sx = screen.availWidth;
	sy = screen.availHeight;
	
	if(String(w)!="undefined" && String(h)=="undefined"){
		h = Math.floor(sy * w/100);
		w = Math.floor(sx * w/100);
	}
	
	titre = String(titre);
	if(titre=="undefined") titre="_new";

	px = ((sx - w) / 2);
	py = ((sy - h ) / 2);
	menufen=open(x, titre , 'scrollbars=1,resizable=0,width='+w+',height='+h+',screenx='+px+',left='+px+',screeny='+py+',top='+py);
	
	return menufen;
}


// Function: popup(x,titre,w,h)
function popup_noreturn(x,titre,w,h){
	sx = screen.availWidth;
	sy = screen.availHeight;
	
	if(String(w)!="undefined" && String(h)=="undefined"){
		h = Math.floor(sy * w/100);
		w = Math.floor(sx * w/100);
	}
	
	titre = String(titre);
	if(titre=="undefined") titre="_new";

	px = ((sx - w) / 2);
	py = ((sy - h ) / 2);
	param='scrollbars=1,resizable=0,width='+w+',height='+h+',screenx='+px+',left='+px+',screeny='+py+',top='+py;

	self.open(x, "" , param);
}


/////////////////////////////////////////////////////////// xxx Vente

// Function: goSpeed()
function goSpeed() {
	// on vérifie qu'il y a des produits ou des spéciaux
	if  ( (document.getElementById('tableProduit').rows.length <=1) && (document.getElementById('tableSpecial').rows.length <=1) && (document.getElementById('tableFrais').rows.length <=1) ) {
		alert("Il n'y a aucun produit ou service de sélectionné !");
	} else {
		// on met un client virtuel... actuellement on dit 0
		document.getElementById("idClient").value = "0";
		// on cache toute la page, pour eviter les doublons
		closeBlock('menuTop');closeBlock('bodyBox');closeBlock('menuBottom');
		openBlock('waitBox');
		// on change l'action du formulaire pour l'envoyer vers la facture
		document.getElementById("isDevis").value="0";
		document.getElementById("isSpeed").value="1";
		// on met à jour les variables de tables
		document.getElementById('produitLastRow').value = document.getElementById('tableProduit').rows.length;
		document.getElementById('specialLastRow').value = document.getElementById('tableSpecial').rows.length;
		document.getElementById('fraisLastRow').value = document.getElementById('tableFrais').rows.length;
		document.getElementById("refDossier").value=document.getElementById("g").value;
		popup('','devisPrint',popsize_devisX,popsize_devisY);
		// et on submit le tout !
		document.form1.submit();
	}
}

// Function: construitDevis()
function construitDevis() {
	// on vérifie qu'il y a des produits ou des spéciaux
	if  ( (document.getElementById('tableProduit').rows.length <=1) && (document.getElementById('tableSpecial').rows.length <=1) && (document.getElementById('tableFrais').rows.length <=1) ) {
		alert("Il n'y a aucun produit ou service de sélectionné !");
	// On doit pouvoir mettre des quantités à 0 pour un devis !
	// on vérifie qu'il n'y a pas des produits vide !
	//} else if (document.getElementById("hasEmptyProduit").value >= 1) {
	//	alert("Des produits ne sont pas en stock !");
	// on vérifie qu'il y a bien un client !
	} else if ( (document.getElementById("idClient").value == "0") || (document.getElementById("idClient").value == "") ) {
		alert("Il manque le client !");
	} else {
		// on cache toute la page, pour eviter les doublons
		closeBlock('menuTop');closeBlock('bodyBox');closeBlock('menuBottom');
		openBlock('waitBox');
		// on change l'action du formulaire pour l'envoyer comme devis
		document.getElementById("isDevis").value="1";
		// on met à jour les variables de tables
		//document.getElementById('produitLastRow').value = document.getElementById('tableProduit').rows.length;
		//document.getElementById('specialLastRow').value = document.getElementById('tableSpecial').rows.length;
		//document.getElementById('fraisLastRow').value = document.getElementById('tableFrais').rows.length;
		document.getElementById("refDossier").value=document.getElementById("g").value;
		popup('','devisPrint',popsize_devisX,popsize_devisY);
		// et on submit le tout !
		document.form1.submit();
	}
}

// Function: construitFacture()
function construitFacture() {
	// on vérifie qu'il y a des produits ou des spéciaux
	if  ( (document.getElementById('tableProduit').rows.length <=1) && (document.getElementById('tableSpecial').rows.length <=1) ) {
		alert("Il n'y a aucun produit ou service de sélectionné !");
	// on vérifie qu'il n'y a pas des produits vide !
	} else if (document.getElementById("hasEmptyProduit").value >= 1) {
		alert("des produits ne sont pas en stock !");
	// on vérifie qu'il y a bien un client !
	} else if ( (document.getElementById("idClient").value == "0") || (document.getElementById("idClient").value == "") ) {
		alert("Il manque le client !");
	} else {
		// on cache toute la page, pour eviter les doublons
		closeBlock('menuTop');closeBlock('bodyBox');closeBlock('menuBottom');
		openBlock('waitBox');
		// on change l'action du formulaire pour l'envoyer comme facture
		document.getElementById("isDevis").value="0";
		// on met à jour les variables de tables
		//document.getElementById('produitLastRow').value = document.getElementById('tableProduit').rows.length;
		//document.getElementById('specialLastRow').value = document.getElementById('tableSpecial').rows.length;
		//document.getElementById('fraisLastRow').value = document.getElementById('tableFrais').rows.length;
		document.getElementById("refDossier").value=document.getElementById("g").value;
		popup('','devisPrint',popsize_devisX,popsize_devisY);
		// et on submit le tout !
		document.form1.submit();
	}
}

// Function: retourDevis()
function retourDevis() {
	closeOpenerBlock('waitBox');
	openOpenerBlock('menuTop');openOpenerBlock('bodyBox');openOpenerBlock('menuBottom');
	window.close();
}

// Function: valideDevis()
function valideDevis() {
	// on cache toute la page, pour eviter les doublons
	closeBlock('factureValide');closeBlock('factureEntete');closeBlock('factureEnteteTransparent');closeBlock('factureBody');closeBlock('facturePied');
//alert(document.getElementById("isDevis").value);
	if (document.getElementById("isDevis").value==1) {
		// si c'est un devis et on submit le tout !
		document.form1.submit();
	} else {
		// si c'est une facture.. on présente le paiment
		openBlock('facturePaiement');
	}
}

// Function: validePaiement()
function validePaiement() {
	// on vérifie qu'il y a bien un client !
	//if ( (document.getElementById("idClient").value == 0) || (document.getElementById("idClient").value == "") ) {
	if (document.getElementById("idClient").value == "") {
		alert("Il manque le client !");
	} else {
		// on cache toute la page, pour eviter les doublons
		closeBlock('facturePaiement');
		openBlock("waitBox");
		// on submit le tout !
		document.form1.submit();
	}
}

// Function: closePaiement()
function closePaiement() {
	opener.window.close();
	window.close();
}

// Function: updateClientListe(nom du champ, valeur, ajout)
function updateClientListe(varname,idclient,ajout){
	if ( (!ajout) && (idclient.length > 2) ) {
		if (document.getElementById("clientBox").style.display ='none') {
			closeBlock('produitBox');openBlock('clientBox');
			if ( (document.getElementById('isBl').value==0) && (document.getElementById('isCommandeClient').value==0)) {
				closeBlock('specialBox');
			}
		}
		document.getElementById("selectClient").src="select_client.php?mode=vente&"+String(varname)+"="+String(idclient);
	}
	if (ajout) {
		document.getElementById("selectClient").src="select_client.php?mode=vente&directajout="+ajout+"&"+String(varname)+"="+String(idclient);
	}
}

// Function: updateReferenceListe(nom du champ, valeur, ajout, quant)
function updateReferenceListe(varname, idclient, ajout, quant){
	if (document.getElementById("produitBox").style.display ='none') {
		closeBlock('clientBox');openBlock('produitBox');
			if (document.getElementById('isBl').value==0) {
				closeBlock('specialBox');
			}
	}
	document.getElementById("selectReference").src="select_reference.php?mode=vente&directajout="+ajout+"&directquant="+quant+"&"+String(varname)+"="+String(idclient);
}

// Function: updateVenteTotal()
function updateVenteTotal() {
	venteTotal = 0;
	noTva = false;
	if ( (document.getElementById('isBl').value==0) && (document.getElementById('isCommandeClient').value==0) ) {
		noTva = document.getElementById('noTva').checked;
	}

	// lit les prix des produits et les remises par articles
//	for (i=1; i<document.getElementById('tableProduit').rows.length; i++) {
	for (i=1; i<=document.getElementById('produitLastRow').value; i++) {
		if (document.getElementById('quantite'+i) ) {
			//alert(document.getElementById('tableProduit').rows.length+" / "+i);
			quantite = Math.floor(document.getElementById('quantite'+i).value);
			produitUnit = Math.floor(1000 * document.getElementById('ttc'+i).value) / 1000;
			remise = Math.floor(1000 * document.getElementById('remise'+i).value) / 1000;
			remiseIsEuro = (document.getElementById('remiseIsEuro'+i).checked); // l'id ne se trouve que sur le radio button Euro....
			produit = quantite * produitUnit;
			if (noTva) {
				produitTva = Math.floor(1000 * document.getElementById('tauxTva'+i).value) / 1000;
				produit = Math.floor(1000 * (produit / (1 + (produitTva/100))) ) / 1000;
			}
	
			if ( (document.getElementById('isBl').value==0) && (document.getElementById('isCommandeClient').value==0) ) {
				if (remise != 0) {
					if (remiseIsEuro) {
						produit = produit - remise;
					} else {
						produit = produit * Math.floor(1000 * (1 - (remise/100))) / 1000;
					}
				}
			}
	
			venteTotal = venteTotal + produit;
		}
	}

	// lit les prix des speciaux
	if ( (document.getElementById('isBl').value==0) && (document.getElementById('isCommandeClient').value==0) ) {
		if (document.getElementById('tableSpecial').rows.length>1) {
			for (i=1; i<document.getElementById('tableSpecial').rows.length; i++) {
			if (noTva) {
				specialPrix = Math.floor(1000 * document.getElementById('specialHt'+i).value) / 1000;
			} else {
				specialPrix = Math.floor(1000 * document.getElementById('specialTtc'+i).value) / 1000;
			}
				venteTotal = venteTotal + specialPrix;
			}
		}
	}


	// ajout et soustraction de la remise globale
	if ( (document.getElementById('isBl').value==0) && (document.getElementById('isCommandeClient').value==0) ) {
		remiseGlobale = Math.floor(1000 * document.getElementById('remiseGlobale').value) / 1000;
		if (remiseGlobale != 0) {
			venteTotal = venteTotal * (1 - (remiseGlobale/100));
		}
	}

	// lit les prix ttc des frais
	if ( (document.getElementById('isBl').value==0) && (document.getElementById('isCommandeClient').value==0) ) {
		tableFrais = document.getElementById('tableFrais');
		if (tableFrais.rows.length>1) {
			for (i=1; i<tableFrais.rows.length; i++) {
			if (noTva) {
				fraisPrix = Math.floor(1000 * document.getElementById('fraisHt'+i).value) / 1000;
			} else {
				fraisPrix = Math.floor(1000 * document.getElementById('fraisTtc'+i).value) / 1000;
			}
				venteTotal = venteTotal +fraisPrix;
			}
		}
	}
	document.getElementById('venteTotal').innerHTML = Math.floor(1000 * venteTotal) / 1000;
}

// Function: fillVenteProduitForm(designation de l'article, reference sonodim, prix de vente ttc, tva, quantite en stock, id de l'article)
function fillVenteProduitForm(designation,refsonodim,ttc,tauxTva,quantite_dispo,directquantite,id,id_magasin) {
	//lastrow = parent.document.getElementById('tableProduit').rows.length;
	// vérifie sur l'article n'est pas déja inséré
	refExist = 0;
	currTable = parent.document.getElementById('tableProduit');
	lastrow = currTable.rows.length;
	for (i=1; i<lastrow; i++) {
		thisRow = currTable.rows[i];
		thisCell = thisRow.cells[0];
		thisContent = thisCell.innerHTML;
		if (String(thisContent) == String(refsonodim)) {
			refExist = i;
		}
	}

	if (refExist > 0) { // il existe une entrée... on va mettre é jour la quantité
		x = parent.document.getElementById('quantite'+refExist);
		if ( ((eval(x.value) + eval(directquantite)) > eval(quantite_dispo)) && (parent.document.getElementById('isCommandeClient').value==0)) {
			directquantite = eval(quantite_dispo) - eval(x.value);
			if (directquantite==0) { directquantite = 1; }
		} else {
			directquantite = eval(x.value) + 1;
		}
		x.value = eval(directquantite);

	} else { // aucune entrée n'existe, on ajoute une ligne dans la table
		//parent.document.getElementById('produitLastRow').value = lastrow;
		x = parent.document.getElementById('tableProduit').insertRow(lastrow);
		formlastrow = parent.document.getElementById('produitLastRow').value;
		formlastrow++;

		refcell = x.insertCell(0);
		refcell.setAttribute('align','center');
		refcell.innerHTML=refsonodim;

		designationcell = x.insertCell(1);
		designationcell.innerHTML=designation+'<input type="hidden" name="refsonodim'+formlastrow+'" id="refsonodim'+formlastrow+'" value="'+refsonodim+'"><input type="hidden" name="id'+lastrow+'" value="'+id+'"><input type="hidden" name="id_magasin'+lastrow+'" value="'+id_magasin+'"><input type="hidden" name="designation'+lastrow+'" value="'+designation+'">';

		ttccell = x.insertCell(2);
		ttccell.setAttribute('align','right');
		ttccell.innerHTML=ttc+'<input type="hidden" name="ttc'+formlastrow+'" id="ttc'+formlastrow+'" value="'+ttc+'">';

		tvacell = x.insertCell(3);
		tvacell.setAttribute('align','right');
		tvacell.innerHTML=tauxTva+'<input type="hidden" name="tauxTva'+formlastrow+'" id="tauxTva'+formlastrow+'" value="'+tauxTva+'">';

		remisecell = x.insertCell(4);
		if ( (parent.document.getElementById('isBl').value==0) && (parent.document.getElementById('isCommandeClient').value==0) ) {
			typecell = "block";
		} else {
			typecell = "none";
		}
		remisecell.setAttribute('align','center');
		remisecell.innerHTML='<div style="display:'+typecell+';"><input type="text" name="remise'+formlastrow+'" id="remise'+formlastrow+'" value="0" size="5" class="inputbox" onKeyUp="verifiePrix(this);updateVenteTotal();"><input type="radio" name="remiseIsEuro'+formlastrow+'" value="0" onClick="updateVenteTotal();" class="inputbox" checked>% <input type="radio" name="remiseIsEuro'+formlastrow+'" id="remiseIsEuro'+formlastrow+'" value="1" onClick="updateVenteTotal();" class="inpubox">&euro;</div>';

		quantitecell = x.insertCell(5);
		quantitecell.setAttribute('align','center');
		if (eval(directquantite) > eval(quantite_dispo)) { directquantite = quantite_dispo; }
		removeEmpty = 0;
		//if ( (quantite_dispo == 0) && (parent.document.getElementById('isCommandeClient').value==0) ) { x.setAttribute('bgcolor','red'); parent.document.getElementById('hasEmptyProduit').value=eval(parent.document.getElementById('hasEmptyProduit').value)+1; removeEmpty = 1;}
		if (parent.document.getElementById('isCommandeClient').value==1) {
			directquantite = 1;
		}
		if (parent.document.getElementById('isCommandeClient').value==0) {
			max = ' ('+quantite_dispo+' max.)';
			if (quantite_dispo == 0) {
				x.setAttribute('bgcolor','#FFCCCC');
				parent.document.getElementById('hasEmptyProduit').value = eval(parent.document.getElementById('hasEmptyProduit').value)+1;
				removeEmpty = 1;
			}
		} else {
			max = '';
		}
		quantitecell.innerHTML='<input type="text" name="quantite'+formlastrow+'" id="quantite'+formlastrow+'" value="'+directquantite+'" size=\"5\" class=\"inputbox\" onKeyUp=\"updateVenteTotal();\">'+max;

		enlevercell = x.insertCell(6);
		enlevercell.setAttribute('align','center');
		enlevercell.innerHTML='<input type="button" class="inputbox" value="Enlever" onClick="removeProduit('+lastrow+','+removeEmpty+');">';
	}
	parent.document.getElementById('produitLastRow').value = formlastrow;
	parent.updateVenteTotal();
}

// Function: fillVenteSpecialForm(designation, prix, tva, prixttc)
function fillVenteSpecialForm(thisTable) {
	// on ajoute une ligne à la table tableSpecial ou tableFrais suivant...
	// les cellules sont vides de valeur ! Elles seront mises à jour dans la page méme
	lastrow = document.getElementById('table'+thisTable).rows.length;
	that = thisTable.toLowerCase();
	noremise = (that=="frais")?1:0;
	x = document.getElementById('table'+thisTable).insertRow(lastrow);

	titrecell = x.insertCell(0);
	titrecell.setAttribute('bgcolor','white');
	titrecell.innerHTML=' ';

	designationcell = x.insertCell(1);
	designationcell.setAttribute('align','center');
	designationcell.setAttribute('bgcolor','white');
	designationcell.innerHTML='<input type="text" name="'+that+'Designation'+lastrow+'" id="'+that+'Designation'+lastrow+'" size="40" value="" class="inputbox"><input type=\"hidden\" name=\"'+that+'NoRemise'+lastrow+'\" value=\"'+noremise+'\">';

	prixcell = x.insertCell(2);
	prixcell.setAttribute('align','center');
	prixcell.setAttribute('bgcolor','white');
	prixcell.innerHTML='<input type="text" name="'+that+'Ht'+lastrow+'" id="'+that+'Ht'+lastrow+'" size="15" value=\"0\" onkeyup="verifiePrix(this);calculSpecialTtc('+lastrow+',\''+that+'\');" class="inputbox">';

	tvacell = x.insertCell(3);
	tvacell.setAttribute('align','center');
	tvacell.setAttribute('bgcolor','white');
	tvacell.innerHTML='<select name="'+that+'TauxTva'+lastrow+'" id="'+that+'TauxTva'+lastrow+'" onchange="calculSpecialHt('+lastrow+',\''+that+'\');" class="inputbox">'+tvaHtmlSelect+'</select>';

	ttccell = x.insertCell(4);
	ttccell.setAttribute('align','center');
	ttccell.setAttribute('bgcolor','white');
	ttccell.innerHTML='<input type="text" name="'+that+'Ttc'+lastrow+'" id="'+that+'Ttc'+lastrow+'" size="15" value=\"0\" onkeyup="verifiePrix(this);calculSpecialHt('+lastrow+',\''+that+'\');" class="inputbox">';

	enlevercell = x.insertCell(5);
	enlevercell.setAttribute('align','center');
	enlevercell.setAttribute('bgcolor','white');
	enlevercell.innerHTML='<input type="button" class="inputbox" value="Enlever" onClick="removeSpecial('+lastrow+',0);">';

	updateVenteTotal();
}

// Function: fillVenteClientForm(id du client, nom du client)
function fillVenteClientForm(id,nm) {
	parent.document.getElementById('idClient').value = id; 
	parent.document.getElementById('nomClient').innerHTML = nm;
}

// Function: removeProduit()
function removeProduit(thisRow,removeEmpty) {
	currTable = document.getElementById('tableProduit');
	currTable.deleteRow(thisRow);
	lastrow = currTable.rows.length;
	for (i=1; i<lastrow; i++) {
		thisRow = currTable.rows[i];
		thisCell = thisRow.cells[6];
		thisCell.innerHTML = '<input type="button" class="inputbox" value="Enlever" onClick="removeProduit('+i+');">';
	}
	if (removeEmpty) {
		parent.document.getElementById('hasEmptyProduit').value=eval(parent.document.getElementById('hasEmptyProduit').value)-1;
	}
	updateVenteTotal();
}

// Function: removeSpecial()
function removeSpecial(thisRow,thisTable) {
	currTable = document.getElementById('table'+thisTable);
	currTable.deleteRow(thisRow);
	lastrow = currTable.rows.length;
	for (i=1; i<lastrow; i++) {
		thisRow = currTable.rows[i];
		thisCell = thisRow.cells[5];
		thisCell.innerHTML = '<input type="button" class="inputbox" value="Enlever" onClick="removeSpecial('+i+',\''+thisTable+'\');">';
	}
	updateVenteTotal();
}

function _floor(val){
	return Math.floor(val*100)/100.0;
}

function _ceil(val){
	return Math.ceil(val*100)/100.0;
}

/////////////////////////////////////////////////////////// xxx Vente Devis

// Function: calculSpecialHt(numero de ligne);
function calculSpecialHt(n,that){
	that = that.toLowerCase();
	obj = document.getElementById(that+'Ttc'+n);
	objht = document.getElementById(that+'Ht'+n);
	sel = document.getElementById(that+'TauxTva'+n);

//	obj2 = document.getElementById('serv2Ttc'+n);
//	obj2ht = document.getElementById('serv2Ht'+n);
//	sel2 = document.getElementById('serv2TauxTva'+n);

	grunt = obj.value;
	grunt = grunt.replace(eval("/"+","+"/g"),".");
	obj.value = grunt;
//	obj2.value = grunt;

	if (!isNaN(Number(obj.value))){
		tva=(1+(Number(sel.options[sel.selectedIndex].text)/100));
		total=Math.floor(Number(obj.value)/tva*100)/100;
		objht.value=total;
//		obj2ht.value=total;
//		sel.value = sel2.options[sel2.selectedIndex].text;
	}else{
		objht.value="erreur";
//		obj2ht.value="erreur";
	}
	updateVenteTotal();
}

// Function: calculSpecialTtc(numero de ligne)
function calculSpecialTtc(n,that){
	obj = document.getElementById(that+'Ttc'+n);
	objht = document.getElementById(that+'Ht'+n);
	sel = document.getElementById(that+'TauxTva'+n);

//	obj2 = document.getElementById('serv2Ttc'+n);
//	obj2ht = document.getElementById('serv2Ht'+n);
//	sel2 = document.getElementById('serv2TauxTva'+n);
	
	grunt = objht.value;
	grunt = grunt.replace(eval("/"+","+"/g"),".");
	objht.value = grunt;
//	obj2ht.value = grunt;

	if (!isNaN(Number(objht.value))){

		tva=(1+(Number(sel.options[sel.selectedIndex].text)/100));
		total=Math.floor(Number(objht.value)*tva*100)/100;

		obj.value=total;
//		obj2.value=total;
//		sel.value = sel2.selectedIndex;
	}else{
		obj.value="erreur"
//		obj2.value="erreur"
	}
	updateVenteTotal();
}

// Function: calcPaiement
function calcPaiement($nbrType) {
	total = 0;
	for (i=0; i<document.getElementById('montantNbr').value; i++) {
		total += Math.floor(Number(document.getElementById('montantPaiement'+i).value)*100)/100;
	}
	document.getElementById('montantCalc').value = total;
}

/////////////////////////////////////////////////////////// xxx BL

// Function: construitBL()
function construitBL() {
	// on vérifie qu'il y a des produits
	if (document.getElementById('tableProduit').rows.length <=1) {
		alert("Il n'y a aucun produit ou service de sélectionné !");
	// on vérifie qu'il n'y a pas des produits vide !
	} else if (document.getElementById("hasEmptyProduit").value >= 1) {
		alert("Des produits ne sont pas en stock !");
	// on vérifie qu'il y a bien un client !
	} else if ( (document.getElementById("idClient").value == 0) || (document.getElementById("idClient").value == "") ) {
		alert("Il manque le client !");
	} else {
		// on cache toute la page, pour eviter les doublons
		//closeBlock('menuTop');closeBlock('bodyBox');closeBlock('menuBottom');
		//openBlock('waitBox');
		// on change l'action du formulaire pour l'envoyer vers le devis
		document.getElementById("isBl").value="1";
		// on met à jour les variables de tables
		document.getElementById("refDossier").value=document.getElementById("g").value;
		//document.getElementById('produitLastRow').value = document.getElementById('tableProduit').rows.length;
		if ( (document.getElementById('isBl').value==0) && (pdocument.getElementById('isCommandeClient').value==0) ) {
			//document.getElementById('specialLastRow').value = document.getElementById('tableSpecial').rows.length;
			//document.getElementById('fraisLastRow').value = document.getElementById('tableFrais').rows.length;
		}
		popup('','devisPrint',popsize_devisX,popsize_devisY);
		// et on submit le tout !
		document.form1.submit();
	}
}

// Function: retourBl()
function retourBl() {
	closeOpenerBlock('waitBox');
	openOpenerBlock('menuTop');openOpenerBlock('bodyBox');openOpenerBlock('menuBottom');
	window.close();
}

// Function: valideBl()
function valideBl() {
	// on cache toute la page, pour eviter les doublons
	closeBlock('factureValide');closeBlock('factureEntete');closeBlock('factureEnteteTransparent');closeBlock('factureBody');closeBlock('facturePied');
	if ((document.getElementById("isBl").value==1)||(document.getElementById("bl2retour").value!=0)) {
		// si c'est un devis et on submit le tout !
		document.form1.submit();
	} else {
		// si c'est un BL facturé.. on présente le paiement
		openBlock('facturePaiement');
	}
}

/////////////////////////////////////////////////////////// xxx Commande client

// Function: construitCC()
function construitCC() {
	// on vérifie qu'il y a des produits ou des spéciaux
	if ( (document.getElementById('tableProduit').rows.length <=1) && (document.getElementById('tableSpecial').rows.length <=1) && (document.getElementById('tableFrais').rows.length <=1) ) {
		alert("Il n'y a aucun produit ou service de sélectionné !");
	// on vérifie qu'il n'y a pas des produits vide !
	} else if (document.getElementById("hasEmptyProduit").value >= 1) {
		alert("Des produits ne sont pas en stock !");
	// on vérifie qu'il y a bien un client !
	} else if ( (document.getElementById("idClient").value == 0) || (document.getElementById("idClient").value == "") ) {
		alert("Il manque le client !");
	} else {
		// on cache toute la page, pour eviter les doublons
		closeBlock('menuTop');closeBlock('bodyBox');closeBlock('menuBottom');
		openBlock('waitBox');
		// on change l'action du formulaire pour l'envoyer vers le devis
		document.getElementById("isCommandeClient").value="1";
		// on met à jour la référence dossier si besoin
		document.getElementById("refDossier").value=document.getElementById("g").value;
		//document.getElementById('produitLastRow').value = document.getElementById('tableProduit').rows.length;
		//document.getElementById('specialLastRow').value = document.getElementById('tableSpecial').rows.length;
		//document.getElementById('fraisLastRow').value = document.getElementById('tableFrais').rows.length;
		popup('','devisPrint',popsize_devisX,popsize_devisY);
		// et on submit le tout !
		document.form1.submit();
	}
}

// Function: retourCc()
function retourCc() {
	closeOpenerBlock('waitBox');
	openOpenerBlock('menuTop');openOpenerBlock('bodyBox');openOpenerBlock('menuBottom');
	window.close();
}

// Function: valideCc()
function valideCc() {
	// on cache toute la page, pour eviter les doublons
	closeBlock('factureValide');closeBlock('factureEntete');closeBlock('factureEnteteTransparent');closeBlock('factureBody');closeBlock('facturePied');
	if (document.getElementById("isCommandeClient").value==1) {
		// si c'est un devis et on submit le tout !
		document.form1.submit();
	} else {
		// si c'est une facture.. on présente le paiment
		openBlock('facturePaiement');
	}
}


/////////////////////////////////////////////////////////// xxx admin_reference.php

// Function: verifiePrix(that)
function verifiePrix(that) {
	// valeur = document.getElementById('that');
	valeur = that.value;
	valeur = valeur.replace(eval("/"+","+"/g"),".");
	that.value = valeur;
}

// Function: convertitPrix(that,type)
function convertitPrix(that,type) {
	thatHt = document.getElementById('prix_vente_ht');
	thatTva = document.getElementById('id_tva');
	thatTtc = document.getElementById('prix_vente_ttc');

	if (type == "tottc") { // ht -> ttc
		valeur = thatHt.value;
		valeur = valeur.replace(eval("/"+","+"/g"),".");
		thatHt.value = valeur;

		if (!isNaN(Number(thatHt.value))){
			tva=(1+(Number(thatTva.options[thatTva.selectedIndex].text)/100));
			total=Math.floor(Number(thatHt.value)*tva*100)/100;
			thatTtc.value=total;
		}else{
			thatTtc.value="erreur"
		}
	}

	if (type == "toht") { // ttc -> ht
		valeur = thatTtc.value;
		valeur = valeur.replace(eval("/"+","+"/g"),".");
		thatTtc.value = valeur;

		if (!isNaN(Number(thatTtc.value))){
			tva=(1+(Number(thatTva.options[thatTva.selectedIndex].text)/100));
			total=Math.floor(Number(thatTtc.value)/tva*100)/100;
			thatHt.value=total;
		}else{
			thatHt.value="erreur";
		}
	}
}
