( function( window ) {
    var wak = new Object();
    
    
    
    
    wak.NVyURL       = 'www.fatyo.com/nvy/';
    wak.galleryXML   = './gallery.xml';
    wak.archivesXML  = './archives.xml';
    wak.blogXML      = './blog.xml';
    wak.infoXML      = './info.xml';
    wak.shoplistXML  = './shoplist.xml';
    wak.pageLength   = 12;
    wak.sliderRate   = new Array();
    wak.sliderTime   = new Array();
    wak.sliderEasing = new Array();
    wak.positionRate = new Array();
    wak.sliderRate['layerContainer0'] = 1.0;
    wak.sliderRate['layerContainer1'] = 0.9;
    wak.sliderRate['layerContainer2'] = 1.2;
    wak.sliderRate['layerContainer3'] = 0.8;
    wak.sliderRate['layerContainerA'] = 1.0;
    wak.sliderTime['layerContainer0'] = 2000/1.5;
    wak.sliderTime['layerContainer1'] = 2000/1.5;
    wak.sliderTime['layerContainer2'] = 1500/1.5;
    wak.sliderTime['layerContainer3'] = 1800/1.5;
    wak.sliderTime['layerContainerA'] = 1000;
    wak.sliderEasing['layerContainer0'] = 'easeInOutQuart';
    wak.sliderEasing['layerContainer1'] = 'easeInOutQuart';
    wak.sliderEasing['layerContainer2'] = 'easeInOutQuart';
    wak.sliderEasing['layerContainer3'] = 'easeInOutQuart';
    wak.sliderEasing['layerContainerA'] = 'easeInOutQuart';
    wak.positionRate['layerContainer1'] = 0.443; // 値を小さくする程右よりになります。値はゼロより大きければOKです。
    wak.positionRate['layerContainer2'] = 0.735;
    wak.positionRate['layerContainer3'] = 0.540;
    
    
    
    
    // MT(XML)から得るリソースを保持
    wak.ga = new Array(); // galleryArray
    wak.aa = new Array(); // archivesArray
    wak.ba = new Array(); // blogArray
    wak.ia = new Array(); // infoArray
    wak.sa = new Array(); // shoplistArray
    
    
    
    
    wak.userAgent = 'browser';
    /** ********************************************************************************
     * ユーザエージェントを取得し、容易に識別する準備を整える。
     */
    wak.detectUserAgent = function() {
        if ( navigator.userAgent.toLowerCase().indexOf( 'msie'    ) != -1 ) { wak.userAgent = 'msie';    }
        if ( navigator.userAgent.toLowerCase().indexOf( 'firefox' ) != -1 ) { wak.userAgent = 'firefox'; }
        if ( navigator.userAgent.toLowerCase().indexOf( 'safari'  ) != -1 ) { wak.userAgent = 'safari';  }
        if ( navigator.userAgent.toLowerCase().indexOf( 'chrome'  ) != -1 ) { wak.userAgent = 'chrome';  }
        if ( navigator.userAgent.toLowerCase().indexOf( 'opera'   ) != -1 ) { wak.userAgent = 'opera';   }
    }
    wak.detectUserAgent();
    
    
    
    
    /** ********************************************************************************
     * pageCurrentIDに基づく諸設定。
     * fixme:xml取得、背景位置などパラメータを調整。
     */
    wak.pageSyncLoad = function() {
        if ( wak.pageCurrentID == 'page9' ) { // blog
            wak.blogInArticleWindow(0);
        }
    }
    
    wak.pageCurrentID = 'pageXXXX'; // 現在表示対象となっているページのID。format:/page[0-9]+/
    /** ********************************************************************************
     * location.hrefから初期化・更新する。
     */
    wak.refleshPageCurrentID = function() {
        wak.pageCurrentID = location.href.replace(/.+#/,'');
        if ( wak.pageCurrentID == '' ) { wak.pageCurrentID = 'page0'; }
        
        // debug 2011/11/28
        if ( wak.pageCurrentID.match(/http:/) ) { wak.pageCurrentID = 'page0'; }
        
        //wak.pageSyncLoad(); // fixme:
    }
    wak.refleshPageCurrentID();
    
    
    
    
    wak.ipad = 0; // アクセスデバイスがiPadなら1、それ以外なら0。
    /** ********************************************************************************
     * アクセスデバイスがiPadか否かを判定する。
     */
    wak.detectIPad = function() {
        if ( navigator.userAgent.indexOf('iPad',0) != -1 ) {
            wak.ipad = 1;
        }
    }
    wak.detectIPad();
    /** ********************************************************************************
     * アクセスデバイスがiPadならばアクセラレータをオンにする。
     * ※アクセラレータの使用は、デスクトップ版Webkit、およびIEのレンダリング特性を考慮する必要あり。PC用のソースにそのまま適用すると問題を生じる。ここでは考慮済み。
     */
    wak.acc = function() {
        if ( wak.ipad == 1 ) {
            $('head').eq(0).append( '<link type="text/css" rel="stylesheet" href="./css/acc.css" />' );
        }
    }
    /** ********************************************************************************
     * fixme:iPadでのみ有効にする[その他]の処理
     */
    wak.ipadMisc = function() {
        if ( wak.ipad == 1 ) {
            $( window ).bind( 'orientationchange', wak.adjustBG );
            $( window ).bind( 'orientationchange', wak.adjustFG );
            wak.adjustBG();
            wak.adjustFG();
        }
        if ( wak.ipad == 1 ) {
            var imgs = $( '#booksContent img' );
            
            wak.iScrollableIncludeAdjustHeight('books');
            /*
            var hhh = $( '#booksContent' ).height() + 100;
            $( '#booksWrapper' ).css( {'overflow':'hidden',width:'600px',height:$(window).height()-80} )
            $( '#booksContent' ).css( {width:'600px',height:hhh} );
            $( '#booksWrapper' ).stop().animate( {scrollTop:0}, 0 );
            wak.iScrollable( 'booksWrapper' );
            */
        }
        if ( wak.ipad == 1 ) {
            $('#books hr').css({width:'560px'});
            $('#shoplist1').css({top:0});
            $('#shopcontent1').css({top:0});
            
            /*
            $('#page1 .pageContentL').css({overflow:"hidden"});
            $('#page2 .pageContentL').css({overflow:"hidden"});
            $('#page3 .pageContentL').css({overflow:"hidden"});
            $('#page1 .pageContent').css({overflow:"hidden"});
            $('#page2 .pageContent').css({overflow:"hidden"});
            $('#page3 .pageContent').css({overflow:"hidden"});
            $('#page1').css({overflow:"hidden"});
            $('#page2').css({overflow:"hidden"});
            $('#page3').css({overflow:"hidden"});
            */
        }
    }
    wak.msieMisc = function() {
        if (navigator.userAgent.toLowerCase().indexOf('msie 7') != -1) {
            $('#btn1').css({top:'500px'});
        }
    }
    
    /// for iPad
    wak.iScrollableIncludeAdjustHeight = function(base_id) {
        // base_id = books | blog | info | shoplist
        var $jqImgArray = $( '#'+base_id+'Content img' );
        var ImgArray = new Array();
        var readyImg = 0;
        for ( var i=0; i<$jqImgArray.length; i++ ) {
            ( function(i) {
                ImgArray[i] = new Image();
                ImgArray[i].src = $jqImgArray.eq(i).attr('src');
                ImgArray[i].onload = function() {readyImg++;}
            } )(i);
        }
        
        var tID = setInterval(function(){
            if (readyImg == $jqImgArray.length) {
                clearInterval(tID);
//                alert('renderReady');
                var html = $('#'+base_id+'Content').html();
                var renderTest = $( '<div id="renderTest">'+html+'</div>' )
                renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
                $( 'body' ).append( renderTest );
                var height = renderTest.height();
                renderTest.remove();
//                alert(height);
                height *= 1.3; // 細かなスタイルによる高さの差をおおまかに吸収する。
                $( '#'+base_id+'Wrapper' ).css( {'overflow':'hidden',width:'600px',height:$(window).height()-80} )
                $( '#'+base_id+'Content' ).css( {width:'600px',height:height} );
                $( '#'+base_id+'Wrapper' ).stop().animate( {scrollTop:0}, 0 );
                wak.iScrollable( base_id+'Wrapper' );
            }
        },100)
    }
    wak.iScrollableIncludeAdjustHeight2 = function(base_id) {
      setTimeout(function(){
        // base_id = books | blog | info | shoplist
        var $jqImgArray = $( '#'+base_id+'Content img' );
        var ImgArray = new Array();
        var readyImg = 0;
        for ( var i=0; i<$jqImgArray.length; i++ ) {
            ( function(i) {
                ImgArray[i] = new Image();
                ImgArray[i].src = $jqImgArray.eq(i).attr('src');
                ImgArray[i].onload = function() {readyImg++;}
            } )(i);
        }
        
        var tID = setInterval(function(){
            if (readyImg == $jqImgArray.length) {
                clearInterval(tID);
//                alert('renderReady');
                var html = $('#'+base_id+'Content').html();
                var renderTest = $( '<div id="renderTest">'+html+'</div>' )
//                renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
                $( 'body' ).append( renderTest );
                var height = renderTest.height();
                renderTest.remove();
//                alert(height);
                height *= 1.3; // 細かなスタイルによる高さの差をおおまかに吸収する。
//                $( '#'+base_id+'Wrapper' ).css( {'overflow':'hidden',width:'600px',height:$(window).height()-80} )
                $( '#'+base_id+'Content' ).css( {width:'600px',height:height} );
//                $( '#'+base_id+'Wrapper' ).stop().animate( {scrollTop:0}, 0 );
//                wak.iScrollable( base_id+'Wrapper' );
            }
        },100);
      },500);
    }
    wak.iScrollableIncludeAdjustHeight3 = function(base_id) {
//        var pos = $('#'+base_id+'Content').css("-webkit-transform")
        var pos = new WebKitCSSMatrix($('#'+base_id+'Content').css('-webkit-transform'));
//        alert(pos.f); // y
        setTimeout(function(){
//            base_id = books | blog | info | shoplist
            var $jqImgArray = $( '#'+base_id+'Content img' );
            var ImgArray = new Array();
            var readyImg = 0;
            for ( var i=0; i<$jqImgArray.length; i++ ) {
                ( function(i) {
                    ImgArray[i] = new Image();
                    ImgArray[i].src = $jqImgArray.eq(i).attr('src');
                    ImgArray[i].onload = function() {readyImg++;}
                } )(i);
            }
            
            var tID = setInterval(function(){
                if (readyImg == $jqImgArray.length) {
                    clearInterval(tID);
//                    alert('renderReady');
                    var html = $('#'+base_id+'Content').html();
                    var renderTest = $( '<div id="renderTest">'+html+'</div>' )
//                    renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
                    $( 'body' ).append( renderTest );
                    var height = renderTest.height();
                    renderTest.remove();
//                    alert(height);
                    height *= 1.3; // 細かなスタイルによる高さの差をおおまかに吸収する。
                    $( '#'+base_id+'Wrapper' ).css( {'overflow':'hidden',width:'600px',height:$(window).height()-80} )
                    $( '#'+base_id+'Content' ).css( {width:'600px',height:height} );
//                    $( '#'+base_id+'Wrapper' ).stop().animate( {scrollTop:wak.memBlogScroll}, 0 );
                    wak.iScrollable( base_id+'Wrapper' );
                    $( '#'+base_id+'Content' ).css({webkitTransform:'translate3d( 0px, ' + pos.f + 'px, 0px )'});
                }
            },100);
        },0);
    }

//            obj.style.webkitTransform = 'translate3d(' + x + 'px, ' + y + 'px, 0px )';
    
    
    
    /** ********************************************************************************
     * 文字列をn文字に短縮する。文字数は[...]込みで計算する。
     * 例えば、hogehogeを5文字に短縮すると[ho...]となる。
     */
    wak.shrinkStr = function(str, n) {
        if ( n < 4 ) { return false; }
        var result = str;
        if ( str.length > n-3 ) { result = str.substring(0,n-3) + '...'; }
        return result;
    }
    
    /** ********************************************************************************
     * 12月をアルファベットの略語に変換する。
     */
    wak.num2month = function(i) {
        var hasy = new Array();
        hasy['01'] = 'Jan';
        hasy['02'] = 'Feb';
        hasy['03'] = 'Mar';
        hasy['04'] = 'Apr';
        hasy['05'] = 'May';
        hasy['06'] = 'Jun';
        hasy['07'] = 'Jul';
        hasy['08'] = 'Aug';
        hasy['09'] = 'Sep';
        hasy['10'] = 'Oct';
        hasy['11'] = 'Nov';
        hasy['12'] = 'Dec';
        return hasy[i];
    }
    
    /** ********************************************************************************
     * 日時をFAT専用表記に変換する。
     * ※MTのupdated表記をそのまま引数に与えれば良い。
     */
    wak.modUpdated = function(str) {
        var yy = str.substring(0,4);
        var mm = str.substring(5,7);
        var dd = str.substring(8,10);
        var hour = str.substring(11,13);
        var min  = str.substring(14,16);
        mm = wak.num2month(mm);
        return hour+':'+min+' / '+dd+' '+mm+'. '+yy;
    }
    
    
    
    
    /** ********************************************************************************
     * 画像の本来の幅を求める。
     * fixme:古いOperaでの動作検証。
     */
    wak.getNWidth = function(img) {
        var imgNW = img.naturalWidth;
        //if ( (wak.userAgent == 'msie') || (typeof imgNW === 'undefined') ) {
        if ( imgNW === undefined ) {
            var mem = img.runtimeStyle.width; img.runtimeStyle.width = 'auto'; imgNW =  img.width; img.runtimeStyle.width = mem;
        }
        return imgNW;
    }
    
    /** ********************************************************************************
     * 画像の本来の高を求める。
     * fixme:古いOperaでの動作検証。
     */
    wak.getNHeight = function(img) {
        var imgNH = img.naturalHeight;
        //if ( (wak.userAgent == 'msie') || (typeof imgNH === 'undefined') ) {
        if ( imgNH === undefined ) {
            var mem = img.runtimeStyle.height; img.runtimeStyle.height = 'auto'; imgNH =  img.height; img.runtimeStyle.height = mem;
        }
        return imgNH;
    }
    
    
    
    
    /**
     * [html]をレンダリング時の幅と高を求める。
     * ※IEではレンダリングにタイムラグがあるため、取得後の処理を[遅延実行]しなければならない。
     * ※レンダリング負荷を軽減するため、幅と高を同時に求め、オブジェクトを返す。
     * ※onloadはレンダリング終了ではない。
     */
    wak.getRenderedWH = function(html,css,callback) {
        // 応答性を高めるために場面毎の最適化が必要。廃止。
    }
    
    
    
    
    /** ********************************************************************************
     * IE7
     */
    wak.misc = function() {
        if ( wak.userAgent == 'msie' ) {
            $( '#btn1' ).eq(0).css({top:'504px'});
        }
    }
    
    /** ********************************************************************************
    /** ********************************************************************************
    /** ********************************************************************************
    /** ********************************************************************************
    /** ********************************************************************************
    /** ********************************************************************************
    /** ********************************************************************************
    /** ********************************************************************************
    
    
    
    
    
    /**
     *
     */
    wak.adjustContentHeight = function() {
        // L
        var html = $( '#' + wak.pageCurrentID ).find( '.pageContentL' ).html();
        if ( html == null ) { html=''; }
        var renderTest = $( '<div id="renderTest">'+html+'</div>' )
        renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
        $( 'body' ).append( renderTest );
        var height = renderTest.height();
        renderTest.remove();
        if ( $( window ).height() > height ) { height = $( window ).height(); }
        
        // R
        var html = $( '#' + wak.pageCurrentID ).find( '.pageContentR' ).html();
        if ( html == null ) { html=''; }
        var renderTest = $( '<div id="renderTest">'+html+'</div>' )
        renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
        $( 'body' ).append( renderTest );
        var height2 = renderTest.height();
        renderTest.remove();
        if ( height2 > height ) { height = height2; }
        
        if (wak.ipad == 1) {
            height = $(window).height();
        }
        
        // adjust
        $( 'body' ).eq(0).css('height',height+'px'); // fixed:IE7対応
        setTimeout( function() {
            $( '#layerContainerA' ).eq(0).height( height );
            $( '#pageContainer' ).eq(0).height( height );
            $( '#pageContainerL' ).eq(0).height( height );
            $( '#pageContainerR' ).eq(0).height( height );
            $( '.page' ).height( height );
            $( ' .pageContentL' ).height( height );
            $( '#page7 .pageContentR' ).height( height );
            $( ' .pageContentL' ).height( height );
            $( '#page9 .pageContentR' ).height( height );
        }, 100 ); // fixed:IE7対応
    }
    
    
    
    
    
    
    
    
    
    
    wak.ieAcc = 'normal';
    /*
     * smoothScroll
     */
    wak.smoothScroll = function( id, context ) {
        wak.pageCurrentID = id;
        
        
        
        // google analytics
        /*
        // simple
        var virtualPage = '#'+id;
        _gaq.push(['_trackPageview', virtualPage]);
        */
        var virtualPage = '#';
        if ( id == 'page0' ) { virtualPage += 'index'; }
        if ( id == 'page1' ) { virtualPage += 'concept1'; }
        if ( id == 'page2' ) { virtualPage += 'concept2'; }
        if ( id == 'page3' ) { virtualPage += 'concept3'; }
        if ( id == 'page4' ) { virtualPage += 'gallery'; }
        if ( id == 'page9' ) { virtualPage += 'blog'; }
        if ( id == 'page10') { virtualPage += 'info'; }
        if ( id == 'page11') { virtualPage += 'shoplist'; }
        _gaq.push(['_trackPageview', virtualPage]);
        
        
        
        // 余計なオブジェクトの後始末があればここで行う。
        
        
        
        if ( wak.userAgent == 'msie'+wak.ieAcc ) {
            var position = $( '#' + id ).position().left;
            if ( context != 'resize' ) {
                $( 'div#layerContainerA div#pageContainer' ).stop().animate( {left:-1*wak.sliderRate['layerContainerA']*position}, wak.sliderTime['layerContainerA'], wak.sliderEasing['layerContainerA'], function() {
                    // タイミングを補正
                    var delay = wak.sliderTime['layerContainer0'] - wak.sliderTime['layerContainerA'];
                    setTimeout(function(){
                        var newURL = location.href.replace(/#.+/,'') + '#' + id;
                        wak.adjustContentHeight(); // fixed:IEのためにコールバック時に実行する。
                        location.href = newURL;
                        wak.refleshPageCurrentID();
                    },delay);
                } );
            }
        } else {
            var position = $( '#' + id ).position().left;
            if ( context != 'resize' ) {
                $( 'div#layerContainerA' ).stop().animate( {scrollLeft:wak.sliderRate['layerContainerA']*position}, wak.sliderTime['layerContainerA'], wak.sliderEasing['layerContainerA'], function() {
                    // タイミングを補正
                    var delay = wak.sliderTime['layerContainer0'] - wak.sliderTime['layerContainerA'];
                    setTimeout(function(){
                        var newURL = location.href.replace(/#.+/,'') + '#' + id;
                        wak.adjustContentHeight(); // fixed:IEのためにコールバック時に実行する。
                        location.href = newURL;
                        wak.refleshPageCurrentID();
                    },delay);
                } );
            }
        }
        
        
        
        var wH    = $( window ).height(),
            lW    = 0,
        $objs = $( 'div#layerContainer0 div.layer img.bgImg' );
        $.each( $objs, function() {
            var img     = $( this ).get(0);
                lW += $(img).width();
        } );
        $( 'div#layerContainer0 div.layer' ).eq(0).width( lW );
        $( 'div#layerContainer0 div.layer' ).eq(0).height( wH );
        $( 'div#layerContainer0' ).width( $(window).width() );
        
        
        
        var pageNum = parseInt( id.replace('page','') );
        var h1 = $( 'div#layerContainer0 div.layer' ).width();
        var h2 = $( 'div#layerContainer0' ).width();
        var scrollMax = h1 - h2;
        var position  = scrollMax * pageNum / (wak.pageLength-1);
        
        if ( wak.userAgent == 'msie'+wak.ieAcc ) {
            $( 'div#layerContainer0 div.layer' ).eq(0).css({position:'relative'});
            if ( context == 'resize' ) {
                $( 'div#layerContainer0 .layer' ).eq(0).stop().animate( {left:-1*wak.sliderRate['layerContainer0']*position}, 0 );
                $( 'div#layerContainerA div#pageContainer' ).stop().animate( {left:-1*wak.sliderRate['layerContainerA']*$( '#' + id ).position().left}, 0 );
            } else {
                $( 'div#layerContainer0 .layer' ).eq(0).stop().animate( {left:-1*wak.sliderRate['layerContainer0']*position}, wak.sliderTime['layerContainer0'], wak.sliderEasing['layerContainer0'] );
            }
        } else {
            if ( context == 'resize' ) {
                $( 'div#layerContainer0' ).stop().animate( {scrollLeft:wak.sliderRate['layerContainer0']*position}, 0 );
                $( 'div#layerContainerA' ).stop().animate( {scrollLeft:wak.sliderRate['layerContainerA']*$( '#' + id ).position().left}, 0 );
            } else {
                $( 'div#layerContainer0' ).stop().animate( {scrollLeft:wak.sliderRate['layerContainer0']*position}, wak.sliderTime['layerContainer0'], wak.sliderEasing['layerContainer0'] );
            }
        }
    }
    
    
    
    
    
    
    
    wak.initBackPos = function() {
        var id = wak.pageCurrentID;
        
        
        
//        wak.smoothScroll(id,'resize');
        
        var position = $( '#' + id ).position().left;
        if ( wak.userAgent == 'msie'+wak.ieAcc ) {
//            alert(id);
            var memID = id;
            location.href="#page0"; // IE7:位置関係のリセットが必用
            $( 'div#layerContainerA' ).css({position:'absolute',left:0,top:0,scrollLeft:0,overflow:'hidden'});
            $( 'div#layerContainerA' ).width( $(window).width() );
//            $( 'div#layerContainerA div#pageContainer' ).css({overflow:'hidden'})
            $( 'div#layerContainerA div#pageContainer .page' ).width( $(window).width() );
//            $( 'div#layerContainerA div#pageContainer .page' ).width( $(window).width()-2 );
//            $( 'div#layerContainerA div#pageContainer .page' ).css({border:'1px solid #FF0000'});
//            $( 'div#layerContainerA div#pageContainer' ).css({position:'absolute',left:0,top:0,scrollLeft:0});
//            $( 'div#layerContainerA div#pageContainer .page' ).css({position:'relative',left:0,top:0});
            $( 'div#layerContainerA div#pageContainer' ).stop().animate( {left:-1*wak.sliderRate['layerContainerA']*position}, 0);
//            window.location.reload();
//            alert(position+','+$( 'div#layerContainerA div#pageContainer .page' ).eq(2).width());
            location.href='#'+memID;
        } else {
            $( 'div#layerContainerA' ).stop().animate( {scrollLeft:wak.sliderRate['layerContainerA']*position}, 0);
        }
        
        
        
        var wH    = $( window ).height(),
            lW    = 0,
        $objs = $( 'div#layerContainer0 div.layer img.bgImg' );
        $.each( $objs, function() {
            var img     = $( this ).get(0);
                lW += $(img).width();
        } );
        $( 'div#layerContainer0 div.layer' ).eq(0).width( lW );
        $( 'div#layerContainer0 div.layer' ).eq(0).height( wH );
        $( 'div#layerContainer0' ).width( $(window).width() );
        
        var pageNum = parseInt( id.replace('page','') );
        var h1 = $( 'div#layerContainer0 div.layer' ).width();
        var h2 = $( 'div#layerContainer0' ).width();
        var scrollMax = h1 - h2;
        var position  = scrollMax * pageNum / (wak.pageLength-1);
        if ( wak.userAgent == 'msie'+wak.ieAcc ) {
            $( 'div#layerContainer0 div.layer' ).eq(0).css({position:'relative'});
            $( 'div#layerContainer0 .layer' ).eq(0).stop().animate( {left:-1*wak.sliderRate['layerContainer0']*position}, 0 );
        } else {
            $( 'div#layerContainer0' ).stop().animate( {scrollLeft:wak.sliderRate['layerContainer0']*position}, 0 );
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    /*
     *
     */
    wak.setArchives = function() {
        xmlURL = wak.archivesXML;
        function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject('Microsoft.XMLHTTP'); } }
        var receiveReq = getXmlHttpRequestObject();
        function refine( xmlRUL ) { if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open('GET', xmlURL, true); receiveReq.onreadystatechange = handle; receiveReq.send( null ); } }
        function handle() {
            if (receiveReq.readyState == 4) {
                var xml = receiveReq.responseXML;
                var elm = xml.getElementsByTagName( 'div' );
                var item = new Array();
                var idNum = 0;
                for ( var i=0,l=elm.length; i<l; i++ ) {
                    if( elm[ i ].getAttribute( 'class' ) == 'item' || elm[ i ].getAttribute("className") == 'item' ) {
                        item[ idNum++ ] = elm[ i ];
                    }
                }
                
                var html = ''; // archivesPageを構成
                for ( var i=0; i<idNum; i++ ) {
                    var elm = item[ i ].getElementsByTagName( 'div' );
                    var thumbURL    = '';
                    var detailURL   = '';
                    var description = '';
                    var price       = '';
                    var link        = '';
                    wak.aa[i] = new Object();
                    for ( var j=0,l=elm.length; j<l; j++ ) {
                        if ( elm[ j ].getAttribute( 'class' ) == 'thumbURL' || elm[ j ].getAttribute("className") == 'thumbURL' ) {
                            thumbURL = elm[ j ].textContent;
                            if ( !thumbURL ) { thumbURL = elm[ j ].text; }
                            wak.aa[i].thumbURL    = thumbURL;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'detailURL' || elm[ j ].getAttribute("className") == 'detailURL' ) {
                            detailURL = elm[ j ].textContent;
                            if ( !detailURL ) { detailURL = elm[ j ].text; }
                            wak.aa[i].detailURL   = detailURL;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'description' || elm[ j ].getAttribute("className") == 'description' ) {
                            description = elm[ j ].textContent;
                            if ( !description ) { description = elm[ j ].text; }
                            wak.aa[i].description   = description;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'price' || elm[ j ].getAttribute("className") == 'price' ) {
                            price = elm[ j ].textContent;
                            if ( !price ) { price = elm[ j ].text; }
                            wak.aa[i].price   = price;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'link' || elm[ j ].getAttribute("className") == 'link' ) {
                            link = elm[ j ].textContent;
                            if ( !link ) { link = elm[ j ].text; }
                            wak.aa[i].link   = link;
                        }
                    }
                    html += '<img class="cursorPointer" onclick="wak.archivesInProductWindow('+i+');" style="margin:8px 4px;" height="150" src="' + thumbURL + '" /><br />';
                }
                
                $( '#page7 .pageContent .pageContentR' ).eq(0).html( html );
                setTimeout( function() {
                    wak.adjustContentHeight();
                }, 300 );
            }
        }
        refine( xmlURL );
    }
    
    wak.archivesInProductWindow = function(i) {
        var html = '';
        html += '<div id="archivesWrapper">';
        html +=     '<div id="archivesContent">';
        html +=         '<div id="archivesContent0">';
        html +=         '</div>';
        html +=         '<div id="archivesContent1">';
        html +=             '<div style="text-align:center;"><img class="cursorPointer" onclick="wak.archivesSlideInProductWindow('+(i-1)+', \'up\');" src="./imgs/archives/archivesUp.png" /></div>';
        html +=             '<div style="text-align:center;"><img width="500" src="'+wak.aa[i].detailURL+'" /></div>';
        html +=             '<div style="text-align:center; margin-top:-30px; font-weight:900;">'+wak.aa[i].description+'</div>';
        html +=             '<div style="text-align:center; margin-top:20px;"><a href="'+wak.aa[i].link+'"><img src="./imgs/archives/buynow.png"></a></div>';
        html +=             '<div style="text-align:center; margin-top:60px;"><img class="cursorPointer" onclick="wak.archivesSlideInProductWindow('+(i+1)+', \'down\');" src="./imgs/archives/archivesDown.png" /></div>';
        html +=         '</div>';
        html +=         '<div id="archivesContent2">';
        html +=         '</div>';
        html +=     '</div>';
        html += '</div>';
        $( '#product' ).eq(0).html( html );
        
        $( '#archivesWrapper' ).css( {'overflow':'hidden',width:'600px',height:'2000px'} );
        $( '#archivesContent' ).css( {width:'600px',height:'6000px'} );
        $( '#archivesContent0' ).css( {width:'560px',height:'2000px'} );
        $( '#archivesContent1' ).css( {width:'560px',height:'2000px'} );
        $( '#archivesContent2' ).css( {width:'560px',height:'2000px'} );
        $( '#archivesWrapper' ).stop().animate( {scrollTop:2000}, 0 );
        if ( wak.ipad == 1 ) {
            $( '#archivesWrapper' ).css( {'overflow':'hidden',width:'600px',height:$(window).height()-80} )
            $( '#archivesContent' ).css( {width:'600px',height:'auto'} );
            $( '#archivesContent0' ).css( {width:'600px',height:'0px'} );
            $( '#archivesContent1' ).css( {width:'600px',height:'auto'} );
            $( '#archivesContent2' ).css( {width:'600px',height:'0px'} );
            $( '#archivesWrapper' ).stop().animate( {scrollTop:0}, 0 );
            //wak.iScrollable( 'archivesWrapper' );
            wak.iScrollableIncludeAdjustHeight('archives');
        }
    }
    
    wak.archivesSlideInProductWindow = function(i, direction) {
        if ( wak.ipad == 1 ) {
            $( '#archivesContent' ).css( {width:'600px',height:'6000px'} );
            $( '#archivesContent0' ).css( {width:'600px',height:'2000px'} );
            $( '#archivesContent1' ).css( {width:'600px',height:'2000px'} );
            $( '#archivesContent2' ).css( {width:'600px',height:'2000px'} );
            $( '#archivesWrapper' ).stop().animate( {scrollTop:2000}, 0 );
        }
        if ( direction == 'up' ) {
            if ( i < 0 ) { return false; }
            var index = i;
            var html = '';
        html +=             '<div style="text-align:center;"><img class="cursorPointer" onclick="wak.archivesSlideInProductWindow('+(i-1)+', \'up\');" src="./imgs/archives/archivesUp.png" /></div>';
        html +=             '<div style="text-align:center;"><img width="500" src="'+wak.aa[i].detailURL+'" /></div>';
        html +=             '<div style="text-align:center; margin-top:-30px; font-weight:900;">'+wak.aa[i].description+'</div>';
        html +=             '<div style="text-align:center; margin-top:20px;"><a href="'+wak.aa[i].link+'"><img src="./imgs/archives/buynow.png"></a></div>';
        html +=             '<div style="text-align:center; margin-top:60px;"><img class="cursorPointer" onclick="wak.archivesSlideInProductWindow('+(i+1)+', \'down\');" src="./imgs/archives/archivesDown.png" /></div>';
            $( '#archivesContent0' ).html( html );
            $( '#archivesWrapper' ).stop().animate( {scrollTop:0}, 2000, function() { wak.archivesInProductWindow(i); } );
        }
        if ( direction == 'down' ) {
            if ( i > wak.aa.length-1 ) { return false; }
            var index = i;
            var html = '';
        html +=             '<div style="text-align:center;"><img class="cursorPointer" onclick="wak.archivesSlideInProductWindow('+(i-1)+', \'up\');" src="./imgs/archives/archivesUp.png" /></div>';
        html +=             '<div style="text-align:center;"><img width="500" src="'+wak.aa[i].detailURL+'" /></div>';
        html +=             '<div style="text-align:center; margin-top:-30px; font-weight:900;">'+wak.aa[i].description+'</div>';
        html +=             '<div style="text-align:center; margin-top:20px;"><a href="'+wak.aa[i].link+'"><img src="./imgs/archives/buynow.png"></a></div>';
        html +=             '<div style="text-align:center; margin-top:60px;"><img class="cursorPointer" onclick="wak.archivesSlideInProductWindow('+(i+1)+', \'down\');" src="./imgs/archives/archivesDown.png" /></div>';
            $( '#archivesContent2' ).html( html );
            $( '#archivesWrapper' ).stop().animate( {scrollTop:4000}, 2000, function() { wak.archivesInProductWindow(i); } );
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    wak.markerOffset = 0;
    /*
    if ( wak.userAgent == 'msie'    ) { wak.markerOffset = 5; }
    if ( wak.userAgent == 'firefox' ) { wak.markerOffset = 4; }
    if ( wak.userAgent == 'safari'  ) { wak.markerOffset = 4; }
    if ( wak.userAgent == 'chrome'  ) { wak.markerOffset = 4; }
    if ( wak.userAgent == 'opera'   ) { wak.markerOffset = 5; }
    */
    
    
    /** ********************************************************************************
     * blogXMLを取得。
     */
    wak.setBlog = function() {
        xmlURL = wak.blogXML;
        function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject('Microsoft.XMLHTTP'); } }
        var receiveReq = getXmlHttpRequestObject();
        function refine( xmlRUL ) { if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open('GET', xmlURL, true); receiveReq.onreadystatechange = handle; receiveReq.send( null ); } }
        function handle() {
            if (receiveReq.readyState == 4) {
                var xml = receiveReq.responseXML;
                var elm = xml.getElementsByTagName( 'div' );
                var item = new Array();
                var idNum = 0;
                for ( var i=0,l=elm.length; i<l; i++ ) {
                    if( elm[ i ].getAttribute( 'class' ) == 'entry' || elm[ i ].getAttribute("className") == 'entry' ) {
                        item[ idNum++ ] = elm[ i ];
                    }
                }
                
                for ( var i=0; i<idNum; i++ ) {
                    var elm = item[ i ].getElementsByTagName( 'div' );
                    var topimage    = '';
                    var title       = '';
                    var updated     = '';
                    var description = ''; // class="content"
                    wak.ba[i] = new Object();
                    for ( var j=0,l=elm.length; j<l; j++ ) {
                        if ( elm[ j ].getAttribute( 'class' ) == 'topimage' || elm[ j ].getAttribute("className") == 'topimage' ) {
                            topimage = elm[ j ].textContent;
                            if ( !topimage ) { topimage = elm[ j ].text; }
                            wak.ba[i].topimage    = topimage;
// メイン画像が無い (='http://') 場合
if (jyafuberohajya == 1){
  if ( Math.random() < 0.2 ) { wak.ba[i].topimage = 'http://'; }
  if (wak.ba[i].topimage == 'http://') { wak.ba[i].topimage = 'http://www.fatyo.com/demo111029/imgs/noImage.png'; }
}

var noImage = 1;
if (wak.ba[i].topimage.match(/jpg/i)) { noImage = 0; }
if (wak.ba[i].topimage.match(/jpeg/i)) { noImage = 0; }
if (wak.ba[i].topimage.match(/png/i)) { noImage = 0; }
if (wak.ba[i].topimage.match(/gif/i)) { noImage = 0; }
if (wak.ba[i].topimage.match(/tif/i)) { noImage = 0; }
if (wak.ba[i].topimage.match(/bmp/i)) { noImage = 0; }
if (noImage == 1) { wak.ba[i].topimage = 'http://www.fatyo.com/imgs/noImage.png'; }
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'title' || elm[ j ].getAttribute("className") == 'title' ) {
                            title = elm[ j ].textContent;
                            if ( !title ) { title = elm[ j ].text; }
                            wak.ba[i].title   = title;
                            
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'updated' || elm[ j ].getAttribute("className") == 'updated' ) {
                            updated = elm[ j ].textContent;
                            if ( !updated ) { updated = elm[ j ].text; }
                            updated = wak.modUpdated(updated);
                            wak.ba[i].updated   = updated;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'content' || elm[ j ].getAttribute("className") == 'content' ) {
                            description = elm[ j ].textContent;
                            if ( !description ) { description = elm[ j ].text; }
                            wak.ba[i].description   = description;
                        }
                    }
                }
                wak.makeBlogIndex();
                wak.blogInArticleWindow(0);
            }
        }
        refine( xmlURL );
    }
    
    wak.makeBlogIndex = function() {
        var entries = 5; // recentの件数
        var archive = new Array();
        var entriesHTML = '';
        entriesHTML += '<hr/>';
        entriesHTML += '<img alt="ENTRIES" src="./imgs/blog/blogENTRIES.gif"/>';
        entriesHTML += '<br/><br/>';
        for ( var i=0; i<wak.ba.length; i++ ) {
            var topimage    = wak.ba[i].topimage;
            var title       = wak.shrinkStr( wak.ba[i].title, 18 );
            var updated     = wak.ba[i].updated;
            var description = wak.ba[i].description;
            var mmyy = updated.substring(11,20);
            
            if ( entries-- > 0 ) {
                entriesHTML += '<span class="cursorPointer blogENTRIESitem" onclick="wak.blogInArticleWindow('+i+');" style="">'+title+'</span><br />';
            }
            if ( !archive[mmyy] ) { archive[mmyy] = ''; }
            archive[mmyy] += '<span class="cursorPointer blogARCHIVEitem" onclick="wak.blogInArticleWindow('+i+');" style="">'+title+'</span><br />';
        }
        
        var archiveHTML = '';
        archiveHTML += '<br/><br/><hr/>';
        archiveHTML += '<img alt="ARCHIVE" src="./imgs/blog/blogARCHIVE.gif" />';
        archiveHTML += '<br/><br/>';
        for ( var key in archive ) {
            archiveHTML += '<div class="cursorPointer" class="blogArchive" onclick="$(\'.inner\').css({display:\'none\'}); $(this).find(\'.inner\').css({display:\'block\'});">'+'<span class="blogARCHIVEmonth" style="">'+key+'</span>'; // div要素にblogARCHIVEmonthのclass属性値をふると、下層にもスタイルを重畳適用できる。
            archiveHTML +=     '<div class="inner" style="display:none;">';
            archiveHTML +=         archive[key];
            archiveHTML +=     '</div>';
            archiveHTML += '</div>';
        }
        
        $( '#page9 .pageContent .pageContentR' ).eq(0).html( entriesHTML + archiveHTML );
        setTimeout( function() {
            wak.adjustContentHeight();
        }, 300 );
        
        // overを持たせる
        $('.blogENTRIESitem').bind('mouseover',function(){$(this).addClass('blogIndexHasAPointer');});
        $('.blogENTRIESitem').bind('mouseout',function(){$(this).removeClass('blogIndexHasAPointer');});
        $('.blogARCHIVEitem').bind('mouseover',function(){$(this).addClass('blogIndexHasAPointer');});
        $('.blogARCHIVEitem').bind('mouseout',function(){$(this).removeClass('blogIndexHasAPointer');});
        $('.blogARCHIVEmonth').bind('mouseover',function(){$(this).addClass('blogIndexHasAPointer');});
        $('.blogARCHIVEmonth').bind('mouseout',function(){$(this).removeClass('blogIndexHasAPointer');});
        
    }
    
    wak.setBlogMarkerAction = function(i) {
        $('#blogMarker1').mouseover(function(){$(this).attr('src',$(this).attr('src').replace(/_default/,'_over'));});$('#blogMarker1').mouseout(function(){$(this).attr('src',$(this).attr('src').replace(/_over/,'_default'));});$('#blogMarker1').mousedown(function(){if(wak.killBlogSlide == 0){$(this).attr('src',$(this).attr('src').replace(/_default/,'_on'));$(this).attr('src',$(this).attr('src').replace(/_over/,'_on'));}});$('#blogMarker1').mouseup(function(){$(this).attr('src',$(this).attr('src').replace(/_on/,'_over'));});
        $('#blogMarker2').mouseover(function(){$(this).attr('src',$(this).attr('src').replace(/_default/,'_over'));});$('#blogMarker2').mouseout(function(){$(this).attr('src',$(this).attr('src').replace(/_over/,'_default'));});$('#blogMarker2').mousedown(function(){if(wak.killBlogSlide == 0){$(this).attr('src',$(this).attr('src').replace(/_default/,'_on'));$(this).attr('src',$(this).attr('src').replace(/_over/,'_on'));}});$('#blogMarker2').mouseup(function(){$(this).attr('src',$(this).attr('src').replace(/_on/,'_over'));});
        if ( i==0 ) {$( '#blogMarker1' ).css({opacity:0});$( '#blogMarker1' ).unbind('mouseover');$( '#blogMarker1' ).unbind('mouseout');$( '#blogMarker1' ).unbind('mousedown');$( '#blogMarker1' ).unbind('mouseup');$( '#blogMarker1' ).attr('class','');}
        if ( i==wak.ba.length-1 ) {$( '#blogMarker2' ).css({opacity:0});$( '#blogMarker2' ).unbind('mouseover');$( '#blogMarker2' ).unbind('mouseout');$( '#blogMarker2' ).unbind('mousedown');$( '#blogMarker2' ).unbind('mouseup');$( '#blogMarker2' ).attr('class','');}
    }
    
    wak.getBlogTitle = function(i) {
        var html = '';
        html +=                 '<div style="margin:10px 40px 0px 40px; font-weight:400; font-size:25px; line-height:25px; height:25px;">'+wak.ba[i].title+'</div>';
        html +=                 '<div style="margin:10px 40px 20px 40px; font-weight:900; font-size:12px;">'+wak.ba[i].updated+'</div>';
        return html;
    }
    
    wak.getBlogDetail = function(i) {
        var html = '';
        html +=                 '<div style="margin:20px 20px 20px 20px; font-size:10px;">'+wak.ba[i].description+'</div>';
        return html;
    }
    
    wak.getBlogContent = function(i) {
        var html = '';
        html +=             '<div id="blogAddTitle">';
        html +=                 wak.getBlogTitle(i);
        html +=             '</div>';
        if ( (i-1 >= 0 ) && (wak.ba[i-1].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png')) {
            // 画像なし
            html +=         '<div style="text-align:center; margin-bottom:-32px; position:relative; z-Index:1;">';
            html +=             '<img class="cursorPointer" id="blogMarker1" style="z-index:1;" onclick="wak.blogSlideInArticleWindow('+(i-1)+', \'fade\');" src="./imgs/blog/blogUp_default.png" />';
            html +=         '</div>';
        } else {
            // 画像あり
            html +=         '<div style="text-align:center; margin-bottom:-32px; position:relative; z-Index:1;">';
            html +=             '<img class="cursorPointer" id="blogMarker1" style="z-index:1;" onclick="wak.blogSlideInArticleWindow('+(i-1)+', \'up\');" src="./imgs/blog/blogUp_default.png" />';
            html +=         '</div>';
        }
        if (wak.ba[i].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png') {
            // 画像なし
        } else {
            // 画像あり
        }
        html +=             '<div style="z-index:0; overflow:hidden;" id="blogAddMainImgSlider">';
        html +=                 '<div id="blogAddMainImgSliderContent" style="width:560;height:auto;margin-left:20px;">';
        html +=                     '<img style="float:left;" width="560" src="'+wak.ba[i].topimage+'" />';
        html +=                 '</div>';
        html +=             '</div>';
        if (wak.ba[i].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png') {
            // 画像なし
        } else {
            // 画像あり
            if ( (i+1 < wak.ba.length) && (wak.ba[i+1].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png')) {
                html +=     '<div style="text-align:center; margin-top:-32px;">';
                html +=         '<img class="cursorPointer" id="blogMarker2" style="" onclick="wak.blogSlideInArticleWindow('+(i+1)+', \'fade\');" src="./imgs/blog/blogDown_default.png" />';
                html +=     '</div>';
            } else {
                html +=     '<div style="text-align:center; margin-top:-32px;">';
                html +=         '<img class="cursorPointer" id="blogMarker2" style="" onclick="wak.blogSlideInArticleWindow('+(i+1)+', \'down\');" src="./imgs/blog/blogDown_default.png" />';
                html +=     '</div>';
            }
        }
        if (wak.ba[i].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png') {
            // 画像なし
            html +=         '<div style="height:32px"></div>';
        } else {
            // 画像あり
        }
        html +=             '<div id="blogAddDetail">';
        html +=                 wak.getBlogDetail(i);
        html +=             '</div>';
        if (wak.ba[i].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png') {
            // 画像なし
            html +=         '<div style="height:32px"></div>';
        } else {
            // 画像あり
        }
        if (wak.ba[i].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png') {
            // 画像なし
            if ( (i+1 < wak.ba.length) && (wak.ba[i+1].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png')) {
                html +=     '<div style="text-align:center; margin-top:-32px;">';
                html +=         '<img class="cursorPointer" id="blogMarker2" style="" onclick="wak.blogSlideInArticleWindow('+(i+1)+', \'fade\');" src="./imgs/blog/blogDown_default.png" />';
                html +=     '</div>';
            } else {
                html +=     '<div style="text-align:center; margin-top:-32px;">';
                html +=         '<img class="cursorPointer" id="blogMarker2" style="" onclick="wak.blogSlideInArticleWindow('+(i+1)+', \'down\');" src="./imgs/blog/blogDown_default.png" />';
                html +=     '</div>';
            }
        } else {
            // 画像あり
        }
        html +=         '</div>';
        return html;
    }
    
    wak.blogInArticleWindow = function(i) {
        var html = '';
        html += '<div id="blogWrapper">';
        html +=     '<div id="blogContent">';
        ////////////////////////////////
        html +=             wak.getBlogContent(i);
        ////////////////////////////////
        html +=     '</div>';
        html += '</div>';
        
        //IEのDOMとid取得の関係に対応する
        html = html.replace(/blogAddMainImgSliderContent/,'test_blogAddMainImgSliderContent');
        
        var renderTest = $( '<div id="renderTest"></div>' );
        renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
        $( 'body' ).append( renderTest );
        document.getElementById('renderTest').innerHTML = html;
        
        var img = new Image();
        if (wak.userAgent == 'msie') {
            img.src = $('#renderTest #test_blogAddMainImgSliderContent img').eq(0).attr('src') + "?"+ new Date().getTime();
        } else {
            img.src = $('#renderTest #test_blogAddMainImgSliderContent img').eq(0).attr('src');
        }
        img.onload = function(){
            var hhh = $('#renderTest #test_blogAddMainImgSliderContent img').eq(0).height();
            renderTest.remove();
            
            html = html.replace(/test_blogAddMainImgSliderContent/,'blogAddMainImgSliderContent');
            // 以下3行ではIEでよろしくない
            //$html = $(html);
            //$html.find('#blogAddMainImgSliderContent').height(hhh);
            //$( '#article' ).eq(0).html( $html );
            
            // 上記3行の代替
            html = html.replace(/blogAddMainImgSliderContent" style="width:560;height:auto/gi,'blogAddMainImgSliderContent" style="width:560;height:'+hhh+'px');
            $( '#article' ).eq(0).html( html );
            
            
            wak.setBlogMarkerAction(i);
            
//            $( '#blogWrapper' ).css( {'overflow':'hidden',width:'600px',height:'2000px'} );
//            $( '#blogContent' ).css( {width:'600px',height:'6000px'} );
            $( '#blogWrapper' ).css( {'overflow':'hidden',width:'600px',height:'auto'} );
            $( '#blogContent' ).css( {width:'600px',height:'auto'} );
            var hh = 1.5 * $( '#blogContent' ).height();
            
            //// 過去記事にアクセスできなくなる可能性があるので、一定の高さを確保する。高さはメニューから計算する。
            var lowerHHH = 0;
            $.each( $('#page9 div.pageContentR .inner'), function(){
                var l = $(this).find('span').length;
                if ( lowerHHH < l ) { lowerHHH = l; }
            });
            lowerHHH = 500+24*(lowerHHH + $('#page9 div.pageContentR .inner').length);
            if (hh < lowerHHH) { hh=lowerHHH; }
            ////
            
            $( '#blogContent' ).css( {width:'600px',height:hh+'px'} );
            $( '#blogWrapper' ).stop().animate( {scrollTop:0}, 0 );
            setTimeout( function() {
                wak.adjustContentHeight();
            }, 300 );
            
            if ( wak.ipad == 1 ) {
                $( '#blogWrapper' ).css( {'overflow':'hidden',width:'600px',height:$(window).height()-80} )
                $( '#blogContent' ).css( {width:'600px',height:'auto'} );
                $( '#blogWrapper' ).stop().animate( {scrollTop:0}, 0 );
                //wak.iScrollable( 'blogWrapper' );
                wak.iScrollableIncludeAdjustHeight('blog');
            }
            
            $('#blogAddDetail img').width(560);
        }
    }
    
    wak.killBlogSlide = 0;
    wak.blogSlideInArticleWindow = function(i, direction) {
        if ( i<0 ) { return false; }
        if ( i>=wak.ba.length ) { return false;}
        
        if(wak.killBlogSlide != 0) {return;}
        wak.killBlogSlide = 1;
        
        if ( wak.ipad == 1 ) {
//            $( '#blogContent' ).css( {width:'600px',height:'6000px'} );
//            $( '#blogWrapper' ).stop().animate( {scrollTop:2000}, 0 );
        }
        
        var iii=i;
        if ( i < 0 ) { iii = wak.ba.length-1; }
        if ( i > wak.ba.length-1 ) { iii = 0; }
        var imgObj = new Image();
        if ( navigator.userAgent.toLowerCase().indexOf("msie") != -1 ) { imgObj.src = wak.ba[iii].topimage + "?"+ new Date().getTime(); }
        else { imgObj.src = wak.ba[iii].topimage; }
        
        $('#blogAddDetail').css({opacity:0});
        $('#blogAddTitle').css({opacity:0});
//        $('#blogAddDetail').animate({opacity:0.5},0);
        
        var from = i;
        if ( direction == 'up') { from++; }
        if ( direction == 'down') { from--; }
        
        if ( i < 0 ) { i = wak.ba.length-1; }
        if ( i > wak.ba.length-1 ) { i = 0; }
        
        // fixme:タイミング変更
        if ( i>from) {
            $( '#blogMarker1' ).animate({opacity:1},200); //$( '#blogMarker1' ).css({opacity:1});
            $( '#blogMarker1' ).attr('class','cursorPointer');
            if ( i==wak.ba.length-1 ) {
                $( '#blogMarker2' ).animate({opacity:0},200); //$( '#blogMarker2' ).css({opacity:0});
                $( '#blogMarker2' ).attr('class','');
            }
        }
        if ( i<from) {
            if ( i==0 ) {
                $( '#blogMarker1' ).animate({opacity:0},200); //$( '#blogMarker1' ).css({opacity:0});
                $( '#blogMarker1' ).attr('class','');
            }
            $( '#blogMarker2' ).animate({opacity:1},200); //$( '#blogMarker2' ).css({opacity:1});
            $( '#blogMarker2' ).attr('class','cursorPointer');
        }
        
        imgObj.onload = function(){
            var HTML = '';
//            HTML += '<div style="text-align:center; z-index:0; overflow:hidden;" id="blogAddMainImgSlider"><div id="blogAddMainImgSliderContent" style="width:560px;height:auto"><img style="" width="560" src="'+wak.ba[iii].topimage+'" /></div></div>';
            HTML += '<div><img style="border:none;" width="560" src="'+wak.ba[iii].topimage+'" /></div>';
            var renderTest = $( '<div id="renderTest">'+HTML+'</div>' );
            renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px',fontFamily:'Oswald'});
            $( '#page9' ).append( renderTest );
            var appendTTT = 50;
            setTimeout(function(){
                var hhh = renderTest.height(); // fixme:フォントによる高さの違いを吸収する
                hhh = renderTest.find('img').eq(0).height();
                ////////// (ここから)メイン画像の高さを決める…マーカーの位置が決まる…でバッグ上の重要なステップ
                // hhhが適正値より大きければ、下部のマーカが本来よりも下方向へズレる。これを修正する。
                var hhhArray = new Array();
                var hhhRetry = 0;
                var hhhRetryTTT = 10;
                if ( wak.userAgent == 'msie' ) { hhhRetryTTT = 30; }
                var hhhTID = setInterval(function(){
                    hhhArray[hhhRetry] = renderTest.find('img').eq(0).height();
                    //$('#renderTest').html(HTML);
                    if ( hhhRetry > 2 ) {
                        if ( ( hhhRetry > 30 ) || ( (hhhArray[hhhRetry] == hhhArray[hhhRetry-1]) && (hhhArray[hhhRetry-1] == hhhArray[hhhRetry-2]) && (hhhArray[hhhRetry-2] == hhhArray[hhhRetry-3]) ) ) {
                            hhh = hhhArray[hhhRetry];
                            clearInterval(hhhTID);
                
                
                
                
                var waitTTT = 1;
                setTimeout(function(){
                    renderTest.remove();
//alert( '1:'+$('#blogAddMainImgSlider').height()/hhh );
                    //$( '#blogAddMainImgSlider' ).css({height:hhh+'px'});
                    
//alert( '2:'+$('#blogAddMainImgSlider').height()/hhh );
                    
                    $( '#blogAddDetail' ).html( wak.getBlogDetail(i) );
                    $( '#blogAddTitle' ).html( wak.getBlogTitle(i) );
                    $('#blogAddDetail img').width(560);
//alert( '3:'+$('#blogAddMainImgSlider').height()/hhh );
                    $( '#blogAddTitle' ).animate({opacity:1},800,'linear');
                    $( '#blogAddDetail' ).delay(10).animate({opacity:1},800,'linear',function(){
                        // reflesh
//alert( '4:'+$('#blogAddMainImgSlider').height()/hhh );
                        $('#blogContent').html( wak.getBlogContent(i) );////
                        
                        if(wak.ipad==0){
                            $( '#blogWrapper' ).css( {'overflow':'hidden',width:'600px',height:'auto'} );
                            $( '#blogContent' ).css( {width:'600px',height:'auto'} );
                            var hh = 1.5 * $( '#blogContent' ).height();
                            $( '#blogContent' ).height(hh);
                            setTimeout( function() {
                                wak.adjustContentHeight();
                            }, 300 );
                            //alert($( '#blogContent' ).height());
                        }
                        
                        ////$('#blogAddMainImgSliderContent').height(hhh); //// ここがバグの元と推定
                        ////////// debug patch(ここから)
                        // hhhが適正値より大きければ、下部のマーカが本来よりも下方向へズレる。これを修正する。
                        $('#blogAddMainImgSliderContent').css({height:'auto'});
                        $( '#blogAddMainImgSlider' ).css({height:'auto'});
                        ////////// debug patch(ここまで)
                        
                        if(wak.ipad==1){
                            $('#blogWrapper').html( $('#blogWrapper').html() );
                        }
                        $('#blogAddDetail img').width(560);
                        
                        wak.setBlogMarkerAction(i);
//                        wak.iScrollableIncludeAdjustHeight2('blog');
                        
                        if(wak.ipad==1){
                            wak.iScrollableIncludeAdjustHeight3('blog');
                        }
                        wak.killBlogSlide = 0;
//$( '#blogAddMainImgSlider' ).css({border:'1px solid #FF0000'});
                    });
                    
                    // 2011/11/16仕様変更
                    //if (wak.ba[i].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png') { $('#blogMarker1').css({opacity:0.0}); $('#blogMarker2').css({opacity:0.0}); }
                    if ( direction == 'up' ) {
                        var nextImg = '';
                        nextImg += '<div style="padding:0;width:560px; height:auto;">';
                        nextImg +=     '<img style="float:left;" width="560" src="'+wak.ba[i].topimage+'" />';
                        nextImg +=     '<img width="560" src="'+wak.ba[from].topimage+'" />';
                        nextImg += '</div>'; //spacer Upper
                        $nextImg = $(nextImg);
//alert('test');
                        $( '#blogAddMainImgSliderContent' ).html( $nextImg );
                        var h0 =  $nextImg.find('img').eq(0).height();
                        var h1 =  $nextImg.find('img').eq(1).height();
//h0++;
                        //$( '#blogAddMainImgSlider' ).css({height:h0,overflow:'hidden',marginBottom:wak.markerOffset+'px'}); // fixme:
                        $( '#blogAddMainImgSlider' ).css({height:h0,overflow:'hidden'}); // fixme:
//alert('test');
                        $( '#blogAddMainImgSliderContent' ).css({height:h0+h1});
                        $( '#blogAddMainImgSlider' ).scrollTop(h0);
                        
                        $( '#blogAddMainImgSlider' ).animate({scrollTop:0}, 600, 'easeOutQuint', function(){
                            // fixme:画像サイズ調整をここに入れる。
                            $('#blogAddDetail img').width(560);
                        });
                    }
                    if ( direction == 'down' ) {
                        var nextImg = '';
                        nextImg += '<div style="padding:0;width:560px; height:auto;">';
                        nextImg +=     '<img style="float:left;" width="560" src="'+wak.ba[from].topimage+'" />'; //spacer Upper
                        nextImg +=     '<img width="560" src="'+wak.ba[i].topimage+'" />';
                        nextImg += '</div>'; //spacer Upper
                        $nextImg = $(nextImg);
//alert('test');
                        $( '#blogAddMainImgSliderContent' ).html( $nextImg );
                        var h0 =  $nextImg.find('img').eq(0).height();
                        var h1 =  $nextImg.find('img').eq(1).height();
//h0++;
                        //$( '#blogAddMainImgSlider' ).css({height:h0,overflow:'hidden',marginBottom:wak.markerOffset+'px'}); // fixme:
                        $( '#blogAddMainImgSlider' ).css({height:h0,overflow:'hidden'}); // fixme:
//alert('test');
                        $( '#blogAddMainImgSliderContent' ).css({height:h0+h1});
                        $( '#blogAddMainImgSlider' ).scrollTop(0);
                        
                        $( '#blogAddMainImgSlider' ).animate({scrollTop:h0}, 600, 'easeOutQuint', function(){
                            // fixme:画像サイズ調整をここに入れる。
                            $('#blogAddDetail img').width(560);
                        });
                    }
                    $('#blogAddDetail img').width(560);
                },waitTTT);
                
                
                
                
                        }
                    }
                    hhhRetry++;
                },hhhRetryTTT);
                ////////// (ここまで)メイン画像の高さを決める…マーカーの位置が決まる…でバッグ上の重要なステップ
                
                /*
                var waitTTT = 1;
                setTimeout(function(){
                    renderTest.remove();
//alert( '1:'+$('#blogAddMainImgSlider').height()/hhh );
                    //$( '#blogAddMainImgSlider' ).css({height:hhh+'px'});
                    
//alert( '2:'+$('#blogAddMainImgSlider').height()/hhh );
                    
                    $( '#blogAddDetail' ).html( wak.getBlogDetail(i) );
                    $( '#blogAddTitle' ).html( wak.getBlogTitle(i) );
                    $('#blogAddDetail img').width(560);
//alert( '3:'+$('#blogAddMainImgSlider').height()/hhh );
                    $( '#blogAddTitle' ).animate({opacity:1},800,'linear');
                    $( '#blogAddDetail' ).delay(10).animate({opacity:1},800,'linear',function(){
                        // reflesh
//alert( '4:'+$('#blogAddMainImgSlider').height()/hhh );
                        $('#blogContent').html( wak.getBlogContent(i) );////
                        
                        if(wak.ipad==0){
                            $( '#blogWrapper' ).css( {'overflow':'hidden',width:'600px',height:'auto'} );
                            $( '#blogContent' ).css( {width:'600px',height:'auto'} );
                            var hh = 1.5 * $( '#blogContent' ).height();
                            $( '#blogContent' ).height(hh);
                            setTimeout( function() {
                                wak.adjustContentHeight();
                            }, 300 );
                            //alert($( '#blogContent' ).height());
                        }
                        
                        $('#blogAddMainImgSliderContent').height(hhh);
                        ////////// debug patch(ここから)
                        // hhhが適正値より大きければ、下部のマーカが本来よりも下方向へズレる。これを修正する。
                        ////////// debug patch(ここまで)
                        
                        if(wak.ipad==1){
                            $('#blogWrapper').html( $('#blogWrapper').html() );
                        }
                        $('#blogAddDetail img').width(560);
                        
                        wak.setBlogMarkerAction(i);
//                        wak.iScrollableIncludeAdjustHeight2('blog');
                        
                        if(wak.ipad==1){
                            wak.iScrollableIncludeAdjustHeight3('blog');
                        }
                        wak.killBlogSlide = 0;
                    });
                    
                    // 2011/11/16仕様変更
                    //if (wak.ba[i].topimage == 'http://www.fatyo.com/demo111029/imgs/noImage.png') { $('#blogMarker1').css({opacity:0.0}); $('#blogMarker2').css({opacity:0.0}); }
                    if ( direction == 'up' ) {
                        var nextImg = '';
                        nextImg += '<div style="padding:0;width:560px; height:auto;">';
                        nextImg +=     '<img style="float:left;" width="560" src="'+wak.ba[i].topimage+'" />';
                        nextImg +=     '<img width="560" src="'+wak.ba[from].topimage+'" />';
                        nextImg += '</div>'; //spacer Upper
                        $nextImg = $(nextImg);
                        $( '#blogAddMainImgSliderContent' ).html( $nextImg );
                        var h0 =  $nextImg.find('img').eq(0).height();
                        var h1 =  $nextImg.find('img').eq(1).height();
                        $( '#blogAddMainImgSliderContent' ).css({height:h0+h1});
                        $( '#blogAddMainImgSlider' ).css({height:h0,overflow:'hidden',marginBottom:wak.markerOffset+'px'}); // fixme:
                        $( '#blogAddMainImgSlider' ).scrollTop(h0);
                        
                        $( '#blogAddMainImgSlider' ).animate({scrollTop:0}, 600, 'easeOutQuint', function(){
                            // fixme:画像サイズ調整をここに入れる。
                            $('#blogAddDetail img').width(560);
                        });
                    }
                    if ( direction == 'down' ) {
                        var nextImg = '';
                        nextImg += '<div style="padding:0;width:560px; height:auto;">';
                        nextImg +=     '<img style="float:left;" width="560" src="'+wak.ba[from].topimage+'" />'; //spacer Upper
                        nextImg +=     '<img width="560" src="'+wak.ba[i].topimage+'" />';
                        nextImg += '</div>'; //spacer Upper
                        $nextImg = $(nextImg);
                        $( '#blogAddMainImgSliderContent' ).html( $nextImg );
                        var h0 =  $nextImg.find('img').eq(0).height();
                        var h1 =  $nextImg.find('img').eq(1).height();
                        $( '#blogAddMainImgSliderContent' ).css({height:h0+h1});
                        $( '#blogAddMainImgSlider' ).css({height:h0,overflow:'hidden',marginBottom:wak.markerOffset+'px'}); // fixme:
                        $( '#blogAddMainImgSlider' ).scrollTop(0);
                        
                        $( '#blogAddMainImgSlider' ).animate({scrollTop:h0}, 600, 'easeOutQuint', function(){
                            // fixme:画像サイズ調整をここに入れる。
                            $('#blogAddDetail img').width(560);
                        });
                    }
                    $('#blogAddDetail img').width(560);
                },waitTTT);
                */
            },appendTTT); // 50
        }
    }
    
    
    
    
    
    
    
    
    wak.infoMarkerOffset = 0;
    if ( navigator.userAgent.toLowerCase().indexOf( 'msie' ) != -1 ) { }
    if ( navigator.userAgent.toLowerCase().indexOf( 'firefox' ) != -1 ) { }
    if ( navigator.userAgent.toLowerCase().indexOf( 'chrome' ) != -1 ) { wak.infoMarkerOffset = 20; }
    if ( navigator.userAgent.toLowerCase().indexOf( 'safari' ) != -1 ) { wak.infoMarkerOffset = 20; }
    if ( navigator.userAgent.toLowerCase().indexOf( 'opera' ) != -1 ) { wak.infoMarkerOffset = 8; }
    
    
    /*
     *
     */
    wak.setInfo = function() {
        xmlURL = wak.infoXML;
        function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject('Microsoft.XMLHTTP'); } }
        var receiveReq = getXmlHttpRequestObject();
        function refine( xmlRUL ) { if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open('GET', xmlURL, true); receiveReq.onreadystatechange = handle; receiveReq.send( null ); } }
        function handle() {
            if (receiveReq.readyState == 4) {
                var xml = receiveReq.responseXML;
                var elm = xml.getElementsByTagName( 'div' );
                var item = new Array();
                var idNum = 0;
                for ( var i=0,l=elm.length; i<l; i++ ) {
                    if( elm[ i ].getAttribute( 'class' ) == 'entry' || elm[ i ].getAttribute("className") == 'entry' ) {
                        item[ idNum++ ] = elm[ i ];
                    }
                }
                
                var html = ''; // infoPageを構成
                html = '';
                var entries = 5; // recentの件数
                var archive = new Array();
                var mmyy;
                for ( var i=0; i<idNum; i++ ) {
                    var elm = item[ i ].getElementsByTagName( 'div' );
                    var title       = '';
                    var updated     = '';
                    var description = ''; // class="content"
                    wak.ia[i] = new Object();
                    for ( var j=0,l=elm.length; j<l; j++ ) {
                        if ( elm[ j ].getAttribute( 'class' ) == 'title' || elm[ j ].getAttribute("className") == 'title' ) {
                            title = elm[ j ].textContent;
                            if ( !title ) { title = elm[ j ].text; }
                            // fixme:titleを短縮するならここ
                            wak.ia[i].title   = title;
                            //title = wak.shrinkStr( title, 22 ); // fixme:titleを右リストでの「のみ」短縮するならここ
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'updated' || elm[ j ].getAttribute("className") == 'updated' ) {
                            updated = elm[ j ].textContent;
                            if ( !updated ) { updated = elm[ j ].text; }
                            ddmm = updated.substring(8,10) + ' ' + wak.num2month( updated.substring(5,7) ).toUpperCase() + '.';
                            updated = ddmm; //wak.modUpdated(updated); // fixme:更新日時の整形はここ
                            wak.ia[i].updated   = updated;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'content' || elm[ j ].getAttribute("className") == 'content' ) {
                            description = elm[ j ].textContent;
                            if ( !description ) { description = elm[ j ].text; }
                            wak.ia[i].description   = description;
                        }
                    }
                }
                wak.infoInArticleWindow(0);
            }
        }
        refine( xmlURL );
    }
    
    wak.setInfoMarker = function() {
            $('#infoMarker1').mouseover(function(){
                $(this).attr('src',$(this).attr('src').replace(/_default/,'_over'));
            });
            $('#infoMarker1').mouseout(function(){
                $(this).attr('src',$(this).attr('src').replace(/_over/,'_default'));
            });
            $('#infoMarker1').mousedown(function(){
                $(this).attr('src',$(this).attr('src').replace(/_default/,'_on'));
                $(this).attr('src',$(this).attr('src').replace(/_over/,'_on'));
            });
            $('#infoMarker1').mouseup(function(){
                $(this).attr('src',$(this).attr('src').replace(/_on/,'_over'));
            });
            $('#infoMarker2').mouseover(function(){
                $(this).attr('src',$(this).attr('src').replace(/_default/,'_over'));
            });
            $('#infoMarker2').mouseout(function(){
                $(this).attr('src',$(this).attr('src').replace(/_over/,'_default'));
            });
            $('#infoMarker2').mousedown(function(){
                $(this).attr('src',$(this).attr('src').replace(/_default/,'_on'));
                $(this).attr('src',$(this).attr('src').replace(/_over/,'_on'));
            });
            $('#infoMarker2').mouseup(function(){
                $(this).attr('src',$(this).attr('src').replace(/_on/,'_over'));
            });
            
            
            // 場所的にad-hoc
            $('.infoExtraItem').unbind('mouseover').bind('mouseover',function(){
                $(this).addClass('over');
            });
            $('.infoExtraItem').unbind('mouseout').bind('mouseout',function(){
                $(this).removeClass('over');
            });
            
    }
    // Updated, Title, Description
    wak.getInfoUTD = function(i) {
        var html = '';
        html +=             '<div style="margin-bottom:8px;  line-height:54px; font-wight:900; font-size:54px;" class="infoUpdated">'+wak.ia[i].updated+'</div>';
        html +=             '<div style="margin-bottom:32px; line-height:20px; font-size:20px;" class="infoTitle">'+wak.ia[i].title+'</div>';
        html +=             '<div style="font-size:10px;" class="infoDescription">'+wak.ia[i].description+'</div>';
        return html;
    }
    wak.getInfoBody = function(i) {
        var html = '';
        html +=         '<div style="text-align:center; margin-bottom:10px;">';
        html +=             '<img class="cursorPointer" id="infoMarker1" style="z-index:10;" onclick="wak.infoSlideInArticleWindow('+(i-1)+', \'up\');" src="./imgs/info/infoUp_default.png" />';
        html +=         '</div>';
        html +=         '<div id="infoMainItem" style="padding-top:10px; padding-bottom:10px; border:;">';
        html +=           '<div id="infoMainItemOpacity">';
        html +=             '<div style="height:10px;">　</div>';
        
        html += wak.getInfoUTD(i);
        
        html +=           '</div>';
        html +=         '</div>';
        html +=         '<div style="text-align:center; margin-top:20px; margin-bottom:20px;">';
        html +=             '<img class="cursorPointer" id="infoMarker2" style="" onclick="wak.infoSlideInArticleWindow('+(i+1)+', \'down\');" src="./imgs/info/infoDown_default.png" />';
        html +=         '</div>';
        html +=         '<div id="infoExtraItems">';
        html +=           '<div id="infoExtraItemsScroller">';
        for ( var j=i+1; j<10; j++ ) {
//                html +=     '<div class="infoExtraItem">';
//                html +=         '<span onclick="" style="font-wight:900; font-size:22px;"  class="infoUpdated">'+wak.ia[j].updated+'</span><br />';
//                html +=         '<span onclick="" style="font-size:12px;" class="infoTitle">'+wak.ia[j].title+'</span><br/><div style=" margin-bottom:20px;"></div>';
//                html +=     '</div>';
                html +=     '<div class="infoExtraItem cursorPointer" onclick="wak.infoInArticleWindow('+j+');$(window).scrollTop(0);">';
                html +=         '<span onclick="" style="font-wight:900; font-size:22px;"  class="infoUpdated">'+wak.ia[j].updated+'</span><br />';
                html +=         '<span onclick="" style="font-size:12px;" class="infoTitle">'+wak.ia[j].title+'</span><br/><div style=" margin-bottom:20px;"></div>';
                html +=     '</div>';
        }
        for ( var j=0; j<i; j++ ) {
//                html +=     '<div class="infoExtraItem">';
//                html +=         '<span onclick="" style="font-wight:900; font-size:22px;" class="infoUpdated">'+wak.ia[j].updated+'</span><br />';
//                html +=         '<span onclick="" style="font-size:12px;" class="infoTitle">'+wak.ia[j].title+'</span><br/><div style=" margin-bottom:20px;"></div>';
//                html +=     '</div>';
                html +=     '<div class="infoExtraItem cursorPointer" onclick="wak.infoInArticleWindow('+j+');$(window).scrollTop(0);">';
                html +=         '<span onclick="" style="font-wight:900; font-size:22px;" class="infoUpdated">'+wak.ia[j].updated+'</span><br />';
                html +=         '<span onclick="" style="font-size:12px;" class="infoTitle">'+wak.ia[j].title+'</span><br/><div style=" margin-bottom:20px;"></div>';
                html +=     '</div>';
        }
        html +=           '</div>';
        html +=         '</div>';
        return html;
    }
    
    wak.infoInArticleWindow = function(i) {
        var html = '';
        html += '<div id="infoWrapper">';
        html +=     '<div id="infoContent">';
        ////////////////////////////////
        html += wak.getInfoBody(i);
        ////////////////////////////////
        html +=     '</div>';
        html += '</div>';
        $( '#section' ).eq(0).html( html );
        wak.setInfoMarker();
        
        $( '#infoWrapper' ).css( {'overflow':'hidden',width:'600px',height:2000+'px'} );
        $( '#infoContent' ).css( {width:'600px',height:'auto'} );
        $( '#infoWrapper' ).stop().animate( {scrollTop:2000}, 0 );
        setTimeout( function() {
            wak.adjustContentHeight();
        }, 300 );
        
        if ( wak.ipad == 1 ) {
            $( '#infoWrapper' ).css( {'overflow':'hidden',width:'600px',height:$(window).height()-80} )
            $( '#infoContent' ).css( {width:'600px',height:'auto'} );
            $( '#infoWrapper' ).stop().animate( {scrollTop:0}, 0 );
            //wak.iScrollable( 'infoWrapper' );
            wak.iScrollableIncludeAdjustHeight('info');
        }
    }
    
    wak.infoSlideInArticleWindow = function(i, direction) {
        if ( wak.ipad == 1 ) {
//            $( '#infoContent' ).css( {width:'600px',height:'6000px'} );
//            $( '#infoWrapper' ).stop().animate( {scrollTop:2000}, 0 );
        }
        
        var html = $('#infoExtraItemsScroller').html();
        var renderTest = $( '<div id="renderTest">'+html+'</div>' )
        renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
        $( 'body' ).append( renderTest );
        var hhhhh = renderTest.height();
        renderTest.remove();
        
        var iii=i;
        if ( i < 0 ) { iii = wak.ia.length-1; }
        if ( i > wak.ia.length-1 ) { iii = 0; }
        var HTML = '';
        HTML += wak.getInfoUTD(iii)
        var renderTest = $( '<div id="renderTest">'+HTML+'</div>' );
        renderTest.css( {position:'absolute',top:'-9px',left:'-9px',width:'600px',fontFamily:'Oswald'});
        $( '#page10' ).append( renderTest );
        var hhh = renderTest.height(); // fixme:フォントによる高さの違いを吸収する
hhh += 10; // IE...
        renderTest.remove();
        
        $('#infoMainItemOpacity').animate({opacity:0},0);
        $('#infoMainItemOpacity').delay(200).animate({opacity:1},600,'linear',function(){
            // reflesh
            if ( i < 0 ) { i = wak.ia.length-1; }
            if ( i > wak.ia.length-1 ) { i = 0; }
            var html = '';
            ////////////////////////////////
            html += wak.getInfoBody(i);
            ////////////////////////////////
            $('#infoContent').html(html);
            wak.setInfoMarker();
        });
        $('#infoMainItem').animate({height:hhh},600,'easeInQuint');
        
        var from = i;
        if ( direction == 'up') { from++; }
        if ( direction == 'down') { from--; }
        var iHTML = '';
        iHTML += '<div class="infoExtraItem">';
        iHTML += '<span style="font-wight:900; font-size:22px;" class="infoUpdated">'+wak.ia[from].updated+'</span><br />';
        iHTML += '<span style="font-size:12px;" class="infoTitle">'+wak.ia[from].title+'</span><br/><div style=" margin-bottom:20px;"></div>';
        iHTML += '</div">';
        var $iHTML = $( iHTML );
        var h = $( '.infoExtraItem' ).eq(1).height();
        if ( direction == 'up' ) {
//            $iHTML.css({height:0});
            $( '.infoExtraItem' ).eq(0).before( $iHTML );
//            $iHTML.animate({height:h+20},600,'easeInOutCubic');
//            $( '.infoExtraItem' ).eq(wak.ia.length-1).animate({height:0},600,'easeInOutCubic',function(){
//                $(this).remove();
//            });
            
            if ( i < 0 ) { i = wak.ia.length-1; }
            if ( i > wak.ia.length-1 ) { i = 0; }
            
            var mHTML = '';
            mHTML += '<div style="height:10px;">　</div>';
            mHTML += wak.getInfoUTD(i);
            $( '#infoMainItem #infoMainItemOpacity' ).html( mHTML );
            
            $('#infoExtraItems').css({height:(hhhhh+40)+'px',overflow:'hidden'});
            $('#infoExtraItemsScroller').css({height:(hhhhh+h+40+wak.infoMarkerOffset)+'px'});
            $('#infoExtraItems').scrollTop(h+20+wak.infoMarkerOffset);
            $('#infoExtraItems').animate({scrollTop:0},600,'easeInOutCubic');
        }
        if ( direction == 'down' ) {
//            $iHTML.animate({height:0},0);
            $( '.infoExtraItem' ).eq(8).after( $iHTML );
//            $iHTML.animate({height:h+20},600,'easeInOutCubic')
//            $( '.infoExtraItem' ).eq(0).animate({height:0},600,'easeInOutCubic',function(){
//                $(this).remove();
//            });
            
            if ( i < 0 ) { i = wak.ia.length-1; }
            if ( i > wak.ia.length-1 ) { i = 0; }
            
            var mHTML = '';
            mHTML += '<div style="height:10px;">　</div>';
            mHTML += wak.getInfoUTD(i);
            $( '#infoMainItem #infoMainItemOpacity' ).html( mHTML );
            
            $('#infoExtraItems').css({height:(hhhhh+40)+'px',overflow:'hidden'});
            $('#infoExtraItemsScroller').css({height:(hhhhh+h+40+wak.infoMarkerOffset)+'px'});
            $('#infoExtraItems').scrollTop(0);
            $('#infoExtraItems').animate({scrollTop:h+20+wak.infoMarkerOffset},600,'easeInOutCubic');
        }
    }
    
    
    
    
    
    
    /**
     * shoplist並び順指定
     */
    //wak.shoplistSortFlg = 1;
    /*
    // 廃止
    wak.shoplistSorter = new Array(
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        ''
    );
    wak.shoplistSort = function() {
        var tmp = new Array();
        
    }
    */
    
    
    
    /**
     *
     */
    wak.setShoplist = function() {
        xmlURL = wak.shoplistXML;
        function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject('Microsoft.XMLHTTP'); } }
        var receiveReq = getXmlHttpRequestObject();
        function refine( xmlRUL ) { if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open('GET', xmlURL, true); receiveReq.onreadystatechange = handle; receiveReq.send( null ); } }
        function handle() {
            if ( (receiveReq.readyState == 4) /*&& (receiveReq.status == 200)*/ ) {
                var xml = receiveReq.responseXML;
//console.log(receiveReq.status);
//console.log(xml);
//console.log(receiveReq.responseText);
                var elm = xml.getElementsByTagName( 'div' );
                var item = new Array();
                var categoryNum = 0;
                for ( var i=0,l=elm.length; i<l; i++ ) {
                    if( elm[ i ].getAttribute( 'class' ) == 'category' || elm[ i ].getAttribute("className") == 'category' ) {
                        item[ categoryNum++ ] = elm[ i ];
                    }
                }
                
                var html = ''; // shoplistPageを構成
                for ( var i=0; i<categoryNum; i++ ) {
                    var elm = item[ i ].getElementsByTagName( 'div' );
                    var item1 = new Array();
                    var item1Num = 0;
                    var categoryName = '';
                    wak.sa[i]             = new Object();
                    wak.sa[i].subCategory = new Array();
                    for ( var j=0,j_max=elm.length; j<j_max; j++ ) {
                        if ( elm[ j ].getAttribute( 'class' ) == 'categoryName' || elm[ j ].getAttribute("className") == 'categoryName' ) {
                            categoryName = elm[ j ].textContent;
                            if ( !categoryName ) { categoryName = elm[ j ].categoryName; }
                            wak.sa[i].categoryName = categoryName;
//alert(categoryName);
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'subCategory' || elm[ j ].getAttribute("className") == 'subCategory' ) {
                            item1[item1Num++] = elm[ j ];
                        }
                    }
                    for( var j=0; j<item1Num; j++ ) {
                        var item2 = item1[j].getElementsByTagName( 'div' );
                        var item3 = new Array();
                        var item3Num = 0;
                        var subCategoryName = '';
                        wak.sa[i].subCategory[j]      = new Object();
                        wak.sa[i].subCategory[j].shop = new Array();
                        for ( var jj=0, jj_max=item2.length; jj<jj_max; jj++ ) {
                            if ( item2[ jj ].getAttribute( 'class' ) == 'subCategoryName' || item2[ jj ].getAttribute("className") == 'subCategoryName' ) {
                                subCategoryName = item2[ jj ].textContent;
                                if ( !subCategoryName ) { subCategoryName = item2[ jj ].text; }
                                wak.sa[i].subCategory[j].subCategoryName = subCategoryName;
//alert(subCategoryName);
                            }
                            if ( item2[ jj ].getAttribute( 'class' ) == 'shop' || item2[ jj ].getAttribute("className") == 'shop' ) {
                                item3[item3Num++] = item2[ jj ];
                            }
                        }
                        for( var k=0; k<item3Num; k++ ) {
                            var item4 = item3[k].getElementsByTagName( 'div' );
                            var shopName = '';
                            var content  = '';
                            var gmaplatitude  = '';
                            var gmaplongitude = '';
                            wak.sa[i].subCategory[j].shop[k] = new Object();
                            for( var l=0,l_max=item4.length; l<l_max; l++ ) {
                                if ( item4[ l ].getAttribute( 'class' ) == 'shopName' || item4[ l ].getAttribute("className") == 'shopName' ) {
                                    shopName = item4[ l ].textContent;
                                    if ( !shopName ) { shopName = item4[ l ].text; }
                                    wak.sa[i].subCategory[j].shop[k].shopName   = shopName;
//alert(shopName);
                                }
                                if ( item4[ l ].getAttribute( 'class' ) == 'content' || item4[ l ].getAttribute("className") == 'content' ) {
                                    content = item4[ l ].textContent;
                                    if ( !content ) { content = item4[ l ].text; }
                                    wak.sa[i].subCategory[j].shop[k].content   = content;
//alert(content);
                                }
                                // Google Maps 座標
                                if ( item4[ l ].getAttribute( 'class' ) == 'gmaplatitude' || item4[ l ].getAttribute("className") == 'gmaplatitude' ) {
                                    gmaplatitude = item4[ l ].textContent;
                                    if ( !gmaplatitude ) { gmaplatitude = item4[ l ].text; }
                                    wak.sa[i].subCategory[j].shop[k].gmaplatitude   = gmaplatitude;
                                }
                                if ( item4[ l ].getAttribute( 'class' ) == 'gmaplongitude' || item4[ l ].getAttribute("className") == 'gmaplongitude' ) {
                                    gmaplongitude = item4[ l ].textContent;
                                    if ( !gmaplongitude ) { gmaplongitude = item4[ l ].text; }
                                    wak.sa[i].subCategory[j].shop[k].gmaplongitude   = gmaplongitude;
                                }
                            }
                            //html += '<img onclick="wak.shoplistInArticleWindow('+i+');" style="margin:8px 4px;" height="150" src="' + topimage + '" /><br />';
                            //html += '<span onclick="wak.shoplistInArticleWindow('+i+');" style="">'+title+'</span><br />';
                        }
                        //}
                    }
                }
                //wak.shoplistInArticleWindow(0);
                wak.shoplistInArticleWindowReady(); // デザイン変更
            }
        }
        if (wak.userAgent != 'msie') {
            receiveReq.open('GET', xmlURL, true);
            receiveReq.onload = handle;
            receiveReq.onerror = function(){ alert('HTTP Status Code : '+receiveReq.status); };
            receiveReq.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");
            receiveReq.setRequestHeader("If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT");
            receiveReq.send( null );
        } else {
            refine( xmlURL );
        }
    }
    
    wak.shoplistInArticleWindowReady = function() {
        var html = '';
        html += '<div id="shopScrollWrapper" style="width:160px;height:auto;overflow:hidden;">';
        html +=     '<div id="categoryRole" style="width:320px;height:auto;">';
        html +=         '<div id="subCategolyRole" style="width:160px;height:auto;float:left;">';
        for ( var i=0; i<wak.sa.length; i++ ) { // i:index of category
            var categoryName     = wak.sa[i].categoryName;
            if ( categoryName != undefined ) { html += '<span style="">'+categoryName+'</span><br/>'; }
            html += '<ul>';
            for ( var j=0; j<wak.sa[i].subCategory.length; j++ ) { // j:index of subCategory
                var subCategoryName  = wak.sa[i].subCategory[j].subCategoryName;
                
                // fixme:例外
                if ( subCategoryName == 'FAT ZOZO' ) {
                    //html += '<li class="cursorPointer" onclick="location.href=\'http://zozo.jp/_search/search_result.html?p_sid=160&p_type=\';" style="position:relative;">';
                    //html += '<li class="cursorPointer" onclick="location.href=\'http://zozo.jp/_search/search_result.html?p_sid=160&p_type=\';">';
                    html += '<li class="cursorPointer">';
                    html += '<a style="text-decoration:none; color:#000000; "href="http://zozo.jp/_search/search_result.html?p_sid=160&p_type=\" target="_blank">';
                } else if ( subCategoryName == 'FAT ONLINE SHOPPING' ) {
                    //html += '<li class="cursorPointer" onclick="location.href=\'http://shopping.fatyo.com/pc/\';" style="position:relative;">';
                    //html += '<li class="cursorPointer" onclick="location.href=\'http://shopping.fatyo.com/pc/\';">';
                    html += '<li class="cursorPointer">';
                    html += '<a style="text-decoration:none; color:#000000; " href="http://shopping.fatyo.com/pc/" target="_blank">';
                } else {
                    //html += '<li class="cursorPointer" onclick="wak.showShops('+i+','+j+',$(this));" style="position:relative;">';
                    html += '<li class="cursorPointer" onclick="wak.showShops('+i+','+j+',$(this));">';
                }
                
                if ( wak.sa[i].subCategory[j].shop.length > 1 ) {
//                    html += '<span style="position:absolute; left:144px;">&gt;</span>';// 2011/10/29廃止
                    //サブカテゴリへの→は廃止
                }
                
                html += '<span class="subcate">'+subCategoryName+'</span>';
                //for ( var k=0; k<wak.sa[i].subCategory[j].shop.length; k++ ) { // k:index of shop
                //    var shopName         = wak.sa[i].subCategory[j].shop[k].shopName;
                //    var content          = wak.sa[i].subCategory[j].shop[k].content;
                //    html += shopName;
                //    alert(categoryName+subCategoryName+shopName+content);
                //}
                if ( subCategoryName == 'FAT ZOZO' ) {html += '</a>';}
                if ( subCategoryName == 'FAT ONLINE SHOPPING' ) {html += '</a>';}
                html += '</li>';
            }
            html += '</ul>';
            html += '<br/><br/><br/>'; // カテゴリ間のスペーサ
        }
        html +=         '</div>';
        html +=         '<div id="returnSubCategolyRole" class="cursorPointer" onclick="wak.returnSubCategoryRole();" style="width:16px;height:100%;float:left;font-size:11px;margin-top:0px;background:#000000;">';
//        html +=             '<span>&lt;</span>';
html +=             '<span><img src="./imgs/shoplist/shopinfoRetSC.png" /></span>';
        html +=         '</div>';
        html +=         '<div id="shopRole" style="width:134px;height:auto;float:left;">'; // #page11 #shopRole { margin-left:10px; }
        html +=         '</div>';
        html +=     '</div>';
        html += '</div>';
        $( '#shoplist1' ).eq(0).html( html );
        
        setTimeout( function() {
            wak.adjustContentHeight();
        }, 300 );
        
        if ( wak.ipad == 1 ) {
            $( '#shoplistWrapper' ).css( {'overflow':'hidden',width:'600px',height:$(window).height()-80} )
            $( '#shoplistContent' ).css( {width:'600px',height:'auto'} );
            $( '#shoplistWrapper' ).stop().animate( {scrollTop:0}, 0 );
            //wak.iScrollable( 'shoplistWrapper' );
            wak.iScrollableIncludeAdjustHeight('shoplist');
        }
        
        // overを持たせる
        $.each($('#subCategolyRole ul li'),function(i){
            //if ( wak.sa[0].subCategory[i].shop.length == 1 ) { // 直リンクのoverは黄色
            if ( wak.sa[0].subCategory[i].shop.length <= 1 ) { // 直リンクのoverはグレー
                // 直
                $(this).bind('mouseover',function(){
                    $(this).addClass('over_hasAShop');
                });
                $(this).bind('mouseout',function(){
                    $(this).removeClass('over_hasAShop');
                });
            } else {
                $(this).bind('mouseover',function(){
                    $(this).addClass('over_hasShops');
                });
                $(this).bind('mouseout',function(){
                    $(this).removeClass('over_hasShops');
                });
            }
        });
    }
    
    wak.showShops = function(i,j,$s) {
        //if( $( '#japan' ) ) { $( '#japan' ).remove(); }
        
        // 下層が1件ならダイレクトに開く
        if ( wak.sa[i].subCategory[j].shop.length == 1 ) {
            wak.showShopContent(i,j,0);
            return false;
        }
        
        var html = '<ul>';
        for ( var k=0; k<wak.sa[i].subCategory[j].shop.length; k++ ) {
            var shopName         = wak.sa[i].subCategory[j].shop[k].shopName;
            var content          = wak.sa[i].subCategory[j].shop[k].content;
            
            
            
            
            
                // fixme:例外
                if ( shopName == 'BEAUTY & YOUTH 新宿メンズストア' ) { shopName = 'BEAUTY & YOUTH 新宿'; }
                if ( shopName == 'BEAUTY & YOUTH 渋谷公園通り店' ) { shopName = 'BEAUTY & YOUTH 渋谷'; }
            
            
            
            
            
            html += '<li class="cursorPointer" onclick="wak.showShopContent('+i+','+j+','+k+')" style=""><span>'+shopName+'</span></li>';
        }
        html += '</ul>';
        
        $( '#shopRole' ).html( html );
        // overを持たせる
        $.each($('#shopRole ul li'),function(i){
                // 直(2011/10/30時点のxml仕様では必ず直になる)
                $(this).bind('mouseover',function(){
                    $(this).addClass('over_hasAShop');
                });
                $(this).bind('mouseout',function(){
                    $(this).removeClass('over_hasAShop');
                });
        });
        
        // 2011/10/29デザイン変更
        var h = $('#shopRole').height();
        $('#returnSubCategolyRole').height( h );
        
        // shoplist animation
        $( '#shopScrollWrapper' ).animate( {marginLeft:-20,scrollLeft:160}, 400, 'easeInOutCubic' );
    }
    
    wak.showShopContent = function(i,j,k) {
        if( $( '#japan' ) ) { $( '#japan' ).remove(); }
        
//        html = wak.sa[i].subCategory[j].shop[k].content;
        
        var html = '';
        html += '<div style="font-size:100%; font-weight:bold">'+wak.sa[i].subCategory[j].shop[k].shopName+'</div>';
        html += '<br />';
        html += '<div id="shopmap">'+wak.sa[i].subCategory[j].shop[k].content+'</div>';
        html += '<br />';
        
        $( '#shopcontent1' ).html(html);
        
        //$( '#shopcontent1 div' ).eq(1).find('img').attr('class','zoomable');
        $.each( $( '#shopcontent1 div' ).eq(1).find('img'), function() {
            if ( $(this).attr('src').match(/comingsoon.gif/) ) {
                
            } else {
                $(this).attr('class','zoomable');
            }
        } );
        
        // fixme:画像拡大機能を付与
        setTimeout( function() {
            $( '.zoomable' ).bind('click', function() {
                //wak.shoplistImgZoom( $(this).attr('src') );
                //wak.colorBoxS( $(this).attr('src') ); // xml変更で廃止
                $(this).parent().bind('onclick',function(){return false;});//必要なら
                wak.colorBoxS( $(this).parent().attr('href') );
                return false;
            } )
            $( '.zoomable').attr('class','cursorPointer');
        }, 100 );
        
        // fixme:Google Maps スタイル適用
        setTimeout( function() {
            var w = wak.sa[i].subCategory[j].shop[k].gmaplatitude;
            var h = wak.sa[i].subCategory[j].shop[k].gmaplongitude;
            wak.gmap( w, h );
        }, 100 );
        
        $.each( $( '#shopcontent1 div' ).eq(1).find('img'), function(){
            var img = $(this).get(0);
            img.onload = function() {
                w = wak.getNWidth(img);
                h = wak.getNHeight(img);
                h = h * 150 / w;
                $(this).width(150);
                $(this).height(h);
            }
        });
    }
    
    wak.returnSubCategoryRole = function() {
        // shoplist animation
        $( '#shopScrollWrapper' ).animate( {marginLeft:0,scrollLeft:0}, 400, 'easeInOutCubic' );
        // marginLeftを、カテゴリへ戻るボタンを特例で位置調整するために変更。
    }
    
    
    
    
    
    
    /*
     *
     */
    wak.replaceLayerNBSP = function() {
        $.each( $( 'div.layer' ), function() {
            var withoutNBSP =  $( this ).eq(0).html().replace(/[\r\n]/g, '');
            withoutNBSP =  withoutNBSP.replace(/>\s{3,}</g, '><');
            $( this ).eq(0).html( withoutNBSP );
        } );
    }
    
    /**
     * $( 'div#layer0' )、$( 'div#layer1' )、$( 'div#layer2' )について
     * サイズを調整する。
     * 事前にresizeBgImg()の動作を想定する。
     */
    wak.resizeLayer = function() {
            var wH    = $( window ).height(),
                lW    = 0,
                $objs = $( 'div#layerContainer0 div.layer img.bgImg' );
            $.each( $objs, function() {
                var img     = $( this ).get(0);
                lW += $(img).width();
            } );
            $( 'div#layerContainer0 div.layer' ).eq(0).width( lW );
            $( 'div#layerContainer1 div.layer' ).eq(0).width( lW );
            $( 'div#layerContainer2 div.layer' ).eq(0).width( lW );
            $( 'div#layerContainer3 div.layer' ).eq(0).width( lW );
            $( 'div#layerContainer0 div.layer' ).eq(0).height( wH );
            $( 'div#layerContainer1 div.layer' ).eq(0).height( wH );
            $( 'div#layerContainer2 div.layer' ).eq(0).height( wH );
            $( 'div#layerContainer3 div.layer' ).eq(0).height( wH );
    }
    
    /**
     * $( 'div#layerContainer0' )、$( 'div#layerContainer1' )、$( 'div#layerContainer2' )について
     * サイズを調整する。
     * 事前にresizeBgImg()の動作を想定する。
     */
    wak.resizeLayerContainer = function() {
            var wH    = $( window ).height(),
                wW    = $( window ).width();
            $( 'div#layerContainer0' ).eq(0).width( wW );
            $( 'div#layerContainer1' ).eq(0).width( wW );
            $( 'div#layerContainer2' ).eq(0).width( wW );
            $( 'div#layerContainer3' ).eq(0).width( wW );
            $( 'div#layerContainer0' ).eq(0).height( wH );
            $( 'div#layerContainer1' ).eq(0).height( wH );
            $( 'div#layerContainer2' ).eq(0).height( wH );
            $( 'div#layerContainer3' ).eq(0).height( wH );
    }
    
    /**
     * $( 'div#layerContainer0' )について
     * 背景画像の高さをwindowに合わせる。スクロールバーも加味する。
     */
    wak.resizeBgImg = function() {
            var wH    = $( window ).height(),
                $objs = $( 'div#layerContainer0 div.layer img.bgImg' );
            $.each( $objs, function(i) {
            var img     = $( this ).get(0);
            var adjust = function() {
                var imgNH   = wak.getNHeight(img),
                    imgNW   = wak.getNWidth(img);
                var resizeH = wH,
                    resizeW = Math.round( wH * imgNW / imgNH );
                $(img).height( resizeH );
                $(img).width( resizeW );
            }
            adjust();
            img.onload = function() { adjust(); }
        } );
        
        wak.resizeLayerContainer();
        wak.resizeLayer();
        setTimeout(wak.resizeLayer,1000); // fixed:画像サイズの変更にタイムラグがある。
        
        $( 'div#layerContainer1 div.layer img' ).eq(0).css( {left:($( window ).width()/wak.positionRate['layerContainer1'])} );
        $( 'div#layerContainer2 div.layer img' ).eq(0).css( {left:($( window ).width()/wak.positionRate['layerContainer2'])} );
        $( 'div#layerContainer3 div.layer img' ).eq(0).css( {left:($( window ).width()/wak.positionRate['layerContainer3'])} );
    }
    
    /**
     * 
     */
    wak.resizePage = function() {
        var minWidth = 1000, // fixme:コンテンツページの最小幅。基準がwindowでなくなるので、その点を他のメソッドにも反映する。さしあたり、十分に小さな値を設定しておく。
            width    = $( window ).width(),
            height   = $( window ).height();
        if ( width < minWidth ) { width = minWidth; }
        $( '.page' ).width( width );
        $( '#layerContainerA' ).height( height );
        $( '.page' ).height( height );
        $( '.page .pageContent' ).height( height );
        $( '#pageContainer' ).width( wak.pageLength * width );
    }
    
    /**
     *
     */
    wak.adjustGnavi = function() {
        var h = $( '#gnavi' ).height();
        var position = ( $( window ).height() - h ) / 2;
        $( '#gnavi' ).css( {top:position} );
    }
    
    /**
     * windowのリサイズ時の処理
     */
    wak.windowResizeHandle = function() {
        $( window ).bind( 'resize', function() {
//            wak.resizeBgImg();
            wak.resizePage();
            wak.adjustGnavi();
            wak.adjustContentHeight();
            wak.smoothScroll( wak.pageCurrentID, 'resize' );
        } );
    }
    
    /**
     * iPad回転専用
     */
    wak.adjustBG = function() {
        var $jqo = $('#layerContainer0 div');
        var h = $( window ).height();
        var r = h/946;
        var w = r*5872;
        var html = '<img class="bgImg" src="./imgs/bgImgs/ipad_tate_946.jpg" alt="bgImgIntegral" width="'+w+'" height="'+h+'" />';
//        if ( window.orientation == 90 || window.orientation == -90 ) {
//            r = h/690;
//            w = r*4283;
//            html = '<img class="bgImg" src="./imgs/bgImgs/ipad_yoko_690.jpg" alt="bgImgIntegral" width="'+w+'" height="'+h+'" />';
//        }
        $jqo.html( html );
        return 0;
        
        // 背景調整
        var bgW = 0;
        var bgH = $( window ).height();
        $.each( $( '#layerContainer0 img' ), function() {
            var iw = wak.getNWidth( $( this ).get(0) );
            var ih = wak.getNHeight( $( this ).get(0) );
            var ww = $( window ).width();
            var wh = $( window ).height();
            $( this ).eq(0).width( wh * iw / ih );
            $( this ).eq(0).height( wh );
            bgW += wh * iw / ih;
        } );
    }
    wak.adjustFG = function() {
        // 内部要素の高さ調整
        var wh = $( window ).height() * 0.91;
        if ( window.orientation == 90 || window.orientation == -90 ) {
            wh = $( window ).height() * 0.825;
        }
        
        $( '#archivesWrapper' ).height( wh );
        $( '#booksWrapper' ).height( wh );
        $( '#blogWrapper' ).height( wh );
        $( '#infoWrapper' ).height( wh );
        $( '#shoplistWrapper' ).height( wh );
        
        /*
        $( '#page1 .pageContentL' ).height( wh );
        $( '#page2 .pageContentL' ).height( wh );
        $( '#page3 .pageContentL' ).height( wh );
        $( '#page1 .pageContent' ).height( wh );
        $( '#page2 .pageContent' ).height( wh );
        $( '#page3 .pageContent' ).height( wh );
        $( '#page1' ).height( wh );
        $( '#page2' ).height( wh );
        $( '#page3' ).height( wh );
        */
    }
    
    
    
    /*
     *
     */
    wak.iScrollable = function( objectID ) {
        var myScroll = new iScroll( objectID );
    }
    
    
    
    
    
    /**
     * NVy廃止してcolorbox改で代替する
     */
   /*
    wak.NVy = function() {
        var html = '';
        var t = ( $(window).height() - 400 ) / 2; // NVy:800*400px
        html += '<img style="position:absolute; left:160px; top:'+  t      + 'px;" src="./imgs/NVy/NVy_back.png">';
        html += '<img style="position:absolute; left:658px; top:'+ (t+255) + 'px; opacity:0.5;" src="./imgs/NVy/NVy_icon.png" onclick="location.href = \'' + wak.NVyURL + '\';">';
        var nvy = $( html );
        nvy.css({opacity:0.0});
        $( '#page0 .pageContent' ).eq(0).append( nvy );
        nvy.animate({opacity:1.0}, 2000);
    }
    */
    /**
     * NVyの代替
     */
    wak.NVyMode = 0;
    wak.NVy = function() {
        wak.NVyMode = 1; // colorbox改にも飛び火 (アイコン部分をcallbackで特別に処理する)
        
        // 背景部分
        var src = './imgs/NVy/NVy_back.png';
        var html = '';
        html += '<div class="wakColorBoxGroup1" href="'+src+'" title="">hoge</div>';
        $('#renderTest').remove();
        var renderTest = $( '<div id="renderTest">'+html+'</div>' )
        renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
        $( 'body' ).append( renderTest );
        
        $(".wakColorBoxGroup1").colorbox({rel:'wakColorBoxGroup1'});
        $(".wakColorBoxGroup1").eq(0).click();
    }
    
    
    
    
    /**
     *
     */
    wak.directShowGallery = function() {
        xmlURL = wak.galleryXML;
        function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject('Microsoft.XMLHTTP'); } }
        var receiveReq = getXmlHttpRequestObject();
        function refine( xmlRUL ) { if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open('GET', xmlURL, true); receiveReq.onreadystatechange = handle; receiveReq.send( null ); } }
        function handle() {
            if (receiveReq.readyState == 4) {
                wak.ga = new Array();
                var xml = receiveReq.responseXML;
                var elm = xml.getElementsByTagName( 'div' );
                var item = new Array();
                var idNum = 0;
                for ( var i=0,l=elm.length; i<l; i++ ) {
                    if( elm[ i ].getAttribute( 'class' ) == 'item' || elm[ i ].getAttribute("className") == 'item' ) {
                        item[ idNum++ ] = elm[ i ];
                    }
                }
                
                for ( var i=0; i<idNum; i++ ) {
                    var elm = item[ i ].getElementsByTagName( 'div' );
                    var thumbURL    = '';
                    var detailURL   = '';
                    var product     = '';
                    var description = '';
                    var price       = '';
                    var link        = '';
                    var productNum  = 0;
                    wak.ga[i] = new Object();
                    wak.ga[i].description = new Array();
                    wak.ga[i].price       = new Array();
                    wak.ga[i].link        = new Array();
                    for ( var j=0,l=elm.length; j<l; j++ ) {
                        if ( elm[ j ].getAttribute( 'class' ) == 'thumbURL' || elm[ j ].getAttribute("className") == 'thumbURL' ) {
                            thumbURL = elm[ j ].textContent;
                            if ( !thumbURL ) { thumbURL = elm[ j ].text; }
                            wak.ga[i].thumbURL    = thumbURL;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'detailURL' || elm[ j ].getAttribute("className") == 'detailURL' ) {
                            detailURL = elm[ j ].textContent;
                            if ( !detailURL ) { detailURL = elm[ j ].text; }
                            wak.ga[i].detailURL   = detailURL;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'product' || elm[ j ].getAttribute("className") == 'product' ) {
                            var p = elm[j].getElementsByTagName( 'div' );
                            for ( var k=0,m=p.length; k<m; k++ ) {
                                if ( p[ k ].getAttribute( 'class' ) == 'description' || p[ k ].getAttribute( 'className' ) == 'description' ) {
                                    description = p[ k ].textContent;
                                    if ( !description ) { description = p[ k ].text; }
                                    wak.ga[i].description[productNum] = description;
                                }
                                if ( p[ k ].getAttribute( 'class' ) == 'price' || p[ k ].getAttribute( 'className' ) == 'price' ) {
                                    price = p[ k ].textContent;
                                    if ( !price ) { price = p[ k ].text; }
                                    wak.ga[i].price[productNum]       = price;
                                }
                                if ( p[ k ].getAttribute( 'class' ) == 'link' || p[ k ].getAttribute( 'className' ) == 'link' ) {
                                    link = p[ k ].textContent;
                                    if ( !link ) { link = p[ k ].text; }
                                    wak.ga[i].link[productNum]        = link;
                                }
                            }
                            productNum++;
                        }
                    }
                }
            }
            //for ( var i=0; i<wak.ga.length; i++ ) {
            //    alert( wak.ga[i].detailURL );
                wak.galleryInSubWindow(0);
            //}
        }
        refine( xmlURL );
    }
    
    
    
    
    
    
    /**
     *
     */
    wak.colorBoxG = function() {
        xmlURL = wak.galleryXML;
        function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject('Microsoft.XMLHTTP'); } }
        var receiveReq = getXmlHttpRequestObject();
        function refine( xmlRUL ) { if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open('GET', xmlURL, true); receiveReq.onreadystatechange = handle; receiveReq.send( null ); } }
        function handle() {
            if (receiveReq.readyState == 4) {
                wak.ga = new Array();
                var xml = receiveReq.responseXML;
                var elm = xml.getElementsByTagName( 'div' );
                var item = new Array();
                var idNum = 0;
                for ( var i=0,l=elm.length; i<l; i++ ) {
                    if( elm[ i ].getAttribute( 'class' ) == 'item' || elm[ i ].getAttribute("className") == 'item' ) {
                        item[ idNum++ ] = elm[ i ];
                    }
                }
                
                for ( var i=0; i<idNum; i++ ) {
                    var elm = item[ i ].getElementsByTagName( 'div' );
                    var thumbURL    = '';
                    var detailURL   = '';
                    var product     = '';
                    var description = '';
                    var price       = '';
                    var link        = '';
                    var productNum  = 0;
                    wak.ga[i] = new Object();
                    wak.ga[i].description = new Array();
                    wak.ga[i].price       = new Array();
                    wak.ga[i].link        = new Array();
                    for ( var j=0,l=elm.length; j<l; j++ ) {
                        if ( elm[ j ].getAttribute( 'class' ) == 'thumbURL' || elm[ j ].getAttribute("className") == 'thumbURL' ) {
                            thumbURL = elm[ j ].textContent;
                            if ( !thumbURL ) { thumbURL = elm[ j ].text; }
                            wak.ga[i].thumbURL    = thumbURL;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'detailURL' || elm[ j ].getAttribute("className") == 'detailURL' ) {
                            detailURL = elm[ j ].textContent;
                            if ( !detailURL ) { detailURL = elm[ j ].text; }
                            wak.ga[i].detailURL   = detailURL;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'product' || elm[ j ].getAttribute("className") == 'product' ) {
                            var p = elm[j].getElementsByTagName( 'div' );
                            for ( var k=0,m=p.length; k<m; k++ ) {
                                if ( p[ k ].getAttribute( 'class' ) == 'description' || p[ k ].getAttribute( 'className' ) == 'description' ) {
                                    description = p[ k ].textContent;
                                    if ( !description ) { description = p[ k ].text; }
                                    wak.ga[i].description[productNum] = description;
                                }
                                if ( p[ k ].getAttribute( 'class' ) == 'price' || p[ k ].getAttribute( 'className' ) == 'price' ) {
                                    price = p[ k ].textContent;
                                    if ( !price ) { price = p[ k ].text; }
                                    wak.ga[i].price[productNum]       = price;
                                }
                                if ( p[ k ].getAttribute( 'class' ) == 'link' || p[ k ].getAttribute( 'className' ) == 'link' ) {
                                    link = p[ k ].textContent;
                                    if ( !link ) { link = p[ k ].text; }
                                    wak.ga[i].link[productNum]        = link;
                                }
                            }
                            productNum++;
                        }
                    }
                }
                
                var html = '';
                for ( var i=0; i<wak.ga.length; i++ ) {
                    html += '<div class="wakColorBoxGroup1" href="'+wak.ga[i].detailURL+'" title="">hoge</div>';
                }
                
                $('#renderTest').remove();
                var renderTest = $( '<div id="renderTest">'+html+'</div>' )
                renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
                $( 'body' ).append( renderTest );
                
                $(".wakColorBoxGroup1").colorbox({rel:'wakColorBoxGroup1',slideshow:true});
                $(".wakColorBoxGroup1").eq(0).click();
            }
        }
        refine( xmlURL );
    }
    
    /**
     *
     */
    wak.colorBoxG2 = function() {
        xmlURL = wak.galleryXML;
        function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject('Microsoft.XMLHTTP'); } }
        var receiveReq = getXmlHttpRequestObject();
        function refine( xmlRUL ) { if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open('GET', xmlURL, true); receiveReq.onreadystatechange = handle; receiveReq.send( null ); } }
        function handle() {
            if (receiveReq.readyState == 4) {
                wak.ga = new Array();
                var xml = receiveReq.responseXML;
                var elm = xml.getElementsByTagName( 'div' );
                var item = new Array();
                var idNum = 0;
                for ( var i=0,l=elm.length; i<l; i++ ) {
                    if( elm[ i ].getAttribute( 'class' ) == 'item' || elm[ i ].getAttribute("className") == 'item' ) {
                        item[ idNum++ ] = elm[ i ];
                    }
                }
                
                for ( var i=0; i<idNum; i++ ) {
                    var elm = item[ i ].getElementsByTagName( 'div' );
                    var thumbURL    = '';
                    var detailURL   = '';
                    var product     = '';
                    var description = '';
                    var price       = '';
                    var link        = '';
                    var productNum  = 0;
                    wak.ga[i] = new Object();
                    wak.ga[i].description = new Array();
                    wak.ga[i].price       = new Array();
                    wak.ga[i].link        = new Array();
                    for ( var j=0,l=elm.length; j<l; j++ ) {
                        if ( elm[ j ].getAttribute( 'class' ) == 'thumbURL' || elm[ j ].getAttribute("className") == 'thumbURL' ) {
                            thumbURL = elm[ j ].textContent;
                            if ( !thumbURL ) { thumbURL = elm[ j ].text; }
                            wak.ga[i].thumbURL    = thumbURL;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'detailURL' || elm[ j ].getAttribute("className") == 'detailURL' ) {
                            detailURL = elm[ j ].textContent;
                            if ( !detailURL ) { detailURL = elm[ j ].text; }
                            wak.ga[i].detailURL   = detailURL;
                        }
                        if ( elm[ j ].getAttribute( 'class' ) == 'product' || elm[ j ].getAttribute("className") == 'product' ) {
                            var p = elm[j].getElementsByTagName( 'div' );
                            for ( var k=0,m=p.length; k<m; k++ ) {
                                if ( p[ k ].getAttribute( 'class' ) == 'description' || p[ k ].getAttribute( 'className' ) == 'description' ) {
                                    description = p[ k ].textContent;
                                    if ( !description ) { description = p[ k ].text; }
                                    //if ( description == undefined ) { description = ''; }
                                    wak.ga[i].description[productNum] = description;
                                }
                                if ( p[ k ].getAttribute( 'class' ) == 'price' || p[ k ].getAttribute( 'className' ) == 'price' ) {
                                    price = p[ k ].textContent;
                                    if ( !price ) { price = p[ k ].text; }
                                    if ( price == undefined ) { price = ''; }
                                    wak.ga[i].price[productNum]       = price;
                                }
                                if ( p[ k ].getAttribute( 'class' ) == 'link' || p[ k ].getAttribute( 'className' ) == 'link' ) {
                                    link = p[ k ].textContent;
                                    //if ( !link ) { link = p[ k ].text; }
                                    wak.ga[i].link[productNum]        = link;
                                }
                            }
                            productNum++;
                        }
                    }
                }
                
                
                
                if ( $('#wakGalleryG2').size() > 0 ) { $('#wakGalleryG2').remove(); }
                var html = '';
                html += '<div id="wakGalleryG2">';
                html +=   '<div id="wakGalleryG2_Overlay"></div>';
                html +=   '<div id="wakGalleryG2_Front">';
                html +=     '<div id="wakGalleryG2_ImageBox"></div>';
                html +=     '<div id="wakGalleryG2_ProductLink"></div>'
                html +=     '<div id="wakGalleryG2_Control">';
                html +=     '</div>';
                html +=   '</div>';
                html += '</div>';
                $( 'body' ).append( html );
                
                $('#wakGalleryG2_Front').css({opacity:0});
                
                $('#wakGalleryG2_Overlay').bind('click',function(){
                    wak.wakGalleryG2_Close();
                });
                
                // fixme:pre-fetchとonloadトリガをここに入れる。IE注意。
                var img = new Image();
                if (wak.userAgent == 'msie') {
                    img.src = wak.ga[0].detailURL + "?"+ new Date().getTime();
                } else {
                    img.src = wak.ga[0].detailURL;
                }
                img.onload = function() {
                    $('#wakGalleryG2_ImageBox').html( '<img id="wakGalleryG2_Image" src="'+wak.ga[0].detailURL+'" />' );
                    wak.wakGalleryG2_ProductLink(0);
                    wak.wakGalleryG2_Control(0);
                    wak.wakGalleryG2_Resize(0);
                    $('#wakGalleryG2_Front').delay(400).animate({opacity:1},500);
                    
                    // ipadではpcと位置制御をかえないと動作しない…パッチ。
                    if (navigator.userAgent.toLowerCase().indexOf('ipad') != -1) {
                        $('#wakGalleryG2').css('position','absolute');
                        $('#wakGalleryG2').css('top',0);
                        $('#wakGalleryG2').css('left',0);
                        $('#wakGalleryG2_Overlay').css('position','absolute');
                        $('#wakGalleryG2_Overlay').css('top',0);
                        $('#wakGalleryG2_Overlay').css('left',0);
                        $('#wakGalleryG2_Overlay').width( $(window).width() );
                        $('#wakGalleryG2_Overlay').height( $(window).height() );
                    } else {
                        $('#wakGalleryG2').css({position:'fixed',top:0,left:0});
                        $('#wakGalleryG2_Overlay').css({position:'fixed',top:0,left:0});
                    }
                }
                
                $( window ).bind( 'resize', function(){
                    wak.wakGalleryG2_Resize(0);
                });
            }
        }
        refine( xmlURL );
    }
    
    wak.wakGalleryG2_Control = function(i) {
        var html = '';
        html += '　image '+(i+1)+' of '+wak.ga.length;
        html += '<br />';
        html += '<br />';
        html += '　<span id="wakGalleryG2_Prev"><img class="cursorPointer" src="./imgs/gallery/wakGalleryG2_Prev_default.png"></span>';
        html += '　<span id="wakGalleryG2_Next"><img class="cursorPointer" src="./imgs/gallery/wakGalleryG2_Next_default.png"></span>';
        html += '　　';
        html += '　<span id="wakGalleryG2_Close"><img class="cursorPointer" src="./imgs/gallery/wakGalleryG2_Close_default.png"></span>';
        $('#wakGalleryG2_Control').html(html);
        
        $('#wakGalleryG2_Prev').bind('mouseover',function(){ $(this).find('img').eq(0).attr('src','./imgs/gallery/wakGalleryG2_Prev_over.png')});
        $('#wakGalleryG2_Prev').bind('mouseout',function(){ $(this).find('img').eq(0).attr('src','./imgs/gallery/wakGalleryG2_Prev_default.png')});
        $('#wakGalleryG2_Next').bind('mouseover',function(){ $(this).find('img').eq(0).attr('src','./imgs/gallery/wakGalleryG2_Next_over.png')});
        $('#wakGalleryG2_Next').bind('mouseout',function(){ $(this).find('img').eq(0).attr('src','./imgs/gallery/wakGalleryG2_Next_default.png')});
        $('#wakGalleryG2_Close').bind('mouseover',function(){ $(this).find('img').eq(0).attr('src','./imgs/gallery/wakGalleryG2_Close_over.png')});
        $('#wakGalleryG2_Close').bind('mouseout',function(){ $(this).find('img').eq(0).attr('src','./imgs/gallery/wakGalleryG2_Close_default.png')});
        
        $('#wakGalleryG2_Prev').bind('click',function(){
            $(this).unbind('click'); // 連打対処
            $(this).unbind('mouseover'); // 連打対処
            if (i<=0) {i=wak.ga.length;} // loop
            $('#wakGalleryG2_ImageBox').animate({opacity:0},500,function(){
                
                //////// 画像が消えてから次に移るまでの間を持たせる (ここから)
                $('#wakGalleryG2_ImageBox').animate({opacity:1},0);
                $('#wakGalleryG2_ImageBox').html( '' );
                //////$('#wakGalleryG2_ImageBox').html( '<img style="position:relative;top:48%;left:48%;" id="wakGalleryG2_Image_loading" src="./imgs/ajax-loader.gif" />' );
                //////// 画像が消えてから次に移るまでの間を持たせる (ここまで)
                
                var img = new Image();
                if (wak.userAgent == 'msie') {
                  img.src = wak.ga[i-1].detailURL + "?"+ new Date().getTime();
                } else {
                  img.src = wak.ga[i-1].detailURL;
                }
                img.onload = function() {
                    $('#wakGalleryG2_ImageBox').animate({opacity:0},0);
                    $('#wakGalleryG2_ImageBox').html( '<img id="wakGalleryG2_Image" src="'+wak.ga[i-1].detailURL+'" />' );
                    //$('#wakGalleryG2_ImageBox').animate({opacity:1},500);
                    wak.wakGalleryG2_ProductLink(i-1);
                    wak.wakGalleryG2_Control(i-1);
                    wak.wakGalleryG2_Resize(i-1);
                }
            });
        });
        $('#wakGalleryG2_Next').bind('click',function(){
            $(this).unbind('click'); // 連打対処
            $(this).unbind('mouseover'); // 連打対処
            if (i>=wak.ga.length-1) {i=-1;} // loop
            $('#wakGalleryG2_ImageBox').animate({opacity:0},500,function(){
                var img = new Image();
                if (wak.userAgent == 'msie') {
                  img.src = wak.ga[i+1].detailURL + "?" + new Date().getTime();
                } else {
                  img.src = wak.ga[i+1].detailURL;
                }
                img.onload = function() {
                    $('#wakGalleryG2_ImageBox').animate({opacity:0},0);
                    $('#wakGalleryG2_ImageBox').html( '<img id="wakGalleryG2_Image" src="'+wak.ga[i+1].detailURL+'" />' );
                    //$('#wakGalleryG2_ImageBox').animate({opacity:1},500);
                    wak.wakGalleryG2_ProductLink(i+1);
                    wak.wakGalleryG2_Control(i+1);
                    wak.wakGalleryG2_Resize(i+1);
                }
            });
        });
        $('#wakGalleryG2_Close').bind('click',function(){wak.wakGalleryG2_Close();});
    }
    wak.wakGalleryG2_ProductLink = function(i) {
        var html = '';
        for (var j=0; j<wak.ga[i].description.length; j++ ) {
            var d = wak.ga[i].description[j];
            var p = wak.ga[i].price[j];
            var l = wak.ga[i].link[j];
            
            // undefined 対策
            if ( d == undefined ) { continue; }
            if ( p == undefined ) { continue; }
            
            //html += '　<a href="'+l+'">'+d+' ¥ '+p+'</a><br/>';
            //html += '　<a href="'+l+'">'+d+'</a><br/>'; // 2011/10/28の仕様変更に対応
            //html += '　<a href="'+l+'" target="_blank">'+d+'</a><br/>'; // 2011/10/31 target="_blank"
            // 2011/11/01 整形方針の変更指示あり
            d = d.split(":");
            if ( d[0] == undefined ) { d[0]=''; }
            if ( d[1] == undefined ) { d[1]=''; }
            if ( l == 'http://' ) {
                html += '　<span style="color:#AAAAAA">'+d[0]+'</span><br/>　<span style="color:#AAAAAA">'+d[1]+'</span><div style="line-height:8px; height:8px;"></div>';
            } else {
                html += '　<a href="'+l+'" target="_blank">'+d[0]+'<br/>　'+d[1]+'</a><div style="line-height:8px; height:8px;"></div>';
            }
        }
        html += '<div id="wakGalleryG2_returnExt"></div>';
        $('#wakGalleryG2_ProductLink').html(html);
        $('#wakGalleryG2_returnExt').bind('click',function(){wak.wakGalleryG2_Close();});
    }
    wak.wakGalleryG2_Resize = function(i) {
        
        var retry = 0;
        tmpFunc = function(){
            var tmpImg = new Image();
            if (wak.userAgent == 'msie') {
                tmpImg.src = $('#wakGalleryG2_Image').eq(0).attr('src') + "?" + new Date().getTime();
            } else {
                tmpImg.src = $('#wakGalleryG2_Image').eq(0).attr('src');
            }
//            tmpImg.onload = function() {
                var img = $('#wakGalleryG2_Image').get(0);
                var w = wak.getNWidth(img);
                var h = wak.getNHeight(img);
                var offsetP = 200; // 商品へのリンク領域の幅
                var offsetH = 20; // 上下のオフセット
                var offsetW = 20; // 左右のオフセット
                
                var maxW = $(window).width();
                var maxH = $(window).height();
                if ( (maxH - 2*offsetH) < h ) {
                    var hh = maxH - 2*offsetH;
                    w = w * hh / h;
                    h = hh;
                }
                if ( (maxW - 2*offsetW) < w+offsetP ) {
                    var ww = maxW - 2*offsetW - offsetP;
                    h = h * ww / w;
                    w = ww;
                }
                
                // まれなerrorの原因を示すエラーコード
                // [object HTMLImageElement] || (img != 'IMG')
                if ( (parseInt(w) < 100)  ) {
                    retry++;
                    if ( retry > 100 ) {
                        alert('エラー : 原因 : サーバからの画像取得に失敗。ブラウザの負荷が高い。ブラウザ解像度が低い。');
                        //alert('error status ('+w+', '+h+'), node='+img.nodeName+', img.src='+img.src);
                        //clearInterval(retID);
                    } else {
                        //alert('error status ('+w+', '+h+'), node='+img.nodeName+', img.src='+img.src);
                        setTimeout('tmpFunc()',300);
                    }
                    //clearInterval(retID);
                } else {
                    //clearInterval(retID);
                    $('#wakGalleryG2_ImageBox').width(w);
                    $('#wakGalleryG2_ImageBox').height(h);
                    $('#wakGalleryG2_Image').width(w);
                    $('#wakGalleryG2_Image').height(h);
                    var l = ( $(window).width() - offsetP - w ) / 2 ;
                    var t = ( $(window).height() - h ) / 2;
                    $( '#wakGalleryG2_Front' ).css({left:l+'px',top:t+'px',width:(w+offsetP)+'px',height:h+'px'});
                    $('#wakGalleryG2_ImageBox').animate({opacity:1},500);
                }
                
//          }
        }
        var retID = setTimeout('tmpFunc()',300);
    }
    wak.wakGalleryG2_Close = function() {
        if ( $('#wakGalleryG2').size() > 0 ) {
            $('#wakGalleryG2').stop().animate({opacity:0},300,function(){
                $('#wakGalleryG2').remove();
            });
        }
    }
    
    
    
    
    /**
     * 画像のurlリスト
     */
    wak.colorBoxS = function( src ) {
            var html = '';
            for ( var i=0; i<1; i++ ) {
                html += '<div class="wakColorBoxGroup1" href="'+src+'" title="">hoge</div>';
            }
            
            $('#renderTest').remove();
            var renderTest = $( '<div id="renderTest">'+html+'</div>' )
            renderTest.css( {position:'absolute',top:'-999px',left:'-999px',width:'600px'});
            $( 'body' ).append( renderTest );
            
            $(".wakColorBoxGroup1").colorbox({rel:'wakColorBoxGroup1'});
            $(".wakColorBoxGroup1").eq(0).click();
            
    }
    
    
    
    
    /**
     *
     */
    wak.gmap = function( w, h ) {
        var defaultPosition = new google.maps.LatLng( w, h );
        var MY_MAPTYPE_ID = 'fat';
        var pinkParksStyles = [ { stylers: [ { saturation: -99 }, { invert_lightness: true }, { gamma: 1.4 } ] },{ featureType: "road", stylers: [ { saturation: 100 }, { hue: "#ffdd00" } ] },{ featureType: "transit", stylers: [ { saturation: 100 }, { hue: "#ffdd00" } ] },{ featureType: "water", stylers: [ { lightness: 100 } ] },{ } ];
        var mapOptions = {
            zoom: 14,
            center: defaultPosition,
            mapTypeControlOptions: {
                mapTypeIds: [google.maps.MapTypeId.ROADMAP, MY_MAPTYPE_ID]
            },
            mapTypeId: MY_MAPTYPE_ID
        };
        var gmap = new google.maps.Map(document.getElementById("gmap"),mapOptions);
        var styledMapOptions = {
            map: gmap,
            name: "FAT"
        }
        var fatMapType =  new google.maps.StyledMapType(pinkParksStyles,styledMapOptions);
        gmap.mapTypes.set(MY_MAPTYPE_ID, fatMapType);
        
        /*
        marker = new google.maps.Marker( {
            positon: defaultPosition,
            map: gmap,
            icon : "./imgs/shoplist/arrow.png"
        } );
        */        marker = new google.maps.Marker( {
            positon: defaultPosition,
            map: gmap
        } );
        
        var currentPosition = new google.maps.LatLng( w, h );
        gmap.setCenter( currentPosition ); // gmapの中央座標を変更
        marker.setPosition( currentPosition ); // gmapの中央にマーカー
        
    }
    
    
    wak.adhocButtons = function() {
        var html = '';
        html += '<li onclick="wak.smoothScroll( \'page1\'  );"><img src="imgs/PCmenu/btn_01_concept_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page4\'  );"><img src="imgs/PCmenu/btn_02_gallery_default.gif" /></li>';
        html += '<li onclick="window.open().location.href=\'http://shopping.fatyo.com/pc/\'; return false;" class="shopping"><img src="imgs/PCmenu/btn_03_shopping_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page9\'  );"><img src="imgs/PCmenu/btn_04_blog_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page10\' );"><img src="imgs/PCmenu/btn_05_info_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page11\' );"><img src="imgs/PCmenu/btn_06_shoplist_default.gif" /></li>';
        $('.buttons').html( html );
        
        $('.buttons img').mouseover(function(){
            $(this).attr('src', $(this).attr('src').replace(/_default/,'_over') );
        });
        $('.buttons img').mouseout(function(){
            $(this).attr('src', $(this).attr('src').replace(/_over/,'_default') );
        });
        
        var a = new Array(1,4,8,9,10,11);
        for (var i=0; i<a.length; i++ ) {
            var newSrc = $('#page'+a[i]+' ul img').eq(i).attr('src').replace(/_default/,'_active');
            $('#page'+a[i]+' ul img').eq(i).attr('src', newSrc  );
        }
        
        /*
        $.each( $('.page'), function() {
            var pageID = $(this).attr('id');
            $.each( $(this).find('li'), function() {
                var re = new RegExp(pageID);
                var str = $(this).attr('onclick');
                ////
                if ( str.match(re) ) {
                    var newSrc = $(this).finc('img').eq(0).attr('src').replace(/_default/,'_active');
                    $(this).finc('img').eq(0).attr('src',newSrc);
                }
                ////
            } );
        } );
        */
        
        /*
        var html = '';
        html += '<li onclick="wak.smoothScroll( \'page1\'  );"><img src="imgs/PCgnavi/gnavi_01_concept_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page4\'  );"><img src="imgs/PCgnavi/gnavi_02_gallery_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page8\'  );" class="shopping"><img src="imgs/PCgnavi/gnavi_03_shopping_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page9\'  );"><img src="imgs/PCgnavi/gnavi_04_blog_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page10\' );"><img src="imgs/PCgnavi/gnavi_05_info_default.gif" /></li>';
        html += '<li onclick="wak.smoothScroll( \'page11\' );"><img src="imgs/PCgnavi/gnavi_06_shoplist_default.gif" /></li>';
        $('#gnavi..').html( html );
        */
        $('#gnavi ul img').mouseover(function(){
            $(this).attr('src', $(this).attr('src').replace(/_default/,'_over') );
        });
        $('#gnavi ul img').mouseout(function(){
            $(this).attr('src', $(this).attr('src').replace(/_over/,'_default') );
        });
    }
    
    
    
    
    
    // pre-load
    wak.boost = function() {
        //
        function preLoadImages() {
          for (var i = 0, I = arguments.length; i < I; ++i) {
            new Image().src = arguments[i];
          }
        }
        preLoadImages(
            './imgs/blog/20110928a-01.jpeg',
            './imgs/blog/20111013a-01.jpeg',
            './imgs/blog/20111013a-02.jpeg',
            './imgs/blog/20111013a-03.jpeg',
            './imgs/blog/20111013b-01.jpeg',
            './imgs/blog/20111013b-02.jpeg',
            './imgs/gallery/PC/journal1/01.jpg',
            './imgs/gallery/PC/journal1/02.jpg',
            './imgs/gallery/PC/journal1/03.jpg',
            './imgs/gallery/PC/journal1/04.jpg',
            './imgs/gallery/PC/journal1/05.jpg',
            './imgs/gallery/PC/journal1/06.jpg',
            './imgs/gallery/PC/journal1/07.jpg',
            './imgs/gallery/PC/journal2/01.jpg',
            './imgs/gallery/PC/journal2/02.jpg',
            './imgs/gallery/PC/journal2/03.jpg',
            './imgs/gallery/PC/journal2/04.jpg',
            './imgs/gallery/PC/journal2/05.jpg',
            './imgs/gallery/PC/journal2/06.jpg',
            './imgs/gallery/PC/journal2/07.jpg',
            './imgs/gallery/PC/journal3/01.jpg',
            './imgs/gallery/PC/journal3/02.jpg',
            './imgs/gallery/PC/journal3/03.jpg',
            './imgs/gallery/PC/journal3/04.jpg',
            './imgs/gallery/PC/journal3/05.jpg',
            './imgs/gallery/PC/journal3/06.jpg',
            './imgs/gallery/PC/journal3/07.jpg',
            './imgs/gallery/PC/journal4/01.jpg',
            './imgs/gallery/PC/journal4/02.jpg',
            './imgs/gallery/PC/journal4/03.jpg',
            './imgs/gallery/PC/journal4/04.jpg',
            './imgs/gallery/PC/journal4/05.jpg',
            './imgs/gallery/PC/journal4/06.jpg',
            './imgs/gallery/PC/journal4/07.jpg',
            './imgs/gallery/PC/look/01.jpg',
            './imgs/gallery/PC/look/02.jpg',
            './imgs/gallery/PC/look/03.jpg',
            './imgs/gallery/PC/look/04.jpg',
            './imgs/gallery/PC/look/05.jpg',
            './imgs/gallery/PC/look/06.jpg',
            './imgs/gallery/PC/look/07.jpg',
            './imgs/gallery/PC/look/08.jpg',
            './imgs/gallery/PC/look/09.jpg',
            './imgs/gallery/PC/look/10.jpg',
            './imgs/gallery/PC/look/11.jpg',
            './imgs/gallery/PC/look/12.jpg',
            './imgs/gallery/PC/look/13.jpg',
            './imgs/gallery/PC/look/14.jpg',
            './imgs/gallery/PC/look/15.jpg',
            './imgs/gallery/PC/look/16.jpg',
            './imgs/gallery/PC/look/17.jpg',
            './imgs/gallery/PC/look/18.jpg',
            './imgs/gallery/PC/look/19.jpg',
            './imgs/gallery/PC/look/20.jpg',
            './imgs/gallery/PC/look/21.jpg',
            './imgs/gallery/PC/look/22.jpg',
            './imgs/gallery/PC/look/23.jpg'
        );
    }
    
    wak.preload = function() {
        function preLoadImages() {
          for (var i = 0, I = arguments.length; i < I; ++i) {
            new Image().src = arguments[i];
          }
        }
        preLoadImages(
            './imgs/NVy/NVy_back.png',
            './imgs/NVy/NVy_icon.png',
            './imgs/NVy/NVy_logo.png',
            './imgs/PCgnavi/gnavi_01_concept_default.gif',
            './imgs/PCgnavi/gnavi_01_concept_over.gif',
            './imgs/PCgnavi/gnavi_02_gallery_default.gif',
            './imgs/PCgnavi/gnavi_02_gallery_over.gif',
            './imgs/PCgnavi/gnavi_03_shopping_default.gif',
            './imgs/PCgnavi/gnavi_03_shopping_over.gif',
            './imgs/PCgnavi/gnavi_04_blog_default.gif',
            './imgs/PCgnavi/gnavi_04_blog_over.gif',
            './imgs/PCgnavi/gnavi_05_info_default.gif',
            './imgs/PCgnavi/gnavi_05_info_over.gif',
            './imgs/PCgnavi/gnavi_06_shoplist_default.gif',
            './imgs/PCgnavi/gnavi_06_shoplist_over.gif',
            './imgs/PCmenu/btn_01_concept_active.gif',
            './imgs/PCmenu/btn_01_concept_default.gif',
            './imgs/PCmenu/btn_01_concept_over.gif',
            './imgs/PCmenu/btn_02_gallery_active.gif',
            './imgs/PCmenu/btn_02_gallery_default.gif',
            './imgs/PCmenu/btn_02_gallery_over.gif',
            './imgs/PCmenu/btn_03_shopping_active.gif',
            './imgs/PCmenu/btn_03_shopping_default.gif',
            './imgs/PCmenu/btn_03_shopping_over.gif',
            './imgs/PCmenu/btn_04_blog_active.gif',
            './imgs/PCmenu/btn_04_blog_default.gif',
            './imgs/PCmenu/btn_04_blog_over.gif',
            './imgs/PCmenu/btn_05_info_active.gif',
            './imgs/PCmenu/btn_05_info_default.gif',
            './imgs/PCmenu/btn_05_info_over.gif',
            './imgs/PCmenu/btn_06_shoplist_active.gif',
            './imgs/PCmenu/btn_06_shoplist_default.gif',
            './imgs/PCmenu/btn_06_shoplist_over.gif',
            './imgs/blog/blogARCHIVE.gif',
            './imgs/blog/blogDown_default.png',
            './imgs/blog/blogDown_on.png',
            './imgs/blog/blogDown_over.png',
            './imgs/blog/blogENTRIES.gif',
            './imgs/blog/blogUp_default.png',
            './imgs/blog/blogUp_on.png',
            './imgs/blog/blogUp_over.png',
            './imgs/contents/btn_top.gif',
            './imgs/contents/btn_circle.gif',
            './imgs/contents/btn_circle_bk.gif',
            './imgs/contents/mainImg_01.gif',
            './imgs/contents/mainImg_02.png',
            './imgs/contents/mainImg_03.png',
            './imgs/gallery/book0.png',
            './imgs/gallery/book1.png',
            './imgs/gallery/book2.png',
            './imgs/gallery/book3.png',
            './imgs/gallery/book4.png',
            './imgs/gnavi/logo.gif',
            './imgs/info/infoDown_default.png',
            './imgs/info/infoDown_on.png',
            './imgs/info/infoDown_over.png',
            './imgs/info/infoUp_default.png',
            './imgs/info/infoUp_on.png',
            './imgs/info/infoUp_over.png',
            './imgs/shoplist/japan.png'
        );
        if ( navigator.userAgent.indexOf('iPad') == -1) {
          // PC
          preLoadImages(
            './imgs/bgImgs/1500.jpg',
            './imgs/bgImgs/800.jpg'
          );
        } else {
          // iPad
          preLoadImages(
            './imgs/bgImgs/ipad_tate_946.jpg',
            './imgs/bgImgs/ipad_yoko_690.jpg'
          );
        }
    }
    
    /**
     * iPad/PC低解像度/PC高解像度にあわせて背景画像を選択する。
     */
    wak.setBgImage = function() {
          var $jqo = $('#layerContainer0 div');
          var html = '';
          if ( navigator.userAgent.indexOf('iPad') == -1) {
              // PC
              if (screen.width <= 800) {
                  html = '<img class="bgImg" src="./imgs/bgImgs/800.jpg" alt="bgImgIntegral" width="4965" height="800" />';
              } else {
                  html = '<img class="bgImg" src="./imgs/bgImgs/1500.jpg" alt="bgImgIntegral" width="9310" height="1500" />';
              }
          } else {
              // iPad
              html = '<img class="bgImg" src="./imgs/bgImgs/ipad_tate_946.jpg" alt="bgImgIntegral" width="5872" height="946" />';
              // fixme:横で差し替える
          }
          $jqo.html( html );
          
    }
    
    window.wak = wak;
} )( window );



