// yuga.js0.7.1-優雅なWeb制作のためのJS, Copyright(c)2009KyosukeNakamura(kyosuke.jp),Licensed under the MIT License:,http://www.opensource.org/licenses/mit-license.php,Since:2006-10-30,Modified:2009-01-27,jQuery1.3.1,ThickBox 3.1,
(function(a){a(function(){a.yuga.thickbox();a.yuga.scroll();a.yuga.tab();a.yuga.stripe();a.yuga.css3class()});a.yuga={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]}})}},selflink:function(b){var d=a.extend({selfLinkAreaSelector:"body",selfLinkClass:"current",parentsLinkClass:"parentsLink",postfix:"_cr",changeImgSelf:true,changeImgParents:true},b);a(d.selfLinkAreaSelector+((d.selfLinkAreaSelector)?" ":"")+"a[href]").each(function(){var c=new a.yuga.Uri(this.getAttribute("href"));var e=false;if((c.absolutePath==location.href)&&!c.fragment){a(this).addClass(d.selfLinkClass);e=d.changeImgSelf}else{if(0<=location.href.search(c.absolutePath)){a(this).addClass(d.parentsLinkClass);e=d.changeImgParents}}if(e){a(this).find("img").each(function(){this.originalSrc=a(this).attr("src");this.currentSrc=this.originalSrc.replace(new RegExp("("+d.postfix+")?(.gif|.jpg|.png)$"),d.postfix+"$2");a(this).attr("src",this.currentSrc)})}})},thickbox:function(){try{tb_init('a[href$=".jpg"]:not(.thickbox, a[href*="?"]), a[href$=".gif"][href!="?"]:not(.thickbox, a[href*="?"]), a[href$=".png"][href!="?"]:not(.thickbox, a[href*="?"])')}catch(b){}},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.yuga.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.yuga.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);
