/*
	scrollorama - The jQuery plugin for doing cool scrolly stuff
	by John Polacek (@johnpolacek)
	
	Dual licensed under MIT and GPL.
*/
(function(a){a.scrollorama=function(b){function h(){typeof f.settings.blocks=="string"&&(f.settings.blocks=a(f.settings.blocks)),a.browser.mozilla&&(d="-moz-"),a.browser.webkit&&(d="-webkit-"),a.browser.opera&&(d="-o-"),a.browser.msie&&(d="-ms-"),a("body").css("position","relative");var b;for(b=0;b<f.settings.blocks.length;b++){var e=f.settings.blocks.eq(b);c.push({block:e,top:e.offset().top,pin:0,animations:[]})}for(b=0;b<c.length;b++)c[b].block.css("position","absolute").css("top",c[b].top);a("body").prepend("<div id='scroll-wrap'></div>");var g=!1;a(window).scroll(function(){g=!0}),setInterval(function(){g&&(i(),g=!1)},50)}function i(){var b=a(window).scrollTop(),d=j(b);for(var g=0;g<c.length;g++)if(c[g].animations.length)for(var h=0;h<c[g].animations.length;h++){var i=c[g].animations[h];g>d?(d!=g-1&&i.baseline!="bottom"&&k(i.element,i.property,i.startVal),c[g].pin&&c[g].block.css("position","absolute").css("top",c[g].top)):g<d&&(k(i.element,i.property,i.endVal),c[g].pin&&c[g].block.css("position","absolute").css("top",c[g].top+c[g].pin));if(g==d||d==g-1&&i.baseline=="bottom"){c[g].pin&&d==g&&c[g].block.css("position","fixed").css("top",0);var l=c[g].top+i.delay;i.baseline=="bottom"&&(l-=a(window).height());var m=l+i.duration;if(b<l)k(i.element,i.property,i.startVal);else if(b>m)k(i.element,i.property,i.endVal),c[g].pin&&c[g].block.css("position","absolute").css("top",c[g].top+c[g].pin);else{var n=(b-l)/i.duration,o=i.startVal+n*(i.endVal-i.startVal);k(i.element,i.property,o)}}}f.blockIndex!=d&&(f.blockIndex=d,e())}function j(a){var b=0;for(var d=0;d<c.length;d++)c[d].top<=a-f.settings.offset&&(b=d);return b}function k(a,b,c){if(b==="rotate"||b==="zoom"||b==="scale"){if(b==="rotate")a.css(d+"transform","rotate("+c+"deg)");else if(b==="zoom"||b==="scale"){var e="scale("+c+")";d!=="-ms-"?a.css(d+"transform",e):a.css("zoom",e)}}else a.css(b,c)}var c=[],d="",e=function(){},f=this,g={offset:0};return f.settings=a.extend({},g,b),f.blockIndex=0,b.blocks===undefined&&alert("ERROR: Must assign blocks class selector to scrollorama plugin"),f.animate=function(b){typeof b=="string"&&(b=a(b));var d,e;for(var f=0;f<c.length;f++)c[f].block.has(b).length&&(e=c[f],d=f);for(f=1;f<arguments.length;f++){var g=arguments[f];if(g.property=="top"||g.property=="left"||g.property=="bottom"||g.property=="right")b.css("position")=="static"&&b.css("position","relative"),g.start===undefined?g.start=0:g.end===undefined&&(g.end=0);g.property=="rotate"?(g.start===undefined&&(g.start=0),g.end===undefined&&(g.end=0)):g.property=="zoom"||g.property=="scale"?(g.start===undefined&&(g.start=1),g.end===undefined&&(g.end=1)):g.property=="letter-spacing"&&b.css(g.property)&&(g.start===undefined&&(g.start=1),g.end===undefined&&(g.end=1)),g.baseline===undefined&&(g.pin||e.pin||d===0?g.baseline="top":g.baseline="bottom"),g.delay===undefined&&(g.delay=0),e.animations.push({element:b,delay:g.delay,duration:g.duration,property:g.property,startVal:g.start!==undefined?g.start:parseInt(b.css(g.property),10),endVal:g.end!==undefined?g.end:parseInt(b.css(g.property),10),baseline:g.baseline!==undefined?g.baseline:"bottom"});if(g.pin&&e.pin<g.duration+g.delay){var h=g.duration+g.delay-e.pin;e.pin+=h;for(var j=d+1;j<c.length;j++)c[j].top+=h,c[j].block.css("top",c[j].top)}}i()},f.onBlockChange=function(a){e=a},f.getScrollpoints=function(){var a=[];for(var b=0;b<c.length;b++){a.push(c[b].top);if(c[b].animations.length&&c[b].pin>0)for(var d=0;d<c[b].animations.length;d++){var e=c[b].animations[d];a.push(c[b].top+e.delay+e.duration)}}return a.sort(function(a,b){return a-b}),a},h(),f}})(jQuery)
