/*var browser = navigator.userAgent;
var isOpera = (browser.indexOf("Opera") != -1);
var isIE = (!isOpera && browser.indexOf("MSIE") != -1);
var isMozilla = (!isOpera && !isIE && browser.indexOf("Mozilla") != -1); */
var nbLineTva=document.formulaire.nbLineTva.value;
//var hauteurLigneDefault=37; //hauteur d'une ligne par défaut

function combienDeLignesProduit()
{
    i=1;
    while( i != 0 )
    {
        if( $('txtPLCH_TotalHT_ligne_'+i) )
		{
            NbDeLignes = i;
            i++;
        }
		else
		{
            i=0;
        }
    }

    return NbDeLignes;
}

function combienDeLignesProduitVisible()
{
    var NbDeLignes=0;
    var i=1;

    while(1)
    {
    	if(!$('txtPLCH_TotalHT_ligne_'+i)) break;
        if($('ligneProduits_'+i).style.display!='block') break;
        NbDeLignes++;
        i++;
    }
    //('nb = '+NbDeLignes);
    return NbDeLignes;
}

/*function updateNbProduits(up)
{
    var nbProduits;

    nbProduits=parseInt(document.formulaire.nbProduits.value);
    if(up) nbProduits+=1;
    else
    {
    	if(nbProduits>1) nbProduits-=1;
    }
    document.formulaire.nbProduits.value=nbProduits;

}*/

/*function ajouterLigneProduit(fromConsole,accesConsole,txtAreaColsMini,txtAreaColsMaxi,txtAreaRowsMini,txtAreaRowsMaxi)
{

	//fromConsole == 1 : Si j'ajoute un produit sur la planche par la console
	//fromConsole == undefined : Si j'ajoute un produit sur la planche par la planche elle même

	//accesConsole ==1 : Si j'ouvre la console produit par le petit livre de la ligne produit
	//accesConsole ==2 : Si j'ouvre la console produit par la console

    var NbDeLignes=combienDeLignesProduit();
    var hauteurLignes=0;
    var hauteurBlocProduit=0;
    //var insertEffectif=0;
    //var nbProduits=parseInt(document.formulaire.nbProduits.value);
    var nbProduits=$("nbProduits");

    for( i=1;i<=NbDeLignes;i++ )
    {
        if( $('ligneProduits_'+(i+1)) )
        {
            if( $('ligneProduits_'+i).style.display == "block" && $('ligneProduits_'+(i+1)).style.display == "none" )
            {
            	//var ligne=i+1;
                if(!fromConsole)
                {
                	$('ligneProduits_'+(i+1)).style.display = "block";
                	textareaSizeLimites($('txtPLCH_DetailProduit_ligne_'+(i+1)),txtAreaColsMini,txtAreaColsMaxi,txtAreaRowsMini,txtAreaRowsMaxi);
                	updateNbProduits(1);
                	//insertEffectif=1;
                }
                else
            	{
            		if((accesConsole==2))
            		{
	            		updateNbProduits(1);
	            		if(nbProduits.value!=1)
	            		{
		            		$('ligneProduits_'+(i+1)).style.display = "block";
							textareaSizeLimites($('txtPLCH_DetailProduit_ligne_'+(i+1)),txtAreaColsMini,txtAreaColsMaxi,txtAreaRowsMini,txtAreaRowsMaxi);
		                	//insertEffectif=1;
		                }
                	}
                	else textareaSizeLimites($('txtPLCH_DetailProduit_ligne_'+(i)),txtAreaColsMini,txtAreaColsMaxi,txtAreaRowsMini,txtAreaRowsMaxi);


            	}

                break;
            }
            else textareaSizeLimites($('txtPLCH_DetailProduit_ligne_'+(i)),txtAreaColsMini,txtAreaColsMaxi,txtAreaRowsMini,txtAreaRowsMaxi);
        }
    }
}*/

