﻿/* 
Correctly handle PNG transparency in Win IE 5.5 &amp; 6. 
Copyright 2007 Ignia, LLC 
Based in part on code from from http://homepage.ntlworld.com/bobosola. 
 
Use in  with DEFER keyword wrapped in conditional comments: 
 
<script type="text/javascript" defer="true" src="pngfix.js"></script> 
 
*/

function needFixPng() {
    var arVersion = navigator.appVersion.split("MSIE")
    var version = parseFloat(arVersion[1])

    return (version >= 5.5 && version < 7.0) && (document.body.filters);
}

function fixPng(ele, imgUrl) {
    var sizingMethod = (ele.className.toLowerCase().indexOf("scale") >= 0) ? "scale" : "image";
    ele.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgUrl.replace('%23', '%2523').replace("'", "%27") + "', sizingMethod='scale')";
    ele.src = "/Content/Images/blank.gif";
}

var subMenus = [
    { subItems: null },
    { subItems: [{ text: "单店解决方案", url: "/SingleStoreSolution.aspx" },
                 { text: "连锁店解决方案", url: "/MultiStoreSolution.aspx"}]
    },
    { subItems: [{ text: "功能介绍", url: "/Functions.aspx" },
                 { text: "注册试用", url: "/Register.aspx"},
                 { text: "如何购买", url: "/Purchase.aspx"}]
    },
    { subItems: [{ text: "培训课程", url: "/Courses.aspx" },
                 { text: "升级与修改", url: "/Upgrade.aspx" },
                 { text: "常见问题", url: "/Problems.aspx" },
                 { text: "软件下载", url: "/Downloads.aspx"}]
    },
    { subItems: null },
    { subItems: [{ text: "橙创新闻", url: "/News.aspx" },
                 { text: "行业动态", url: "/Industry.aspx" },
                 { text: "联系我们", url: "/contactUs.aspx"}]
    },
    { subItems: null }
    ];

    var displaySubMenu = function(menu, subMenu) {
        subMenu.css("display", "none");
        subMenu.find("tr").remove();
        var table = $("table", subMenu);
        var menuId = parseInt(menu.id.substr(4, 1));
        if (subMenus[menuId - 1].subItems != null && subMenus[menuId - 1].subItems.length > 0) {
            var array = subMenus[menuId - 1].subItems;
            $.each(array, function(index) {
                table.append("<tr><td onclick=\"javascript:window.location.href='" + array[index].url + "'\">" + array[index].text + "</td></tr>");
            });
            var position = $(menu).offset();
            subMenu.css("left", position.left + "px");

            if (jQuery.browser.msie && (parseInt(jQuery.browser.version) < 8 || (document.documentMode && document.documentMode == 7))) {
                subMenu.css("top", position.top + menu.clientHeight - 2 + "px");
            }
            else {
                subMenu.css("top", position.top + menu.clientHeight - 1 + "px");
            }
            subMenu.css("display", "block");
        }
    };

    $(document).ready(function() {
        var startTimeoutHidden = false;
        var subMenuDiv = $("div#sub_menu");


        var showMenu = function(menu) {
            var tds = $("td", menu);
            if (tds.length != 3) return;

            var setPngBg = function(ele, imgUrl) {
                if (needFixPng()) {
                    fixPng(ele, imgUrl);
                } else {
                    $(ele).css("background-image", "url(" + imgUrl + ")");
                }
            }

            setPngBg(tds[0], "/Content/Images/button_hover_left.png");
            setPngBg(tds[1], "/Content/Images/button_hover_middle.png");
            setPngBg(tds[2], "/Content/Images/button_hover_right.png");

            tds[2].innerHTML = "";

            var pretds = $("td", menu.previousSibling);
            if (pretds != null && pretds.length == 3) {
                pretds[2].innerHTML = "";
            }
            displaySubMenu(menu, subMenuDiv);
        };

        var hiddenMenu = function(menu) {
            var tds = $("td", menu);
            if (tds.length != 3) return;

            var clearPngBg = function(ele) {
                if (needFixPng()) {
                    ele.runtimeStyle.filter = null;
                } else {
                    $(ele).css("background-image", "none");
                }
            }

            clearPngBg(tds[0]); clearPngBg(tds[1]); clearPngBg(tds[2]);

            if (menu.nextSibling != null)
                tds[2].innerHTML = "<img src='/Content/Images/menu_split.png' />";

            if (menu.previousSibling != null) {
                var pretds = $("td", menu.previousSibling);
                if (pretds != null && pretds.length == 3) {
                    pretds[2].innerHTML = "<img src='/Content/Images/menu_split.png' />";
                }
            }
            subMenuDiv.css("display", "none");
        };


        subMenuDiv.hover(
            function() { startTimeoutHidden = false; subMenuDiv.css("display", "block"); },
            function(event) {
                startTimeoutHidden = true;
                setTimeout(function() { if (startTimeoutHidden == true) subMenuDiv.css("display", "none") }, 200);
            }
        );

        var lastMenu = null;

        var menus = $("ul#menu li");
        for (var index = 0; index < menus.length; index++) {
            $(menus[index]).hover(
            function() {
                if (lastMenu != null && lastMenu != this) {
                    hiddenMenu(lastMenu);
                }
                showMenu(this);
                lastMenu = this;
                startTimeoutHidden = false;
            },
            function(event) {
                startTimeoutHidden = true;
                var currentMenu = this;

                setTimeout(function() {
                    if (startTimeoutHidden == true) {
                        hiddenMenu(currentMenu);
                        lastMenu = null;
                    }
                }, 200);
            }
            );
        }
    });
