MTVN.Community = new function(){ this.host = 'http://'; } MTVN.Community.Widgets = function(){ this.errorLocation = ''; } MTVN.Flux = new function(){} MTVN.Flux.DAAPI = new function(){ this.initArray = new Array(); this.baseUrl = "http://daapi.flux.com/2.0/00001/JSON/87F6FFFF0099CB900002FFFFF687"; this.init = function(){ if(communityAccess){ jQuery.each(MTVN.Flux.DAAPI.initArray, function (i) { if(jQuery.isFunction(MTVN.Flux.DAAPI.initArray[i])) MTVN.Flux.DAAPI.initArray[i](); }); MTVN.Flux.DAAPI.Module.init(); //if(typeof FN!='undefined' && typeof FN.init=="function") FN.init(); } } this.sendRequest = function(feed, callback, params) { var requestUrl = MTVN.Flux.DAAPI.baseUrl + feed; Flux.Core.executeGetRequest(requestUrl, function(response){ callback(Sys.Serialization.JavaScriptSerializer.deserialize(response), params); }); } } MTVN.Flux.DAAPI.Module = new function(){ var config; // the current config - a regular js object var container; // the current container - a jquery object var responses = new Array(); // stores DAAPI responses for a module until all tabs are loaded var responseCounter = 0; this.configs = new Array(); // queue of module configs this.init = function(){ if(MTVN.Flux.DAAPI.Module.configs.length > 0){ config = MTVN.Flux.DAAPI.Module.configs.pop(); MTVN.Flux.DAAPI.Module.create(); } } this.create = function(){ if($j("#"+config.containerId).is("*")){ container = $j("#"+config.containerId); for(var i=0; i < config.tabs.length; i++){ MTVN.Flux.DAAPI.sendRequest(config.tabs[i].url, MTVN.Flux.DAAPI.Module.loadData, {position:i}); } } else{ MTVN.Flux.DAAPI.Module.finish(); } } this.finish = function(){ responses = new Array(); responseCounter = 0; MTVN.Flux.DAAPI.Module.init(); // start over for more module configs } /* ------------------ */ this.loadData = function(response, paramsObj){ responses[paramsObj.position] = response; responseCounter++; if(responseCounter == config.tabs.length){ MTVN.Flux.DAAPI.Module.build(); } } this.build = function(){ if(config.tabs.length > 1) container.append(MTVN.Flux.DAAPI.Module.buildTabNav()); for(var i=0; i").addClass("mdl-nav group"); for(var x=0; x < config.tabs.length; x++){ var li = $j("
  • "); if(x==0) li.addClass("active"); var a = $j("").attr("href", "#").append(config.tabs[x].title); a.click(function(){ MTVN.UI.MdlTab.open(this); return false; }); li.append(a); ul.append(li); } return ul; } this.buildTab = function(response, isFirst){ var items = response.Items; var itemCounter = 0; if(items.length > 0){ var tab = $j("
    ").addClass("tab-content"); if(!isFirst) tab.addClass("hide"); for(var r=1; r <= config.rows; r++){ if(itemCounter < items.length){ var olClass = "lst lst-photos"; if(config.columns==2) olClass += " lst-photos-two"; else if(config.columns==3) olClass += " lst-photos-three"; else if(config.columns==4) olClass += " lst-photos-four"; else if(config.columns==6) olClass += " lst-photos-six"; var list = $j("
      ").addClass(olClass); for(var c=1; c <= config.columns; c++){ var isLast = (c==config.columns) ? true : false; if(itemCounter < items.length){ list.append(MTVN.Flux.DAAPI.Module.buildItem(items[itemCounter],isLast)); itemCounter++; } } tab.append(list); } } return tab; } } this.buildItem = function(Entry, isLast){ var title = $j("
      ").addClass("title2"); var titleLink = $j("").attr("href", Entry.DetailUrl); titleLink.append($j("").attr("src", Entry.Thumbnails.Medium).addClass("thumb")); var icon = ""; switch(Entry.Alias){ case "Video": icon = $j("").addClass("icon icon-play").append("Video: "); break; default: break; } if(icon!=="") titleLink.append(icon); titleLink.append(Entry.Title); title.append(titleLink); var li = $j("
    1. "); if(isLast) li.addClass("last"); li.append(title); li.append($j("

      ").addClass("deck").append(Entry.Creator.Title)); var date = MTVN.Flux.DAAPI.Utils.formatDate(Entry.DateCreated); li.append($j("

      ").append($j("").addClass("posted").append("Posted " + date))); return li; } } MTVN.Flux.DAAPI.Utils = new function(){ this.formatDate = function(date){ var m = date.getMonth() + 1; var d = date.getDate(); var y = date.getFullYear().toString().substr(2,2); var formattedDate = m + "/" + d + "/" + y; return formattedDate; } }