/*function resizeBlocProduit()
{
	var NbDeLignes=combienDeLignesProduit();
    var hauteurLignes=0;
    var hauteurBlocProduit=0;

	for(i=1;i<=NbDeLignes;i++)
    {
    	// Cumul de la hauteur de chaque ligne déjà ajoutée
    	hauteurLignes+=$('ligneProduits_'+i).offsetHeight;
    }

	//Ajout d'un espace blanc en bas des lignes produits
    hauteurLignes+=$("bossageAjouterLigne").offsetHeight;

    //Ajout de la hauteur de la ligne blanche d'ajout
    //hauteurLignes+=hauteurLigneDefault;

    //Hauteur du bloc conteneur de lignes produits
    hauteurBlocProduit=$("lyrProduits").offsetHeight;

    if(hauteurLignes>hauteurBlocProduit)
    {
    	// MAJ de la hauteur du bloc contenant les lignes produits
	    hauteurBlocProduit+=hauteurLigneDefault;
	    //hauteurBlocProduit+=5;
	    setHeightBlocProd(hauteurBlocProduit);
	}
}*/

/*function setHeightBlocProd(hauteurBlocProduit)
{
	$("heightBlocProd").value=hauteurBlocProduit;
	$("lyrProduits").style.height=hauteurBlocProduit+"px";
}*/

/*function supprimerLigneProduit(ligne)
{
	var ligneSuivante=ligne+1;
	var ligneCourante=ligne;
	bntAbord=$('RL_div_abdPopUp_Type_Abord');
	bntConfirm=$('RL_div_abdPopUp_Type_Confirm');

	while(1)
	{
		if(!$('txtPLCH_DetailProduit_ligne_'+ligneSuivante)) break;
		$('txtPLCH_DetailProduit_ligne_'+ligneCourante).value = 		$('txtPLCH_DetailProduit_ligne_'+ligneSuivante).value;
	    if(nbLineTva!=0) $('slctPLCH_TVA_ligne_'+ligneCourante).value = $('slctPLCH_TVA_ligne_'+ligneSuivante).value;
	    $('txtPLCH_puHT_ligne_'+ligneCourante).value = 					$('txtPLCH_puHT_ligne_'+ligneSuivante).value;
	    $('txtPLCH_Nb_ligne_'+ligneCourante).value = 					$('txtPLCH_Nb_ligne_'+ligneSuivante).value;
	    $('txtPLCH_Remise_ligne_'+ligneCourante).value = 				$('txtPLCH_Remise_ligne_'+ligneSuivante).value;
	    $('txtPLCH_TotalHT_ligne_'+ligneCourante).value = 				$('txtPLCH_TotalHT_ligne_'+ligneSuivante).value;

    	ligneSuivante++;
    	ligneCourante++;
    }

    supprimerDerniereLigneProduit(ligne);
    updateNbProduits(0);
    changeField(window);
}*/

/*function supprimerDerniereLigneProduit(ligne)
{
	var derniereLigne=combienDeLignesProduitVisible();

	//(ligne);
	// effacage le contenu des champs de la ligne 'ligne'
    $('txtPLCH_DetailProduit_ligne_'+derniereLigne).value = "";
    if(nbLineTva!=0) $('slctPLCH_TVA_ligne_'+derniereLigne).options[0].selected = true;
    // Ligne ci-dessus : la valeur [0] devra être remplacée par la valeur par défaut des préférences de l'Utilisateur (dans la version cognitive)
    $('txtPLCH_puHT_ligne_'+derniereLigne).value = "0.00";
    $('txtPLCH_Nb_ligne_'+derniereLigne).value = "1";
    $('txtPLCH_Remise_ligne_'+derniereLigne).value = "0";
    $('txtPLCH_TotalHT_ligne_'+derniereLigne).value = "0.00";

    // Reset de la couleur des contenus
    $('txtPLCH_DetailProduit_ligne_'+derniereLigne).style.color = "";
    if(nbLineTva!=0) $('slctPLCH_TVA_ligne_'+derniereLigne).style.color = "";
    $('txtPLCH_puHT_ligne_'+derniereLigne).style.color = "";
    $('txtPLCH_Nb_ligne_'+derniereLigne).style.color = "";
    $('txtPLCH_Remise_ligne_'+derniereLigne).style.color = "";
    $('txtPLCH_TotalHT_ligne_'+derniereLigne).style.color = "";

    // masquage de la ligne
    if(derniereLigne!='1')
    {
		$('ligneProduits_'+derniereLigne).style.display = "none";
    }

    // Re-calcul des totaux
    CalculTotauxFacture();
}*/

