/*
 ---------------------------------------------------------
 smart rollover
 ---------------------------------------------------------
 */

function smartRollover() {
    if (document.getElementsByTagName) {
        var elements = [];

        var images = document.getElementsByTagName("img");
        var length = images.length;
        for (var i = 0; i < length; i++) {
            elements[i] = images[i];
        }

        var inputs = document.getElementsByTagName("input");
        length = inputs.length;
        for (var j = 0; j < length; j++) {
            if (inputs[j].type == "image") {
                elements[i++] = inputs[j];
            }
        }

        length = elements.length;
        var preImages = [];
        for (i = 0; i < length; i++) {
            if (elements[i].getAttribute("src").match("_off.")) {
                var preImage = new Image();
                elements.src = elements[i].getAttribute("src").replace("_off.", "_on.");
                preImages.push(preImage);
                elements[i].onmouseover = function() {
                    this.setAttribute("src",
                            this.getAttribute("src").replace("_off.", "_on."));
                }
                elements[i].onmouseout = function() {
                    this.setAttribute("src",
                            this.getAttribute("src").replace("_on.", "_off."));
                }
            }
        }
    }
}


/*
 ---------------------------------------------------------
 supportContent size
 ---------------------------------------------------------
 */

function spCntW() {
    var winW = $(window).width();
    var spNavW = winW - 60 + 'px';
    $('#supportContent').find('.inner').css('width', spNavW);
}

function spCntH() {
    var arrayH = new Array();
    $('#supportContent').find('.inner ul').find('a').each(function(n) {
        arrayH[n] = $(this).height();
    });
    var maxH = Math.max.apply(null, arrayH);
    $('#supportContent').find('.inner ul').find('a').css('height', maxH + 'px');
    $('#supportContent').css('height', $('#supportContent').find('.inner ul').find('a').innerHeight())
}


/*
 ---------------------------------------------------------
 START UP SETTING
 ---------------------------------------------------------
 */

$(function() {
    var _ua = (function() {
        return {
            ltIE6:typeof window.addEventListener == "undefined" && typeof document.documentElement.style.maxHeight == "undefined",
            ltIE7:typeof window.addEventListener == "undefined" && typeof document.querySelectorAll == "undefined",
            ltIE8:typeof window.addEventListener == "undefined" && typeof document.getElementsByClassName == "undefined",
            mobile:/android|iphone|ipad|ipod/i.test(navigator.userAgent.toLowerCase())
        }
    })();
    if (_ua.ltIE6) {
        spCntW();
        $(window).resize(function() {
            spCntW();
        });
    }

    smartRollover();
    spCntH();
});


if (!Array.indexOf) {
    Array.prototype.indexOf = function(o) {
        for (var i in this) {
            if (this[i] == o) {
                return i;
            }
        }
        return -1;
    }
}

