Subversion Repositories eFlore/Applications.cel

Rev

Rev 1553 | Rev 1701 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1553 Rev 1578
Line 13... Line 13...
13
	return false;
13
	return false;
14
}
14
}
Line 15... Line 15...
15
 
15
 
16
// TODO : voir si cette fonction est bien utile. Résoud le pb d'un warning sous chrome.
16
// TODO : voir si cette fonction est bien utile. Résoud le pb d'un warning sous chrome.
17
(function(){
17
(function(){
18
    // remove layerX and layerY
18
	// remove layerX and layerY
19
    var all = $.event.props,
19
	var all = $.event.props,
20
        len = all.length,
20
		len = all.length,
21
        res = [];
21
		res = [];
22
    while (len--) {
22
	while (len--) {
23
      var el = all[len];
23
		var el = all[len];
24
      if (el != 'layerX' && el != 'layerY') res.push(el);
24
		if (el != 'layerX' && el != 'layerY') res.push(el);
25
    }
25
	}
26
    $.event.props = res;
26
	$.event.props = res;
Line 27... Line 27...
27
}());
27
}());
28
 
28
 
29
//+----------------------------------------------------------------------------------------------------------+
29
//+----------------------------------------------------------------------------------------------------------+
30
//UPLOAD PHOTO : Traitement de l'image 
-
 
31
$(document).ready(function() {	
30
//UPLOAD PHOTO : Traitement de l'image 
32
	
31
$(document).ready(function() {	
33
	$("#effacer-miniature").click(function () {
32
	$('#effacer-miniature').click(function () {
Line 34... Line 33...
34
		supprimerMiniature();
33
		supprimerMiniature();
35
	});
34
	});
36
	
35
	
37
	if (HTML5 && window.File && window.FileReader && isCanvasSupported()) {
36
	if (HTML5 && window.File && window.FileReader && isCanvasSupported()) {
38
		if (DEBUG) {
37
		if (DEBUG) {
39
			console.log("Support OK pour : API File et Canvas.");
38
			console.log('Support OK pour : API File et Canvas.');
40
		}
39
		}
41
		$('#fichier').bind('change', function(e) {
40
		$('#fichier').bind('change', function(e) {
42
			afficherMiniatureHtml5(e);
41
			afficherMiniatureHtml5(e);
43
		});	
42
		});	
44
	} else {
43
	} else {
45
		$("#fichier").bind('change', function (e) {
44
		$('#fichier').bind('change', function (e) {
46
			arreter(e);
45
			arreter(e);
47
			var options = { 
46
			var options = { 
48
				success: afficherMiniature, // post-submit callback 
47
				success: afficherMiniature, // post-submit callback 
49
				dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type) 
48
				dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type) 
50
				resetForm: true // reset the form after successful submit 
49
				resetForm: true // reset the form after successful submit 
51
			};
50
			};
52
			$("#form-upload").ajaxSubmit(options);
51
			$('#form-upload').ajaxSubmit(options);
53
			return false;
52
			return false;
54
		});
53
		});
Line 64... Line 63...
64
	
63
	
65
	var selectedfiles = evt.target.files;
64
	var selectedfiles = evt.target.files;
66
	var f = selectedfiles[0];// Nous récupérons seulement le premier fichier.
65
	var f = selectedfiles[0];// Nous récupérons seulement le premier fichier.
67
	if (f.type != 'image/jpeg') {
66
	if (f.type != 'image/jpeg') {
68
		var message = "Seule les images JPEG sont supportées.";
67
		var message = "Seule les images JPEG sont supportées.";
69
		$("#miniature-msg").append(message);
68
		$('#miniature-msg').append(message);
70
	} else if (f.size > 5242880) {
69
	} else if (f.size > 5242880) {
71
		var message = "Votre image à un poids supérieur à 5Mo.";
70
		var message = "Votre image à un poids supérieur à 5Mo.";
72
		$("#miniature-msg").append(message);
71
		$('#miniature-msg').append(message);
73
	} else {
72
	} else {
74
		var reader = new FileReader();
73
		var reader = new FileReader();
75
		// Lit le fichier image commune url de données
74
		// Lit le fichier image commune url de données
76
		reader.readAsDataURL(f);
75
		reader.readAsDataURL(f);
Line 91... Line 90...
91
			    	transformerImgEnCanvas(this, 100, 100, false, 'white');
90
			    	transformerImgEnCanvas(this, 100, 100, false, 'white');
92
			    };
91
			    };
93
			};
92
			};
94
		})(f);
93
		})(f);
95
	}
94
	}
96
	$("#effacer-miniature").show();
95
	$('#effacer-miniature').show();
