<?php
session_start();
// ========================================================================================
// Valider le panier et la commande, ETAPE 3
//
// Enregistrer les coordonnées dans le panier.
// Afficher le choix des modes de paiement et de transport.
// ========================================================================================
include "library/DB_fct.inc.php";
include "library/CART_fct.inc.php";
include "library/_baseDesign.inc.php";
// ========================================================================================
// FONCTIONS LOCALES
// ========================================================================================
// -------------------------------------------------------------------
function _menuRight(){
global $_SESSION;
global $connexion;
global $panierId;
	if (isset($_SESSION['num'])) echo "ok";
	// affichage du Panier
	CART_previewCart($panierId, "", "n");
	echo "<div class=help>Sélectionner les modes puis continuer.</div>\n";
}
// -------------------------------------------------------------------
function _dspSelectTransMode(){
global $connexion;
	echo "<select name=transMode>";
	echo "<option value=0>-- Sélectionner un mode de transport --</option>";
	$requete_sql="SELECT * FROM modeTransport order by libelle;";
	$requete_id=DB_ouvrirRequete($requete_sql, $connexion);
	while ($t_record=DB_lireLigne($requete_id)){
		echo "<option value=".$t_record['code']." >".$t_record['libelle']."</option>";
	}
	echo "</select>";
}
// -------------------------------------------------------------------
function _dspSelectPaiemtMode(){
global $connexion;
	echo "<select name=payMode>";
	echo "<option value=0>-- Sélectionner un mode de paiement --</option>";
	$requete_sql="SELECT * FROM modePaiement order by libelle;";
	$requete_id=DB_ouvrirRequete($requete_sql, $connexion);
	while ($t_record=DB_lireLigne($requete_id)){
		echo "<option value=".$t_record['code']." >".$t_record['libelle']."</option>";
	}
	echo "</select>";
}
// -------------------------------------------------------------------
function _coordList(){
global $connexion;
global $panierId;
	$requete_sql="SELECT * FROM panier WHERE panierId='$panierId' ;";
	$t_record=DB_chercherEnreg($requete_sql, $connexion);
	// BEGIN Liste des coordonnées
		echo "<!-- BEGIN Coord data --><table align=center border=1 id=coordList>";
		echo "<caption>Vos coordonnées :</caption>";
		echo "<tr><th>Adresse de facturation</td></tr>";
		echo "<tr><td>";
			echo "<ul class=coord_dsp>";
			echo "<li>".$t_record['invNom']."</li>";
			echo "<li>".$t_record['invAdress']."</li>";
			echo "<li>".$t_record['invPaysCode']."</li>";
			echo "</ul>";
		echo "</td></tr>";
		echo "</table><!-- END Coord data -->";
	// END Liste des coordonnées
}
// -------------------------------------------------------------------
// liste des articles du panier. Liste simple affichage
// -------------------------------------------------------------------
function _cartList($panierId){
global $connexion;
	$prixTotal=0;
	$cartCount=CART_getCartCount($panierId);
	// Afficher la liste du panier
	echo "<!-- cart List BEGIN --><table align=center border=1 id=itemList>";
	echo " <caption>Votre panier contient $cartCount article(s) :</caption>";
	echo "<tr><td>Référence</td><td>Designation</td><td>Quantité</td><td>Prix unitaire</td><td>Prix total</td></tr>";
	
	$requete_sql="SELECT * FROM panierArticle, article 
		WHERE panierArticle.artCode=article.artCode
		AND panierId='$panierId'  ;";
	$requete_id=DB_ouvrirRequete($requete_sql, $connexion);
	$t_record=DB_lireLigne($requete_id);
	if ($t_record){ // si un enregistrement est trouvé :
		while ($t_record){
			$prixLigne=$t_record['panierQty']*$t_record['artPrixHT'];
			echo "<tr>";
				echo "<td>".$t_record['artCode']."</td>";
				echo "<td>".$t_record['artDesc']."</td>";
				echo "<td align=right>".number_format($t_record['panierQty'],2,',',' ')."</td>";
				echo "<td align=right>".number_format($t_record['artPrixHT'],2,',',' ')." €</td>";
				echo "<td align=right>".number_format($prixLigne,2,',',' ')." €</td>";
			echo "</tr>";
				$prixTotal+=$prixLigne;
			$t_record=DB_lireLigne($requete_id);
		}
	}
	echo "<tr><td colspan=4 align=right>Total du panier : </td><td align=right>".number_format($prixTotal,2,',',' ')." €</td></tr>";
	echo "</table><!-- Cart List END -->\n";
	// FIN Afficher la liste du panier
}
// ========================================================================================
// MAIN()
// ========================================================================================
$userId="";
$pageName="cdePaiement.php";
$headTitle="Modes de paiement et de transport";
$contentTitle="Mode de paiement et de transport";

