﻿; if (window.jQuery) (function ($) { var n = 'http://www.fiito.com/'; function createThumb(a, b, c) { var d = createEl('img').attr({ 'src': n + a, 'width': 80, 'height': 80, 'alt': b, 'title': b }); return createEl('a').attr('href', c).append(d) } function createTitle(a, b) { return createEl('p').attr('class', 'title').append(createEl('a').attr('href', b).text(a)) } function createArtist(a, b) { return createEl('p').attr('class', 'artist').append(createEl('a').attr('href', b).text(a)) } function createDetail(a, b, c) { return createEl('p').attr('class', 'detail').html(_lang_ink_view + ' ' + a + '<br />' + _lang_ink_like + ' ' + b + '<span class="divider"></span>' + _lang_ink_comment + ' ' + c) } function createWorkUnit(a) { var b = createEl('div', 'workUnit'); b.append(createThumb(a.p, a.t, a.k)).append(createTitle(a.t, a.k)).append(createArtist(a.m, a.h)).append(createDetail(a.r, a.pc, a.c)); return b } function createWorkList(b, c, d, e, f, g) { if (d > c.end) { var h = b.data('opts'); var j = h.pageSize * h.maxPageCount; var k = (d + j) - 1; if (k > c.total) k = c.total; var l = $.cookie('defaultType'); $.ajax({ type: 'get', url: '/json/showcase/' + l, dataType: 'json', data: { start: d, end: k, tag: f, include: g }, cache: false, async: false, complete: function () { complete = true }, failure: function () { alert('資料載入發生錯誤') }, success: function (a) { if ($.fn.loadScrollData == undefined) { alert('scroller module not found.'); return } for (var i = 0; i < a.datacount; i++) { c.data.push(a.data[i]); c.datacount += 1 } c.end = c.datacount; if (c.end > c.total) c.end = c.total - 1 } }) } var m = createEl('div').addClass('workList'); for (var i = (d - 1); i <= e; i++) { if (c.data[i] === undefined) break; m.append(createWorkUnit(c.data[i])) } return m } function loadData(b, c, d, e, f, g) { var h = b.find('.loading').hide(); $.cookie('defaultType', c, { expires: 7 }); $.ajax({ type: 'get', url: '/json/showcase/' + c, dataType: 'json', data: { s: d, pc: e, tag: f, include: g }, cache: false, async: true, beforeSend: function () { h.show() }, complete: function () { complete = true; h.hide() }, failure: function () { alert('資料載入發生錯誤') }, success: function (a) { if ($.fn.loadScrollData == undefined) { alert('scroller module not found.'); return } b.loadScrollData(a, createWorkList, f, g) } }) } function listmenus_click(a) { var b = $(this); var c = b.parent().parent(); var d = c.parent().parent(); var e = d.data('opts'); var f = b.attr('type'); var g = b.data('tag'); var h = b.data('include'); c.find('li > a.selected').removeClass('selected').addClass('normal').end().find('li > a[type="' + f + '"]').removeClass('normal').addClass('selected'); loadData(d, f, e.pageSize, e.maxPageCount, g, h); a.preventDefault() } $.fn.getShowcaseData = function (e) { var f = $(this); var g = f.data('opts'); var h = e.listmenus; var i = e.defaultType; if ($.cookie('defaultType') !== null) i = $.cookie('defaultType'); var j = undefined; var k = undefined; var l = false; $.each(h, function (a, b) { if (i === b.type) { l = true } }); if (l == false) { i = e.defaultType } var m = f.find('.navBar > .listMenu'); m.find('li').remove(); $.each(h, function (b, c) { var a = createEl('a', 'normal').attr('href', '#').attr('type', c.type).bind('click', listmenus_click); if (c.tag != undefined) a.data('tag', c.tag); if (c.include != undefined) a.data('include', k); if (c.type === i) { a.removeClass('normal').addClass('selected'); j = c.tag; k = c.include } var d = createEl('li').append(a); if (c.icon != undefined && c.icon != null) { a.append(c.icon) } a.append(c.text); m.append(d) }); m.data('target', f.id); loadData(f, i, g.pageSize, g.maxPageCount, j, k) } })(jQuery);