97
}
96
}
98
function transformerImgEnCanvas(img, thumbwidth, thumbheight, crop, background) {
97
function transformerImgEnCanvas(img, thumbwidth, thumbheight, crop, background) {
99
	var canvas = document.createElement('canvas');
98
	var canvas = document.createElement('canvas');
100
	canvas.width = thumbwidth;
99
	canvas.width = thumbwidth;
101
	canvas.height = thumbheight;
100
	canvas.height = thumbheight;
Line 135... Line 134...
135
function afficherMiniatureCanvas(imgB64, canvas) {
134
function afficherMiniatureCanvas(imgB64, canvas) {
136
	var url = canvas.toDataURL('image/jpeg' , 0.8);
135
	var url = canvas.toDataURL('image/jpeg' , 0.8);
137
	var alt = imgB64.alt;
136
	var alt = imgB64.alt;
138
	var title = Math.round(url.length / 1000 * 100) / 100 + ' KB';
137
	var title = Math.round(url.length / 1000 * 100) / 100 + ' KB';
139
	var miniature = '<img id="miniature-img" class="miniature b64-canvas" src="'+url+'" alt="'+alt+'" title="'+title+'" />';
138
	var miniature = '<img id="miniature-img" class="miniature b64-canvas" src="'+url+'" alt="'+alt+'" title="'+title+'" />';
140
	$("#miniature").append(miniature);
139
	$('#miniature').append(miniature);
141
	$("#miniature-img").data('b64', imgB64.src);
140
	$('#miniature-img').data('b64', imgB64.src);
142
}
141
}
Line 143... Line 142...
143
 
142
 
144
function afficherMiniature(reponse) { 
143
function afficherMiniature(reponse) { 
145
	supprimerMiniature();
144
	supprimerMiniature();
Line 241... Line 240...
241
		});
240
		});
242
	}
241
	}
243
}
242
}
Line 244... Line 243...
244
 
243
 
Line 245... Line 244...
245
 
244
 
246
var valeurDefautRechercheLieu = "";
-
 
247
 
245
var valeurDefautRechercheLieu = '';
248
$(document).ready(function() {
246
 
Line 249... Line 247...
249
	
247
$(document).ready(function() {
250
	initialiserGoogleMap();
248
	initialiserGoogleMap();
Line 282... Line 280...
282
			deplacerMarker(latLng);
280
			deplacerMarker(latLng);
283
			afficherEtapeGeolocalisation(2);
281
			afficherEtapeGeolocalisation(2);
284
		}
282
		}
285
	});
283
	});
Line 286... Line 284...
286
	
284
	
287
	$("#geolocaliser").click(function() {
285
	$('#geolocaliser').click(function() {
288
		var latitude = $('#latitude').val();
286
		var latitude = $('#latitude').val();
289
		var longitude = $('#longitude').val();
287
		var longitude = $('#longitude').val();
290
		latLng = new google.maps.LatLng(latitude, longitude);
288
		latLng = new google.maps.LatLng(latitude, longitude);
291
		deplacerMarker(latLng);
289
		deplacerMarker(latLng);
Line 464... Line 462...
464
}
462
}
Line 465... Line 463...
465
 
463
 
466
//+---------------------------------------------------------------------------------------------------------+
464
//+---------------------------------------------------------------------------------------------------------+
467
// FORMULAIRE
465
// FORMULAIRE
468
$(document).ready(function() {
466
$(document).ready(function() {
-
 
467
	$('#date').datepicker($.datepicker.regional['fr']);
-
 
468
 
-
 
469
	$.validator.addMethod(
-
 
470
		'dateCel', 
-
 
471
		function (value, element) { 
-
 
472
			return /^[0-9]{2}[-\/][0-9]{2}[-\/][0-9]{4}$/.test(value); 
-
 
473
		}, 
Line 469... Line 474...
469
	$("#date").datepicker($.datepicker.regional['fr']);
474
		'Format : jj/mm/aaaa. Date incomplète, utiliser 0, exemple : 00/12/2011.');
470
	
475
	
471
	$("form#saisie-obs").validate({
476
	$('form#saisie-obs').validate({
472
		rules: {
477
		rules: {
473
			courriel : {
478
			courriel: {
474
				required : true,
479
				required: true,
475
				email : true},
480
				email: true},
476
			courriel_confirmation : {
481
			courriel_confirmation: {
477
				required : true,
482
				required: true,
478
				equalTo: "#courriel"
483
				equalTo: '#courriel'
479
			},
484
			},
480
			rue_cote : "required",
485
			rue_cote: 'required',
481
			"milieu[]" : {
486
			'milieu[]': {
482
			       required: true,
487
				required: true,
483
			       minlength: 1
488
				minlength: 1
484
			},
489
			},
485
			latitude : {
490
			latitude: {
486
				required: true,
491
				required: true,
487
				range: [-90, 90]},
492
				range: [-90, 90]},
488
			longitude : {
493
			longitude: {
489
				required: true,
494
				required: true,
490
				range: [-180, 180]},
495
				range: [-180, 180]},
491
			date : {
496
			date: {
492
				required: true,
497
				required: true,
493
				date: true},
498
				dateCel: true},
494
			taxon : "required"
499
			taxon: 'required'
495
		},
500
		},
496
		messages: {
501
		messages: {
497
			"milieu[]": "Vous devez sélectionner au moins un milieu"
502
			'milieu[]': 'Vous devez sélectionner au moins un milieu'
Line 498... Line 503...
498
		}
503
		}
499
	});
504
	});