// JavaScript Document

function _$(id){
	return document.getElementById(id);
}

function refreshAllPrice(){
	refreshPrice(_$('pv_qt'), 'pv')
	refreshPrice(_$('cl_qt'), 'cl')
	refreshPrice(_$('rg_qt'), 'rg')
	refreshPrice(_$('na_qt'), 'na')
	refreshPrice(_$('cs_qt'), 'cs')
	
}

function checkQT(input){
	if(input.value == 0){
		input.value = "";	
	}
}

function refreshPrice(input, p){
	
	
	if( input.value.match(/^[\d]+$/) ){
		var t = (parseFloat(input.value) * parseFloat(_$(p+'_prix').value) ).toFixed(2)
		_$(p+'_total').innerHTML =  t + " &euro;"
		
		//_$('bottle').innerHTML = refreshBottle()
		//_$('total').innerHTML = refreshTotal() + " &euro;"
		return t
	} else {
		input.value = 0
	}
	return true
}

function refreshTotal(){
	var pv = refreshPrice(_$('pv_qt'), 'pv')
	var cl = refreshPrice(_$('cl_qt'), 'cl')
	var rg = refreshPrice(_$('rg_qt'), 'rg')
	var na = refreshPrice(_$('na_qt'), 'na')
	var cs = refreshPrice(_$('cs_qt'), 'cs')
	var b  = refreshBottle();
	
	_$('bottle').innerHTML = b
	
	if(_$('ml_livraison').checked){
		
		
		if(_$('cp_livr').value != "" && !isNaN(_$('cp_livr').value) ){
		
			var total = ( parseFloat(pv) + parseFloat(cl) + parseFloat(rg)  + parseFloat(na) + parseFloat(cs) ).toFixed(2)
			var livraison = getZoneLivraison(_$('cp_livr'))
					
			if( !isNaN(total)  && !isNaN(livraison) && livraison > -1 ){
	
				_$('lvr_prix').value = livraison
				_$('livraison').innerHTML = _$('lvr_prix').value + " &euro;";
				_$('total').innerHTML = (parseFloat(total) + parseFloat(livraison)).toFixed(2) + " &euro;"
				_$('tva').innerHTML =  "Dont TVA (19.6%) : "+ cal_vat(  (parseFloat(total) + parseFloat(livraison)).toFixed(2)  ) + "&euro;"
			
				if( (b % 6) == 0 ){
					_$('btn_commander').disabled = false
				} else {
					_$('btn_commander').disabled = true
					alert('Les commandes ne sont composées que de cartons complets\n(6 bouteilles). Merci d\'ajuster le nombre de bouteilles commandées en conséquence.')
				}
	
	
			
			} else {
				_$('btn_commander').disabled = true
			}
			
		} else {
			alert('Veuillez indiquer le code postal de l\'adresse de livraison pour le calcul des frais de port.')
			_$('livraison').innerHTML = " - ";
			_$('btn_commander').disabled = true
			
			if( !isNaN(total) ){
			
				var total = ( parseFloat(pv) + parseFloat(cl) + parseFloat(rg)  + parseFloat(na) + parseFloat(cs) ).toFixed(2)
				_$('total').innerHTML = parseFloat(total).toFixed(2) + " &euro;"
				_$('tva').innerHTML =  "Dont TVA (19.6%) : "+ cal_vat(parseFloat(total).toFixed(2)) + "&euro;"
			
			} else {
				_$('btn_commander').disabled = true
			}
	
		}
	
	} else {
		var total = ( parseFloat(pv) + parseFloat(cl) + parseFloat(rg)  + parseFloat(na) + parseFloat(cs) ).toFixed(2)
		livraison = 0

		_$('lvr_prix').value = livraison
		_$('livraison').innerHTML = _$('lvr_prix').value + " &euro;";
		_$('total').innerHTML = (parseFloat(total) + parseFloat(livraison)).toFixed(2) + " &euro;"
		_$('tva').innerHTML =  "Dont TVA (19.6%) : "+ cal_vat(  (parseFloat(total) + parseFloat(livraison)).toFixed(2)  ) + "&euro;"
	
		if( (b % 6) == 0 ){
			_$('btn_commander').disabled = false
		} else {
			_$('btn_commander').disabled = true
			alert('Les commandes ne sont composées que de cartons complets\n(6 bouteilles). Merci d\'ajuster le nombre de bouteilles commandées en conséquence.')
		}
	
	}
	
}