// 2011/11/25のテスト用
var jyafuberohajya = 0; // 0にすると、ダブルクリックでモード変更可能になる。
/*
if (jyafuberohajya != 1) {
  $(document).ready(function(){
    $('#layerContainerA').bind('dblclick',function(){
      //jyafuberohajya = 1;
      for (var i=0;i<wak.ba.length;i++) {
        if ( Math.random() < 0.2 ) { wak.ba[i].topimage = 'http://'; }
        if (wak.ba[i].topimage == 'http://') { wak.ba[i].topimage = 'http://www.fatyo.com/demo111029/imgs/noImage.png'; }
      }
      //console.log('change mode');
      alert('テストのためにメイン画像を一部無効化しました');
      $('#layerContainerA').unbind('dblclick');
    });
    $('#layerContainer0').bind('dblclick',function(){
      //jyafuberohajya = 1;
      for (var i=0;i<wak.ba.length;i++) {
        if ( Math.random() < 0.2 ) { wak.ba[i].topimage = 'http://'; }
        if (wak.ba[i].topimage == 'http://') { wak.ba[i].topimage = 'http://www.fatyo.com/demo111029/imgs/noImage.png'; }
      }
      //console.log('change mode');
      alert('テストのためにメイン画像を一部無効化しました');
      $('#layerContainerA').unbind('dblclick');
    });
  });
}
*/




