").append(st.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,a||[e.responseText,t,e])}),this},st.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){st.fn[t]=function(e){return this.on(t,e)}}),st.each(["get","post"],function(e,n){st[n]=function(e,r,i,o){return st.isFunction(r)&&(o=o||i,i=r,r=t),st.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),st.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Dn,type:"GET",isLocal:Fn.test(jn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":In,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":st.parseJSON,"text xml":st.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?H(H(e,st.ajaxSettings),t):H(st.ajaxSettings,e)},ajaxPrefilter:D(Wn),ajaxTransport:D($n),ajax:function(e,n){function r(e,n,r,s){var l,f,v,b,T,N=n;2!==x&&(x=2,u&&clearTimeout(u),i=t,a=s||"",w.readyState=e>0?4:0,r&&(b=M(p,w,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=w.getResponseHeader("Last-Modified"),T&&(st.lastModified[o]=T),T=w.getResponseHeader("etag"),T&&(st.etag[o]=T)),304===e?(l=!0,N="notmodified"):(l=q(p,b),N=l.state,f=l.data,v=l.error,l=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),w.status=e,w.statusText=(n||N)+"",l?g.resolveWith(d,[f,N,w]):g.rejectWith(d,[w,N,v]),w.statusCode(y),y=t,c&&h.trigger(l?"ajaxSuccess":"ajaxError",[w,p,l?f:v]),m.fireWith(d,[w,N]),c&&(h.trigger("ajaxComplete",[w,p]),--st.active||st.event.trigger("ajaxStop")))}"object"==typeof e&&(n=e,e=t),n=n||{};var i,o,a,s,u,l,c,f,p=st.ajaxSetup({},n),d=p.context||p,h=p.context&&(d.nodeType||d.jquery)?st(d):st.event,g=st.Deferred(),m=st.Callbacks("once memory"),y=p.statusCode||{},v={},b={},x=0,T="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!s)for(s={};t=_n.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=b[n]=b[n]||e,v[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)y[t]=[y[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(g.promise(w).complete=m.add,w.success=w.done,w.error=w.fail,p.url=((e||p.url||Dn)+"").replace(Mn,"").replace(Bn,jn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=st.trim(p.dataType||"*").toLowerCase().match(lt)||[""],null==p.crossDomain&&(l=Pn.exec(p.url.toLowerCase()),p.crossDomain=!(!l||l[1]===jn[1]&&l[2]===jn[2]&&(l[3]||("http:"===l[1]?80:443))==(jn[3]||("http:"===jn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=st.param(p.data,p.traditional)),L(Wn,p,n,w),2===x)return w;c=p.global,c&&0===st.active++&&st.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!On.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(Hn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=qn.test(o)?o.replace(qn,"$1_="+Ln++):o+(Hn.test(o)?"&":"?")+"_="+Ln++)),p.ifModified&&(st.lastModified[o]&&w.setRequestHeader("If-Modified-Since",st.lastModified[o]),st.etag[o]&&w.setRequestHeader("If-None-Match",st.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&w.setRequestHeader("Content-Type",p.contentType),w.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+In+"; q=0.01":""):p.accepts["*"]);for(f in p.headers)w.setRequestHeader(f,p.headers[f]);if(p.beforeSend&&(p.beforeSend.call(d,w,p)===!1||2===x))return w.abort();T="abort";for(f in{success:1,error:1,complete:1})w[f](p[f]);if(i=L($n,p,n,w)){w.readyState=1,c&&h.trigger("ajaxSend",[w,p]),p.async&&p.timeout>0&&(u=setTimeout(function(){w.abort("timeout")},p.timeout));try{x=1,i.send(v,r)}catch(N){if(!(2>x))throw N;r(-1,N)}}else r(-1,"No Transport");return w},getScript:function(e,n){return st.get(e,t,n,"script")},getJSON:function(e,t,n){return st.get(e,t,n,"json")}}),st.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return st.globalEval(e),e}}}),st.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),st.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=V.head||st("head")[0]||V.documentElement;return{send:function(t,i){n=V.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Xn=[],Un=/(=)\?(?=&|$)|\?\?/;st.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xn.pop()||st.expando+"_"+Ln++;return this[e]=!0,e}}),st.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Un.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Un.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=st.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Un,"$1"+o):n.jsonp!==!1&&(n.url+=(Hn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||st.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Xn.push(o)),s&&st.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Vn,Yn,Jn=0,Gn=e.ActiveXObject&&function(){var e;for(e in Vn)Vn[e](t,!0)};st.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&_()||F()}:_,Yn=st.ajaxSettings.xhr(),st.support.cors=!!Yn&&"withCredentials"in Yn,Yn=st.support.ajax=!!Yn,Yn&&st.ajaxTransport(function(n){if(!n.crossDomain||st.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,f,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=st.noop,Gn&&delete Vn[a]),i)4!==u.readyState&&u.abort();else{f={},s=u.status,p=u.responseXML,c=u.getAllResponseHeaders(),p&&p.documentElement&&(f.xml=p),"string"==typeof u.responseText&&(f.text=u.responseText);try{l=u.statusText}catch(d){l=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=f.text?200:404}}catch(h){i||o(-1,h)}f&&o(s,l,f,c)},n.async?4===u.readyState?setTimeout(r):(a=++Jn,Gn&&(Vn||(Vn={},st(e).unload(Gn)),Vn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Qn,Kn,Zn=/^(?:toggle|show|hide)$/,er=RegExp("^(?:([+-])=|)("+ut+")([a-z%]*)$","i"),tr=/queueHooks$/,nr=[W],rr={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=er.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(st.cssNumber[e]?"":"px"),"px"!==r&&s){s=st.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,st.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};st.Animation=st.extend(P,{tweener:function(e,t){st.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;i>r;r++)n=e[r],rr[n]=rr[n]||[],rr[n].unshift(t)},prefilter:function(e,t){t?nr.unshift(e):nr.push(e)}}),st.Tween=$,$.prototype={constructor:$,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(st.cssNumber[n]?"":"px")},cur:function(){var e=$.propHooks[this.prop];return e&&e.get?e.get(this):$.propHooks._default.get(this)},run:function(e){var t,n=$.propHooks[this.prop];return this.pos=t=this.options.duration?st.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):$.propHooks._default.set(this),this}},$.prototype.init.prototype=$.prototype,$.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=st.css(e.elem,e.prop,"auto"),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){st.fx.step[e.prop]?st.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[st.cssProps[e.prop]]||st.cssHooks[e.prop])?st.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},$.propHooks.scrollTop=$.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},st.each(["toggle","show","hide"],function(e,t){var n=st.fn[t];st.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(I(t,!0),e,r,i)}}),st.fn.extend({fadeTo:function(e,t,n,r){return this.filter(w).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=st.isEmptyObject(e),o=st.speed(t,n,r),a=function(){var t=P(this,st.extend({},e),o);a.finish=function(){t.stop(!0)},(i||st._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=st.timers,a=st._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&tr.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&st.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=st._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=st.timers,a=r?r.length:0;for(n.finish=!0,st.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),st.each({slideDown:I("show"),slideUp:I("hide"),slideToggle:I("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){st.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),st.speed=function(e,t,n){var r=e&&"object"==typeof e?st.extend({},e):{complete:n||!n&&t||st.isFunction(e)&&e,duration:e,easing:n&&t||t&&!st.isFunction(t)&&t};return r.duration=st.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in st.fx.speeds?st.fx.speeds[r.duration]:st.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){st.isFunction(r.old)&&r.old.call(this),r.queue&&st.dequeue(this,r.queue)},r},st.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},st.timers=[],st.fx=$.prototype.init,st.fx.tick=function(){var e,n=st.timers,r=0;for(Qn=st.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||st.fx.stop(),Qn=t},st.fx.timer=function(e){e()&&st.timers.push(e)&&st.fx.start()},st.fx.interval=13,st.fx.start=function(){Kn||(Kn=setInterval(st.fx.tick,st.fx.interval))},st.fx.stop=function(){clearInterval(Kn),Kn=null},st.fx.speeds={slow:600,fast:200,_default:400},st.fx.step={},st.expr&&st.expr.filters&&(st.expr.filters.animated=function(e){return st.grep(st.timers,function(t){return e===t.elem}).length}),st.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){st.offset.setOffset(this,e,t)});var n,r,i={top:0,left:0},o=this[0],a=o&&o.ownerDocument;if(a)return n=a.documentElement,st.contains(n,o)?(o.getBoundingClientRect!==t&&(i=o.getBoundingClientRect()),r=z(a),{top:i.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:i.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):i},st.offset={setOffset:function(e,t,n){var r=st.css(e,"position");"static"===r&&(e.style.position="relative");var i,o,a=st(e),s=a.offset(),u=st.css(e,"top"),l=st.css(e,"left"),c=("absolute"===r||"fixed"===r)&&st.inArray("auto",[u,l])>-1,f={},p={};c?(p=a.position(),i=p.top,o=p.left):(i=parseFloat(u)||0,o=parseFloat(l)||0),st.isFunction(t)&&(t=t.call(e,n,s)),null!=t.top&&(f.top=t.top-s.top+i),null!=t.left&&(f.left=t.left-s.left+o),"using"in t?t.using.call(e,f):a.css(f)}},st.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===st.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),st.nodeName(e[0],"html")||(n=e.offset()),n.top+=st.css(e[0],"borderTopWidth",!0),n.left+=st.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-st.css(r,"marginTop",!0),left:t.left-n.left-st.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||V.documentElement;e&&!st.nodeName(e,"html")&&"static"===st.css(e,"position");)e=e.offsetParent;return e||V.documentElement})}}),st.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);st.fn[e]=function(i){return st.access(this,function(e,i,o){var a=z(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?st(a).scrollLeft():o,r?o:st(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}}),st.each({Height:"height",Width:"width"},function(e,n){st.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){st.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return st.access(this,function(n,r,i){var o;return st.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?st.css(n,r,s):st.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=st,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return st})})(window);
+//@ sourceMappingURL=jquery.min.map
\ No newline at end of file
diff --git a/RazorPagesMovie/wwwroot/js/jquery.barfiller.js b/RazorPagesMovie/wwwroot/js/jquery.barfiller.js
new file mode 100644
index 0000000..e620e26
--- /dev/null
+++ b/RazorPagesMovie/wwwroot/js/jquery.barfiller.js
@@ -0,0 +1,180 @@
+/*
+* File: jquery.barfiller.js
+* Version: 1.0.1
+* Description: A plugin that fills bars with a percentage you set.
+* Author: 9bit Studios
+* Copyright 2012, 9bit Studios
+* http://www.9bitstudios.com
+* Free to use and abuse under the MIT license.
+* http://www.opensource.org/licenses/mit-license.php
+*/
+
+(function ($) {
+
+ $.fn.barfiller = function (options) {
+
+ var defaults = $.extend({
+ barColor: '#16b597',
+ tooltip: true,
+ duration: 1000,
+ animateOnResize: true,
+ symbol: "%"
+ }, options);
+
+
+ /******************************
+ Private Variables
+ *******************************/
+
+ var object = $(this);
+ var settings = $.extend(defaults, options);
+ var barWidth = object.width();
+ var fill = object.find('.fill');
+ var toolTip = object.find('.tip');
+ var fillPercentage = fill.attr('data-percentage');
+ var resizeTimeout;
+ var transitionSupport = false;
+ var transitionPrefix;
+
+ /******************************
+ Public Methods
+ *******************************/
+
+ var methods = {
+
+ init: function() {
+ return this.each(function () {
+ if(methods.getTransitionSupport()) {
+ transitionSupport = true;
+ transitionPrefix = methods.getTransitionPrefix();
+ }
+
+ methods.appendHTML();
+ methods.setEventHandlers();
+ methods.initializeItems();
+ });
+ },
+
+ /******************************
+ Append HTML
+ *******************************/
+
+ appendHTML: function() {
+ fill.css('background', settings.barColor);
+
+ if(!settings.tooltip) {
+ toolTip.css('display', 'none');
+ }
+ toolTip.text(fillPercentage + settings.symbol);
+ },
+
+
+ /******************************
+ Set Event Handlers
+ *******************************/
+ setEventHandlers: function() {
+ if(settings.animateOnResize) {
+ $(window).on("resize", function(event){
+ clearTimeout(resizeTimeout);
+ resizeTimeout = setTimeout(function() {
+ methods.refill();
+ }, 300);
+ });
+ }
+ },
+
+ /******************************
+ Initialize
+ *******************************/
+
+ initializeItems: function() {
+ var pctWidth = methods.calculateFill(fillPercentage);
+ object.find('.tipWrap').css({ display: 'inline' });
+
+ if(transitionSupport)
+ methods.transitionFill(pctWidth);
+ else
+ methods.animateFill(pctWidth);
+ },
+
+ getTransitionSupport: function() {
+
+ var thisBody = document.body || document.documentElement,
+ thisStyle = thisBody.style;
+ var support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined;
+ return support;
+ },
+
+ getTransitionPrefix: function() {
+ if(/mozilla/.test(navigator.userAgent.toLowerCase()) && !/webkit/.test(navigator.userAgent.toLowerCase())) {
+ return '-moz-transition';
+ }
+ if(/webkit/.test(navigator.userAgent.toLowerCase())) {
+ return '-webkit-transition';
+ }
+ if(/opera/.test(navigator.userAgent.toLowerCase())) {
+ return '-o-transition';
+ }
+ if (/msie/.test(navigator.userAgent.toLowerCase())) {
+ return '-ms-transition';
+ }
+ else {
+ return 'transition';
+ }
+ },
+
+ getTransition: function(val, time, type) {
+
+ var CSSObj;
+ if(type === 'width') {
+ CSSObj = { width : val };
+ }
+ else if (type === 'left') {
+ CSSObj = { left: val };
+ }
+
+ time = time/1000;
+ CSSObj[transitionPrefix] = type+' '+time+'s ease-in-out';
+ return CSSObj;
+
+ },
+
+ refill: function() {
+ fill.css('width', 0);
+ toolTip.css('left', 0);
+ barWidth = object.width();
+ methods.initializeItems();
+ },
+
+ calculateFill: function(percentage) {
+ percentage = percentage * 0.01;
+ var finalWidth = barWidth * percentage;
+ return finalWidth;
+ },
+
+ transitionFill: function(barWidth) {
+
+ var toolTipOffset = barWidth - toolTip.width();
+ fill.css( methods.getTransition(barWidth, settings.duration, 'width'));
+ toolTip.css( methods.getTransition(toolTipOffset, settings.duration, 'left'));
+
+ },
+
+ animateFill: function(barWidth) {
+ var toolTipOffset = barWidth - toolTip.width();
+ fill.stop().animate({width: '+=' + barWidth}, settings.duration);
+ toolTip.stop().animate({left: '+=' + toolTipOffset}, settings.duration);
+ }
+
+ };
+
+ if (methods[options]) { // $("#element").pluginName('methodName', 'arg1', 'arg2');
+ return methods[options].apply(this, Array.prototype.slice.call(arguments, 1));
+ } else if (typeof options === 'object' || !options) { // $("#element").pluginName({ option: 1, option:2 });
+ return methods.init.apply(this);
+ } else {
+ $.error( 'Method "' + method + '" does not exist in barfiller plugin!');
+ }
+ };
+
+})(jQuery);
\ No newline at end of file
diff --git a/RazorPagesMovie/wwwroot/js/jquery.counterup.min.js b/RazorPagesMovie/wwwroot/js/jquery.counterup.min.js
new file mode 100644
index 0000000..ca23400
--- /dev/null
+++ b/RazorPagesMovie/wwwroot/js/jquery.counterup.min.js
@@ -0,0 +1 @@
+(function($){"use strict";$.fn.counterUp=function(options){var settings=$.extend({time:400,delay:10,offset:100,beginAt:0,formatter:false,context:"window",callback:function(){}},options),s;return this.each(function(){var $this=$(this),counter={time:$(this).data("counterup-time")||settings.time,delay:$(this).data("counterup-delay")||settings.delay,offset:$(this).data("counterup-offset")||settings.offset,beginAt:$(this).data("counterup-beginat")||settings.beginAt,context:$(this).data("counterup-context")||settings.context};var counterUpper=function(){var nums=[];var divisions=counter.time/counter.delay;var num=$(this).attr("data-num")?$(this).attr("data-num"):$this.text();var isComma=/[0-9]+,[0-9]+/.test(num);num=num.replace(/,/g,"");var decimalPlaces=(num.split(".")[1]||[]).length;if(counter.beginAt>num)counter.beginAt=num;var isTime=/[0-9]+:[0-9]+:[0-9]+/.test(num);if(isTime){var times=num.split(":"),m=1;s=0;while(times.length>0){s+=m*parseInt(times.pop(),10);m*=60}}for(var i=divisions;i>=counter.beginAt/num*divisions;i--){var newNum=parseFloat(num/divisions*i).toFixed(decimalPlaces);if(isTime){newNum=parseInt(s/divisions*i);var hours=parseInt(newNum/3600)%24;var minutes=parseInt(newNum/60)%60;var seconds=parseInt(newNum%60,10);newNum=(hours<10?"0"+hours:hours)+":"+(minutes<10?"0"+minutes:minutes)+":"+(seconds<10?"0"+seconds:seconds)}if(isComma){while(/(\d+)(\d{3})/.test(newNum.toString())){newNum=newNum.toString().replace(/(\d+)(\d{3})/,"$1"+","+"$2")}}if(settings.formatter){newNum=settings.formatter.call(this,newNum)}nums.unshift(newNum)}$this.data("counterup-nums",nums);$this.text(counter.beginAt);var f=function(){if(!$this.data("counterup-nums")){settings.callback.call(this);return}$this.html($this.data("counterup-nums").shift());if($this.data("counterup-nums").length){setTimeout($this.data("counterup-func"),counter.delay)}else{$this.data("counterup-nums",null);$this.data("counterup-func",null);settings.callback.call(this)}};$this.data("counterup-func",f);setTimeout($this.data("counterup-func"),counter.delay)};$this.waypoint(function(direction){counterUpper();this.destroy()},{offset:counter.offset+"%",context:counter.context})})}})(jQuery);
diff --git a/RazorPagesMovie/wwwroot/js/jquery.meanmenu.js b/RazorPagesMovie/wwwroot/js/jquery.meanmenu.js
new file mode 100644
index 0000000..002f8bf
--- /dev/null
+++ b/RazorPagesMovie/wwwroot/js/jquery.meanmenu.js
@@ -0,0 +1,289 @@
+/*!
+* jQuery meanMenu v2.0.8
+* @Copyright (C) 2012-2014 Chris Wharton @ MeanThemes (https://github.com/meanthemes/meanMenu)
+*
+*/
+/*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
+* HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
+* INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR
+* FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE
+* OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
+* COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.COPYRIGHT HOLDERS WILL NOT
+* BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL
+* DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see
.
+*
+* Find more information at http://www.meanthemes.com/plugins/meanmenu/
+*
+*/
+(function ($) {
+ "use strict";
+ $.fn.meanmenu = function (options) {
+ var defaults = {
+ meanMenuTarget: jQuery(this), // Target the current HTML markup you wish to replace
+ meanMenuContainer: '.mobile-menu-area .container', // Choose where meanmenu will be placed within the HTML
+ meanMenuClose: "X", // single character you want to represent the close menu button
+ meanMenuCloseSize: "18px", // set font size of close button
+ meanMenuOpen: "
", // text/markup you want when menu is closed
+ meanRevealPosition: "right", // left right or center positions
+ meanRevealPositionDistance: "0", // Tweak the position of the menu
+ meanRevealColour: "", // override CSS colours for the reveal background
+ meanScreenWidth: "767", // set the screen width you want meanmenu to kick in at
+ meanNavPush: "", // set a height here in px, em or % if you want to budge your layout now the navigation is missing.
+ meanShowChildren: true, // true to show children in the menu, false to hide them
+ meanExpandableChildren: true, // true to allow expand/collapse children
+ meanExpand: "+", // single character you want to represent the expand for ULs
+ meanContract: "-", // single character you want to represent the contract for ULs
+ meanRemoveAttrs: false, // true to remove classes and IDs, false to keep them
+ onePage: false, // set to true for one page sites
+ meanDisplay: "block", // override display method for table cell based layouts e.g. table-cell
+ removeElements: "" // set to hide page elements
+ };
+ options = $.extend(defaults, options);
+
+ // get browser width
+ var currentWidth = window.innerWidth || document.documentElement.clientWidth;
+
+ return this.each(function () {
+ var meanMenu = options.meanMenuTarget;
+ var meanContainer = options.meanMenuContainer;
+ var meanMenuClose = options.meanMenuClose;
+ var meanMenuCloseSize = options.meanMenuCloseSize;
+ var meanMenuOpen = options.meanMenuOpen;
+ var meanRevealPosition = options.meanRevealPosition;
+ var meanRevealPositionDistance = options.meanRevealPositionDistance;
+ var meanRevealColour = options.meanRevealColour;
+ var meanScreenWidth = options.meanScreenWidth;
+ var meanNavPush = options.meanNavPush;
+ var meanRevealClass = ".meanmenu-reveal";
+ var meanShowChildren = options.meanShowChildren;
+ var meanExpandableChildren = options.meanExpandableChildren;
+ var meanExpand = options.meanExpand;
+ var meanContract = options.meanContract;
+ var meanRemoveAttrs = options.meanRemoveAttrs;
+ var onePage = options.onePage;
+ var meanDisplay = options.meanDisplay;
+ var removeElements = options.removeElements;
+
+ //detect known mobile/tablet usage
+ var isMobile = false;
+ if ( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/Blackberry/i)) || (navigator.userAgent.match(/Windows Phone/i)) ) {
+ isMobile = true;
+ }
+
+ if ( (navigator.userAgent.match(/MSIE 8/i)) || (navigator.userAgent.match(/MSIE 7/i)) ) {
+ // add scrollbar for IE7 & 8 to stop breaking resize function on small content sites
+ jQuery('html').css("overflow-y" , "scroll");
+ }
+
+ var meanRevealPos = "";
+ var meanCentered = function() {
+ if (meanRevealPosition === "center") {
+ var newWidth = window.innerWidth || document.documentElement.clientWidth;
+ var meanCenter = ( (newWidth/2)-22 )+"px";
+ meanRevealPos = "left:" + meanCenter + ";right:auto;";
+
+ if (!isMobile) {
+ jQuery('.meanmenu-reveal').css("left",meanCenter);
+ } else {
+ jQuery('.meanmenu-reveal').animate({
+ left: meanCenter
+ });
+ }
+ }
+ };
+
+ var menuOn = false;
+ var meanMenuExist = false;
+
+
+ if (meanRevealPosition === "right") {
+ meanRevealPos = "right:" + meanRevealPositionDistance + ";left:auto;";
+ }
+ if (meanRevealPosition === "left") {
+ meanRevealPos = "left:" + meanRevealPositionDistance + ";right:auto;";
+ }
+ // run center function
+ meanCentered();
+
+ // set all styles for mean-reveal
+ var $navreveal = "";
+
+ var meanInner = function() {
+ // get last class name
+ if (jQuery($navreveal).is(".meanmenu-reveal.meanclose")) {
+ $navreveal.html(meanMenuClose);
+ } else {
+ $navreveal.html(meanMenuOpen);
+ }
+ };
+
+ // re-instate original nav (and call this on window.width functions)
+ var meanOriginal = function() {
+ jQuery('.mean-bar,.mean-push').remove();
+ jQuery(meanContainer).removeClass("mean-container");
+ jQuery(meanMenu).css('display', meanDisplay);
+ menuOn = false;
+ meanMenuExist = false;
+ jQuery(removeElements).removeClass('mean-remove');
+ };
+
+ // navigation reveal
+ var showMeanMenu = function() {
+ var meanStyles = "background:"+meanRevealColour+";color:"+meanRevealColour+";"+meanRevealPos;
+ if (currentWidth <= meanScreenWidth) {
+ jQuery(removeElements).addClass('mean-remove');
+ meanMenuExist = true;
+ // add class to body so we don't need to worry about media queries here, all CSS is wrapped in '.mean-container'
+ jQuery(meanContainer).addClass("mean-container");
+ jQuery('.mean-container').prepend('
');
+
+ //push meanMenu navigation into .mean-nav
+ var meanMenuContents = jQuery(meanMenu).html();
+ jQuery('.mean-nav').html(meanMenuContents);
+
+ // remove all classes from EVERYTHING inside meanmenu nav
+ if(meanRemoveAttrs) {
+ jQuery('nav.mean-nav ul, nav.mean-nav ul *').each(function() {
+ // First check if this has mean-remove class
+ if (jQuery(this).is('.mean-remove')) {
+ jQuery(this).attr('class', 'mean-remove');
+ } else {
+ jQuery(this).removeAttr("class");
+ }
+ jQuery(this).removeAttr("id");
+ });
+ }
+
+ // push in a holder div (this can be used if removal of nav is causing layout issues)
+ jQuery(meanMenu).before('
');
+ jQuery('.mean-push').css("margin-top",meanNavPush);
+
+ // hide current navigation and reveal mean nav link
+ jQuery(meanMenu).hide();
+ jQuery(".meanmenu-reveal").show();
+
+ // turn 'X' on or off
+ jQuery(meanRevealClass).html(meanMenuOpen);
+ $navreveal = jQuery(meanRevealClass);
+
+ //hide mean-nav ul
+ jQuery('.mean-nav ul').hide();
+
+ // hide sub nav
+ if(meanShowChildren) {
+ // allow expandable sub nav(s)
+ if(meanExpandableChildren){
+ jQuery('.mean-nav ul ul').each(function() {
+ if(jQuery(this).children().length){
+ jQuery(this,'li:first').parent().append('
'+ meanExpand +'');
+ }
+ });
+ jQuery('.mean-expand').on("click",function(e){
+ e.preventDefault();
+ if (jQuery(this).hasClass("mean-clicked")) {
+ jQuery(this).text(meanExpand);
+ jQuery(this).prev('ul').slideUp(300, function(){});
+ } else {
+ jQuery(this).text(meanContract);
+ jQuery(this).prev('ul').slideDown(300, function(){});
+ }
+ jQuery(this).toggleClass("mean-clicked");
+ });
+ } else {
+ jQuery('.mean-nav ul ul').show();
+ }
+ } else {
+ jQuery('.mean-nav ul ul').hide();
+ }
+
+ // add last class to tidy up borders
+ jQuery('.mean-nav ul li').last().addClass('mean-last');
+ $navreveal.removeClass("meanclose");
+ jQuery($navreveal).click(function(e){
+ e.preventDefault();
+ if( menuOn === false ) {
+ $navreveal.css("text-align", "center");
+ $navreveal.css("text-indent", "0");
+ $navreveal.css("font-size", meanMenuCloseSize);
+ jQuery('.mean-nav ul:first').slideDown();
+ menuOn = true;
+ } else {
+ jQuery('.mean-nav ul:first').slideUp();
+ menuOn = false;
+ }
+ $navreveal.toggleClass("meanclose");
+ meanInner();
+ jQuery(removeElements).addClass('mean-remove');
+ });
+
+ // for one page websites, reset all variables...
+ if ( onePage ) {
+ jQuery('.mean-nav ul > li > a:first-child').on( "click" , function () {
+ jQuery('.mean-nav ul:first').slideUp();
+ menuOn = false;
+ jQuery($navreveal).toggleClass("meanclose").html(meanMenuOpen);
+ });
+ }
+ } else {
+ meanOriginal();
+ }
+ };
+
+ if (!isMobile) {
+ // reset menu on resize above meanScreenWidth
+ jQuery(window).resize(function () {
+ currentWidth = window.innerWidth || document.documentElement.clientWidth;
+ if (currentWidth > meanScreenWidth) {
+ meanOriginal();
+ } else {
+ meanOriginal();
+ }
+ if (currentWidth <= meanScreenWidth) {
+ showMeanMenu();
+ meanCentered();
+ } else {
+ meanOriginal();
+ }
+ });
+ }
+
+ jQuery(window).resize(function () {
+ // get browser width
+ currentWidth = window.innerWidth || document.documentElement.clientWidth;
+
+ if (!isMobile) {
+ meanOriginal();
+ if (currentWidth <= meanScreenWidth) {
+ showMeanMenu();
+ meanCentered();
+ }
+ } else {
+ meanCentered();
+ if (currentWidth <= meanScreenWidth) {
+ if (meanMenuExist === false) {
+ showMeanMenu();
+ }
+ } else {
+ meanOriginal();
+ }
+ }
+ });
+
+ // run main menuMenu function on load
+ showMeanMenu();
+ });
+ };
+
+
+
+
+})(jQuery);
diff --git a/RazorPagesMovie/wwwroot/js/jquery.nav.js b/RazorPagesMovie/wwwroot/js/jquery.nav.js
new file mode 100644
index 0000000..b13d68d
--- /dev/null
+++ b/RazorPagesMovie/wwwroot/js/jquery.nav.js
@@ -0,0 +1,19 @@
+/*
+ * jQuery One Page Nav Plugin
+ * http://github.com/davist11/jQuery-One-Page-Nav
+ *
+ * Copyright (c) 2010 Trevor Davis (http://trevordavis.net)
+ * Dual licensed under the MIT and GPL licenses.
+ * Uses the same license as jQuery, see:
+ * http://jquery.org/license
+ *
+ * @version 3.0.0
+ *
+ * Example usage:
+ * $('#nav').onePageNav({
+ * currentClass: 'current',
+ * changeHmash: false,
+ * scrollSpeed: 750
+ * });
+ */
+!function(t,i,n,s){var e=function(s,e){this.elem=s,this.$elem=t(s),this.options=e,this.metadata=this.$elem.data("plugin-options"),this.$win=t(i),this.sections={},this.didScroll=!1,this.$doc=t(n),this.docHeight=this.$doc.height()};e.prototype={defaults:{navItems:"a",currentClass:"current",changeHmash:!1,easing:"swing",filter:"",scrollSpeed:750,scrollThreshold:.5,begin:!1,end:!1,scrollChange:!1},init:function(){return this.config=t.extend({},this.defaults,this.options,this.metadata),this.$nav=this.$elem.find(this.config.navItems),""!==this.config.filter&&(this.$nav=this.$nav.filter(this.config.filter)),this.$nav.on("click.onePageNav",t.proxy(this.handleClick,this)),this.getPositions(),this.bindInterval(),this.$win.on("resize.onePageNav",t.proxy(this.getPositions,this)),this},adjustNav:function(t,i){t.$elem.find("."+t.config.currentClass).removeClass(t.config.currentClass),i.addClass(t.config.currentClass)},bindInterval:function(){var t,i=this;i.$win.on("scroll.onePageNav",function(){i.didScroll=!0}),i.t=setInterval(function(){t=i.$doc.height(),i.didScroll&&(i.didScroll=!1,i.scrollChange()),t!==i.docHeight&&(i.docHeight=t,i.getPositions())},250)},getHmash:function(t){return t.attr("href").split("#")[1]},getPositions:function(){var i,n,s,e=this;e.$nav.each(function(){i=e.getHmash(t(this)),s=t("#"+i),s.length&&(n=s.offset().top,e.sections[i]=Math.round(n))})},getSection:function(t){var i=null,n=Math.round(this.$win.height()*this.config.scrollThreshold);for(var s in this.sections)this.sections[s]-n
0){
+ if(settings.startSlide >= vars.totalSlides) { settings.startSlide = vars.totalSlides - 1; }
+ vars.currentSlide = settings.startSlide;
+ }
+
+ // Get initial image
+ if($(kids[vars.currentSlide]).is('img')){
+ vars.currentImage = $(kids[vars.currentSlide]);
+ } else {
+ vars.currentImage = $(kids[vars.currentSlide]).find('img:first');
+ }
+
+ // Show initial link
+ if($(kids[vars.currentSlide]).is('a')){
+ $(kids[vars.currentSlide]).css('display','block');
+ }
+
+ // Set first background
+ var sliderImg = $('
').addClass('nivo-main-image');
+ sliderImg.attr({
+ src : vars.currentImage.attr('src'),
+ alt : vars.currentImage.attr('alt')
+ }).show();
+ slider.append(sliderImg);
+
+ // Detect Window Resize
+ $(window).resize(function() {
+ slider.children('img').width(slider.width());
+ sliderImg.attr({
+ src : vars.currentImage.attr('src'),
+ alt : vars.currentImage.attr('alt')
+ });
+ sliderImg.stop().height('auto');
+ $('.nivo-slice').remove();
+ $('.nivo-box').remove();
+ });
+
+ //Create caption
+ slider.append($(''));
+
+ // Process caption function
+ var processCaption = function(settings){
+ var nivoCaption = $('.nivo-caption', slider);
+ if(vars.currentImage.attr('title') != '' && vars.currentImage.attr('title') != undefined){
+ var title = vars.currentImage.attr('title');
+ if(title.substr(0,1) == '#') title = $(title).html();
+
+ if(nivoCaption.css('display') == 'block'){
+ setTimeout(function(){
+ nivoCaption.html(title);
+ }, settings.animSpeed);
+ } else {
+ nivoCaption.html(title);
+ nivoCaption.stop().fadeIn(settings.animSpeed);
+ }
+ } else {
+ nivoCaption.stop().fadeOut(settings.animSpeed);
+ }
+ }
+
+ //Process initial caption
+ processCaption(settings);
+
+ // In the words of Super Mario "let's a go!"
+ var timer = 0;
+ if(!settings.manualAdvance && kids.length > 1){
+ timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
+ }
+
+ // Add Direction nav
+ if(settings.directionNav){
+ slider.append('');
+
+ $(slider).on('click', 'a.nivo-prevNav', function(){
+ if(vars.running) { return false; }
+ clearInterval(timer);
+ timer = '';
+ vars.currentSlide -= 2;
+ nivoRun(slider, kids, settings, 'prev');
+ });
+
+ $(slider).on('click', 'a.nivo-nextNav', function(){
+ if(vars.running) { return false; }
+ clearInterval(timer);
+ timer = '';
+ nivoRun(slider, kids, settings, 'next');
+ });
+ }
+
+ // Add Control nav
+ if(settings.controlNav){
+ vars.controlNavEl = $('');
+ slider.after(vars.controlNavEl);
+ for(var i = 0; i < kids.length; i++){
+ if(settings.controlNavThumbs){
+ vars.controlNavEl.addClass('nivo-thumbs-enabled');
+ var child = kids.eq(i);
+ if(!child.is('img')){
+ child = child.find('img:first');
+ }
+ if(child.attr('data-thumb')) vars.controlNavEl.append('
');
+ } else {
+ vars.controlNavEl.append(''+ (i + 1) +'');
+ }
+ }
+
+ //Set initial active link
+ $('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active');
+
+ $('a', vars.controlNavEl).bind('click', function(){
+ if(vars.running) return false;
+ if($(this).hasClass('active')) return false;
+ clearInterval(timer);
+ timer = '';
+ sliderImg.attr({
+ src : vars.currentImage.attr('src'),
+ alt : vars.currentImage.attr('alt')
+ });
+ vars.currentSlide = $(this).attr('rel') - 1;
+ nivoRun(slider, kids, settings, 'control');
+ });
+ }
+
+ //For pauseOnHover setting
+ if(settings.pauseOnHover){
+ slider.hover(function(){
+ vars.paused = true;
+ clearInterval(timer);
+ timer = '';
+ }, function(){
+ vars.paused = false;
+ // Restart the timer
+ if(timer === '' && !settings.manualAdvance){
+ timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
+ }
+ });
+ }
+
+ // Event when Animation finishes
+ slider.bind('nivo:animFinished', function(){
+ sliderImg.attr({
+ src : vars.currentImage.attr('src'),
+ alt : vars.currentImage.attr('alt')
+ });
+ vars.running = false;
+ // Hide child links
+ $(kids).each(function(){
+ if($(this).is('a')){
+ $(this).css('display','none');
+ }
+ });
+ // Show current link
+ if($(kids[vars.currentSlide]).is('a')){
+ $(kids[vars.currentSlide]).css('display','block');
+ }
+ // Restart the timer
+ if(timer === '' && !vars.paused && !settings.manualAdvance){
+ timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
+ }
+ // Trigger the afterChange callback
+ settings.afterChange.call(this);
+ });
+
+ // Add slices for slice animations
+ var createSlices = function(slider, settings, vars) {
+ if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');
+ $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show();
+ var sliceHeight = ($('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').parent().is('a')) ? $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').parent().height() : $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').height();
+
+ for(var i = 0; i < settings.slices; i++){
+ var sliceWidth = Math.round(slider.width()/settings.slices);
+
+ if(i === settings.slices-1){
+ slider.append(
+ $(' +')
').css({
+ left:(sliceWidth*i)+'px',
+ width:(slider.width()-(sliceWidth*i))+'px',
+ height:sliceHeight+'px',
+ opacity:'0',
+ overflow:'hidden'
+ })
+ );
+ } else {
+ slider.append(
+ $(' +')
').css({
+ left:(sliceWidth*i)+'px',
+ width:sliceWidth+'px',
+ height:sliceHeight+'px',
+ opacity:'0',
+ overflow:'hidden'
+ })
+ );
+ }
+ }
+
+ $('.nivo-slice', slider).height(sliceHeight);
+ sliderImg.stop().animate({
+ height: $(vars.currentImage).height()
+ }, settings.animSpeed);
+ };
+
+ // Add boxes for box animations
+ var createBoxes = function(slider, settings, vars){
+ if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');
+ $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show();
+ var boxWidth = Math.round(slider.width()/settings.boxCols),
+ boxHeight = Math.round($('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').height() / settings.boxRows);
+
+
+ for(var rows = 0; rows < settings.boxRows; rows++){
+ for(var cols = 0; cols < settings.boxCols; cols++){
+ if(cols === settings.boxCols-1){
+ slider.append(
+ $(' +')
').css({
+ opacity:0,
+ left:(boxWidth*cols)+'px',
+ top:(boxHeight*rows)+'px',
+ width:(slider.width()-(boxWidth*cols))+'px'
+
+ })
+ );
+ $('.nivo-box[name="'+ cols +'"]', slider).height($('.nivo-box[name="'+ cols +'"] img', slider).height()+'px');
+ } else {
+ slider.append(
+ $(' +')
').css({
+ opacity:0,
+ left:(boxWidth*cols)+'px',
+ top:(boxHeight*rows)+'px',
+ width:boxWidth+'px'
+ })
+ );
+ $('.nivo-box[name="'+ cols +'"]', slider).height($('.nivo-box[name="'+ cols +'"] img', slider).height()+'px');
+ }
+ }
+ }
+
+ sliderImg.stop().animate({
+ height: $(vars.currentImage).height()
+ }, settings.animSpeed);
+ };
+
+ // Private run method
+ var nivoRun = function(slider, kids, settings, nudge){
+ // Get our vars
+ var vars = slider.data('nivo:vars');
+
+ // Trigger the lastSlide callback
+ if(vars && (vars.currentSlide === vars.totalSlides - 1)){
+ settings.lastSlide.call(this);
+ }
+
+ // Stop
+ if((!vars || vars.stop) && !nudge) { return false; }
+
+ // Trigger the beforeChange callback
+ settings.beforeChange.call(this);
+
+ // Set current background before change
+ if(!nudge){
+ sliderImg.attr('src', vars.currentImage.attr('src'));
+ } else {
+ if(nudge === 'prev'){
+ sliderImg.attr('src', vars.currentImage.attr('src'));
+ }
+ if(nudge === 'next'){
+ sliderImg.attr('src', vars.currentImage.attr('src'));
+ }
+ }
+
+ vars.currentSlide++;
+ // Trigger the slideshowEnd callback
+ if(vars.currentSlide === vars.totalSlides){
+ vars.currentSlide = 0;
+ settings.slideshowEnd.call(this);
+ }
+ if(vars.currentSlide < 0) { vars.currentSlide = (vars.totalSlides - 1); }
+ // Set vars.currentImage
+ if($(kids[vars.currentSlide]).is('img')){
+ vars.currentImage = $(kids[vars.currentSlide]);
+ } else {
+ vars.currentImage = $(kids[vars.currentSlide]).find('img:first');
+ }
+
+ // Set active links
+ if(settings.controlNav){
+ $('a', vars.controlNavEl).removeClass('active');
+ $('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active');
+ }
+
+ // Process caption
+ processCaption(settings);
+
+ // Remove any slices from last transition
+ $('.nivo-slice', slider).remove();
+
+ // Remove any boxes from last transition
+ $('.nivo-box', slider).remove();
+
+ var currentEffect = settings.effect,
+ anims = '';
+
+ // Generate random effect
+ if(settings.effect === 'random'){
+ anims = new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade',
+ 'boxRandom','boxRain','boxRainReverse','boxRainGrow','boxRainGrowReverse');
+ currentEffect = anims[Math.floor(Math.random()*(anims.length + 1))];
+ if(currentEffect === undefined) { currentEffect = 'fade'; }
+ }
+
+ // Run random effect from specified set (eg: effect:'fold,fade')
+ if(settings.effect.indexOf(',') !== -1){
+ anims = settings.effect.split(',');
+ currentEffect = anims[Math.floor(Math.random()*(anims.length))];
+ if(currentEffect === undefined) { currentEffect = 'fade'; }
+ }
+
+ // Custom transition as defined by "data-transition" attribute
+ if(vars.currentImage.attr('data-transition')){
+ currentEffect = vars.currentImage.attr('data-transition');
+ }
+
+ // Run effects
+ vars.running = true;
+ var timeBuff = 0,
+ i = 0,
+ slices = '',
+ firstSlice = '',
+ totalBoxes = '',
+ boxes = '';
+
+ if(currentEffect === 'sliceDown' || currentEffect === 'sliceDownRight' || currentEffect === 'sliceDownLeft'){
+ createSlices(slider, settings, vars);
+ timeBuff = 0;
+ i = 0;
+ slices = $('.nivo-slice', slider);
+ if(currentEffect === 'sliceDownLeft') { slices = $('.nivo-slice', slider)._reverse(); }
+
+ slices.each(function(){
+ var slice = $(this);
+ slice.css({ 'top': '0px' });
+ if(i === settings.slices-1){
+ setTimeout(function(){
+ slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
+ }, (100 + timeBuff));
+ } else {
+ setTimeout(function(){
+ slice.animate({opacity:'1.0' }, settings.animSpeed);
+ }, (100 + timeBuff));
+ }
+ timeBuff += 50;
+ i++;
+ });
+ } else if(currentEffect === 'sliceUp' || currentEffect === 'sliceUpRight' || currentEffect === 'sliceUpLeft'){
+ createSlices(slider, settings, vars);
+ timeBuff = 0;
+ i = 0;
+ slices = $('.nivo-slice', slider);
+ if(currentEffect === 'sliceUpLeft') { slices = $('.nivo-slice', slider)._reverse(); }
+
+ slices.each(function(){
+ var slice = $(this);
+ slice.css({ 'bottom': '0px' });
+ if(i === settings.slices-1){
+ setTimeout(function(){
+ slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
+ }, (100 + timeBuff));
+ } else {
+ setTimeout(function(){
+ slice.animate({opacity:'1.0' }, settings.animSpeed);
+ }, (100 + timeBuff));
+ }
+ timeBuff += 50;
+ i++;
+ });
+ } else if(currentEffect === 'sliceUpDown' || currentEffect === 'sliceUpDownRight' || currentEffect === 'sliceUpDownLeft'){
+ createSlices(slider, settings, vars);
+ timeBuff = 0;
+ i = 0;
+ var v = 0;
+ slices = $('.nivo-slice', slider);
+ if(currentEffect === 'sliceUpDownLeft') { slices = $('.nivo-slice', slider)._reverse(); }
+
+ slices.each(function(){
+ var slice = $(this);
+ if(i === 0){
+ slice.css('top','0px');
+ i++;
+ } else {
+ slice.css('bottom','0px');
+ i = 0;
+ }
+
+ if(v === settings.slices-1){
+ setTimeout(function(){
+ slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
+ }, (100 + timeBuff));
+ } else {
+ setTimeout(function(){
+ slice.animate({opacity:'1.0' }, settings.animSpeed);
+ }, (100 + timeBuff));
+ }
+ timeBuff += 50;
+ v++;
+ });
+ } else if(currentEffect === 'fold'){
+ createSlices(slider, settings, vars);
+ timeBuff = 0;
+ i = 0;
+
+ $('.nivo-slice', slider).each(function(){
+ var slice = $(this);
+ var origWidth = slice.width();
+ slice.css({ top:'0px', width:'0px' });
+ if(i === settings.slices-1){
+ setTimeout(function(){
+ slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
+ }, (100 + timeBuff));
+ } else {
+ setTimeout(function(){
+ slice.animate({ width:origWidth, opacity:'1.0' }, settings.animSpeed);
+ }, (100 + timeBuff));
+ }
+ timeBuff += 50;
+ i++;
+ });
+ } else if(currentEffect === 'fade'){
+ createSlices(slider, settings, vars);
+
+ firstSlice = $('.nivo-slice:first', slider);
+ firstSlice.css({
+ 'width': slider.width() + 'px'
+ });
+
+ firstSlice.animate({ opacity:'1.0' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
+ } else if(currentEffect === 'slideInRight'){
+ createSlices(slider, settings, vars);
+
+ firstSlice = $('.nivo-slice:first', slider);
+ firstSlice.css({
+ 'width': '0px',
+ 'opacity': '1'
+ });
+
+ firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
+ } else if(currentEffect === 'slideInLeft'){
+ createSlices(slider, settings, vars);
+
+ firstSlice = $('.nivo-slice:first', slider);
+ firstSlice.css({
+ 'width': '0px',
+ 'opacity': '1',
+ 'left': '',
+ 'right': '0px'
+ });
+
+ firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){
+ // Reset positioning
+ firstSlice.css({
+ 'left': '0px',
+ 'right': ''
+ });
+ slider.trigger('nivo:animFinished');
+ });
+ } else if(currentEffect === 'boxRandom'){
+ createBoxes(slider, settings, vars);
+
+ totalBoxes = settings.boxCols * settings.boxRows;
+ i = 0;
+ timeBuff = 0;
+
+ boxes = shuffle($('.nivo-box', slider));
+ boxes.each(function(){
+ var box = $(this);
+ if(i === totalBoxes-1){
+ setTimeout(function(){
+ box.animate({ opacity:'1' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
+ }, (100 + timeBuff));
+ } else {
+ setTimeout(function(){
+ box.animate({ opacity:'1' }, settings.animSpeed);
+ }, (100 + timeBuff));
+ }
+ timeBuff += 20;
+ i++;
+ });
+ } else if(currentEffect === 'boxRain' || currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){
+ createBoxes(slider, settings, vars);
+
+ totalBoxes = settings.boxCols * settings.boxRows;
+ i = 0;
+ timeBuff = 0;
+
+ // Split boxes into 2D array
+ var rowIndex = 0;
+ var colIndex = 0;
+ var box2Darr = [];
+ box2Darr[rowIndex] = [];
+ boxes = $('.nivo-box', slider);
+ if(currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrowReverse'){
+ boxes = $('.nivo-box', slider)._reverse();
+ }
+ boxes.each(function(){
+ box2Darr[rowIndex][colIndex] = $(this);
+ colIndex++;
+ if(colIndex === settings.boxCols){
+ rowIndex++;
+ colIndex = 0;
+ box2Darr[rowIndex] = [];
+ }
+ });
+
+ // Run animation
+ for(var cols = 0; cols < (settings.boxCols * 2); cols++){
+ var prevCol = cols;
+ for(var rows = 0; rows < settings.boxRows; rows++){
+ if(prevCol >= 0 && prevCol < settings.boxCols){
+ /* Due to some weird JS bug with loop vars
+ being used in setTimeout, this is wrapped
+ with an anonymous function call */
+ (function(row, col, time, i, totalBoxes) {
+ var box = $(box2Darr[row][col]);
+ var w = box.width();
+ var h = box.height();
+ if(currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){
+ box.width(0).height(0);
+ }
+ if(i === totalBoxes-1){
+ setTimeout(function(){
+ box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3, '', function(){ slider.trigger('nivo:animFinished'); });
+ }, (100 + time));
+ } else {
+ setTimeout(function(){
+ box.animate({ opacity:'1', width:w, height:h }, settings.animSpeed/1.3);
+ }, (100 + time));
+ }
+ })(rows, prevCol, timeBuff, i, totalBoxes);
+ i++;
+ }
+ prevCol--;
+ }
+ timeBuff += 100;
+ }
+ }
+ };
+
+ // Shuffle an array
+ var shuffle = function(arr){
+ for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i, 10), x = arr[--i], arr[i] = arr[j], arr[j] = x);
+ return arr;
+ };
+
+ // For debugging
+ var trace = function(msg){
+ if(this.console && typeof console.log !== 'undefined') { console.log(msg); }
+ };
+
+ // Start / Stop
+ this.stop = function(){
+ if(!$(element).data('nivo:vars').stop){
+ $(element).data('nivo:vars').stop = true;
+ trace('Stop Slider');
+ }
+ };
+
+ this.start = function(){
+ if($(element).data('nivo:vars').stop){
+ $(element).data('nivo:vars').stop = false;
+ trace('Start Slider');
+ }
+ };
+
+ // Trigger the afterLoad callback
+ settings.afterLoad.call(this);
+
+ return this;
+ };
+
+ $.fn.nivoSlider = function(options) {
+ return this.each(function(key, value){
+ var element = $(this);
+ // Return early if this element already has a plugin instance
+ if (element.data('nivoslider')) { return element.data('nivoslider'); }
+ // Pass options to plugin constructor
+ var nivoslider = new NivoSlider(this, options);
+ // Store plugin object in this element's data
+ element.data('nivoslider', nivoslider);
+ });
+ };
+
+ //Default settings
+ $.fn.nivoSlider.defaults = {
+ effect: 'random',
+ slices: 15,
+ boxCols: 8,
+ boxRows: 4,
+ animSpeed: 500,
+ pauseTime: 3000,
+ startSlide: 0,
+ directionNav: true,
+ controlNav: true,
+ controlNavThumbs: false,
+ pauseOnHover: true,
+ manualAdvance: false,
+ prevText: 'Prev',
+ nextText: 'Next',
+ randomStart: false,
+ beforeChange: function(){},
+ afterChange: function(){},
+ slideshowEnd: function(){},
+ lastSlide: function(){},
+ afterLoad: function(){}
+ };
+
+ $.fn._reverse = [].reverse;
+
+})(jQuery);
diff --git a/RazorPagesMovie/wwwroot/js/jquery.nivo.slider.pack.js b/RazorPagesMovie/wwwroot/js/jquery.nivo.slider.pack.js
new file mode 100644
index 0000000..f18e2f9
--- /dev/null
+++ b/RazorPagesMovie/wwwroot/js/jquery.nivo.slider.pack.js
@@ -0,0 +1,10 @@
+/*
+ * jQuery Nivo Slider v3.2
+ * http://nivo.dev7studios.com
+ *
+ * Copyright 2012, Dev7studios
+ * Free to use and abuse under the MIT license.
+ * http://www.opensource.org/licenses/mit-license.php
+ */
+
+(function(e){var t=function(t,n){var r=e.extend({},e.fn.nivoSlider.defaults,n);var i={currentSlide:0,currentImage:"",totalSlides:0,running:false,paused:false,stop:false,controlNavEl:false};var s=e(t);s.data("nivo:vars",i).addClass("nivoSlider");var o=s.children();o.each(function(){var t=e(this);var n="";if(!t.is("img")){if(t.is("a")){t.addClass("nivo-imageLink");n=t}t=t.find("img:first")}var r=r===0?t.attr("width"):t.width(),s=s===0?t.attr("height"):t.height();if(n!==""){n.css("display","none")}t.css("display","none");i.totalSlides++});if(r.randomStart){r.startSlide=Math.floor(Math.random()*i.totalSlides)}if(r.startSlide>0){if(r.startSlide>=i.totalSlides){r.startSlide=i.totalSlides-1}i.currentSlide=r.startSlide}if(e(o[i.currentSlide]).is("img")){i.currentImage=e(o[i.currentSlide])}else{i.currentImage=e(o[i.currentSlide]).find("img:first")}if(e(o[i.currentSlide]).is("a")){e(o[i.currentSlide]).css("display","block")}var u=e("
").addClass("nivo-main-image");u.attr("src",i.currentImage.attr("src")).show();s.append(u);e(window).resize(function(){s.children("img").width(s.width());u.attr("src",i.currentImage.attr("src"));u.stop().height("auto");e(".nivo-slice").remove();e(".nivo-box").remove()});s.append(e(''));var a=function(t){var n=e(".nivo-caption",s);if(i.currentImage.attr("title")!=""&&i.currentImage.attr("title")!=undefined){var r=i.currentImage.attr("title");if(r.substr(0,1)=="#")r=e(r).html();if(n.css("display")=="block"){setTimeout(function(){n.html(r)},t.animSpeed)}else{n.html(r);n.stop().fadeIn(t.animSpeed)}}else{n.stop().fadeOut(t.animSpeed)}};a(r);var f=0;if(!r.manualAdvance&&o.length>1){f=setInterval(function(){d(s,o,r,false)},r.pauseTime)}if(r.directionNav){s.append('");e(s).on("click","a.nivo-prevNav",function(){if(i.running){return false}clearInterval(f);f="";i.currentSlide-=2;d(s,o,r,"prev")});e(s).on("click","a.nivo-nextNav",function(){if(i.running){return false}clearInterval(f);f="";d(s,o,r,"next")})}if(r.controlNav){i.controlNavEl=e('');s.after(i.controlNavEl);for(var l=0;l
')}else{i.controlNavEl.append(''+(l+1)+"")}}e("a:eq("+i.currentSlide+")",i.controlNavEl).addClass("active");e("a",i.controlNavEl).bind("click",function(){if(i.running)return false;if(e(this).hasClass("active"))return false;clearInterval(f);f="";u.attr("src",i.currentImage.attr("src"));i.currentSlide=e(this).attr("rel")-1;d(s,o,r,"control")})}if(r.pauseOnHover){s.hover(function(){i.paused=true;clearInterval(f);f=""},function(){i.paused=false;if(f===""&&!r.manualAdvance){f=setInterval(function(){d(s,o,r,false)},r.pauseTime)}})}s.bind("nivo:animFinished",function(){u.attr("src",i.currentImage.attr("src"));i.running=false;e(o).each(function(){if(e(this).is("a")){e(this).css("display","none")}});if(e(o[i.currentSlide]).is("a")){e(o[i.currentSlide]).css("display","block")}if(f===""&&!i.paused&&!r.manualAdvance){f=setInterval(function(){d(s,o,r,false)},r.pauseTime)}r.afterChange.call(this)});var h=function(t,n,r){if(e(r.currentImage).parent().is("a"))e(r.currentImage).parent().css("display","block");e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").width(t.width()).css("visibility","hidden").show();var i=e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").parent().is("a")?e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").parent().height():e('img[src="'+r.currentImage.attr("src")+'"]',t).not(".nivo-main-image,.nivo-control img").height();for(var s=0;s
').css({left:o*s+"px",width:t.width()-o*s+"px",height:i+"px",opacity:"0",overflow:"hidden"}))}else{t.append(e('