function calculLigne(obj)
{
    // Quel élement ?
    var chaine = obj.name;
    var tblId = chaine.split("_");
    var id=tblId[tblId.length-1];

    // calcul et mise à jour du résultat de la ligne
    var pu = $('txtPLCH_puHT_ligne_'+id).value;
    var Nb = $('txtPLCH_Nb_ligne_'+id).value;
    var pctRemise = $('txtPLCH_Remise_ligne_'+id).value;
    var totalLigne = pu * Nb - ( (pu * Nb) * (pctRemise / 100) );
    $('txtPLCH_TotalHT_ligne_'+id).value = roundDecimal(totalLigne);

    // calcul et mise à jour du résultat des cumuls (dans la zone des totaux)
    CalculTotauxFacture();
}

function computeAllLines()
{
    //recalcul toutes les lignes produit du document lors d'un rechargement de page
    var i=0;

    while(1)
    {
        i++;
        if($('txtPLCH_TotalHT_ligne_'+i))
        {
	        obj=$('txtPLCH_TotalHT_ligne_'+i);
	        calque=$('ligneProduits_'+i);

	        if(calque) calculLigne(obj);
	        else break;
	    }
		else break;
    }
}

function CalculTotauxFacture()
{
    CalculCumulTotauxHT();
    CalculRemiseGenerale();
    if(nbLineTva!=0) CalculBaseHT_TVA();
    CalculTotauxHTNet();
    if(nbLineTva!=0) CalculTVA();
    if(nbLineTva!=0) CalculTotalCumulTVAs();
    CalculTotalTTC();
}

function CalculCumulTotauxHT()
{
    var NbDeLignes = combienDeLignesProduit();

    var cumul = 0;
    for( i=1;i<=NbDeLignes;i++ ){
        cumul += ($('txtPLCH_TotalHT_ligne_'+i).value) * 1;
    }

    $('txt_CumulTotauxHT').value = roundDecimal(cumul);
}

function CalculRemiseGenerale()
{
    var totalHT			= ($('txt_CumulTotauxHT').value) * 1;
    var portHT			= ($('txt_PortHT').value) * 1;
    var pctRemiseGen	= ($('txt_RemiseEntree').value / 100);

    $('txt_RemiseCalculee').value = roundDecimal((totalHT+portHT) * pctRemiseGen);
}

function CalculTotalCumulTVAs()
{
    //Calcul du total TVA
    var totalCumulTVAs=0;
    i=1;
    while(i!=0)
    {
        if($('txt_TVA_'+i))
        {
            totalCumulTVAs+=($('txt_TVA_'+i).value)*1;
            i++;
        }
        else
        {
            i=0;
        }
    }

    $('txt_TotalTVA').value=roundDecimal(totalCumulTVAs);
}

function CalculPortTva(tauxTva)
{
	//Calcul la Tva associé au Port HT
	var obj;
	var stringTaux;
	var longueur;
	var taux;
	var portHT;
	var tvaPort;
	var cumulTva;
	var total;

	/*Récupération des valeurs à utiliser pour le calcul*/
	obj=document.formulaire.txt_PortHT_Select;
	stringTaux=obj.options[obj.selectedIndex].text;

	longueur=stringTaux.length;
	taux=parseFloat(stringTaux.substring(0,longueur-1));

	if(taux==tauxTva)
	{
		portHT=$('txt_PortHT').value;
		total=roundDecimal(portHT);
	}
	else total=0;
	total=parseFloat(total);

	return total;
}



function ckeckDecimal(obj)
{
	obj.value=roundDecimal(obj.value);
}

/**
 *
 * @access public
 * @return void
 **/
function roundFake(totalTTC)
{
	var aTotalTTC;

	aTotalTTC=totalTTC.split('.');

	if(aTotalTTC[1]=='01') aTotalTTC[1]='00';
	else if(aTotalTTC[1]=='99')
	{
		aTotalTTC[0]++;
		aTotalTTC[1]='00';
	}

	return aTotalTTC[0]+'.'+aTotalTTC[1];
	//return totalTTC
}

/**
 *
 * @access public
 * @return void
 **/
function swapFreeTva(objet)
{/*TVA FREE*/

}
