jQuery(function ($) { $('[data-instagram]').each(function () { var $ul = $(this), account = '', count = $ul.data('count') ? $ul.data('count') : 9, data = {}, dimensions = typeof($ul.data('image-size')) == "undefined" ? 80 : $ul.data('image-size'), liClass = '', tag = $ul.data('tag'), tags = $ul.data('tags'), titleType = $ul.data('title-type') ? $ul.data('title-type') : 'outside', useFancyBox = true, useVideo = true; if (typeof($ul.data('username')) !== 'undefined') { account = $ul.data('username'); } else if (typeof($ul.attr('id')) !== 'undefined') { account = $ul.attr('id').substring(10); } if (typeof($ul.data('class')) !== 'undefined') { liClass = $ul.data('class'); } if (typeof($ul.data('use-fancybox')) !== 'undefined') { useFancyBox = $ul.data('use-fancybox'); } if (typeof($ul.data('use-video')) !== "undefined") { useVideo = $ul.data('use-video'); } useVideo = useVideo ? (!!document.createElement('video').canPlayType('video/mp4; codecs=avc1.42E01E,mp4a.40.2')) : false; data.count = count; if (typeof(tag) !== 'undefined') { data.tag = tag; } else { data.username = account; if (typeof(tags) !== 'undefined') { data.tags = tags; } } $.ajax({ type: 'GET', url: 'https://instagram.sidestudios.com/json.php', data: data, dataType: 'jsonp', success: function (result) { var url, type = 'image', width, height; $ul.removeClass('loading'); if (result && result.images) { parseResults($ul, result.images.data); if ($.fancybox && useFancyBox) { $(".fancybox-instagram").fancybox({ nextEffect : 'none', prevEffect : 'none', helpers : { title : { type: titleType }, thumbs : { width : dimensions, height : dimensions } }, beforeLoad : function() { this.title = this.element.data('title'); this.width = parseInt(this.element.data('width')); this.height = parseInt(this.element.data('height')); if ($(window).width() < this.width) { ratio = ($(window).width() - 20) / this.width; this.width = this.width * ratio; this.height = this.height * ratio; } } }); } if ($ul.next('.instagrams-load-more').length > 0 && result.images.pagination.next_url) { $ul.next('.instagrams-load-more').data('next_url', result.images.pagination.next_url); } else { $ul.next('.instagrams-load-more').hide(); } } else { $ul.hide(); $ul.next().hide(); $('a[href$="-' + account + '"]').hide(); $('.instagram-no-auth').hide(); } } }); }); $('body').on('click', '.instagrams-load-more', function() { $this = $(this); if ($this.data('next_url')) { $ul = $this.prev('.instagrams'); $.ajax({ type: 'GET', url: $this.data('next_url'), dataType: 'jsonp', success: function (result) { var url, type = 'image', width, height; if (result) { parseResults($ul, result.data); if ($ul.next('.instagrams-load-more').length > 0 && result.pagination.next_url) { $ul.next('.instagrams-load-more').data('next_url', result.pagination.next_url); } else { $ul.next('.instagrams-load-more').hide(); } } } }); } }); }); function parseResults(ul, data) { var $ul = $(ul), account = '', count = $ul.data('count') ? $ul.data('count') : 9, dimensions = typeof($ul.data('image-size')) == "undefined" ? 80 : $ul.data('image-size'), liClass = '', tags = $ul.data('tags'), tag = $ul.data('tag'), useLink = typeof($ul.data('use-link')) == "undefined" ? true : $ul.data('use-link'), useVideo = true; if (typeof($ul.data('username')) !== 'undefined') { account = $ul.data('username'); } else if (typeof($ul.attr('id')) !== 'undefined') { account = $ul.attr('id').substring(10); } if (typeof($ul.data('class')) !== 'undefined') { liClass = $ul.data('class'); } if (typeof($ul.data('use-video')) !== "undefined") { useVideo = $ul.data('use-video'); } useVideo = useVideo ? (!!document.createElement('video').canPlayType('video/mp4; codecs=avc1.42E01E,mp4a.40.2')) : false; $.each(data, function (i, item) { if (window.location.protocol == 'https:') { item.media_url = item.media_url.replace(/^http:/i, 'https:'); item.media_url = item.media_url.replace(/^http:/i, 'https:'); if (item.type === 'video') { item.thumbnail_url = item.thumbnail_url.replace(/^http:/i, 'https:'); item.thumbnail_url = item.thumbnail_url.replace(/^http:/i, 'https:'); } } item.media_url = stripslashes(item.media_url); item.media_url = stripslashes(item.media_url); // If defined image size is large resolution override low_resolution urls if (dimensions > 320) { item.media_url = item.media_url; if(item.type === 'video') { item.thumbnail_url = item.thumbnail_url; } } var classes = liClass, url = item.media_url, width = 350, height = 350, type = 'image', title = (typeof(item.caption) !== 'undefined' && item.caption !== null ? htmlEscape(stripslashes(item.caption.text)) : ''); if (item.type === 'video' && useVideo) { item.thumbnail_url = stripslashes(item.thumbnail_url); item.thumbnail_url = stripslashes(item.thumbnail_url); type = 'iframe'; url = item.thumbnail_url; width = 350; height = 350; classes += ' instagram-video'; } if (useLink === true) { $ul.append('