function refreshBottle(){
	var bottle = parseFloat(_$('pv_qt').value) + parseFloat(_$('cl_qt').value) + parseFloat(_$('rg_qt').value)  + parseFloat(_$('na_qt').value) + parseFloat(_$('cs_qt').value)
/*	
	if( (bottle % 6) == 0 ){
		_$('btn_commander').disabled = false
	} else {
		_$('btn_commander').disabled = true
	}
*/

	
	return bottle;
	
}

function cal_vat(total){
	return (parseFloat(total) * 0.196 / 1.196).toFixed(2)
	
}

function checkFormInformation(){
	
	refreshTotal()
	
	if( checkNull(  _$('nom_fact'), "Nom de facturation" ) && checkNull(  _$('prenom_fact'), "Prénom de facturation" ) && checkNull(  _$('addr_fact'), "Adresse de facturation" ) && checkNumb(  _$('cp_fact'), "Code postal de facturation" ) && checkNull(  _$('ville_fact'), "Ville de facturation" ) && checkEmail(_$('email_fact'), "") ){

	if(_$('ml_livraison').checked){

		if( checkNull(  _$('nom_livr'), "Nom de livraison" ) && checkNull(  _$('prenom_livr'), "Prénom de livraison" ) && checkNull(  _$('addr_livr'), "Adresse de livraison" ) && checkNumb(  _$('cp_livr'), "Code postal de livraison" ) && checkNull(  _$('ville_livr'), "Ville de livraison" ) ){

			if(_$('cgv').checked){
				return true;
			} else {
				alert("Vous devez accepter les conditions générales de vente pour continuer votre commande.")
				return false;
			}
		}
		
	} else {
		
			if(_$('cgv').checked){
				return true;
			} else {
				alert("Vous devez accepter les conditions générales de vente pour continuer votre commande.")
				return false;
			}
	}
		
		
	} else {
		return false;
	}
	
	return false;
}


function duplicateAddress(){
	if(_$('addrlive').checked){
		_$('nom_livr').value 		= _$('nom_fact').value
		_$('prenom_livr').value 	= _$('prenom_fact').value
		_$('addr_livr').value 		= _$('addr_fact').value
		_$('cp_livr').value 		= _$('cp_fact').value
		_$('ville_livr').value 		= _$('ville_fact').value
		_$('addrlive').checked 		= true
		
		if(  _$('cp_livr').value != "" && !isNaN(_$('cp_livr').value) ){
			getZoneLivraison(_$('cp_livr'))
		}
		
	} else {
		_$('nom_livr').value 		= ""
		_$('prenom_livr').value 	= ""
		_$('addr_livr').value 		= ""
		_$('cp_livr').value 		= ""
		_$('ville_livr').value 		= ""
		_$('addrlive').checked 		= false
	}
}


function formatCP(inputCP){
	if(inputCP.value.length < 5){
		inputCP.value = '0' + inputCP.value
	}
	return true
}

