

function terk_update_fees_for_country( val){ // ex 160_1_3

	var temp = val.split('_');
	if (temp.length != 3 ){return false;}
	
	
	window.gTerk_objTaxes.setCountry( temp.shift() );
	window.gTerk_objTaxes.setPostalZone( temp.shift() ); 	
	window.gTerk_objTaxes.setVatZone( temp.pop() ); 
	window.gTerk_objTaxes.display();
	return true;

}

// --------------------
//
// --------------------
function terk_update_fees_with_speed(val){
	window.gTerk_objTaxes.display(); 
	document.getElementById('cart_hidden_delivery_type').value = val;
	return true;
}
// --------------------
//
// --------------------
function TaxManager( obj_liste_tva, obj_liste_postale){

this.objVatList = obj_liste_tva;
this.objPostalList = obj_liste_postale;

// les objets :
// -------------

this.countryMenu = document.getElementById('cart_pays');
this.fastDeliveryRadioBtn = document.getElementById('cart_livraison_rapide_o');

// les infos requises :
// -------------------------

this.vatZone = document.getElementById('cart_hidden_vat_zone').value;
this.current_vat = this.objVatList[this.vatZone];
this.french_vat = this.objVatList[1];
this.current_country_code = this.countryMenu.options[this.countryMenu.selectedIndex].value;

this.amount = parseFloat(document.getElementById('cart_hidden_montant_articles').value);

this.check_amount = parseFloat(document.getElementById('car_hidden_montant_cheques_cadeau').value);
this.postalZone = document.getElementById('cart_hidden_postal_zone').value;

this.advantage =  document.getElementById('cart_hidden_deduction_avantage').value;


// les champs où travailler :
// -------------------------
this.total_initial_display_field = document.getElementById('zone_total_initial');

this.postal_display_field = document.getElementById('zone_postal_fee');
this.postal_display_comment_field = document.getElementById('zone_postal_comment');

this.detaxe_display_title = document.getElementById('zone_titre_detaxe');
this.detaxe_display_field = document.getElementById('zone_valeur_detaxe');

this.total_display_field = document.getElementById('zone_total_a_regler');



}


// --------------------
//
// --------------------
TaxManager.prototype.display=function(){

// le tarif postal :
var key_tarif  = (this.fastDeliveryRadioBtn.checked)? 'tarif_rapide': 'tarif_normal'; 
var key_comment = (this.fastDeliveryRadioBtn.checked)? 'commentaire_tarif_rapide': 'commentaire_tarif_normal'; 
this.obj_postal_infos = this.objPostalList[this.postalZone];
var fee = parseFloat(this.obj_postal_infos[key_tarif]);
this.postal_display_field.innerHTML = fee.toFixed(2).replace('.', ',') + ' &euro;';
var comment = this.obj_postal_infos[key_comment];
this.postal_display_comment_field.innerHTML =  comment;


if (this.amount > 0){

// la detaxe :
	if (this.vatZone != 1){
		this.detaxe_display_title.style.visibility='visible';
			/*
			DETAXE
			exemple:
			Prix 100
			TVA 19,6
			
			pour enlever la TVA à 19,6
			100 : 1,196 = 83,6120
			
			pour enlever la TVA à 19,6 et ajouter la TVA à 8,5
			100 : 1,196 = 83,6120
			83,6120 x 1,085 = 90,71
			*/
			
	var ht = this.amount / (1+ this.french_vat/100);
	var ttc = ht *  (1+this.current_vat/100);
	var detaxe = this.amount - ttc;
	
	this.detaxe_display_field.innerHTML = '- ' + detaxe.toFixed(2).replace('.', ',') + ' &euro;';
	var regler = ttc + this.check_amount + fee;	
	
	} else {
	
	this.detaxe_display_title.style.visibility='hidden';
	this.detaxe_display_field.innerHTML = '';
	var regler = this.amount + this.check_amount + fee;
	
	}



} else { // pas d'article => ni detaxe ni tarif postaux

	var regler =  this.check_amount;
	this.detaxe_display_title.style.visibility='hidden';

}


// le montant a régler :

	regler -= this.advantage;
	
	regler = (regler > 0) ? regler : 0;
	this.total_display_field.innerHTML = regler.toFixed(2).replace('.', ',') + ' &euro;';

}

// --------------------
//
// --------------------
TaxManager.prototype.setPostalZone=function(val){
	this.postalZone = val;
	document.getElementById('cart_hidden_postal_zone').value = val;
}
// --------------------
//
// --------------------
TaxManager.prototype.setCountry=function(val){
	this.current_country_code = val;
	document.getElementById('cart_hidden_code_pays').value = val;
}
// --------------------
//
// --------------------
TaxManager.prototype.setVatZone=function(val){
	this.vatZone = val;
	this.current_vat = this.objVatList[val];
	document.getElementById('cart_hidden_vat_zone').value = val;
}
// --------------------
//
// --------------------
