/**
* @author Mahdi El Masaoudi
*			pages.usherbrooke.ca/mel
* @methods
* 			add(ref,label,qt,price);
*			delete(ref);
*			clear();
*			getContent();
* 
**/


/** Retourner le contenu formaté HTML de la caddie 
*
**/
var reqContent;
function getContent() 
{
	var url = "ajaxcaddie.php?action=getContent";
	reqContent=getXMLHttpRequest();
	reqContent.open("GET", url, true);
	reqContent.onreadystatechange = callBackContent;
	reqContent.send(null);
}

/** Vider le panier
*
**/

var reqClear;
function clearAll() 
{
	var url = "ajaxcaddie.php?action=clear";
	reqClear=getXMLHttpRequest();
	reqClear.open("GET", url, true);
	reqClear.onreadystatechange = callBackClear;
	reqClear.send(null);
}
/** Supprimer un article du panier
*	@param 
*			ref: référence de l'article
* 
**/

var reqDelete;
function deleteByRef(ref) {
	//var url;
	var url = "ajaxcaddie.php?action=delete&ref="+ref;
	reqDelete=getXMLHttpRequest();
	reqDelete.open("GET", url, true);
	reqDelete.onreadystatechange = callBackDelete;
	reqDelete.send(null);
}

/** ajouter un article au panier
*	@param 
*	ref : Reference de l'article
* 	label : désignation de l'article
*	qt : quantité
*	price : prix
* 	monnaie : €, CHF, CAD, $
**/

var reqAdd;
function getCDDescription(i)
{
	switch(i)
	{
		case 3000 : ;
		case 3002 : ;
		case 3030 : ;
		case 3033 : ;
		case 3037 
		 
				  : return 'Standard'; break;	
		case 3001 : ;
		case 3003 : ;
		case 3031 : ;
		case 3034 : ;
		case 3035 : ;
		case 3036 : ; 
		case 3038 
			   	  : return 'Maestro'; break;	
		case 3005 : ;
		case 3006 : ; 
		case 3032 : return 'Studio'; break;	
		case 3009 : ;
		case 3010 : ;
		case 3011 : ;
		case 3012 : return 'Numerica'; break;

		   
	   case 3004 : return "Maestro 1.0"; break; 
	   case 3007 : return "Standard 1.0 "; break;
	   case 3008 : return "Maestro 1.0 "; break;
	   


	   default : var strArticle="";	



	}
}

function addItemToCart(ref,label,qt,price, monnaie, cb, p2) 
{
	//var url;
	var addCDRom=($(cb).attr('checked'));
	var paramsupp = '';
	if (ref > 3029 && ref <= 3035)
	{
		var v = $('#code'+ref).val();
		if (v != "")
			paramsupp = '&code1='+v;
			v = $('#namep'+ref).val();
			if (v != "")
			{
				paramsupp = paramsupp + '&client='+v;
				v = $('#mailf'+ref).val();
				if (v != "")
					paramsupp = paramsupp + '&mailclient='+v;
				else
					paramsupp = '';
			}
			else
				paramsupp = '';
			
		
		
		if (paramsupp == '') 
		{
			alert('Veuillez compléter les informations ci-dessus (nom, adresse mail, code).');
			return false;
		}
	}
	
	var url = "ajaxcaddie.php?action=add&ref=" +ref+"&label="+encodeURIComponent(label)+"&qt="+qt+"&price="+price+"&monnaie="+monnaie;
	if (paramsupp != '')
	url += paramsupp;
	
	reqAdd=getXMLHttpRequest();
	reqAdd.open("GET", url, true);
	reqAdd.onreadystatechange = callBackAdd;
	reqAdd.send(null);
	passerALaCaisse();
	
	if (addCDRom) 
	{
		
		var url = "ajaxcaddie.php?action=add&ref="+(1000+ eval(ref) % 1000)+"&label=CD-ROM "+encodeURIComponent(getCDDescription(ref))+"&qt="+qt+"&price=13.50&monnaie="+monnaie;
	if (paramsupp != '')
	url += paramsupp;
		reqAdd=getXMLHttpRequest();
		reqAdd.open("GET", url, true);
		reqAdd.onreadystatechange = callBackAdd;
		reqAdd.send(null);
		passerALaCaisse();
		
	}
	
}


function addMonnaie(monnaie) {
	//var url;
	var url = "ajaxcaddie.php?action=addMonnaie&monnaie="+monnaie;
	reqAdd=getXMLHttpRequest();
	reqAdd.open("GET", url, true);
	reqAdd.onreadystatechange = callBackAdd;
	reqAdd.send(null);
	passerALaCaisse();
}

function teminateSession()
{
	var url="ajaxcaddie.php?action=sendMail";
	reqAdd=getXMLHttpRequest();
	reqAdd.open("GET", url, true);
	reqAdd.onreadystatechange = callBackAdd;
	reqAdd.send(null);	
}
function addLastRep(lr) {
	//var url;
	var url = "ajaxcaddie.php?action=addLastRep&lastrep="+lr;
	reqAdd=getXMLHttpRequest();
	reqAdd.open("GET", url, true);
	reqAdd.onreadystatechange = callBackAdd;
	reqAdd.send(null);
}

var reqSubmit;
function passerALaCaisse()
{
  	var url = "ajaxcaddie.php?action=validateCommand";
	reqSubmit=getXMLHttpRequest();
	reqSubmit.open("GET", url, true);
	reqSubmit.onreadystatechange = callBackForm;
	reqSubmit.send(null);

}

// Les callBack pour réponses ( voir plus haut) 

function callBackAdd() {
	if (reqAdd.readyState == 4) {
		if (reqAdd.status == 200) {
			document.getElementById("caddieContent").innerHTML = reqAdd.responseText;
		}
	}
}
function callBackForm() {
	if (reqSubmit.readyState == 4) {
		if (reqSubmit.status == 200) {
			document.getElementById("formContent").innerHTML = reqSubmit.responseText;
			//alert (document.getElementById("formContent").innerHTML);
		}
	}
}
function callBackContent() {
	if (reqContent.readyState == 4) {
		if (reqContent.status == 200) {
			document.getElementById("caddieContent").innerHTML = reqContent.responseText;
		}
	}
}

function callBackClear() {
	if (reqClear.readyState == 4) {
		if (reqClear.status == 200) {
			document.getElementById("caddieContent").innerHTML = reqClear.responseText;
		}
	}
}


function callBackDelete() {
	if (reqDelete.readyState == 4) {
		if (reqDelete.status == 200) {
			document.getElementById("caddieContent").innerHTML = reqDelete.responseText;
		}
	}
}

// fonction retournant l'objet XMLHttpRequest adéquat en fonction du navigateur

function getXMLHttpRequest()
{
	var req = false;
	
	try
	{
	   req=new XMLHttpRequest();
	}
	
	catch(e)
	{
	   try
	   {
		  req=new ActiveXObject("Msxml2.XMLHTTP");
	   }
	   catch (e)
	   {
		  try
		  {
			 req = new ActiveXObject("Microsoft.XMLHTTP");
		  }
		  catch(e)
		  {
			 req = false;
		  }
	   }
	}
	
	return req;

}

