/* Inffuse Error: Failed to load Inffuse - app is not installed. */ /* main */ var Inffuse=new function(){var b=this;this.platform="";this.server="";this.apiVersion="";this.editing=false;this._viewMode="site";var a={};this.init=function(){window.addEventListener("message",function(d){var c=d.data;if(c.app!="inffuse"){return}b.receiveMessage(c)},false);b.on("publish",function(){if(!b.project){return}b.project.publish()})};this.ready=function(c){if(typeof c!="undefined"){if(b.isready){c(b)}else{if(typeof b.readyCallbacks=="undefined"){b.readyCallbacks=[]}b.readyCallbacks.push(c)}return}if(b.readyCallbacks){for(var d in b.readyCallbacks){b.readyCallbacks[d](b)}}b.broadcast("ready");b.isready=true};this.viewMode=function(){return this._viewMode};this.error=function(d){var c="[Inffuse error] "+d+".";if(window.console){console.error(c)}};this.on=function(d,c){if(!c||typeof c!="function"){throw"[Inffuse] Inffuse.on - invalid handler passed (function is required)";return}if(typeof a[d]=="undefined"){a[d]=[]}a[d].push(c)};this.off=function(d,c){if(typeof a[d]=="undefined"){return}a[d]=a[d].filter(function(e){return e!=c})};this.trigger=function(d,e){var c=a[d];if(typeof c=="undefined"||c.length==0){return false}a[d].map(function(f){f(e)});return true};this.broadcast=function(d,e,c){if(!window.parent||!window.parent.postMessage){return}var f={app:"inffuse",user:b.user?b.user.key():null,project:b.project?b.project.key():null,type:d,params:e};window.parent.postMessage(f,"*");if(c){b.trigger(d,e)}};this.requestAPI=function(g,h,j,c,f){if(typeof j=="undefined"){j="GET"}h.app=b.app.id();h.platform=b.platform;;var i=b.user.accessToken();if(i){h.access_token=i}var e=[b.server,"api",b.apiVersion,g].join("/");if(j=="GET"||j=="DELETE"){e+="?"+$.param(h);h=undefined}var d={url:e,type:j,data:h,async:!f};if(c){d.crossDomain=true;d.xhrFields={withCredentials:true}}return $.ajax(d);};this.receiveMessage=function(d){switch(d.type){case"data-changed":if(b.project){var c=d.params;for(key in c){b.project.set(key,c[key],true)}}break}b.trigger(d.type,d.params)}};Inffuse.init(); /* loader */ (function(a){a.loader=new function(){var b={};var c=function(){var d;var e=false;this.next=function(){};this.then=function(f){if(e){return f()}this.next=f;d=new c();return d};this.done=function(){e=true;var f=this.next();if(f&&f.then){f.then(function(){d.done()})}}};this.init=function(){};this.loadScript=function(f){var g=new c;if(b[f]){g.done()}else{var h=a.server;if(f.indexOf("//")==-1){f=h+f}var e=document.getElementsByTagName("head")[0];var d=document.createElement("script");d.type="text/javascript";d.src=f;e.appendChild(d);d.onload=function(){b[f]=true;g.done()}}return g}}})(Inffuse); /* error */ Inffuse.error("Failed to load Inffuse - app is not installed.");