integration/v2/js/main.js
author Anthony Ly <anthonyly.com@gmail.com>
Wed, 26 Jun 2013 12:02:06 +0200
changeset 160 7f141426ccbf
parent 155 551ae48cdf0b
child 164 09ad16c9fee5
permissions -rwxr-xr-x
map update
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
115
a88246833732 setup integration
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     1
$(function(){
133
d7aecea73e6d correction page 12
Anthony Ly <anthonyly.com@gmail.com>
parents: 132
diff changeset
     2
//filters
d7aecea73e6d correction page 12
Anthony Ly <anthonyly.com@gmail.com>
parents: 132
diff changeset
     3
	$('.filters a').each(function(){
d7aecea73e6d correction page 12
Anthony Ly <anthonyly.com@gmail.com>
parents: 132
diff changeset
     4
		var text = $.trim($(this).text());
d7aecea73e6d correction page 12
Anthony Ly <anthonyly.com@gmail.com>
parents: 132
diff changeset
     5
		if(text.length > 30){
d7aecea73e6d correction page 12
Anthony Ly <anthonyly.com@gmail.com>
parents: 132
diff changeset
     6
			$(this).text(text.substr(0, 30) + '...')
d7aecea73e6d correction page 12
Anthony Ly <anthonyly.com@gmail.com>
parents: 132
diff changeset
     7
		}
d7aecea73e6d correction page 12
Anthony Ly <anthonyly.com@gmail.com>
parents: 132
diff changeset
     8
	});
119
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
     9
//masonry
132
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    10
	var masonry465 = $('.masonry-465');
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    11
	masonry465.masonry({
118
Anthony Ly <anthonyly.com@gmail.com>
parents: 115
diff changeset
    12
	  columnWidth: 465,
132
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    13
	  itemSelector: '.item-masonry',
118
Anthony Ly <anthonyly.com@gmail.com>
parents: 115
diff changeset
    14
	  gutter : 20
Anthony Ly <anthonyly.com@gmail.com>
parents: 115
diff changeset
    15
	});
132
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    16
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    17
	var masonry225 = $('.masonry-225');
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    18
	masonry225.masonry({
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    19
	  columnWidth: 225,
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    20
	  itemSelector: '.item-masonry',
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    21
	  gutter : 16
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    22
	});
138
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    23
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    24
	function masonry177(){
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    25
		var masonry177 = $('.masonry-177');
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    26
		masonry177.masonry({
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    27
		  columnWidth: 177,
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    28
		  itemSelector: '.item-masonry'
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    29
		});
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    30
	}
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    31
	masonry177();
119
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    32
//popin
131
f7f6c6acf9b9 add jquery ui
Anthony Ly <anthonyly.com@gmail.com>
parents: 128
diff changeset
    33
	$('.open-popin').bind('click', function(e){
118
Anthony Ly <anthonyly.com@gmail.com>
parents: 115
diff changeset
    34
		e.preventDefault();
119
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    35
		var target = $(this).attr('href');
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    36
		$('.popin-wrap').fadeIn(function(){
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    37
			$(target).show();
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    38
		});
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    39
	});
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    40
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    41
	$('.close-popin, .popin-wrap').bind('click', function(e){
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    42
		e.preventDefault();
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    43
		e.stopPropagation();
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    44
		$('.popin-wrap').fadeOut(function(){
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    45
			$('.popin').hide();
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    46
		});
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    47
	});
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    48
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    49
	$('.popin').bind('click', function(e){
9d2a4916ee7a update name of fonts
Anthony Ly <anthonyly.com@gmail.com>
parents: 118
diff changeset
    50
		e.stopPropagation();
118
Anthony Ly <anthonyly.com@gmail.com>
parents: 115
diff changeset
    51
	});
128
5ce3313fb21d add tag it plugin
Anthony Ly <anthonyly.com@gmail.com>
parents: 119
diff changeset
    52
//tag it
132
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    53
	if($('.tag-it').length){
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    54
		var keywordsTagIt = $('.tag-it').tagit({
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    55
			allowSpaces : true
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    56
		});
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    57
		$('.list-key-add a').bind('click', function(e){
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    58
			e.preventDefault();
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    59
			var tag = $(this).attr('data-tag');
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    60
			keywordsTagIt.tagit("createTag", tag);
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    61
		});
Anthony Ly <anthonyly.com@gmail.com>
parents: 131
diff changeset
    62
	}
138
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    63
//mosaic
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    64
	$('.toggle-comment').bind('click', function(e){
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    65
		e.preventDefault();
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    66
		$('.show-comment, .hide-comment').hide();
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    67
		if($('.mosaic').length){
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    68
			$('.mosaic').removeClass('mosaic').addClass('mosaic-comment');
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    69
			$('.hide-comment').show();
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    70
		}else{
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    71
			$('.mosaic-comment').removeClass('mosaic-comment').addClass('mosaic');
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    72
			$('.show-comment').show();
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    73
		}
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    74
		masonry177();
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    75
	});
133
d7aecea73e6d correction page 12
Anthony Ly <anthonyly.com@gmail.com>
parents: 132
diff changeset
    76
138
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    77
	$('.display-keyword').bind('click', function(e){
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    78
		e.preventDefault();
146
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    79
		var ul = $(this).parents('ul'),
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    80
			li = $(this).parents('li'),
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    81
			iconAction = li.find('.icon-action'),
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    82
			index = li.index(),
138
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
    83
			keyword = $(this).attr('data-keyword');
146
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    84
		enabledDisplayKeyword(li, keyword, iconAction);
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    85
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    86
		ul.find('li').each(function(k, v){
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    87
			if(index != k){
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    88
				var displayKeyword = $(v).find('.display-keyword'),
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    89
					iconAction = $(v).find('.icon-action'),
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    90
					keyword = displayKeyword.attr('data-keyword');
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    91
				disabledDisplayKeyword($(v), keyword, iconAction);
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    92
			}
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    93
		});
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    94
	});
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    95
	$('.icon-action').bind('click', function(e){
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    96
		e.preventDefault();
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    97
		var li = $(this).parents('li');
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    98
		toggleDisplayKeyword(li);
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
    99
	});
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   100
	function toggleDisplayKeyword(li){
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   101
		var displayKeyword = li.find('.display-keyword'),
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   102
			iconAction = li.find('.icon-action'),
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   103
			keyword = displayKeyword.attr('data-keyword');
138
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
   104
		if(li.hasClass('disabled')){
146
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   105
			enabledDisplayKeyword(li, keyword, iconAction);
138
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
   106
		}else{
146
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   107
			disabledDisplayKeyword(li, keyword, iconAction);
138
f694df1f57a6 update collection vue
Anthony Ly <anthonyly.com@gmail.com>
parents: 133
diff changeset
   108
		}
146
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   109
	}
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   110
	function enabledDisplayKeyword(li, keyword, iconAction){
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   111
		iconAction.removeClass('cross').removeClass('circle');
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   112
		li.removeClass('disabled');
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   113
		$('li.keyword-'+keyword).find('.curtain').hide();
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   114
		iconAction.addClass('cross');
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   115
	}
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   116
	function disabledDisplayKeyword(li, keyword, iconAction){
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   117
		iconAction.removeClass('cross').removeClass('circle');
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   118
		li.addClass('disabled');
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   119
		$('li.keyword-'+keyword).find('.curtain').show();
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   120
		iconAction.addClass('circle');
6691086f43fd update mosaic behavior
Anthony Ly <anthonyly.com@gmail.com>
parents: 138
diff changeset
   121
	}
155
551ae48cdf0b map begin
Anthony Ly <anthonyly.com@gmail.com>
parents: 146
diff changeset
   122
//map
551ae48cdf0b map begin
Anthony Ly <anthonyly.com@gmail.com>
parents: 146
diff changeset
   123
	if($('#map').length){
160
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   124
		initmap()
155
551ae48cdf0b map begin
Anthony Ly <anthonyly.com@gmail.com>
parents: 146
diff changeset
   125
	}
160
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   126
function initmap() {
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   127
	// set up the map
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   128
	map = new L.Map('map');
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   129
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   130
	// create the tile layer with correct attribution
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   131
	var osmUrl='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   132
	var osm = new L.TileLayer(osmUrl, {minZoom: 3, maxZoom: 20});		
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   133
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   134
	// start the map in South-East England
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   135
	map.setView(new L.LatLng(48.833, 2.333),4);
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   136
	map.addLayer(osm);
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   137
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   138
	// markers
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   139
	var marker1 = L.marker([48.833, 2.333]).addTo(map);
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   140
	marker1.bindPopup("Beaux-Arts de Paris");
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   141
	var marker2 = L.marker([47.233,-1.583]).addTo(map);
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   142
	marker2.bindPopup("Beaux-Arts de Nantes");
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   143
}
7f141426ccbf map update
Anthony Ly <anthonyly.com@gmail.com>
parents: 155
diff changeset
   144
115
a88246833732 setup integration
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   145
});//ready