// Récup des paramètres
$errorCode=false;
//(isset($_REQUEST['id'])&&!empty($_REQUEST['id']))?$panierId=$_REQUEST['id']:$panierId=0; // 
$panierId=0;
(isset($_REQUEST['id'])&&!empty($_REQUEST['id']))?$panierId=$_REQUEST['id']:$errorCode=100; // 100 panier non défini

// Récup/définition de l'autorisation de la fonction history.back(), au cas où on vient de l'ajout d'un article, pour ne pas l'ajouter une seconde fois dans le panier
(isset($_REQUEST['invNom']) && $_REQUEST['invNom']!="")?$invNom=$_REQUEST['invNom']:$errorCode=111 ; // une donnée n'est pas définie
(isset($_REQUEST['invAdress']) && $_REQUEST['invAdress']!="")?$invAdress=$_REQUEST['invAdress']:$errorCode=112 ; // une donnée n'est pas définie
(isset($_REQUEST['invPays']) && $_REQUEST['invPays']!="")?$invPays=$_REQUEST['invPays']:$errorCode=113 ; // une donnée n'est pas définie

// ========================================================================================
// connexion et ouverture de la requête à afficher
	$connexion=DB_connecter(); 

// ========================================================================================
// GESTION DES ERREURS
// ========================================================================================
// Vérifier le panier et le nombre d'articles
	$cartCount=CART_getCartCount($panierId);
	// EN CAS D'ERREUR : Envoi de la page de redirection de base (goToUrl())
	if (!$cartCount || empty($cartCount)){ 
		$errorCode=101; // erreur, panier vide ou indéfini
	}

// affichage des erreurs
// EN CAS D'ERREUR : Envoi de la page de redirection de base (goToUrl())
	if ($errorCode) {
		$message="erreur ($errorCode). <br>vous allez être redirigé vers l'index ou <a href=\"javascript:history.back()\">Demander le retour page précédente.</a>";
		$backUrlCompltete="index.php";
		_goToUrl($message, $backUrlCompltete, '', ''); // pour l'instant, on perd l'utilisateur, voir comment corriger ça ... variables de session ?
		echo $message;
		exit(0);
	}

// il n'y a pas d'erreur, on peut enregistrer les données transmises et afficher l'étape suivante.

// ========================================================================================
// ENREGISTREMENT DES COORDONNÉES DANS LE PANIER
// ========================================================================================
	// préparation de la requête de modif du panier
	$requeteUpdate="UPDATE panier SET 
		invNom='$invNom', invAdress='$invAdress', invPaysCode='$invPays'
		WHERE panierId='$panierId' ;";
	$t_record=DB_executerRequete($requeteUpdate, $connexion);
// le panier est modifié.

//========================================================================
// AFFICHAGE du formulaire des modes.
//========================================================================
// Initialiser les variables locales
$returnUrl0="cdeArtLst.php?id=$panierId";
$returnUrl1="cdeCartDsp.php?id=$panierId";
$returnUrl2="cdeCoord.php?id=$panierId";

