(function(b){function a(f,e){var d=this;if(!a.current){a.current=this}var g={loader:"#swapLoader",info:"#productInfo",links:"#swapLinks",target:"#swapTarget",select:"select",scroll:".scrollable",items:".items",loaderSrc:"images/icons/ajax-loader.gif"};g=b.extend(g,e);this.opts=g;var c=b(f);this.root=c;this.info=b(g.info,c);this.links=b(g.links,c);this.target=b(g.target,c);this.select=b(g.select,c);this.scroll=b(g.scroll,c);this.makeLoader();this.loader=b(g.loader,c);this.select.change(function(){d.doSelect(this)});this.updateScrollers();this.updateLinks()}b.extend(a.prototype,{getVersion:function(){return"@VERSION"},makeLoader:function(){var c=document.createElement("div");var d=this.target.css("width");var e=this.target.css("height");b(c).attr("id",this.opts.loader.substr(1)).css("background-image","url("+this.opts.loaderSrc+")").css("background-repeat","no-repeat").css("background-position","center center").css("width",d).css("height",e).insertAfter(this.target).hide()},doClick:function(d){var c=this.getScrollIndex(d);var e=this.getSelect(d);if(!e){return false}this.setSelectIndex(e,c);this.updateTarget(d)},doSelect:function(e){var c=this.getSelectIndex(e);var d=this.getScroll(e);if(!d){return false}this.setScrollIndex(d,c);this.updateTarget(d)},updateScrollers:function(){var c=this;this.select.each(function(){var d=c.getSelectIndex(this);var e=c.getScroll(this);if(!e){return false}c.setScrollIndex(e,d)})},updateTarget:function(c){var d=this.getScrollImage(c);if(!d){return false}d=this.makeTargetImage(d);this.setTargetImage(d);this.updateLinks()},updateLinks:function(){var c=new Array();b("option:selected",this.select).each(function(){c.push(b(this).attr("aid"))});b("div",this.links).hide();if(c.length){b("#"+c.join("_"),this.links).show()}},getSelect:function(c){var d=c.root.attr("id").replace("scroll-","#attrib-");return b(d,this.info)},getSelectIndex:function(d){var c=b("option:selected",d);return b("option",d).index(c)},setSelectIndex:function(d,c){var e=b("option",d).eq(c).val();b(d).val(e)},getScroll:function(c){var d=b(c).attr("id").replace("attrib-","#scroll-");return b(d,this.info).scrollable()},getScrollIndex:function(c){return c.active},setScrollIndex:function(d,c){d.select(c)},getScrollImage:function(d){var c=d.active;var e=d.items.eq(c);return b("img",e).attr("src")},makeTargetImage:function(c){return c.replace("images/","images/medium/").replace(".jpg","-med.jpg").replace(".gif","-med.gif")},setTargetImage:function(d){if(d!=this.target.attr("src")){this.target.hide();this.loader.show();var c=this;this.target.load(function(){c.loader.hide();c.target.fadeIn("fast")}).attr("src",d)}}});jQuery.prototype.swappable=function(g,e,d){if(!g||typeof g=="number"){var c=g||0;var f=b.data(this.get()[c],"swappable");if(f){return f}}this.each(function(){if(typeof g=="string"){var i=b.data(this,"swappable");i[g].apply(i,[e,d])}else{var h=new a(this,g);b.data(this,"swappable",h)}});return this}})(jQuery);