

var hideAddressBar = function () {
    if (window.pageYOffset == 0) {
        window.scrollTo(1, 0);
    }
};
var hideAddressBarOnEvent = function () {
    setTimeout(hideAddressBar, 0);
};
var backOrLink = function (linkUrl) {
    if (!history.back()) {
        setTimeout(function(){ window.location.href = linkUrl }, 100);
    }
};


var submitOnce = function (button) {
    submitOnce = function () {
        alert("\u305F\u3060\u3044\u307E\u51E6\u7406\u4E2D\u3067\u3059\u3002\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u4E0B\u3055\u3044\u3002");
        return false;
    };
    button.disabled = true;
    return true;
};


var selectLocator = function () {
    var redirectTo = this.value;
    if (redirectTo.length) {
        location.href = redirectTo;
    }
};

$('#category-archive').bind('change', selectLocator, false);

(function () {
    var now = new Date();
    var li = document.getElementsByTagName('li');
    for (var i = 0; i < li.length; i++) {
        if (!li[i].id.match(/^article-(\d+)$/)) {
            continue;
        }
        var num = RegExp.$1;
        var liData = eval('(' + li[i].getAttribute('data-datetime') + ')');
        var postedAt = new Date(liData.postedAt);
        if (now > postedAt && now - postedAt <= (86400 * 1000)) { // 1 day
            li[i].className = "new";
        }
    }
    var initwidth = {};
    var resizeHugeImages = function (init) {
        var articleContents = $('article-contents');
        if ($('#article-contents').size() == 0) return;
        var articleContents = $('#article-contents').get();
        var images = articleContents[0].getElementsByTagName('img');
        if (!images.length) return;
        var phoneWidth = document.body ?
            document.body.clientWidth : window.innerWidth;
        phoneWidth -= 30; // padding 15px on either side
        for (var i = 0; i < images.length; i++) {
            if (init) {
              initwidth["img"+i] = images[i].width;
            }
            if (initwidth["img"+i] > phoneWidth) {
                var factor = phoneWidth / images[i].width;
                var newHeight = Math.floor(images[i].height * factor);
                images[i].width  = phoneWidth;
                images[i].height = newHeight;
            }
        }

        var images = articleContents[0].getElementsByTagName('object');
        if (!images.length) return;
        var phoneWidth = document.body ?
            document.body.clientWidth : window.innerWidth;
        phoneWidth -= 30; // padding 15px on either side
        for (var i = 0; i < images.length; i++) {
            if (init) {
              initwidth["object"+i] = images[i].width;
            }
            if (initwidth["object"+i] > phoneWidth) {
                var factor = phoneWidth / images[i].width;
                var newHeight = Math.floor(images[i].height * factor);
                images[i].width  = phoneWidth;
                images[i].height = newHeight;
            }
        }

        var images = articleContents[0].getElementsByTagName('embed');
        if (!images.length) return;
        var phoneWidth = document.body ?
            document.body.clientWidth : window.innerWidth;
        phoneWidth -= 30; // padding 15px on either side
        for (var i = 0; i < images.length; i++) {
            if (init) {
              initwidth["embed"+i] = images[i].width;
            }
            if (initwidth["embed"+i] > phoneWidth) {
                var factor = phoneWidth / images[i].width;
                var newHeight = Math.floor(images[i].height * factor);
                images[i].width  = phoneWidth;
                images[i].height = newHeight;
            }
        }
    };
    $(window).bind("load", function() {
      hideAddressBarOnEvent();
      resizeHugeImages("load");
    }, false);
    
    // Detect whether device supports orientationchange event, otherwise fall back to
    // the resize event.
    var supportsOrientationChange = "orientationchange" in window,
        orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
    
    $(window).bind(orientationEvent, function(ev) {
      hideAddressBarOnEvent();
      resizeHugeImages();
    }, false);

})();

