// Module FRANCE STORE class

var FranceStore = {
	adminURL : '../modules/france_stores/admin.php',
	moduleURL : 'modules/france_stores/module.php',
	//--------------------------------------------------------------//
	// Liste des magasins											//
	//--------------------------------------------------------------//
	listStores : function(){
		$.ajax({
			type: 'post',
			url: FranceStore.adminURL,
			data: {
				action: 'listStores'	
			},
			beforeSend: function(){},
			success: function(msg){
				$('#workspace').html(msg);
			}
		});
		return false;
	},
	//--------------------------------------------------------------//
	// Fiche d'un magasin											//
	//--------------------------------------------------------------//
	editStore : function(IdStore){
		$.ajax({
			type: 'post',
			url: FranceStore.adminURL,
			data: {
				action: 'editStore',
				id_store: IdStore	
			},
			beforeSend: function(){},
			success: function(msg){
				$('#workspace').html(msg);
			}
		});
		return false;
	},
	//--------------------------------------------------------------//
	// Enregistrement d'un magasin									//
	//--------------------------------------------------------------//
	saveStore : function(IdStore){
		$.ajax({
			type: 'post',
			url: FranceStore.adminURL,
			data: {
				action: 'saveStore',
				id_store: IdStore,
				datas: $('#StoreForm').serialize()
			},
			beforeSend: function(){},
			success: function(msg){
				messagebox('Magasin enregistré');
				FranceStore.listStores();
			}
		});
		return false;
	},
	//--------------------------------------------------------------//
	// Enregistrement d'un magasin									//
	//--------------------------------------------------------------//
	deleteStore : function(IdStore){
		messagebox('ouinon', {
			titre: 'Suppression', 
			message: 'Souhaitez-vous supprimer le magasin sélectionné ?'
		}, function(r){
			if (r){
				$.ajax({
					type: 'post',
					url: FranceStore.adminURL,
					data: {
						action: 'deleteStore',
						id_store: IdStore
					},
					beforeSend: function(){},
					success: function(msg){
						messagebox('Magasin supprimé');
						FranceStore.listStores();
					}
				});
			}
		});
	},
	//--------------------------------------------------------------//
	// Paramètres du module											//
	//--------------------------------------------------------------//
	parameters : function(){
		$.ajax({
			type: 'post',
			url: FranceStore.adminURL,
			data: {
				action: 'parameters'	
			},
			beforeSend: function(){},
			success: function(msg){
				$('#workspace').html(msg);
			}
		});
		return false;
	},
	//--------------------------------------------------------------//
	// Enregistrement des paramètres								//
	//--------------------------------------------------------------//
	saveParameters : function(){
		$.ajax({
			type: 'post',
			url: FranceStore.adminURL,
			data: {
				action: 'saveParameters',
				FranceStore_Paris_X: $('#paris_x').val(),
				FranceStore_Paris_Y: $('#paris_y').val(),
				FranceStore_Lyon_X : $('#lyon_x').val(),
				FranceStore_Lyon_Y : $('#lyon_y').val()
			},
			beforeSend: function(){},
			success: function(msg){
				messagebox('Paramètres enregistrés');
				Modules.openAdmin('france_stores');
			}
		});
		return false;
	},
	//--------------------------------------------------------------//
	// Calculs de positionnement									//
	//--------------------------------------------------------------//
	getMapPosition : function(Px, Py, Lx, Ly, imgH, imgW, VilleLgn, VilleLat){
		var Carte = [
			imgW,
			imgH
		];
		var Paris = [
				Px,
				Py,
				2.3522219,
				48.856614
		];
		var Lyon  = [
				Lx,
				Ly, 
				4.83565899,
				45.764043
		];
		var Toulouse = [
			VilleLgn,
			VilleLat
		];
		var distPL_carte = Math.sqrt( Math.pow(Paris[0]-Lyon[0],2) + Math.pow(Paris[1]-Lyon[1],2) );
		var distPL_globe = Math.sqrt( Math.pow(Paris[3]-Lyon[3],2) + Math.pow(Paris[2]-Lyon[2],2) );
		var Ratio		 = distPL_carte / distPL_globe;
		var carteOri_Lgn = Paris[2] - (Paris[0] / Ratio);
		var carteOri_Lat = Paris[3] - ((Carte[1] - Paris[1]) / Ratio);
		var Ville_x = Math.abs(Toulouse[0] - carteOri_Lgn) * Ratio;
		var Ville_y = Carte[1] - (Math.abs(Toulouse[1] - carteOri_Lat) * Ratio);
		return new Array(Ville_x.toFixed(2), Ville_y.toFixed(2));
	},
	//--------------------------------------------------------------//
	// Admin - Voir la carte										//
	//--------------------------------------------------------------//
	seeMap : function(){
		$.ajax({
			type: 'post',
			url: FranceStore.adminURL,
			data: {
				action: 'seeMap'	
			},
			beforeSend: function(){},
			success: function(msg){
				$('#workspace').html(msg);
			}
		});
		return false;
	}
}
