/* ==================================================

 * gd-1.1.0.js
 *
 * Copyright (c) Global design, Inc.
 * http://www.glode.co.jp/ 
 * Version: 1.1.0
 * Last Modified: 2009/03/04
 * Library&Plugin: jQuery 1.3.2

----------------------------------------------------
 * $.gd.Uri
 * $.gd.pageScroll
 
 * yuga.js
 * http://kyosuke.jp/yugajs/
----------------------------------------------------
 * $.gd.cookie
 
 * http://plugins.jquery.com/project/cookie/
 
================================================== */

(function(a){a.gd={Uri:function(b){var d=this;this.originalPath=b;this.absolutePath=(function(){var c=document.createElement('span');c.innerHTML='<a href="'+b+'" />';return c.firstChild.href})();var h={'schema':2,'username':5,'password':6,'host':7,'path':9,'query':10,'fragment':11};var g=/^((\w+):)?(\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/.exec(this.absolutePath);for(var j in h){this[j]=g[h[j]]}this.querys={};if(this.query){a.each(d.query.split('&'),function(){var c=this.split('=');if(c.length==2)d.querys[c[0]]=c[1]})}},cookie:function(c,b,d){if(typeof b!='undefined'){var d=d||{};if(b===null){b='';d=a.extend({},d);d.expires=-1}var h='';if(d.expires&&(typeof d.expires=='number'||d.expires.toUTCString)){var g;if(typeof d.expires=='number'){g=new Date();g.setTime(g.getTime()+(d.expires*24*60*60*1000))}else{g=d.expires}h='; expires='+g.toUTCString()}var j=d.path?'; path='+(d.path):'',f=d.domain?'; domain='+(d.domain):'',l=d.secure?'; secure':'';document.cookie=[c,'=',encodeURIComponent(b),h,j,f,l].join('')}else{var i=null;if(document.cookie&&document.cookie!=''){var m=document.cookie.split(';');for(var n=0;n<m.length;n++){var e=jQuery.trim(m[n]);if(e.substring(0,c.length+1)==(c+'=')){i=decodeURIComponent(e.substring(c.length+1));break}}}return i}},wrapperWidth:function(b){var d=a.extend({area:'#tmp_wrapper',defWidth:'100%',maxWidth:1280,minWidth:780},b);var h=d.maxWidth+'px',g=d.minWidth+'px',j=a(d.area).css('minWidth');function f(){if(!j){var c=a(document.body).width();if(c>d.maxWidth){a(d.area).width(h)}else if(c<d.minWidth){a(d.area).width(g)}else{a(d.area).width(d.defWidth)}}}f();a(window).resize(function(){f()})},searchText:function(c){var b=a.extend({area:'#tmp_query'},c);var d=a(b.area),h=d.attr('value');d.focus(function(){if(a(this).attr('value')==h){a(this).attr('value','')}});d.blur(function(){if(a(this).attr('value')==''){a(this).attr('value',h)}})},textSize:function(c){var b=a.extend({cookieName:'text_size',sizeUpClass:'.text_size_up',sizeDownClass:'.text_size_down',sizeNormalClass:'.text_size_normal',smallSize:'80%',defaultSize:'90%',bigSize1:'110%',bigSize2:'130%',smallStr:'これ以上文字を縮小することはできません。',bigStr:'これ以上文字を拡大することはできません。'},c);var d=a.gd.cookie(b.cookieName),h=a(b.sizeUpClass),g=a(b.sizeDownClass),j=a(b.sizeNormalClass),f=a(document.body);if(d==null){f.css('fontSize',b.defaultSize)}else{f.css('fontSize',d)}h.each(function(){a(this).click(function(){switch(f.css('fontSize')){case b.smallSize:f.css('fontSize',b.defaultSize);break;case b.defaultSize:f.css('fontSize',b.bigSize1);break;case b.bigSize1:f.css('fontSize',b.bigSize2);break;case b.bigSize2:alert(b.bigStr);break;default:f.css('fontSize',b.defaultSize);break}a.gd.cookie(b.cookieName,f.css('fontSize'),{path:'/'});return false})});g.each(function(){a(this).click(function(){switch(f.css('fontSize')){case b.smallSize:alert(b.smallStr);break;case b.defaultSize:f.css('fontSize',b.smallSize);break;case b.bigSize1:f.css('fontSize',b.defaultSize);break;case b.bigSize2:f.css('fontSize',b.bigSize1);break;default:f.css('fontSize',b.defaultSize);break}a.gd.cookie(b.cookieName,f.css('fontSize'),{path:'/'});return false})});j.each(function(){a(this).click(function(){f.css('fontSize',b.defaultSize);a.gd.cookie(b.cookieName,f.css('fontSize'),{path:'/'});return false})})},changeStyle:function(n){var e=a.extend({switchClass:'changestyle',switchChooseClass:'changestyle_c',switchChooseBtn:'changestyle_c_btn',switchChoosedefBtn:'changestyle_d_btn',defaultLinkName:'default'},n);var k=a('.'+e.switchClass),q=a('.'+e.switchChooseClass),t=a('.'+e.switchChooseBtn),r=a('.'+e.switchChoosedefBtn),s='cookies',o=a.gd.cookie(s);k.each(function(){a(this).click(function(){var c=a(this).attr('id'),b;if(c.indexOf('_'+e.defaultLinkName)>-1){var d=c.replace('_'+e.defaultLinkName,'');c=e.defaultLinkName;b=a('link[title='+c+'][id='+d+']')}else{c=c.replace(/^tmp_(.*)/,'$1');b=a('link[title='+c+']')}var h=b.attr('class');p(c,h,b);return false})});t.each(function(){a(this).click(function(){var c=a(this).attr('name'),b=q.filter('[name='+c+']').filter(':checked'),d=b.attr('value'),h;if(d==e.defaultLinkName){h=a('link[title='+d+'][id='+c+']')}else{h=a('link[title='+d+']')}p(d,c,h);return false})});r.click(function(){var c=e.defaultLinkName,b=a(this).attr('name'),d=q.filter('[value='+e.defaultLinkName+'][name='+b+']');if(c==e.defaultLinkName){changeLink=a('link[title='+c+'][id='+b+']')}else{changeLink=a('link[title='+c+']')}p(c,b,changeLink);d.attr('checked',true);return false});function p(c,b,d){var h=d.attr('href'),g=a('#'+b),j=g.attr('href'),f=a.gd.cookie(b);if((f)==null){f=j+','+c;a.gd.cookie(b,f,{path:'/'})}else{var l=a.gd.cookie(b),i=l.split(','),m;i[1]=c;m=i.join(',');a.gd.cookie(b,m,{path:'/'})}if(d.attr('id')==d.attr('class')){g.attr('href',i[0])}else{g.attr('href',h)}if(o==null){o=b}else if(o.indexOf(b)==-1){o+=(','+b)}a.gd.cookie(s,o,{path:'/'})}},pageScroll:function(o){var p=(function(){var f=a.extend({easing:100,step:30,fps:60,fragment:''},o);f.ms=Math.floor(1000/f.fps);var l;var i={stepCount:0,startY:0,endY:0,lastY:0};function m(){if(i.stepCount==f.step){n(i.hrefdata.absolutePath);window.scrollTo(k(),i.endY)}else if(i.lastY==e()){i.stepCount++;window.scrollTo(k(),r());i.lastY=r();l=setTimeout(m,f.ms)}else{if(e()+t()==q()){n(i.hrefdata.absolutePath)}}}function n(c){location.href=c}function e(){return document.body.scrollTop||document.documentElement.scrollTop}function k(){return document.body.scrollLeft||document.documentElement.scrollLeft}function q(){return document.documentElement.scrollHeight||document.body.scrollHeight}function t(){return(!a.browser.safari&&!a.browser.opera)?document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight:window.innerHeight}function r(){return Math.floor(s(i.startY,i.endY,i.stepCount,f.step,f.easing))}function s(c,b,d,h,g){var j=d/h;return(b-c)*(j+g/(100*Math.PI)*Math.sin(Math.PI*j))+c}return{set:function(c){this.stop();if(c.startY==undefined)c.startY=e();i=a.extend(i,c);i.lastY=i.startY;l=setTimeout(m,f.ms)},stop:function(){clearTimeout(l);i.stepCount=0}}})();a('a[href^=#], area[href^=#]').not('a[href=#], area[href=#]').each(function(){this.hrefdata=new a.gd.Uri(this.getAttribute('href'))}).click(function(){var c=a('#'+this.hrefdata.fragment);if(c.length==0)c=a('a[name='+this.hrefdata.fragment+']');if(c.length){p.set({endY:c.offset().top,hrefdata:this.hrefdata});return false}})},activeLink:function(b){var d=a.extend({area:'',level:1,activeClass:'active',activeThisClass:'active_this',referId:'#tmp_pankuzu'},b);var h=new RegExp(/index\..*/),g=new a.gd.Uri(String(window.location.href)),j=a(d.area),f=j.find('a'),l=a(d.referId).find('a');g=g.absolutePath.replace('#'+g.fragment,'').replace(h,'');l=String(l[d.level]).replace(h,'');f.each(function(){this.hrefdata=new a.gd.Uri(this.getAttribute('href'));var c='';if(this.hrefdata.absolutePath.indexOf('#')==-1){c=this.hrefdata.absolutePath.replace(h,'')}if(g==c){a(this).addClass(d.activeThisClass).parent().addClass(d.activeClass);return false}if(l==c){a(this).parent().addClass(d.activeClass);return false}})},rollover:function(h){var g=a.extend({area:'',onName:'_on.',offName:'_off.',activeClass:'active'},h);a(g.area).each(function(){var d=a(this).find('img').filter('[src*='+g.offName+']');d.each(function(){var c=a(this).attr('src'),b=this.src;this.preImg=new Image();this.preImg.src=c.replace(g.offName,g.onName);if(a(this).parent().parent().hasClass(g.activeClass)){this.src=this.preImg.src;return true}a(this).mouseover(function(){this.src=this.preImg.src});a(this).mouseout(function(){this.src=b})})})},tab:function(e){var k=a.extend({area:'',type:'normal',naviClass:'tab_menu',activeClass:'active',onName:'_on.',offName:'_off.'},e);a(k.area).find('.'+k.naviClass).each(function(){var j=a(this).find('a[href^=#],area[href^=#]').not('a[href=#],area[href^=#]'),f,l=j.find('img[src*='+k.offName+']'),i=new a.gd.Uri(j.filter(':first').attr('href')).fragment,m=i,n=0;j.each(function(){this.hrefdata=new a.gd.Uri(this.getAttribute('href'));var g='#'+this.hrefdata.fragment;if(f){f=f.add(g)}else{f=a(g)}a(this).unbind('click');a(this).click(function(){var d=a(this).closest('.'+k.naviClass);d.removeClass(m).addClass(this.hrefdata.fragment);m=this.hrefdata.fragment;j.parent().removeClass(k.activeClass);a(this).parent().addClass(k.activeClass);l.each(function(){var c=a(this).attr('src').replace(k.onName,k.offName);a(this).attr('src',c)});a(this).find('img[src*='+k.offName+']').each(function(){var c=a(this).attr('src'),b=c.replace(k.offName,k.onName);a(this).attr('src',b)});var h;if(n==0){h='normal'}else{h=k.type}n++;switch(h){case'normal':f.hide();a(g).show();break;case'fade':f.filter(':visible').fadeOut('slow',function(){a(g).fadeIn('fast')});break;case'slide':f.filter(':visible').animate({height:'1px'},300,'linear',function(){f.filter(':visible').css('height','auto');f.filter(':visible').hide();a(g).slideDown('fast')});break;default:f.filter(':visible').hide();a(g).show();break}return false})});j.filter(':first').trigger('click')})},switchMenu:function(n){var e=a.extend({area:'',type:'normal',naviClass:'switch_menu',switchClass:'switch',cntClass:'switch_cnt',activeClass:'active',onName:'_on.',offName:'_off.',onAlt:'メニューを閉じます',offAlt:'メニューを開きます'},n);a(e.area).find('.'+e.naviClass).each(function(){var h=a(this).find('.'+e.switchClass),g=h.find('img[src*='+e.offName+']'),j=a(this).find('.'+e.activeClass).parent();cntClass=a(this).find('.'+e.cntClass);if(j.hasClass(e.cntClass)){j.addClass(e.activeClass)};cntClass.each(function(){if(a(this).hasClass(e.activeClass)){a(this).parent().addClass(e.activeClass);return true}if(!a(this).hasClass(e.activeClass)){a(this).hide()}});var f=a(this).find('.'+e.activeClass+' a'),l=f.find('img[src*='+e.offName+']'),i=l.attr('src');g.each(function(){var c=a(this).attr('src');this.preImg=new Image();this.preImg.src=c.replace(e.offName,e.onName)});a(this).find('.'+e.activeClass+' .'+e.cntClass).addClass(e.activeClass).show();m(f,i,l);h.click(function(){var c=a(this).nextAll('.'+e.cntClass).eq(0),b=a(this).find('img[src*='+e.offName+'],img[src*='+e.onName+']'),d=b.attr('src');a(this).parent().toggleClass(e.activeClass);c.toggleClass(e.activeClass);switch(e.type){case'normal':c.toggle();break;case'slide':c.filter(':visible').animate({height:'1px'},300,function(){c.css('height','auto');c.hide()});c.filter(':hidden').slideDown("fast");break;default:c.toggle();break}m(a(this),d,b);return false});function m(c,b,d){if(b){if(c.parent().hasClass(e.activeClass)){b=b.replace(e.offName,e.onName);d.attr('alt',e.onAlt)}else{b=b.replace(e.onName,e.offName);d.attr('alt',e.offAlt)}c.find('img[src*='+e.offName+'],img[src*='+e.onName+']').attr('src',b)}}})},stripe:function(c){var b=a.extend({listArea:'',tableArea:'',oddClass:'odd',evenClass:'even'},c);a(b.listArea+','+b.tableArea).find('li:odd,tr:odd').addClass(b.evenClass);a(b.listArea+','+b.tableArea).find('li:even,tr:even').addClass(b.oddClass)},labelClickable:function(b){var d=a.extend({area:''},b);a(d.area).find('label:has(img)').each(function(){var c=a(this).attr('for');a(this).toggle(function(){a('#'+c).attr('checked',true)},function(){a('#'+c).attr('checked',false)})})}}})(jQuery);