//------------------------------------------------------------------------------------------------------------
// Afficher le formulaire des modes d'expédition et de paiement
//------------------------------------------------------------------------------------------------------------
_pageHeader($userId);	// entête de page et menu

// -------------------------------------------------------------------
// DEBUT Script de contrôle de champs du formulaire
echo "
<script type=\"text/javascript\"><!--
function chkAndGo(){
var formulaire=document.getElementById('formulaire')

	if(formulaire.payMode.value == 0 ) {
		alert('Merci de saisir le mode de paiement');   
		formulaire.payMode.focus(); //met le curseur dans le champ demandé   
		return false; //bloque l'envoi du formulaire   
	}
	if(formulaire.transMode.value == 0 ) {
		alert('Merci de saisir le mode de transport');   
		formulaire.transMode.focus(); //met le curseur dans le champ demandé   
		return false; //bloque l'envoi du formulaire   
	}
	formulaire.action='cdeConf.php';
	formulaire.submit()
}
--></script>
";
// FIN Script de contrôle de champs du formulaire

// -------------------------------------------------------------------
// DEBUT Afficher la barre de progression
echo "<!-- BEGIN progression step List --><div id=progressionBar><ul class=nobloc>";
echo "<li class=stepFisrt><a href='$returnUrl0'>Catalogue</a></li>"; // retour
echo "<li class=stepPrevious><a href='$returnUrl1'>Panier</a></li>"; // valider le panier
echo "<li class=stepPrevious><a href='$returnUrl2'>Coordonnées</a></li>"; // valider les coordonnées
echo "<li class=stepCurrent>Paiement</li>"; // valider le paiement
echo "<li class=stepFutureLast>Confirmation</li>"; // confirmer la commande (fin)
echo "</ul></div><!-- END progression step List -->\n";
// FIN Afficher la progression

// -------------------------------------------------------------------
// Afficher l'espace de données
// BEGIN Afficher la liste du panier
echo "<div id=data><!-- data Space BEGIN-->\n";
echo "<h3>Etape 3 : Paiement et mode d'expédition</h3>";

// -------------------------------------------------------------------
// BEGIN Formulaire ----------------
echo "<!-- BEGIN Formulaire --><form id=formulaire>\n";
	echo "<input type=hidden name=id value=$panierId />";
	
	// BEGIN Formulaire de saisie des modes de paiement et transport
		echo "<!-- BEGIN paiement & transport data --><table align=center border=1 class=formData>";
		echo "<tr><td >Mode de paiement</td>";
			echo "<td>";
				_dspSelectPaiemtMode();
			echo "</td></tr>";
			
			echo "<tr><td >Mode de transport</td>";
			echo "<td>";
				_dspSelectTransMode();
		echo "</td></tr>";
		echo "</table><!-- END Coord Form data -->\n";
	// END Formulaire de saisie des modes de paiement et transport
	
	// -------------------------------------------------------------------
	// Afficher les boutons d'action
		echo "<!-- BEGIN Form btn List --><table align=center border=1 id=navBtn><tr>";
		echo "<td><input type=button onclick=\"document.location='$returnUrl0';\" name=back value='Retour choix' /></td>";
		// echo "<td><input type=button onclick=\"\" name=Cancel value='Vider le panier' /></td>";
		echo "<td><input type=button onclick=\"chkAndGo();\" name=stepNext value='Etape suivante' /></td>";
		echo "</tr></table><!-- END Form btn List -->\n";
	// FIN Afficher les boutons d'action
	
	echo "</form><!-- END Formulaire -->\n";
	// END Formulaire ----------------

	// -------------------------------------------------------------------
	// Afficher les coordonnées
	_coordList();

	// -------------------------------------------------------------------
	// Afficher le panier
	_cartList($panierId);

echo "</div><!-- data Space END-->\n";
// END Afficher l'espace de données
//========================================================================
// fin de page
//========================================================================
_pageFooter(); // pied de page
?>