OLSON.namespace("OLSON.feature.rotator");if(typeof(OLSON.cardstack.stack)=="undefined"){console.warn("OLSON.feature.rotator requires OLSON.cardstack.stack");}$(document).ready(function(){OLSON.feature.rotator.init();});OLSON.feature.rotator={loadedFeatures:[],$featureContainer:null,currentEvent:null,loadTimer:null,jsonData:null,CLASSES:{ACTIVE:"active",FEATURE:"feature",SHOW_FEATURE_LINK:"show-feature"},IDS:{FEATURE_CONTAINER:"feature-container"},FEATURE_LOAD_DELAY:1100,JSON_FLAG:"/json",init:function(){OLSON.feature.rotator.findElements();
OLSON.feature.rotator.attachListeners();OLSON.feature.rotator.loadedFeatures[OLSON.cardstack.stack._getCurrentCardIndex()]=OLSON.feature.rotator.$featureContainer;OLSON.feature.rotator.transitionToFeature(OLSON.cardstack.stack._getCurrentCardIndex());},attachListeners:function(){$("."+OLSON.cardstack.stack.CLASSES.STACK+" ."+OLSON.feature.rotator.CLASSES.SHOW_FEATURE_LINK).click(OLSON.feature.rotator.showFeature);
$(window).bind("OLSON.cardstack.rotator.changeCard",OLSON.feature.rotator.setLoadTimer);},findElements:function(){OLSON.feature.rotator.$featureContainer=$("#"+OLSON.feature.rotator.IDS.FEATURE_CONTAINER+" ."+OLSON.feature.rotator.CLASSES.FEATURE).get(0);},setLoadTimer:function(a,b){if(b&&b.type==OLSON.cardstack.rotator.AUTOMATED_EVENT){OLSON.feature.rotator.currentEvent=b;
OLSON.feature.rotator.loadTimer=setTimeout(function(){OLSON.feature.rotator.showFeature(OLSON.feature.rotator.currentEvent);},OLSON.feature.rotator.FEATURE_LOAD_DELAY);}},showFeature:function(c){clearTimeout(OLSON.feature.rotator.loadTimer);if(!OLSON.feature.rotator.$featureContainer){return true;}c.preventDefault();
if(c.type=="click"){var a=OLSON.cardstack.stack._getStack(c);a.trigger("OLSON.feature.rotator.loadRequested");var b=OLSON.cardstack.stack._getCurrentCardIndex();if(OLSON.feature.rotator.loadedFeatures[b]&&$(OLSON.feature.rotator.loadedFeatures[b]).hasClass(OLSON.feature.rotator.CLASSES.ACTIVE)){return false;
}}if(!OLSON.feature.rotator.showPreviouslyLoadedFeature()){OLSON.feature.rotator.loadFeatureFromEvent(c);}},showPreviouslyLoadedFeature:function(){var a=OLSON.cardstack.stack._getCurrentCardIndex();if(OLSON.feature.rotator.loadedFeatures[a]){OLSON.feature.rotator.transitionToFeature(a);return true;}else{return false;
}},loadFeatureFromEvent:function(a){var b=OLSON.feature.rotator.getServiceUrlFromEvent(a);$(window).trigger("showLoading",[$("#"+OLSON.feature.rotator.IDS.FEATURE_CONTAINER)]);$.getJSON(b,{},OLSON.feature.rotator.handleFeatureJsonResponse);},getServiceUrlFromEvent:function(b){var a=$(b.target);if(a.attr("tagName").toLowerCase()!=="a"){a=$(a.parent("a"));
}return OLSON.feature.rotator.JSON_FLAG+a.attr("href");},handleFeatureJsonResponse:function(a,b){$(window).trigger("hideLoading");OLSON.feature.rotator.jsonData=a;OLSON.feature.rotator.insertNewFeature();OLSON.feature.rotator.transitionToFeature();},insertNewFeature:function(){if(!OLSON.feature.rotator.jsonData){return false;
}var a=OLSON.feature.rotator.placeNewFeature();OLSON.feature.rotator.populateFeature(a);},placeNewFeature:function(){var a=OLSON.cardstack.stack._getCurrentCardIndex();var b=OLSON.feature.rotator.getPreviouslyDisplayedFeatureByCurrentIndex(a);var c=b.clone();c.css("left",0);c.removeClass(OLSON.feature.rotator.CLASSES.ACTIVE);
c.attr("class",c.attr("class").replace(/z\d+/g,""));b.after(c);OLSON.feature.rotator.loadedFeatures[a]=c;return c;},getPreviouslyDisplayedFeatureByCurrentIndex:function(a){var b=OLSON.feature.rotator.loadedFeatures[a-1];for(var c=a-2;!b&&c>=0;c--){b=OLSON.feature.rotator.loadedFeatures[c];}for(var c=a;
!b&&c<=10;c++){b=OLSON.feature.rotator.loadedFeatures[c];}b=$(b);return b;},populateFeature:function(a){a.find(".description").html(OLSON.feature.rotator.jsonData.description);a.find(".title").html(OLSON.feature.rotator.jsonData.title);a.find("a").attr({href:OLSON.feature.rotator.jsonData.url}).find("span").text(OLSON.feature.rotator.jsonData.linkTitle);
a.find(".work-image").attr("src",OLSON.feature.rotator.jsonData.image);},transitionToFeature:function(c){if(!OLSON.feature.rotator.jsonData){return false;}var a=$("."+OLSON.cardstack.stack.CLASSES.STACK+" .card").length;var b=$("#feature-container").width();if(typeof(c)=="undefined"){c=OLSON.cardstack.stack._getCurrentCardIndex();
}if(c>=a){c=0;}c=$("#feature-container .feature").index(OLSON.feature.rotator.loadedFeatures[c]);$(OLSON.feature.rotator.loadedFeatures[c]).css("left",0);$(".feature.active").each(function(d,e){$el=$(e);var f=-1*b;$el.animate({left:f},750,"easeInExpo",function(){var g=$("#"+OLSON.feature.rotator.IDS.FEATURE_CONTAINER+" ."+OLSON.feature.rotator.CLASSES.FEATURE);
OLSON.util.rotator.restackSeriesToShowIndex(g,c);$el.css("left",-750);$el.removeClass(OLSON.feature.rotator.CLASSES.ACTIVE);$(g.get(c)).addClass(OLSON.feature.rotator.CLASSES.ACTIVE);});});}};