(function(a){a(function(){a.ui.rollover();a.ui.externalLink();a.ui.scroll();a.ui.tab();a.ui.stripe();a.ui.css3class()});a.ui={Uri:function(f){var c=this;this.originalPath=f;this.absolutePath=(function(){var g=document.createElement("span");g.innerHTML='<a href="'+f+'" />';return g.firstChild.href})();var b={schema:2,username:5,password:6,host:7,path:9,query:10,fragment:11};var d=/^((\w+):)?(\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/.exec(this.absolutePath);for(var e in b){this[e]=d[b[e]]}this.querys={};if(this.query){a.each(c.query.split("&"),function(){var g=this.split("=");if(g.length==2){c.querys[g[0]]=g[1]}})}},rollover:function(d){var h=a.extend({hoverSelector:".btn, .allbtn img",groupSelector:".btngroup",postfix:"_on"},d);var g=a(h.hoverSelector).filter(e);g.each(function(){this.originalSrc=a(this).attr("src");this.rolloverSrc=this.originalSrc.replace(new RegExp("("+h.postfix+")?(.gif|.jpg|.png)$"),h.postfix+"$2");this.rolloverImg=new Image;this.rolloverImg.src=this.rolloverSrc});var b=a(h.groupSelector).find("img").filter(f);g.not(b).hover(function(){a(this).attr("src",this.rolloverSrc)},function(){a(this).attr("src",this.originalSrc)});a(h.groupSelector).hover(function(){a(this).find("img").filter(f).each(function(){a(this).attr("src",this.rolloverSrc)})},function(){a(this).find("img").filter(f).each(function(){a(this).attr("src",this.originalSrc)})});function e(c){return Boolean(!this.currentSrc)}function f(c){return Boolean(this.rolloverSrc)}},externalLink:function(b){var g=a.extend({windowOpen:true,externalClass:"externalLink",addIconSrc:""},b);var d=new a.ui.Uri(location.href);var f=a('a[href^="http://"]').not('a[href^="'+d.schema+"://"+d.host+'/"]');if(g.windowOpen){f.click(function(){window.open(this.href,"_blank");return false})}if(g.addIconSrc){f.not(":has(img)").after(a('<img src="'+g.addIconSrc+'" class="externalIcon" />'))}f.addClass(g.externalClass)},scroll:function(c){var b=(function(){var k=a.extend({easing:100,step:30,fps:60,fragment:""},c);k.ms=Math.floor(1000/k.fps);var i;var g={stepCount:0,startY:0,endY:0,lastY:0};function h(){if(g.stepCount==k.step){n(g.hrefdata.absolutePath);window.scrollTo(l(),g.endY)}else{if(g.lastY==j()){g.stepCount++;window.scrollTo(l(),d());g.lastY=d();i=setTimeout(h,k.ms)}else{if(j()+f()==m()){n(g.hrefdata.absolutePath)}}}}function n(o){location.href=o}function j(){return document.body.scrollTop||document.documentElement.scrollTop}function l(){return document.body.scrollLeft||document.documentElement.scrollLeft}function m(){return document.documentElement.scrollHeight||document.body.scrollHeight}function f(){return(!a.browser.safari&&!a.browser.opera)?document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight:window.innerHeight}function d(){return Math.floor(e(g.startY,g.endY,g.stepCount,k.step,k.easing))}function e(u,o,t,q,r){var p=t/q;return(o-u)*(p+r/(100*Math.PI)*Math.sin(Math.PI*p))+u}return{set:function(o){this.stop();if(o.startY==undefined){o.startY=j()}g=a.extend(g,o);g.lastY=g.startY;i=setTimeout(h,k.ms)},stop:function(){clearTimeout(i);g.stepCount=0}}})();a("a[href^=#], area[href^=#]").not("a[href=#], area[href=#]").each(function(){this.hrefdata=new a.ui.Uri(this.getAttribute("href"))}).click(function(){var d=a("#"+this.hrefdata.fragment);if(d.length==0){d=a("a[name="+this.hrefdata.fragment+"]")}if(d.length){b.set({endY:d.offset().top,hrefdata:this.hrefdata});return false}})},tab:function(b){var d=a.extend({tabNavSelector:".tabNav",activeTabClass:"active"},b);a(d.tabNavSelector).each(function(){var c=a(this).find("a[href^=#], area[href^=#]");var e;c.each(function(){this.hrefdata=new a.ui.Uri(this.getAttribute("href"));var f="#"+this.hrefdata.fragment;if(e){e=e.add(f)}else{e=a(f)}a(this).unbind("click");a(this).click(function(){c.removeClass(d.activeTabClass);a(this).addClass(d.activeTabClass);e.hide();a(f).show();return false})});e.hide();c.filter(":first").trigger("click")})},stripe:function(b){var d=a.extend({oddClass:"odd",evenClass:"even"},b);a("ul, ol").each(function(){a(this).children("li:odd").addClass(d.evenClass);a(this).children("li:even").addClass(d.oddClass)});a("table, tbody").each(function(){a(this).children("tr:odd").addClass(d.evenClass);a(this).children("tr:even").addClass(d.oddClass)})},css3class:function(){a("body :first-child").addClass("firstChild");a("body :last-child").addClass("lastChild");a("body :empty").addClass("empty")}}})(jQuery);