function MyWay(dbRequest){
	
    this.request=dbRequest;
    
	this.creer=function(lat,lng){
		this.request.onupgradeneeded = function (event) {
			var baseAMettreAjour = event.target.result;
			var ancienneVersion = event.oldVersion;
			var nouvelleVersion = event.newVersion;
			switch (ancienneVersion) {
				case 0:
					baseAMettreAjour.createObjectStore('chemin', { keyPath:'id',autoIncrement: true });
					break;
				case 1:
					break;	
			};
		}

		this.request.onsuccess = function () {
			var baseActive = this.result;
            // Nous démarrons une transaction avec la base sur la table utilisateurs en lecture-écriture
			var transaction = baseActive.transaction('chemin','readwrite');
			// Puis nous insérons notre valeur avec add() sur l'ObjectStore, en ajoutant en second argument la clé de notre valeur
			var ajout = transaction.objectStore('chemin').add({clat:lat,clng:lng});
			// Et enfin, comme l'ajout est asynchrone, nous attendons son retour
			ajout.onsuccess = function(e) {
                console.log("position enregistrer . . . "+lat+" -> "+lng);
			};
		};

		this.request.onerror= function(e){
			alert("erreur. . . ");
		};
	};
    
    this.tracer=function(carte){
		this.request.onupgradeneeded = function (event) {
			var baseAMettreAjour = event.target.result;
			var ancienneVersion = event.oldVersion;
			var nouvelleVersion = event.newVersion;
			switch (ancienneVersion) {
				case 0:
					baseAMettreAjour.createObjectStore('chemin', { keyPath:
					'id', autoIncrement: true });
					break;
				case 1:
					break;	
			};
		}

		this.request.onsuccess = function (event) {
            var cordo = new Array();
			var baseActive = event.target.result;
			// Nous démarrons une transaction avec la base sur la table utilisateurs en lecture-écriture
			var transactionLecture = baseActive.transaction('chemin','readonly');
			var recuperationPointeur =transactionLecture.objectStore('chemin').openCursor();
			recuperationPointeur.onsuccess = function (event) {
				// Nous récupérons le pointeur qui sait naviguer dans la table
				var pointeur = event.target.result;
                if(pointeur && pointeur.value){
                    cordo.push({lat:pointeur.value.clat,lng:pointeur.value.clng});
                    pointeur.continue(); 
                }
                else{
                /*
                    var cord = [
                {lat:-18.89700252862125,lng:47.53067493438721},
                {lat:-18.896763989903288,lng:47.53083050251007},
                {lat:-18.89670308634636,lng:47.53089487552643},
                {lat:-18.896672634559568,lng:47.531216740608215},
                {lat :-18.896779215789063,lng:47.53157615661621},
                {lat :-18.89673353812759,lng:47.531940937042236},
                {lat :-18.896550827357057,lng:47.53218233585358},
                {lat :-18.896413794148266,lng:47.531898021698},
                {lat :-18.896271685516954,lng:47.53160834312439},
                {lat :-18.896007769167273,lng:47.531753182411194},
                {lat :-18.895723551094562,lng:47.53152251243591},
                {lat :-18.895723551094562,lng:47.53134548664093}];
                */
                	drawWay(carte,cordo,'#D04C24');
                }
            }

		};

		this.request.onerror= function(e){
			alert("erreur. . . ");
		};
	};
}