/**
@prefix : <http://purl.org/net/ns/doas#> .
<http://yusukenakanishi.com/common/js/base.js> a :JavaScript;
 :shortdesc "Base JavaScript";
 :created "2009-08-04";
 :license <http://yusukenakanishi.com/>;
 :dependencies "jQeryに依存します。" .
*/

// ロールオーバー
function rolloverImages() {
    var image_cache = new Object();
    $("img.rollover").not("[src*='_on.']").each(function(i) {
        var imgsrc = this.src;
        var dot = this.src.lastIndexOf('.');
        var imgsrc_on = this.src.substr(0, dot) + '_on' + this.src.substr(dot, 4);
        image_cache[this.src] = new Image();
        image_cache[this.src].src = imgsrc_on;
        $(this).hover(
            function() { this.src = imgsrc_on; },
            function() { this.src = imgsrc; }
        );
    });
}
$(document).ready(rolloverImages);

// 外部RSSの読み込み
function externalRss(){
    $.getFeed({
        url: '/common/php/proxy_01.php',
        success: function(feed){
            var html = '';
            for(var i = 0; i < feed.items.length && i < 5; i++){
                var item = feed.items[i];
                html += '<li>' + dateChanger(item.updated) + '<a href="' + item.link + '">' + titleChanger(item.title) + '<\/a><\/li>';
            }
            $('#list-01').empty().fadeIn().append(html);
        }  
    });
    $.getFeed({
        url: '/common/php/proxy_02.php',
        success: function(feed){
            var html = '';
            for(var i = 0; i < feed.items.length && i < 5; i++){
                var item = feed.items[i];
                html += '<li>' + dateChanger(item.updated) + '<a href="' + item.link + '">' + titleChanger(item.title) + '<\/a><\/li>';
            }
            $('#list-02').empty().fadeIn().append(html);
        }
    });
    $.getFeed({
        url: '/common/php/proxy_03.php',
        success: function(feed){
            var html = '';
            for(var i = 0; i < feed.items.length && i < 5; i++){
                var item = feed.items[i];
                html += '<li>' + dateChanger(item.updated) + '<a href="' + item.link + '">' + titleChanger(item.title) + '<\/a><\/li>';
            }
            $('#list-03').empty().fadeIn().append(html);
        }
    });
    $.getFeed({
        url: '/common/php/proxy_04.php',
        success: function(feed){
            var html = '';
            for(var i = 0; i < feed.items.length && i < 5; i++){
                var item = feed.items[i];
                html += '<li>' + dateChanger(item.updated) + '<a href="' + item.link + '">' + titleChanger(item.title) + '<\/a><\/li>';
            }
            $('#list-04').empty().fadeIn().append(html);
        }
    });
    $.getFeed({
        url: '/common/php/proxy_05.php',
        success: function(feed){
            var html = '';
            for(var i = 0; i < feed.items.length && i < 5; i++){
                var item = feed.items[i];
                html += '<li>' + dateChanger(item.updated) + '<a href="' + item.link + '">' + titleChanger(item.title) + '<\/a><\/li>';
            }
            $('#list-05').empty().fadeIn().append(html);
        }
    });
    $.getFeed({
        url: '/common/php/proxy_06.php',
        success: function(feed){
            var html = '';
            for(var i = 0; i < feed.items.length && i < 12; i++){
                var item = feed.items[i];
                html += '<li>' + dateChanger(item.updated) + '<a href="' + item.link + '">' + titleChanger(item.title) + '<\/a><\/li>';
            }
            $('#list-06').empty().fadeIn().append(html);
        }
    });
    $.getFeed({
        url: '/common/php/proxy_07.php',
        success: function(feed){
            var html = '';
            for(var i = 0; i < feed.items.length && i < 5; i++){
                var item = feed.items[i];
                html += '<li>' + dateChanger(item.updated) + '<a href="' + item.link + '">' + titleChanger(item.title) + '<\/a><\/li>';
            }
            $('#list-07').empty().fadeIn().append(html);
        }
    });
    $.getFeed({
        url: '/common/php/proxy_08.php',
        success: function(feed){
            var html = '';
            for(var i = 0; i < feed.items.length && i < 5; i++){
                var item = feed.items[i];
                html += '<li>' + dateChanger(item.updated) + '<a href="' + item.link + '">' + titleChanger(item.title) + '<\/a><\/li>';
            }
            $('#list-08').empty().fadeIn().append(html);
        }
    });
    
    //タイトルの文字数制限し最後に…（三点リーダー）を追加
    var titleChanger = function(str){
        if (14 < str.length) {
            var mytitle = str.substring(0,14) + "…";
            return mytitle;
        }
        else {
            var mytitle = str;
            return mytitle;
        }
    };
    
    //月表示を数字表示に変換する
    var dateChanger = function(str){
        //dateをスペースで区切り、2番目から5番目を抜き出し
        str = str.split(" ").slice(1,4);
        //年月日の追加
        var tsuki = str[1];
        str[1] = str[0] + ", ";
        str[0] = tsuki + " ";
        str = str.join("");
        return str;
    };
    /*
    //月表示を数字表示に変換する（こんなやりかたもある）
    var dateChanger = function(str){
        var mydate = new Date(str);
        yy = mydate.getFullYear();
        mm = mydate.getMonth();
        dd = mydate.getDate();
        switch (mm) {
            case 0:
            mm = 'Jan';
            break;
            case 1:
            mm = 'Feb';
            break;
            case 2:
            mm = 'Mar';
            break;
            case 3:
            mm = 'Apr';
            break;
            case 4:
            mm = 'May';
            break;
            case 5:
            mm = 'Jun';
            break;
            case 6:
            mm = 'Jul';
            break;
            case 7:
            mm = 'Aug';
            break;
            case 8:
            mm = 'Sep';
            break;
            case 9:
            mm = 'Oct';
            break;
            case 10:
            mm = 'Nov';
            break;
            default:
            mm = 'Dec';
            break;
        };
        if (dd < 10) { dd = "0" + dd; }
        datestr =  mm + " " + dd + ", " + yy;
        return datestr;
    };
    */
}
$(document).ready(externalRss);

// ページ先頭へ
function smoothScroll(){
    $('a[href*=#]').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
        && location.hostname == this.hostname) {
        var $target = $(this.hash);
        $target = $target.length && $target
        || $('[name=' + this.hash.slice(1) +']');
        if ($target.length) {
        var targetOffset = $target.offset().top;    
        $('html,body')
        .animate({scrollTop: targetOffset}, 1000);
        return false;
        }
    }
});
}
$(document).ready(smoothScroll);