var Panier = $.inherit(
	{
		
	__constructor : function(form, options) {
		var _this				= this;
	},
	
	init: function(datas) {
		var _this 		= this;
		_this.type		= (datas['type'] != null) ? datas['type'] : 'GET';
		_this.url		= (datas['url'] != null)  ? datas['url']  : '';
		_this.data		= (datas['data'] != null) ? datas['data'] : '';
		_this.dataType	= (datas['dataType'] != null) ? datas['dataType'] : 'json';
	},
	
	initRequest: function(url) {
		var datas				= new Array();
		datas['url']			= url;
		//datas['data']			= datas_panier['datas'];
		this.init(datas);
	},

	sendRequest: function(function_valid, function_error, function_redirect) {
		var _this = this;
		//e.preventDefault();
		var xhr = $.ajax({
			url: 		_this.url,
			type: 		_this.type,
			data: 		_this.data,
			dataType: 	_this.dataType,
			success: function(responseJson) {
				var json = getHeaderJSON(xhr);
				if (json != null) {
					switch (json.status) {
						case 'request_status_successful':
							if(function_valid!=null){
					    		function_valid(responseJson);
					    	}
							break;
						case 'request_status_error':
							if(function_error!=null){
					    		function_error();
					    	}
							break;
						case 'request_status_redirect':
							if(function_redirect!=null){
					    		function_redirect();
					    	}
					    	break;
						default:
							break;
					}
				}
			},
			 error:function (xhr, ajaxOptions, thrownError){
              //  alert(xhr.status);
               // alert(thrownError);
            }    
		});	
		return false;
	},
		
	ajouterAnnonce		: function(id_annonce, quantite, function_valid, function_error, function_redirect){
		var url		=  url_zepass+'panier/ajouter_annonce/annonce/'+id_annonce+'/quantite/'+quantite;	
		this.initRequest(url);
		this.sendRequest(function_valid, function_error, function_redirect);
	},
	enleverAnnonce		: function(id_annonce, quantite, function_valid, function_error, function_redirect){
		var url		=  url_zepass+'panier/enlever_annonce/annonce/'+id_annonce+'/quantite/'+quantite;	
		this.initRequest(url);
		this.sendRequest(function_valid, function_error, function_redirect);
	},
	supprimerAnnonce	: function(id_annonce, function_valid, function_error, function_redirect){
		var url		=  url_zepass+'panier/supprimer_annonce/annonce/'+id_annonce;	
		this.initRequest(url);
		this.sendRequest(function_valid, function_error, function_redirect);
	},
	changerTypeEnvoi	: function(id_type_envoi, id_annonce, function_valid, function_error, function_redirect){
		var url		=  url_zepass+'panier/changer_type_envoi/annonce/'+id_annonce+'/type_envoi/'+id_type_envoi;
		this.initRequest(url);
		this.sendRequest(function_valid, function_error, function_redirect);
	},
	
	vider				: function(function_valid, function_error, function_redirect){
		var url		=  url_zepass+'panier/vider_panier';
		this.initRequest(url);
		this.sendRequest(function_valid, function_error, function_redirect);
	},
	getPrix				: function(function_valid, function_error, function_redirect){
		var url		=  url_zepass+'panier/afficher_prix';
		this.initRequest(url);
		this.sendRequest(function_valid, function_error, function_redirect);
	}
});
