integ/js/iri-creation-cinecard.js
changeset 15 0dc883cf6bd2
parent 14 6f60170b9674
child 19 b7fb8acff7cc
child 21 937b6ee27f06
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/integ/js/iri-creation-cinecard.js	Tue Apr 09 15:24:24 2013 +0200
@@ -0,0 +1,231 @@
+$(function(){
+
+$(window).bind('resize', function(){
+	setSidebarContentHeight();
+});
+setSidebarContentHeight();
+function setSidebarContentHeight(){
+	var newHeight = $(window).height() - $('header').height() - $('footer').height();
+	$(".sidebar .content").css('height', newHeight);
+}
+
+$(".sidebar .content").mCustomScrollbar({
+	advanced:{
+	    updateOnContentResize: true
+	}
+});
+
+$('a.more').bind('click', function(e){
+	e.preventDefault();
+	var target = $(this).attr('href');
+	if($(target).hasClass('less')){
+		$(target).removeClass('less');
+		$(this).addClass('less');
+	}else{
+		$(target).addClass('less');
+		$(this).removeClass('less');
+	}	
+});// a.more
+
+$('.stickers a').bind('click', function(e){
+	e.preventDefault();
+});
+
+//-- API allocine
+
+//-- movie
+var urlMovie = 'http://api.allocine.fr/rest/v3/movie?partner='+partnerCode+'&code='+ idMovie;
+$.getJSON(urlMovie, function(data) {
+	var movie = data.movie;
+
+	//-- title
+	var titleMovie = movie.title;
+	$('.renkan .wrap-top h2').text(titleMovie);
+
+	//-- stars
+	var castMember = movie.castMember;
+
+	$.each(castMember, function(k, v){
+		var name =	v.person.name;
+		var codeActor = v.person.code;
+		var urlPicture;
+		if(v.picture !== undefined) {
+			urlPicture = v.picture.href;
+		}else{
+			urlPicture = 'http://fr.web.img3.acsta.net/c_160_213/b_1_d6d6d6/commons/emptymedia/empty_star.jpg';
+		}	
+		var urlFichePersonne = 'http://www.allocine.fr/personne/fichepersonne_gen_cpersonne='+codeActor+'.html';
+		var itemStar = 
+			'<li class="cinecard-draggable" draggable="true">'+
+				'<a class="tool-info" target="_blank" href="'+ urlFichePersonne +'" title="'+ name +'">'+
+					'<img src="'+ urlPicture +'" alt="'+ name +'" />'+
+				'</a>'+
+			'</li>';
+		$('#stars-more').append(itemStar);
+	});	
+
+	/* Creating Renkan Template */
+	var _posterData = {
+			title: movie.title,
+			image: movie.poster.href,
+			uri: _(movie.link).find(function(l) { return l.rel === "aco:web" }).href,
+			position: {
+				x: 0,
+				y: 0
+			},
+			description: "Affiche du film",
+			size: 4
+		},
+		_stickers = [
+			"img/stickers/pourquoi-j-ai-aime.png",
+			"img/stickers/pourquoi-le-voir.png",
+			"img/stickers/secrets-et-bonus.png"
+		],
+		_stickerDistance = 220,
+		_filmNode = _renkan.project.addNode(_posterData);
+		
+	_(_stickers).each(function(v, k) {
+		var _a = 2 * Math.PI * k / _stickers.length,
+			_stickerData = {
+				title: " ",
+				position: {
+					x: - _stickerDistance * Math.cos(_a),
+					y: _stickerDistance * Math.sin(_a)
+				},
+				image: v,
+				size: 0
+			}
+		_stickerNode = _renkan.project.addNode(_stickerData);
+		var _edgeData = {
+			from: _filmNode,
+			to: _stickerNode
+		}
+		_renkan.project.addEdge(_edgeData);
+	});
+
+
+});
+
+//-- picture
+var urlPicture = 'http://api.allocine.fr/rest/v3/picturelist?partner='+partnerCode+'&subject=movie:'+ idMovie;
+$.getJSON(urlPicture, function(data) {
+	var media = data.feed.media;
+	$.each(media, function(k, v){
+		var urlThumb = v.thumbnail.href;
+		var rcode = v.rcode;
+		var title = v.title;
+		var urlAllocine = 'http://www.allocine.fr/film/fichefilm-'+ idMovie +'/photos/detail/?cmediafile='+ rcode;
+		var itemImagess = 
+			'<li class="cinecard-draggable" draggable="true">'+
+				'<a target="_blank" href="'+ urlAllocine +'" title="'+title+'">'+
+					'<img src="'+ urlThumb +'" alt="'+title+'" />'+
+				'</a>'+
+			'</li>';
+		$('#images-more').append(itemImagess);
+	});
+	//redimensionnement images
+	$("#images-more img").each(function() {
+	    var img = $(this),
+	        div = $(this).parent();
+	    img.load(function() {
+	        var iw = img.width(),
+	            ih = img.height(),
+	            dw = div.width(),
+	            dh = div.height(),
+	            scale = Math.max(dw/iw, dh/ih),
+	            niw = iw * scale,
+	            nih = ih * scale;
+	        img.css({
+	            width: niw,
+	            height: nih,
+	            "margin-left": (dw - niw) / 2,
+	            "margin-top": (dh - nih) / 3
+	        });
+	    });
+	});
+});//get
+
+//-- trailer
+var urlTrailers = 'http://api.allocine.fr/rest/v3/videolist?partner='+partnerCode+'&mediafmt=flv&subject=movie:'+ idMovie;
+$.getJSON(urlTrailers, function(data) {
+	var media = data.feed.media;
+	$.each(media, function(k, v){
+		console.log(v)
+		var urlThumbnail = v.thumbnail.href;
+		var title = v.title;
+		var code = v.code;
+		var url = 'http://www.allocine.fr/video/player_gen_cmedia='+code+'&cfilm='+idMovie+'.html';
+		var itemVideo = 
+			'<li class="cinecard-draggable" draggable="true">'+
+				'<a target="_blank" href="'+ url +'" title="'+title+'">'+
+					'<img src="'+ urlThumbnail +'" alt="'+title+'" />'+
+				'</a>'+
+			'</li>';
+		$('#videos-more').append(itemVideo);
+	});
+});
+
+//TOOLTIP
+var show_tooltip_info_iri = function(elem){
+	var tooltip = $('.tooltip-iri'),
+		name = elem.attr('title'),
+		arrow = tooltip.find('.arrow_tooltip'),
+		top = elem.offset().top,
+		right = elem.offset().left + elem.width() + arrow.width();
+	tooltip.find('p').text(name)
+	tooltip.show();
+	tooltip.css({
+		top : top,
+		left : right
+	});
+}
+var hide_tooltip_info_iri = function(elem){
+	var tooltip = $('.tooltip-iri');
+	tooltip.hide();
+}
+$(document).on({
+    mouseenter: function() {
+    	show_tooltip_info_iri($(this));
+	},
+    mouseleave: function() {
+    	hide_tooltip_info_iri($(this));
+    }
+}, 'a.tool-info');
+
+//Renkan initialization
+var _renkan = new Rkns.Renkan({
+    user_id: "u-iri",
+    language: "fr",
+    container: "cinecard",
+    show_bins: false,
+    show_top_bar: false,
+    show_minimap: false,
+    show_node_circles: false,
+    clip_node_images: false,
+    node_size_base: 40,
+    default_user_color: "#808080",
+    static_url: "renkan/"
+});
+
+// Attach drag and drop events
+$(".sidebar")
+	.on("mousemove", ".cinecard-draggable", function(e) {
+		try {
+			this.dragDrop();
+		}
+		catch(err) {}
+    })
+    .on("dragstart", ".cinecard-draggable", function(e) {
+    	var div = document.createElement('div');
+    	div.appendChild(this.cloneNode(true));
+    	console.log(div.innerHTML);
+		try {
+			e.originalEvent.dataTransfer.setData("text/html",div.innerHTML);
+		}
+		catch(err) {
+			e.originalEvent.dataTransfer.setData("text",div.innerHTML);
+		}
+    });
+
+
+});
\ No newline at end of file