function getZoneLivraison(cp){

	var zone  = Array();
	zone[0] = Array();
	zone[1] = Array('64','40');
	zone[2] = Array('65','31','47','33','24','16','17','79','85','49');
	zone[3] = Array('09','66','11','32','81','82','34','30','84','12','46','15','19','63','69','87','86','36','18','37','72','44','53','35','56','76');
	zone[4] = Array('13','83','48','07','26','43','38','42','01','74','23','03','71','39','58','21','41','45','89','68','90','29','22','50','14','61','27','28','60','2','59','54','57','77','78','91','95','92','93','94','75');
	zone[5] = Array('04','06','05','73','25','70','52','88','67','10','55','51','8','80','62');
	
	var valid_zone = -1;
	
	if(cp.value != "" && !isNaN(cp.value) ){
		var firstCP = cp.value.substr(0,2)
		
		for(var z=0; z<=zone.length; z++){
			if(zone[z]){
				for(var y=0; y<=zone[z].length; y++){
					if(firstCP == zone[z][y]){
						valid_zone = z
						//alert(z)
						break; break;
					}
				}
			}
		}
	}
	
	//alert(valid_zone)
	if(valid_zone > 0){
		return getZonePrice(valid_zone);
	} else {
		alert('Votre adresse de livraison n\'est pas couverte par notre transporteur. Veuillez nous contacter par email ou téléphone pour valider votre commande.')
		return getZonePrice(-1);
	}
}

function getZonePrice(z){
	
	var zone1 = Array();
	zone1[6] = 10;  zone1[12] = 10;  zone1[18] = 15;  zone1[24] = 15;  zone1[30] = 15;  zone1[36] = 15;  zone1[42] = 15;  zone1[48] = 15;  zone1[54] = 20;
	
	var zone2 = Array();
	zone2[6] = 15;  zone2[12] = 20;  zone2[18] = 20;  zone2[24] = 20;  zone2[30] = 20;  zone2[36] = 25;  zone2[42] = 30;  zone2[48] = 30;  zone2[54] = 30;

	var zone3 = Array();
	zone3[6] = 20;  zone3[12] = 25;  zone3[18] = 25;  zone3[24] = 30;  zone3[30] = 30;  zone3[36] = 35;  zone3[42] = 40;  zone3[48] = 40;  zone3[54] = 40;

	var zone4 = Array();
	zone4[6] = 25;  zone4[12] = 30;  zone4[18] = 30;  zone4[24] = 35;  zone4[30] = 35;  zone4[36] = 40;  zone4[42] = 45;  zone4[48] = 45;  zone4[54] = 50;

	var zone5 = Array();
	zone5[6] = 30;  zone5[12] = 35;  zone5[18] = 35;  zone5[24] = 40;  zone5[30] = 40;  zone5[36] = 45;  zone5[42] = 50;  zone5[48] = 50;  zone5[54] = 55;

	_$('btn_commander').disabled = true

	if(refreshBottle() <= 54 && (refreshBottle() % 6 == 0) ){
		switch(z){
			case -1:
				_$('btn_commander').disabled = true
				return -1
				
			break;
			
			case 0:
				_$('btn_commander').disabled = true
				return 0
				
			break;
			
			case 1:
				_$('btn_commander').disabled = false
				return parseFloat(zone1[refreshBottle()]).toFixed(2)
				
			break;
			
			case 2:
				_$('btn_commander').disabled = false
				return parseFloat(zone2[refreshBottle()]).toFixed(2)
			break;
			
			case 3:
				_$('btn_commander').disabled = false
				return parseFloat(zone3[refreshBottle()]).toFixed(2)
			break;
			
			case 4:
				_$('btn_commander').disabled = false
				return parseFloat(zone4[refreshBottle()]).toFixed(2)
			break;
			
			case 5:
				_$('btn_commander').disabled = false
				return parseFloat(zone5[refreshBottle()]).toFixed(2)
			break;
		}
	} else if(refreshBottle() > 54 && (refreshBottle() % 6 == 0) ){
		_$('btn_commander').disabled = false
		return 0;
	} else if( refreshBottle() % 6 != 0 ){
		_$('btn_commander').disabled = true
		return 0;
	}
	
	return false

}


function retraitverif(f){
	switch (f){
		default:
		case "Retrait sur place":
			_$("tb_addr_livraison").style.display = "none";
			_$('addrlive').checked 		= false
			duplicateAddress()
		break;
		
		case "Livraison":
			_$("tb_addr_livraison").style.display = ""
		break;
	}
}

