(function(){var v=this;var s=v._;var b={};var j=Array.prototype,C=Object.prototype,E=Function.prototype;var t=j.slice,x=j.unshift,w=C.toString,p=C.hasOwnProperty;var n=j.forEach,i=j.map,A=j.reduce,f=j.reduceRight,m=j.filter,a=j.every,z=j.some,u=j.indexOf,g=j.lastIndexOf,c=Array.isArray,B=Object.keys,k=E.bind;var D=function(F){return new h(F)};if(typeof module!=="undefined"&&module.exports){module.exports=D;D._=D}else{v._=D}D.VERSION="1.1.6";var d=D.each=D.forEach=function(K,J,I){if(K==null){return}if(n&&K.forEach===n){K.forEach(J,I)}else{if(D.isNumber(K.length)){for(var H=0,F=K.length;H<F;H++){if(J.call(I,K[H],H,K)===b){return}}}else{for(var G in K){if(p.call(K,G)){if(J.call(I,K[G],G,K)===b){return}}}}}};D.map=function(I,H,G){var F=[];if(I==null){return F}if(i&&I.map===i){return I.map(H,G)}d(I,function(L,J,K){F[F.length]=H.call(G,L,J,K)});return F};D.reduce=D.foldl=D.inject=function(J,I,F,H){var G=F!==void 0;if(J==null){J=[]}if(A&&J.reduce===A){if(H){I=D.bind(I,H)}return G?J.reduce(I,F):J.reduce(I)}d(J,function(M,K,L){if(!G&&K===0){F=M;G=true}else{F=I.call(H,F,M,K,L)}});if(!G){throw new TypeError("Reduce of empty array with no initial value")}return F};D.reduceRight=D.foldr=function(I,H,F,G){if(I==null){I=[]}if(f&&I.reduceRight===f){if(G){H=D.bind(H,G)}return F!==void 0?I.reduceRight(H,F):I.reduceRight(H)}var J=(D.isArray(I)?I.slice():D.toArray(I)).reverse();return D.reduce(J,H,F,G)};D.find=D.detect=function(I,H,G){var F;q(I,function(L,J,K){if(H.call(G,L,J,K)){F=L;return true}});return F};D.filter=D.select=function(I,H,G){var F=[];if(I==null){return F}if(m&&I.filter===m){return I.filter(H,G)}d(I,function(L,J,K){if(H.call(G,L,J,K)){F[F.length]=L}});return F};D.reject=function(I,H,G){var F=[];if(I==null){return F}d(I,function(L,J,K){if(!H.call(G,L,J,K)){F[F.length]=L}});return F};D.every=D.all=function(I,H,G){var F=true;if(I==null){return F}if(a&&I.every===a){return I.every(H,G)}d(I,function(L,J,K){if(!(F=F&&H.call(G,L,J,K))){return b}});return F};var q=D.some=D.any=function(I,H,G){H||(H=D.identity);var F=false;if(I==null){return F}if(z&&I.some===z){return I.some(H,G)}d(I,function(L,J,K){if(F=H.call(G,L,J,K)){return b}});return F};D.include=D.contains=function(H,G){var F=false;if(H==null){return F}if(u&&H.indexOf===u){return H.indexOf(G)!=-1}q(H,function(I){if(F=I===G){return true}});return F};D.invoke=function(G,H){var F=t.call(arguments,2);return D.map(G,function(I){return(H.call?H||I:I[H]).apply(I,F)})};D.pluck=function(G,F){return D.map(G,function(H){return H[F]})};D.max=function(I,H,G){if(!H&&D.isArray(I)){return Math.max.apply(Math,I)}var F={computed:-Infinity};d(I,function(M,J,L){var K=H?H.call(G,M,J,L):M;K>=F.computed&&(F={value:M,computed:K})});return F.value};D.min=function(I,H,G){if(!H&&D.isArray(I)){return Math.min.apply(Math,I)}var F={computed:Infinity};d(I,function(M,J,L){var K=H?H.call(G,M,J,L):M;K<F.computed&&(F={value:M,computed:K})});return F.value};D.sortBy=function(H,G,F){return D.pluck(D.map(H,function(K,I,J){return{value:K,criteria:G.call(F,K,I,J)}}).sort(function(L,K){var J=L.criteria,I=K.criteria;return J<I?-1:J>I?1:0}),"value")};D.groupBy=function(H,G){var F={};d(H,function(K,I){var J=G(K,I);(F[J]||(F[J]=[])).push(K)});return F};D.sortedIndex=function(K,J,H){H||(H=D.identity);var F=0,I=K.length;while(F<I){var G=(F+I)>>1;H(K[G])<H(J)?F=G+1:I=G}return F};D.toArray=function(F){if(!F){return[]}if(F.toArray){return F.toArray()}if(D.isArray(F)){return F}if(D.isArguments(F)){return t.call(F)}return D.values(F)};D.size=function(F){return D.toArray(F).length};D.first=D.head=function(H,G,F){return(G!=null)&&!F?t.call(H,0,G):H[0]};D.rest=D.tail=function(H,F,G){return t.call(H,(F==null)||G?1:F)};D.last=function(F){return F[F.length-1]};D.compact=function(F){return D.filter(F,function(G){return !!G})};D.flatten=function(F){return D.reduce(F,function(G,H){if(D.isArray(H)){return G.concat(D.flatten(H))}G[G.length]=H;return G},[])};D.without=function(G){var F=t.call(arguments,1);return D.filter(G,function(H){return !D.include(F,H)})};D.uniq=D.unique=function(G,F){return D.reduce(G,function(H,J,I){if(0==I||(F===true?D.last(H)!=J:!D.include(H,J))){H[H.length]=J}return H},[])};D.intersect=function(G){var F=t.call(arguments,1);return D.filter(D.uniq(G),function(H){return D.every(F,function(I){return D.indexOf(I,H)>=0})})};D.zip=function(){var F=t.call(arguments);var I=D.max(D.pluck(F,"length"));var H=new Array(I);for(var G=0;G<I;G++){H[G]=D.pluck(F,""+G)}return H};D.indexOf=function(J,H,I){if(J==null){return -1}var G,F;if(I){G=D.sortedIndex(J,H);return J[G]===H?G:-1}if(u&&J.indexOf===u){return J.indexOf(H)}for(G=0,F=J.length;G<F;G++){if(J[G]===H){return G}}return -1};D.lastIndexOf=function(H,G){if(H==null){return -1}if(g&&H.lastIndexOf===g){return H.lastIndexOf(G)}var F=H.length;while(F--){if(H[F]===G){return F}}return -1};D.range=function(K,I,J){if(arguments.length<=1){I=K||0;K=0}J=arguments[2]||1;var G=Math.max(Math.ceil((I-K)/J),0);var F=0;var H=new Array(G);while(F<G){H[F++]=K;K+=J}return H};D.bind=function(G,H){if(G.bind===k&&k){return k.apply(G,t.call(arguments,1))}var F=t.call(arguments,2);return function(){return G.apply(H,F.concat(t.call(arguments)))}};D.bindAll=function(G){var F=t.call(arguments,1);if(F.length==0){F=D.functions(G)}d(F,function(H){G[H]=D.bind(G[H],G)});return G};D.memoize=function(H,G){var F={};G||(G=D.identity);return function(){var I=G.apply(this,arguments);return p.call(F,I)?F[I]:(F[I]=H.apply(this,arguments))}};D.delay=function(G,H){var F=t.call(arguments,2);return setTimeout(function(){return G.apply(G,F)},H)};D.defer=function(F){return D.delay.apply(D,[F,1].concat(t.call(arguments,1)))};var y=function(G,I,F){var H;return function(){var K=this,J=arguments;var L=function(){H=null;G.apply(K,J)};if(F){clearTimeout(H)}if(F||!H){H=setTimeout(L,I)}}};D.throttle=function(F,G){return y(F,G,false)};D.debounce=function(F,G){return y(F,G,true)};D.once=function(H){var F=false,G;return function(){if(F){return G}F=true;return G=H.apply(this,arguments)}};D.wrap=function(F,G){return function(){var H=[F].concat(t.call(arguments));return G.apply(this,H)}};D.compose=function(){var F=t.call(arguments);return function(){var G=t.call(arguments);for(var H=F.length-1;H>=0;H--){G=[F[H].apply(this,G)]}return G[0]}};D.after=function(G,F){return function(){if(--G<1){return F.apply(this,arguments)}}};D.keys=B||function(H){if(H!==Object(H)){throw new TypeError("Invalid object")}var G=[];for(var F in H){if(p.call(H,F)){G[G.length]=F}}return G};D.values=function(F){return D.map(F,D.identity)};D.functions=D.methods=function(F){return D.filter(D.keys(F),function(G){return D.isFunction(F[G])}).sort()};D.extend=function(F){d(t.call(arguments,1),function(G){for(var H in G){if(G[H]!==void 0){F[H]=G[H]}}});return F};D.defaults=function(F){d(t.call(arguments,1),function(G){for(var H in G){if(F[H]==null){F[H]=G[H]}}});return F};D.clone=function(F){return D.isArray(F)?F.slice():D.extend({},F)};D.tap=function(G,F){F(G);return G};D.isEqual=function(G,F){if(G===F){return true}var J=typeof(G),L=typeof(F);if(J!=L){return false}if(G==F){return true}if((!G&&F)||(G&&!F)){return false}if(G._chain){G=G._wrapped}if(F._chain){F=F._wrapped}if(G.isEqual){return G.isEqual(F)}if(D.isDate(G)&&D.isDate(F)){return G.getTime()===F.getTime()}if(D.isNaN(G)&&D.isNaN(F)){return false}if(D.isRegExp(G)&&D.isRegExp(F)){return G.source===F.source&&G.global===F.global&&G.ignoreCase===F.ignoreCase&&G.multiline===F.multiline}if(J!=="object"){return false}if(G.length&&(G.length!==F.length)){return false}var H=D.keys(G),K=D.keys(F);if(H.length!=K.length){return false}for(var I in G){if(!(I in F)||!D.isEqual(G[I],F[I])){return false}}return true};D.isEmpty=function(G){if(D.isArray(G)||D.isString(G)){return G.length===0}for(var F in G){if(p.call(G,F)){return false}}return true};D.isElement=function(F){return !!(F&&F.nodeType==1)};D.isArray=c||function(F){return w.call(F)==="[object Array]"};D.isArguments=function(F){return !!(F&&p.call(F,"callee"))};D.isFunction=function(F){return !!(F&&F.constructor&&F.call&&F.apply)};D.isString=function(F){return !!(F===""||(F&&F.charCodeAt&&F.substr))};D.isNumber=function(F){return !!(F===0||(F&&F.toExponential&&F.toFixed))};D.isNaN=function(F){return F!==F};D.isBoolean=function(F){return F===true||F===false};D.isDate=function(F){return !!(F&&F.getTimezoneOffset&&F.setUTCFullYear)};D.isRegExp=function(F){return !!(F&&F.test&&F.exec&&(F.ignoreCase||F.ignoreCase===false))};D.isNull=function(F){return F===null};D.isUndefined=function(F){return F===void 0};D.noConflict=function(){v._=s;return this};D.identity=function(F){return F};D.times=function(I,H,G){for(var F=0;F<I;F++){H.call(G,F)}};D.mixin=function(F){d(D.functions(F),function(G){r(G,D[G]=F[G])})};var l=0;D.uniqueId=function(F){var G=l++;return F?F+G:G};D.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g};D.template=function(I,H){var J=D.templateSettings;var F="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+I.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(J.interpolate,function(K,L){return"',"+L.replace(/\\'/g,"'")+",'"}).replace(J.evaluate||null,function(K,L){return"');"+L.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');";var G=new Function("obj",F);return H?G(H):G};var h=function(F){this._wrapped=F};D.prototype=h.prototype;var o=function(G,F){return F?D(G).chain():G};var r=function(F,G){h.prototype[F]=function(){var H=t.call(arguments);x.call(H,this._wrapped);return o(G.apply(D,H),this._chain)}};D.mixin(D);d(["pop","push","reverse","shift","sort","splice","unshift"],function(F){var G=j[F];h.prototype[F]=function(){G.apply(this._wrapped,arguments);return o(this._wrapped,this._chain)}});d(["concat","join","slice"],function(F){var G=j[F];h.prototype[F]=function(){return o(G.apply(this._wrapped,arguments),this._chain)}});h.prototype.chain=function(){this._chain=true;return this};h.prototype.value=function(){return this._wrapped}})();(function(){var p=this;var o=p.Backbone;var b;if(typeof exports!=="undefined"){b=exports}else{b=p.Backbone={}}b.VERSION="0.3.3";var x=p._;if(!x&&(typeof require!=="undefined")){x=require("underscore")._}var f=p.jQuery||p.Zepto;b.noConflict=function(){p.Backbone=o;return this};b.emulateHTTP=false;b.emulateJSON=false;b.Events={bind:function(z,B){var y=this._callbacks||(this._callbacks={});var A=this._callbacks[z]||(this._callbacks[z]=[]);A.push(B);return this},unbind:function(B,D){var A;if(!B){this._callbacks={}}else{if(A=this._callbacks){if(!D){A[B]=[]}else{var C=A[B];if(!C){return this}for(var z=0,y=C.length;z<y;z++){if(D===C[z]){C[z]=null;break}}}}}return this},trigger:function(A){var B,G,E,F,C,z,y;var D=2;if(!(G=this._callbacks)){return this}while(D--){E=D?A:"all";if(B=G[E]){for(z=0,y=B.length;z<y;z++){if(!(F=B[z])){B.splice(z,1);z--;y--}else{C=D?Array.prototype.slice.call(arguments,1):arguments;F.apply(this,C)}}}}return this}};b.Model=function(y,z){var A;y||(y={});if(A=this.defaults){if(x.isFunction(A)){A=A()}y=x.extend({},A,y)}this.attributes={};this._escapedAttributes={};this.cid=x.uniqueId("c");this.set(y,{silent:true});this._changed=false;this._previousAttributes=x.clone(this.attributes);if(z&&z.collection){this.collection=z.collection}this.initialize(y,z)};x.extend(b.Model.prototype,b.Events,{_previousAttributes:null,_changed:false,idAttribute:"id",initialize:function(){},toJSON:function(){return x.clone(this.attributes)},get:function(y){return this.attributes[y]},escape:function(y){var z;if(z=this._escapedAttributes[y]){return z}var A=this.attributes[y];return this._escapedAttributes[y]=n(A==null?"":""+A)},has:function(y){return this.attributes[y]!=null},set:function(B,A){A||(A={});if(!B){return this}if(B.attributes){B=B.attributes}var z=this.attributes,C=this._escapedAttributes;if(!A.silent&&this.validate&&!this._performValidation(B,A)){return false}if(this.idAttribute in B){this.id=B[this.idAttribute]}for(var y in B){var D=B[y];if(!x.isEqual(z[y],D)){z[y]=D;delete C[y];this._changed=true;if(!A.silent){this.trigger("change:"+y,this,D,A)}}}if(!A.silent&&this._changed){this.change(A)}return this},unset:function(y,z){if(!(y in this.attributes)){return this}z||(z={});var B=this.attributes[y];var A={};A[y]=void 0;if(!z.silent&&this.validate&&!this._performValidation(A,z)){return false}delete this.attributes[y];delete this._escapedAttributes[y];if(y==this.idAttribute){delete this.id}this._changed=true;if(!z.silent){this.trigger("change:"+y,this,void 0,z);this.change(z)}return this},clear:function(z){z||(z={});var y=this.attributes;var A={};for(attr in y){A[attr]=void 0}if(!z.silent&&this.validate&&!this._performValidation(A,z)){return false}this.attributes={};this._escapedAttributes={};this._changed=true;if(!z.silent){for(attr in y){this.trigger("change:"+attr,this,void 0,z)}this.change(z)}return this},fetch:function(z){z||(z={});var y=this;var A=z.success;z.success=function(D,B,C){if(!y.set(y.parse(D,C),z)){return false}if(A){A(y,D)}};z.error=c(z.error,y,z);return(this.sync||b.sync).call(this,"read",this,z)},save:function(A,z){z||(z={});if(A&&!this.set(A,z)){return false}var y=this;var B=z.success;z.success=function(F,D,E){if(!y.set(y.parse(F,E),z)){return false}if(B){B(y,F,E)}};z.error=c(z.error,y,z);var C=this.isNew()?"create":"update";return(this.sync||b.sync).call(this,C,this,z)},destroy:function(z){z||(z={});var y=this;var A=z.success;z.success=function(B){y.trigger("destroy",y,y.collection,z);if(A){A(y,B)}};z.error=c(z.error,y,z);return(this.sync||b.sync).call(this,"delete",this,z)},url:function(){var y=q(this.collection)||this.urlRoot||s();if(this.isNew()){return y}return y+(y.charAt(y.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(z,y){return z},clone:function(){return new this.constructor(this)},isNew:function(){return !this.id},change:function(y){this.trigger("change",this,y);this._previousAttributes=x.clone(this.attributes);this._changed=false},hasChanged:function(y){if(y){return this._previousAttributes[y]!=this.attributes[y]}return this._changed},changedAttributes:function(A){A||(A=this.attributes);var z=this._previousAttributes;var B=false;for(var y in A){if(!x.isEqual(z[y],A[y])){B=B||{};B[y]=A[y]}}return B},previous:function(y){if(!y||!this._previousAttributes){return null}return this._previousAttributes[y]},previousAttributes:function(){return x.clone(this._previousAttributes)},_performValidation:function(A,z){var y=this.validate(A);if(y){if(z.error){z.error(this,y)}else{this.trigger("error",this,y,z)}return false}return true}});b.Collection=function(z,y){y||(y={});if(y.comparator){this.comparator=y.comparator;delete y.comparator}x.bindAll(this,"_onModelEvent","_removeReference");this._reset();if(z){this.refresh(z,{silent:true})}this.initialize(z,y)};x.extend(b.Collection.prototype,b.Events,{model:b.Model,initialize:function(){},toJSON:function(){return this.map(function(y){return y.toJSON()})},add:function(B,z){if(x.isArray(B)){for(var A=0,y=B.length;A<y;A++){this._add(B[A],z)}}else{this._add(B,z)}return this},remove:function(B,z){if(x.isArray(B)){for(var A=0,y=B.length;A<y;A++){this._remove(B[A],z)}}else{this._remove(B,z)}return this},get:function(y){if(y==null){return null}return this._byId[y.id!=null?y.id:y]},getByCid:function(y){return y&&this._byCid[y.cid||y]},at:function(y){return this.models[y]},sort:function(y){y||(y={});if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}this.models=this.sortBy(this.comparator);if(!y.silent){this.trigger("refresh",this,y)}return this},pluck:function(y){return x.map(this.models,function(z){return z.get(y)})},refresh:function(z,y){z||(z=[]);y||(y={});this.each(this._removeReference);this._reset();this.add(z,{silent:true});if(!y.silent){this.trigger("refresh",this,y)}return this},fetch:function(y){y||(y={});var A=this;var z=y.success;y.success=function(D,B,C){A[y.add?"add":"refresh"](A.parse(D,C),y);if(z){z(A,D)}};y.error=c(y.error,A,y);return(this.sync||b.sync).call(this,"read",this,y)},create:function(A,z){var B=this;z||(z={});if(!(A instanceof b.Model)){var y=A;A=new this.model(null,{collection:B});if(!A.set(y,z)){return false}}else{A.collection=B}var C=z.success;z.success=function(D,F,E){B.add(D);if(C){C(D,F,E)}};A.save(null,z);return A},parse:function(z,y){return z},chain:function(){return x(this.models).chain()},_reset:function(y){this.length=0;this.models=[];this._byId={};this._byCid={}},_add:function(A,z){z||(z={});if(!(A instanceof b.Model)){A=new this.model(A,{collection:this})}var B=this.getByCid(A);if(B){throw new Error(["Can't add the same model to a set twice",B.id])}this._byId[A.id]=A;this._byCid[A.cid]=A;if(!A.collection){A.collection=this}var y=this.comparator?this.sortedIndex(A,this.comparator):this.length;this.models.splice(y,0,A);A.bind("all",this._onModelEvent);this.length++;if(!z.silent){A.trigger("add",A,this,z)}return A},_remove:function(z,y){y||(y={});z=this.getByCid(z)||this.get(z);if(!z){return null}delete this._byId[z.id];delete this._byCid[z.cid];this.models.splice(this.indexOf(z),1);this.length--;if(!y.silent){z.trigger("remove",z,this,y)}this._removeReference(z);return z},_removeReference:function(y){if(this==y.collection){delete y.collection}y.unbind("all",this._onModelEvent)},_onModelEvent:function(A,z,B,y){if((A=="add"||A=="remove")&&B!=this){return}if(A=="destroy"){this._remove(z,y)}if(z&&A==="change:"+z.idAttribute){delete this._byId[z.previous(z.idAttribute)];this._byId[z.id]=z}this.trigger.apply(this,arguments)}});var v=["forEach","each","map","reduce","reduceRight","find","detect","filter","select","reject","every","all","some","any","include","invoke","max","min","sortBy","sortedIndex","toArray","size","first","rest","last","without","indexOf","lastIndexOf","isEmpty"];x.each(v,function(y){b.Collection.prototype[y]=function(){return x[y].apply(x,[this.models].concat(x.toArray(arguments)))}});b.Controller=function(y){y||(y={});if(y.routes){this.routes=y.routes}this._bindRoutes();this.initialize(y)};var h=/:([\w\d]+)/g;var w=/\*([\w\d]+)/g;var d=/[-[\]{}()+?.,\\^$|#\s]/g;x.extend(b.Controller.prototype,b.Events,{initialize:function(){},route:function(y,z,A){b.history||(b.history=new b.History);if(!x.isRegExp(y)){y=this._routeToRegExp(y)}b.history.route(y,x.bind(function(C){var B=this._extractParameters(y,C);A.apply(this,B);this.trigger.apply(this,["route:"+z].concat(B))},this))},saveLocation:function(y){b.history.saveLocation(y)},_bindRoutes:function(){if(!this.routes){return}var z=[];for(var A in this.routes){z.unshift([A,this.routes[A]])}for(var B=0,y=z.length;B<y;B++){this.route(z[B][0],z[B][1],this[z[B][1]])}},_routeToRegExp:function(y){y=y.replace(d,"\\$&").replace(h,"([^/]*)").replace(w,"(.*?)");return new RegExp("^"+y+"$")},_extractParameters:function(y,z){return y.exec(z).slice(1)}});b.History=function(){this.handlers=[];this.fragment=this.getFragment();x.bindAll(this,"checkUrl")};var m=/^#*!?/;var i=/msie [\w.]+/;var k=false;x.extend(b.History.prototype,{interval:50,getFragment:function(y){return(y||window.location).hash.replace(m,"")},start:function(){if(k){throw new Error("Backbone.history has already been started")}var y=document.documentMode;var z=(i.exec(navigator.userAgent.toLowerCase())&&(!y||y<=7));if(z){this.iframe=f('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow}if("onhashchange" in window&&!z){f(window).bind("hashchange",this.checkUrl)}else{setInterval(this.checkUrl,this.interval)}k=true;return this.loadUrl()},route:function(y,z){this.handlers.unshift({route:y,callback:z})},checkUrl:function(){var y=this.getFragment();if(y==this.fragment&&this.iframe){y=this.getFragment(this.iframe.location)}if(y==this.fragment||y==decodeURIComponent(this.fragment)){return false}if(this.iframe){window.location.hash=this.iframe.location.hash=y}this.loadUrl()},loadUrl:function(){var z=this.fragment=this.getFragment();var y=x.any(this.handlers,function(A){if(A.route.test(z)){A.callback(z);return true}});return y},saveLocation:function(y){y=(y||"").replace(m,"");if(this.fragment==y){return}window.location.hash=this.fragment=y;if(this.iframe&&(y!=this.getFragment(this.iframe.location))){this.iframe.document.open().close();this.iframe.location.hash=y}}});b.View=function(y){this.cid=x.uniqueId("view");this._configure(y||{});this._ensureElement();this.delegateEvents();this.initialize(y)};var l=function(y){return f(y,this.el)};var a=/^(\w+)\s*(.*)$/;var t=["model","collection","el","id","attributes","className","tagName"];x.extend(b.View.prototype,b.Events,{tagName:"div",$:l,initialize:function(){},render:function(){return this},remove:function(){f(this.el).remove();return this},make:function(z,y,B){var A=document.createElement(z);if(y){f(A).attr(y)}if(B){f(A).html(B)}return A},delegateEvents:function(D){if(!(D||(D=this.events))){return}f(this.el).unbind(".delegateEvents"+this.cid);for(var C in D){var A=D[C];var B=C.match(a);var z=B[1],y=B[2];var E=x.bind(this[A],this);z+=".delegateEvents"+this.cid;if(y===""){f(this.el).bind(z,E)}else{f(this.el).delegate(y,z,E)}}},_configure:function(A){if(this.options){A=x.extend({},this.options,A)}for(var B=0,z=t.length;B<z;B++){var y=t[B];if(A[y]){this[y]=A[y]}}this.options=A},_ensureElement:function(){if(!this.el){var y=this.attributes||{};if(this.id){y.id=this.id}if(this.className){y["class"]=this.className}this.el=this.make(this.tagName,y)}else{if(x.isString(this.el)){this.el=f(this.el).get(0)}}}});var u=function(y,z){var A=j(this,y,z);A.extend=this.extend;return A};b.Model.extend=b.Collection.extend=b.Controller.extend=b.View.extend=u;var r={create:"POST",update:"PUT","delete":"DELETE",read:"GET"};b.sync=function(C,z,y){var A=r[C];var B=x.extend({type:A,dataType:"json",processData:false},y);if(!B.url){B.url=q(z)||s()}if(!B.data&&z&&(C=="create"||C=="update")){B.contentType="application/json";B.data=JSON.stringify(z.toJSON())}if(b.emulateJSON){B.contentType="application/x-www-form-urlencoded";B.processData=true;B.data=B.data?{model:B.data}:{}}if(b.emulateHTTP){if(A==="PUT"||A==="DELETE"){if(b.emulateJSON){B.data._method=A}B.type="POST";B.beforeSend=function(D){D.setRequestHeader("X-HTTP-Method-Override",A)}}}return f.ajax(B)};var g=function(){};var j=function(z,y,A){var B;if(y&&y.hasOwnProperty("constructor")){B=y.constructor}else{B=function(){return z.apply(this,arguments)}}x.extend(B,z);g.prototype=z.prototype;B.prototype=new g();if(y){x.extend(B.prototype,y)}if(A){x.extend(B,A)}B.prototype.constructor=B;B.__super__=z.prototype;return B};var q=function(y){if(!(y&&y.url)){return null}return x.isFunction(y.url)?y.url():y.url};var s=function(){throw new Error("A 'url' property or function must be specified")};var c=function(A,z,y){return function(B){if(A){A(z,B,y)}else{z.trigger("error",z,B,y)}}};var n=function(y){return y.replace(/&(?!\w+;|#\d+;|#x[\da-f]+;)/gi,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}}).call(this);try{console.log("testing for console")}catch(e){window.console={log:function(){}}}(function(a){var b="placeholder" in document.createElement("input");a.fn.extend({placeholder:function(){if(b){return this}return this.each(function(){var c=a(this);if(!c.val()||c.val()==c.attr("placeholder")){c.addClass("placeholder");c.val(c.attr("placeholder"))}c.bind("focus",function(){var d=a(this);if(d.val()==d.attr("placeholder")){d.val("");d.removeClass("placeholder")}}).bind("blur",function(){var d=a(this);if(a.trim(d.val())==""){d.val(d.attr("placeholder"));d.addClass("placeholder")}})})}})})($);$(function(){function a(f){var j=parseFloat(f.getAttribute("data-lat"));var d=parseFloat(f.getAttribute("data-lng"));var h=parseInt(f.getAttribute("data-zoom"));console.log(j,d,h);var g=new google.maps.LatLng(j,d);window.t=g;var c={zoom:h,center:g,mapTypeId:google.maps.MapTypeId.ROADMAP,scrollwheel:false};var i=new google.maps.Map(f,c);var b=new google.maps.Marker({map:i,position:g})}$("[data-lat]").each(function(){a(this)})});var GImageModel=Backbone.Model.extend({initialize:function(a){if(!a||!a.src||!a.width||!a.height){throw"InvalidConstructArgs"}}});var GalleryCollection=Backbone.Collection.extend({model:GImageModel,comparator:function(a){return a.get("order")}});var GImageView=Backbone.View.extend({tagName:"img",className:"gimage",initialize:function(){this.el.id="gimage-"+this.model.id},render:function(){$(this.el).attr("src",this.model.get("src")+"?v=15");$(this.el).hide();var a=(this.options.height-this.model.get("height"))*0.5;var b=(this.options.width-this.model.get("width"))*0.5;$(this.el).css({margin:a+"px "+b+"px"});return this},loaded:function(){if(!this.el){return false}if(!this.el.complete){return false}if(typeof this.el.naturalWidth!="undefined"&&this.el.naturalWidth==0){return false}return true}});var GalleryView=Backbone.View.extend({initialize:function(){},_imageViews:{},events:{"click .next":"next","click .previous":"previous"},render:function(){if(this.$("img.gimage").length){var b=this.$("img.gimage").attr("src");var a=this.collection.detect(function(c){return c.get("src")==b});this.setCurrentImage(this.collection.indexOf(a));if(this.options.slideShow){this.startSlideShow()}}return this},setCurrentImage:function(b){if(b==this.currentIndex){return}this.currentIndex=b;this.currentImageView=this.getImageView(b);this.transitionIfReady();this.trigger("gimage:change",b);if(this.currentImageView.loaded()){this.preloadAdjacent()}else{var a=this;$(this.currentImageView.el).bind("load",function(){$(a.currentImageView.el).unbind("load");a.preloadAdjacent()})}},preloadAdjacent:function(){if(this.hasNext()){this.loadImageView(this.getNextIndex())}if(this.hasPrevious()){this.loadImageView(this.getPreviousIndex())}},loadImageView:function(c){var b=this.collection.at(c);var a=new GImageView({model:b,width:this.options.width,height:this.options.height});a.render();this._imageViews[c]=a},getImageView:function(a){if(!this._imageViews[a]){this.loadImageView(a)}return this._imageViews[a]},next:function(a){if(this.hasNext()){this.setCurrentImage(this.getNextIndex())}return false},previous:function(a){if(this.hasPrevious()){this.setCurrentImage(this.getPreviousIndex())}return false},hasNext:function(){return this.options.wrapIndex||this.currentIndex+1<this.collection.length},hasPrevious:function(){return this.options.wrapIndex||this.currentIndex>0},getNextIndex:function(){var a=this.currentIndex+1;if(a>=this.collection.length){a=0}return a},getPreviousIndex:function(){var a=this.currentIndex-1;if(a<0){a=this.collection.length-1}return a},updateCaption:function(){if(this.$(".caption").length){this.$(".caption").text(this.currentImageView.model.get("caption"))}},transitionIfReady:function(){var a=this;if(this.currentImageView.loaded()){this.transition()}else{if(this.options.showLoadingIndicator){$('<div class="loading"></div>').hide().fadeIn().appendTo(a.el)}$(this.currentImageView.el).bind("load",function(){a.transition()})}},transition:function(){var a=this;var b=$(this.el).find("img.gimage");$(a.currentImageView.el).hide();$(a.currentImageView.el).appendTo(a.el).fadeIn(a.options.transitionDuration,function(){b.remove();$(a.el).find(".loading").remove()});a.updateCaption()},startSlideShow:function(){var a=this;this.slideShowIntervalId=setInterval(function(){a.next()},this.options.slideShowInterval)}});var GalleryController=Backbone.Controller.extend({initialize:function(a){this.config={ViewClass:GalleryView,wrapIndex:true,transitionDuration:1000,hasControls:true,showLoadingIndicator:true,setLocation:false,slideShow:false,slideShowInterval:5000};_.extend(this.config,a);this.collection=this.config.collection=new GalleryCollection();this.view=new this.config.ViewClass(this.config);if(this.config.setLocation){this.initLocation()}this.collection.add(this.config.data);return this},initLocation:function(){var a=this;this.view.bind("gimage:change",function(b){if(b){a.saveLocation(String(b))}else{a.saveLocation("")}});this.route("","root",function(){this.view.setCurrentImage(0)});this.route(":index","image",function(b){b=parseInt(b);if(b!=NaN){this.view.setCurrentImage(b)}})}});FWGalleryView=GalleryView.extend({initialize:function(){_.bindAll(this,"setSlide")},events:{"click .slideshow-controls a":"setSlide"},transition:function(){this.$(".slideshow-controls a").removeClass("current");this.$(".slideshow-controls a").eq(this.currentIndex).addClass("current");GalleryView.prototype.transition.call(this)},setSlide:function(b){this.setCurrentImage(parseInt($(b.currentTarget).text())-1);if(this.slideShowIntervalId){clearInterval(this.slideShowIntervalId);var a=this;this.slideShowIntervalId=setInterval(function(){a.next()},this.options.slideShowInterval)}}});$(function(){$("input").placeholder();$(".full-width-slideshow").each(function(){var d=parseInt(this.id.match(/\d+/)[0]);var c=new GalleryController({ViewClass:FWGalleryView,el:this,id:d,data:window["data_objects_galleries_"+d],width:$(this).width(),height:$(this).height(),slideShow:true});c.view.render()});if($(".sub-nav").length){var a=$(".sub-nav ul");var b=a.offset().top;$(window).scroll(function(c){if(b<$(window).scrollTop()){a.addClass("fixed")}else{a.removeClass("fixed")}})}});