$(function() {


    //////////////////// checkbox
    if ($(".voiceNav form").length) {
        if (window.location.href.indexOf('?') !== -1) {
            var hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for (var i = 0; i < hashes.length; i++) {
                hash = hashes[i].split('=');
                $("input[name=" + hash[0] + "]").attr("checked", true);
            }
        }

	$('.sub').find('.voiceNav').find('fieldset').each(function(){
		var trg = $(this).find('p.legend');
		var tgt = $(this).find('ul');
		var listH = tgt.height();
		tgt.css({
			'display':'none'
		});
		if(tgt.find('input:checked').size() > 0){
			trg.addClass('open');
			tgt.show();
		}
		trg.click(function(){
			$(this).toggleClass('open');
			tgt.toggle();
		});
	});
    }


    /////////// SupportNavi
    var supportNav_default_position;
    var supportNav_H;
    var li_length;
    var li_count;
    var li_array;

    var supportNavUl_width;
    var current_url;
    var toggleBottom;
    var page_array = [];

    var attrNav = $("#supportFunction");
    var travel;
    var jq_supportNav = $(".supportNav");
    var left_position = 0;


    //////////////////// Events
    attrNav.find(".nav .btn").live({
        mouseover: function() {
            $(this).find(".attrNav").show();
        },
        mouseout: function() {
            $(this).find(".attrNav").hide();
        }
    });

    attrNav.find("#sn_btn_brief .btn").live({
        mouseover: function(){
            $("#supportFunction").find("#sn_btn_brief .img").show();
        },
        mouseout: function(){
            $("#supportFunction").find("#sn_btn_brief .img").hide();
        }
    });

    attrNav.find("#sn_btn_quest .btn").live({
        mouseover: function(){
            $("#supportFunction").find("#sn_btn_quest .img").show();
        },
        mouseout: function(){
            $("#supportFunction").find("#sn_btn_quest .img").hide();
        },
        click: function(){
            return false;
        }
    });

    ////////// sticky menu bar
    $(window).scroll(function () {
        check_position();
    });
    $(window).resize(function() {
        spCntW();
    });


    $("#supportContent").find(".prev").live("click", function() {
        travel = "+=156px";
        move(travel);
        return false;
    });
    $("#supportContent").find(".next").live("click", function() {
        travel = "-=156px";
        move(travel);
        return false;
    });


    ///// show/hide bar
    $("#supportFunction .bar").live('click', function() {
        if (toggleBottom == 0) {
            toggleBottom = - (supportNav_H + 1);
            jq_supportNav.animate({bottom: toggleBottom}, "1700", "easeOutCubic", function() {
                $("#supportFunction .bar").find("img").attr("src", "/common/images/supportNav_function_btn_open.gif");
            });
            $.cookie('sp_toggle', "close", { expires: 365, path: '/' });
        } else {
            toggleBottom = 0;
            jq_supportNav.animate({bottom: toggleBottom}, "1700", "easeOutCubic", function() {
                $("#supportFunction .bar").find("img").attr("src", "/common/images/supportNav_function_btn_close.gif");
            });
            $.cookie('sp_toggle', "open", { expires: 365, path: '/' });
        }
        return false;
    });

    ///// switch button
    $(".attrNav li").live({
        click: function() {
            var worryId = $(".attrNav li").index(this) + 1;
            $.cookie('sp_worry', worryId, { expires: 365, path: '/' });
            $.cookie('sp_toggle', "open", { expires: 365, path: '/' });
            load_supportNav(worryId);
            toggleBottom = 0;
            check_position();
            return false;
        },
        mouseover: function() {
            $(this).find("img").attr('src', $(this).find("img").attr('src').replace("_off.", "_on."));
        },
        mouseout: function() {
            $(this).find("img").attr('src', $(this).find("img").attr('src').replace("_on.", "_off."));
        }
    });


    //////////////////// Functions
    var _ua = (function() {
        return {
            ltIE6:typeof window.addEventListener == "undefined" && typeof document.documentElement.style.maxHeight == "undefined",
            ltIE7:typeof window.addEventListener == "undefined" && typeof document.querySelectorAll == "undefined",
            ltIE8:typeof window.addEventListener == "undefined" && typeof document.getElementsByClassName == "undefined",
            mobile:/android|iphone|ipad|ipod/i.test(navigator.userAgent.toLowerCase())
        }
    })();

    function move(travel) {
        var win_W = $(window).width();
        var ul_W = $(".supportNav #supportContent .inner ul").width();
        var left_max = Math.ceil((ul_W - win_W + 60) / 156);


        if (travel == "-=156px") {
            if (left_position < left_max) {
                $(".supportNav #supportContent .inner ul").animate({"left": travel}, "3000", "easeOutSine");
                left_position++;
            }
        } else {
            if (left_position > 0) {
                $(".supportNav #supportContent .inner ul").animate({"left": travel}, "3000", "easeOutSine");
                left_position--;
            }
        }

        if (left_position > 0) {
            $("#supportContent .prev a").css({opacity:1,cursor:"pointer"});
        } else {
            $("#supportContent .prev a").css({opacity:0.5,cursor:"default"});
        }

        if (left_position < left_max) {
            $("#supportContent .next a").css({opacity:1,cursor:"pointer"});
        } else {
            $("#supportContent .next a").css({opacity:0.5,cursor:"default"});
        }
    }

    function load_supportNav(ia) {
        $.ajax({
            url: "/common/data/supportNav_attr0" + ia + ".html",
            context: document.getElementById("#contentBody"),
            success: function(data) {
                $('.supportNav').remove();
                $("#contentBody").after(data);

                //setup Support Navi
                jq_supportNav = $(".supportNav");
                li_count = 0;
                $("#supportContent .prev a").css({opacity:0.5,cursor:"default"});
                li_length = $(".supportNav #supportContent .inner ul li").length;
                supportNavUl_width = 156 * $(".supportNav #supportContent .inner ul li").length;
                $(".supportNav #supportContent .inner ul").css({position:"relative",width:supportNavUl_width});
                $("#supportFunction").find(".attrNav").hide();
                $("#supportFunction").find(".icon p.img").hide();
                supportNav_H = $("#supportContent").height();
                toggleBottom = - (supportNav_H + 1);
                jq_supportNav.css({height:supportNav_H + 43});
                supportNav_default_position = supportNav_defult_position_f();
                spCntW();
                spCntH();
                get_current_url();
                if ($.cookie('sp_history') == null) {
                    get_current_url();
                } else {
                    page_array = $.cookie('sp_history').split("✂");
                    get_current_url();
                }
                listCheck();
                toggle_check();
                left_position = 0;
                check_position();
                $('.supportNav').hide();
                $('.supportNav').fadeIn('slow');
            }
        });
    }

    function supportNav_defult_position_f() {
        var res = 0;
        res = $("#contentBody").outerHeight(true) + $("#header").outerHeight(true) + $("#topVI").outerHeight(true) - (supportNav_H + 43);
        if ($("#attention").size()) {
            res = res + $("#attention").outerHeight(true);
        }
        return res;
    }

    function listCheck() {
        li_array = $("#supportContent li");

        for (var iint = 0; iint < li_array.length; iint++) {

            if ($.inArray($(li_array[iint]).find('a').attr('href').replace('index.html', '').replace('index.php', ''), page_array) != -1) {
                $(li_array[iint]).attr("class", "checked");
            }

            // サポナビのliの内に現在のページが含まれていれば実行
            if ($(li_array[iint]).find('a').attr('href').replace('index.html', '').replace('index.php', '') == current_url && current_url != "/") {
                $(li_array[iint]).attr("class", "selected");

                // 現在のURLがクッキー含まれていなければ追記
                if ($.inArray(current_url, page_array) == -1) {
                    page_array.push(current_url);
                    $.cookie('sp_history', page_array.join("✂"), { path: '/', expires: 365 });
                }
            }
        }
    }

    function get_current_url() {
        current_url = window.location.href.replace('index.html', '').replace('index.php', '');
    }

    function check_position() {
//        supportNav_default_position = supportNav_defult_position_f();
        if (!_ua.ltIE7 && !_ua.mobile) {
            $("#contentBody").css({marginBottom:70 + supportNav_H + 43});
            supportNav_default_position = supportNav_defult_position_f();
            if ($(window).scrollTop() + $(window).height() - (43 + supportNav_H + toggleBottom) > supportNav_default_position) {
                jq_supportNav.css({position:"absolute",top:supportNav_default_position});
                $("#supportFunction .bar").fadeOut("fast");
            } else {
                jq_supportNav.css({position:"fixed",bottom:toggleBottom,top:"auto"});
                $("#supportFunction .bar").fadeIn("fast");
            }
        } else {
            jq_supportNav.css({position:"static"});
            $("#supportFunction .bar").fadeOut("fast");
            $(".supportNav").find(".inner").css({position:"relative"});
        }
    }

    function toggle_check() {
        if ($.cookie('sp_toggle') == null) {
            toggleBottom = 0;
            $.cookie('sp_toggle', "open", { expires: 365, path: '/' });
        } else if ($.cookie('sp_toggle') == "close") {
            toggleBottom = - (supportNav_H + 1);
            $("#supportFunction .bar").find("img").attr("src", "/common/images/supportNav_function_btn_open.gif");
        } else {
            toggleBottom = 0;
        }
        jq_supportNav.css({position:"fixed",bottom:toggleBottom});
    }

    //////////////////// OnLoad
    if ($.cookie('sp_worry') == null) {
        $.cookie('sp_worry', 1, { expires: 365, path: '/' });
        load_supportNav("1");
    } else {
        load_supportNav(($.cookie('sp_worry')));
    }


});
