/**
* @author Nikolay Hoseyni 
*  nikolay.hoseyni@etud.univ-montp2.fr
* @methods
* 			add(ref,label,qt,price);
*			delete(ref);
*			clear();
*			getContent();
* 
**/


/** Html vision of the basket 1
**/
var reqContent;
function getContent() {
	var url;
	url = "ajaxcaddie.php?action=getContent";
	reqContent=getXMLHttpRequest();
	reqContent.open("GET", url, true);
	reqContent.onreadystatechange = callBackContent;
	reqContent.send(null);
}
/** Html vision of the basket 2
*
**/
function getContent2() {
	var url;
	url = "ajaxcaddie.php?action=getContent2";
	reqContent=getXMLHttpRequest();
	reqContent.open("GET", url, true);
	reqContent.onreadystatechange = callBackContent;
	reqContent.send(null);
}
/** Empty the basket
*
**/
var reqClear;
function clearAll() {
	var url;
	url = "ajaxcaddie.php?action=clear";
	
	reqClear=getXMLHttpRequest();
	
	reqClear.open("GET", url, true);

	reqClear.onreadystatechange = callBackClear;
	reqClear.send(null);
}
/** Delete a product from the basket
*	@param 
*			ref: reference of the product
* 
**/

var reqDelete;
function deleteByRef(ref) {
	var url;
	url = "ajaxcaddie.php?action=delete&ref="+ref;
	reqDelete=getXMLHttpRequest();
	reqDelete.open("GET", url, true);
	reqDelete.onreadystatechange = callBackDelete;
	reqDelete.send(null);
}

/** Add a product to the basket  
*	@param 
*	ref : Reference of the product 
*	qt : quantity
*	price : price
*
**/
var reqAdd;
function add(ref,label,qt,price) {
	var url;
	
	url = "ajaxcaddie.php";
		
	 $.get( url, { action: "add", ref: ref, label: label, qt: qt, price: price },
    function( data )
    {
		 if ( data )
		 {
			getContent2();
		 }
		 else 
		  alert( "Des erreurs sont survenues durant le traitement. Veuillez réessayer de nouveau !" );
		}
	   );
	
}

//The call back for answers

function callBackAdd() {
	if (reqAdd.readyState == 4) {
		if (reqAdd.status == 200) {
			document.getElementById("caddieContent").innerHTML = reqAdd.responseText;
		}
	}
}

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;
		}
	}
}


// function that returns the object XMLHttpRequest depending on the browser
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;

}

