var body       = $('body');
var body_id    = body.attr('id');
var scroll_sec = 500;

/* rollover img */
function rolloverInit(obj)
{
    obj.hover(function() {
        $(this).attr('src', $(this).attr('src').replace(/^(.+)(\.[a-z]+)$/, '$1_on$2'));
    }, function() {
        $(this).attr('src', $(this).attr('src').replace(/^(.+)_on(\.[a-z]+)$/, '$1$2'));
    });
}

/* rolover input */
function inputBgRolloverInit(obj)
{
    obj.hover(function() {
        $(this).css('background-image', $(this).css('background-image').replace(/^(.+)(\..+?)$/, '$1_on$2'));
    }, function() {
        $(this).css('background-image', $(this).css('background-image').replace(/^(.+)_on(\..+?)$/, '$1$2'));
    });
}

/* smooth scroll */
function scrollTo(target)
{
    $(window).scrollTo(target, scroll_sec);
}

/* gnavi */
function setCurrentGnavi()
{
    var gnavi = $('#gnavi > ul > li');
    if (gnavi.hasClass(body_id)) {
        var gnavi_img = $('#gnavi > ul > li.' + body_id + ' > a > img');
        gnavi_img.removeClass('rollover');
        gnavi_img.attr('src', gnavi_img.attr('src').replace(/^(.+)(\.[a-z]+)$/, '$1_on$2'));
    }
}

/* target blank */
function setTargetBlank()
{
    $('a.blank').attr('target', '_blank');
}

/* snavi */
/*function snaviInit()
{
    if (body.attr('class')) {
        var snavi_cls = body.attr('class');
        var snavi_img = $('#snavi ul li.' + snavi_cls + ' > a > img');
        $('#snavi > ul > li:first').addClass('first');
        $('#snavi > ul > li > ul').hide();
        $('#snavi > ul > li.' + snavi_cls + ' > ul').show();
        $('#snavi > ul > li > ul > li.' + snavi_cls).parent().show();
        snavi_img.removeClass('rollover');
        snavi_img.attr('src', snavi_img.attr('src').replace(/^(.+)(\.[a-z]+)$/, '$1_on$2'));
    }
}*/

function snaviInit()
{
    var first_child = $('#snavi > ul > li:first');
    var snavi       = $('#snavi ul li');
    var snavi_child = $('#snavi > ul > li > ul');
    first_child.addClass('first');
    snavi_child.hide();
    snavi.each(function() {
        var snavi_cls = $(this).attr('class').replace(/^(.+) .+$/, '$1');
        if (body.hasClass(snavi_cls)) {
            $('#snavi > ul > li.' + snavi_cls + ' > ul').show();
            $('#snavi > ul > li > ul > li.' + snavi_cls).parent().show();
            var snavi_img = $('#snavi ul li.' + snavi_cls + ' > a > img');
            snavi_img.removeClass('rollover');
            snavi_img.attr('src', snavi_img.attr('src').replace(/^(.+)(\.[a-z]+)$/, '$1_on$2'));
            return false;
        }
    });
}

/* search form */
function searchFormInit()
{
    var txt = $('#search_txt');
    var btn = $('#search_btn');
    txt.val('サイト内検索');
    txt.focus(function() {
        if ($(this).val() == 'サイト内検索') {
            $(this).val('');
        }
    }).blur(function() {
        if ($(this).val() == '') {
            $(this).val('サイト内検索');
        }
    });
    btn.mousedown(function() {
        if (txt.val() == 'サイト内検索') {
            txt.val('');
        }
    });
}

/* adjust middle */
function adjustMiddle()
{
    var am_box = $('.adjust_middle');
    am_box.each(function() {
        var box_base         = $(this).find('.adjust_middle_base');
        var box_target       = $(this).find('.adjust_middle_target');
        var base_height      = box_base.height();
        var base_padding_top = parseInt(box_base.css('padding-top').replace(/^(\d+)px$/, '$1'));
        var base_padding_btm = parseInt(box_base.css('padding-bottom').replace(/^(\d+)px$/, '$1'));
        var target_height    = box_target.height();
        var target_padding   = Math.floor((base_height + base_padding_top + base_padding_btm - target_height) / 2);
        if (target_padding > 0) {
            box_target.css('padding-top', target_padding + 'px');
        }
    });
}

/* win open */
function winOpen(uri, id, w, h)
{
    var wo = null;
    wo = window.open(uri, id, 'width=' + w + ', height=' + h + ',menubar=yes, toolbar=no, scrollbars=yes, resizable=yes');
    if (wo) wo.focus();
}

function popWin()
{
    var elem = $('a.pop_win');
    elem.each(function() {
        var uri = $(this).attr('href');
        $(this).bind("click", function() {
            winOpen(uri, null, 782, 668);
            return false;
        });
    });
}

function selectURL(sel)
{
    if (sel.options[sel.selectedIndex].value) {
        location.href = sel.options[sel.selectedIndex].value;
    }
}


/* initialize */
function init()
{
    searchFormInit();
    setCurrentGnavi();
    snaviInit();
    setTargetBlank();
    rolloverInit($('img.rollover'));
    inputBgRolloverInit($('input.rollover'));
    popWin();
    $('#pagetop_link > p.pagetop > a').each(function() {
        $(this).attr('href', 'javascript:scrollTo(\'' + $(this).attr('href') + '\');');
    });
}

$(document).ready(init);
