﻿/*EIMS_C_38_1号控件*/
jQuery().ready(function ($) {
    var EIMS_C_38_1_Direction = "H"//菜单方向
    var EIMS_C_38_1_ChangeDirctionLevel = 1//最后一个横向层
    var EIMS_C_38_1_AUTOHideOneContent = false//栏目鼠标移开后是否自动隐藏下级菜单
    var EIMS_C_38_1_HideContentTime = 50//隐藏菜单延时
    //var EIMS_C_38_1_AnimateHideTime          =10//隐藏动画时间
    //var EIMS_C_38_1_AnimateShowTime          =30//显示动画时间
    var EIMS_C_38_1_HideLevel = 0 //菜单隐藏的层数，为0，不隐藏，若>0，则EIMS_C_38_1_HideLevel以后的层将不显示

    try {
        EIMS_C_38_1_AUTOHideOneContent = $("#EIMS_C_38_1_Paras").attr("EIMS_C_38_1_AUTOHideOneContent") == "true" ? true : false;
        EIMS_C_38_1_HideLevel = parseInt($("#EIMS_C_38_1_Paras").attr("EIMS_C_38_1_HideLevel") == "" ? "0" : $("#EIMS_C_38_1_Paras").attr("EIMS_C_38_1_HideLevel"));
    } catch (err) { }

    var EIMS_C_38_1_Content = $("#EIMS_C_38_1_Div>ul");

    var liParent = EIMS_C_38_1_Content.find("li").parent("ul");
    liParent.addClass("EIMS_C_38_1_" + EIMS_C_38_1_Direction + "UL");

    liParent.each(function (i) {
        $(this).css("z-index", 10000 - i);
        if (i > 0) { $(this).css("display", "none").css("position", "absolute"); }
        var Lis = $(this).children("li");
        Lis.addClass("EIMS_C_38_1_" + EIMS_C_38_1_Direction + "LI");

        $(Lis).hover(
        //鼠标进入
				function () {
				    clearTimeout(this.hideTimer);

				    if (EIMS_C_38_1_HideLevel != 0 && this.index > EIMS_C_38_1_HideLevel-2) {
				        $(this).children("ul").css("display", "none");
				        return; 
                    }

				    if (EIMS_C_38_1_Direction == "V") {
				        if (IEVersion() < 8) {//IE6,7
				            var NextContent = $(this)
								.children("ul")
				            NextContent
				            //.slideToggle(EIMS_C_36_AnimateShowTime)
								.css("display", "block")
								.css("margin-left", ($(this).outerWidth()) + "px")
								.css("left", "0px")
								.css("margin-top", -(parseInt($(this).css("padding-top"))) + "px")
								.css("margin-top", -(NextContent.offset().top - $(this).offset().top) + "px");

				        }
				        else {//IE8以上或其他
				            var NextContent = $(this)
								.children("ul");

				            NextContent
								.css("position", "absolute")
				            //.slideToggle(EIMS_C_36_AnimateShowTime)
								.css("display", "block")
								.css("margin-top", -($(this).outerHeight()) + "px")
								.css("margin-left", ($(this).outerWidth()) + "px");

				            NextContent
								.css("margin-top", -(NextContent.offset().top - $(this).offset().top) - $(this).outerHeight() + "px");
				        }

				    } else if (EIMS_C_38_1_Direction == "H") {
				        var NextContent = $(this).children("ul")
							.css("display", "block");

				        if (!EIMS_C_38_1_AUTOHideOneContent && this.index < EIMS_C_38_1_ChangeDirctionLevel) {
				            $(this)
								.parent("ul")
								.children("li")
								.children("ul")
								.css("display", "none");
				            $(this)
								.children().css("display", "block");

				            return;
				        }

				        if (IEVersion() < 8) {//IE6,7
				            //纵向菜单
				            if (this.index >= EIMS_C_38_1_ChangeDirctionLevel + 1) {
				                if (NextContent.length == 0) { return; } //没子菜单退出
				                NextContent
									.removeClass()
									.addClass("EIMS_C_38_1_VUL")
									.css("display", "block")
                                    .css("left", "0px")
                                     .css("margin-left", ($(this).outerWidth() + 1) + "px")
									.css("margin-top", -(parseInt($(this).css("padding-top"))) + "px")
									.css("margin-top", (-(NextContent.offset().top - $(this).offset().top) - 1) + "px");

				                //最后一个横向菜单层
				            } else if (this.index == EIMS_C_38_1_ChangeDirctionLevel) {
				                if (NextContent.length == 0) { return; } //没子菜单退出

				                NextContent
									.removeClass()
									.addClass("EIMS_C_38_1_VUL")
									.css("top", "0px")
									.css("left", "0px")
									.css("margin-top", ($(this).outerHeight()) + "px")
									.css("margin-left", -(parseInt($(this).css("padding-left"))) + "px")
									.css("margin-left", -(NextContent.offset().left - $(this).offset().left) + "px")

									.children("li")
									.removeClass()
									.addClass("EIMS_C_38_1_VLI")
									.css("float", "none")
									.css("margin-left", "0px"); //去掉样式的left以对准上层
						
						//此处150为分测试出的分界点超过150 left为0,小于150 left 根据计算出来
				                var w = parseInt($(".EIMS_C_38_1_VLI").css("width"));
				                if (w >= 150) {
				                    NextContent.children("li").css("left", "0px");
				                } else {
				                    NextContent.children("li").css("left", (-(150 - w) / 2 - 1) + "px");
				                }
				            }
				            else {
				                NextContent
									.css("margin-top", ($(this).outerHeight()) + "px")
								AutoCenter(this,NextContent)
				            }
				            return;
				        } else if (IEVersion() == 100) {//firfox
				            if (this.index >= EIMS_C_38_1_ChangeDirctionLevel + 1) {
				                NextContent
								    .removeClass()
								    .addClass("EIMS_C_38_1_VUL")
								    .css("margin-top", -($(this).outerHeight()) + "px")
								    .css("margin-left", ($(this).outerWidth()) + "px")

								    .children("li")
								    .removeClass()
								    .addClass("EIMS_C_38_1_VLI")
								    .css("float", "none")
								    .css("margin-top", "0px")//去掉上层margin-top以对准上层
                                    .css("top", "-1px");

				                //最后一个横向菜单层
				            } else if (this.index == EIMS_C_38_1_ChangeDirctionLevel) {
				                NextContent
								    .removeClass()
								    .addClass("EIMS_C_38_1_VUL")
								    .children("li")
								    .removeClass()
								    .addClass("EIMS_C_38_1_VLI")
								    .css("float", "none")
								    .css("margin-left", "0px"); //去掉样式的left以对准上层
				            } else {
								AutoCenter(this,NextContent)
				            }
				            return;
				        }

				        //IE8以上
				        //纵向菜单
				        if (this.index >= EIMS_C_38_1_ChangeDirctionLevel + 1) {
				            NextContent
								.removeClass()
								.addClass("EIMS_C_38_1_VUL")
								.css("margin-top", -($(this).outerHeight()) + "px")
								.css("margin-left", ($(this).outerWidth()) + "px")

								.children("li")
								.removeClass()
								.addClass("EIMS_C_38_1_VLI")
								.css("float", "none")
								.css("margin-top", "0px"); //去掉上层margin-top以对准上层

				            //最后一个横向菜单层
				        } else if (this.index == EIMS_C_38_1_ChangeDirctionLevel) {
				            NextContent
								.removeClass()
								.addClass("EIMS_C_38_1_VUL")
								.children("li")
								.removeClass()
								.addClass("EIMS_C_38_1_VLI")
								.css("float", "none")
								.css("margin-left", "0px"); //去掉样式的left以对准上层
				        } else {
							AutoCenter(this,NextContent)
				        }
				    }
				},

        //鼠标退出
				function () {
				    if (!EIMS_C_38_1_AUTOHideOneContent && this.index < EIMS_C_38_1_ChangeDirctionLevel) { return; }

				    var NextContent = $(this).children("ul")
				    this.hideTimer = setTimeout(function () {
				        NextContent
				        //.slideToggle(EIMS_C_38_1_AnimateHideTime)
						.css({ display: "none" })
				    }, EIMS_C_38_1_HideContentTime)
				}
		)
    })

    //创建层索引
    var BuildLiIndex = function (ParentUl, Level) {
        ParentUl.children("li").each(
				function () {
				    this.index = Level

				    var childrenUl = $(this).children("ul:eq(0)");
				    if (Level > 0 && childrenUl.length > 0) {
				        if (Level > EIMS_C_38_1_ChangeDirctionLevel) {
				            $(this).children("img:eq(0)").attr("src", "/images/control/EIMS_CI_38_right.gif").css("display","block");
				        } else {
				            $(this).children("img:eq(0)").attr("src", "/images/control/EIMS_CI_38_down.gif").css("display","block");
				        }
				    } else { $(this).children("img:eq(0)").remove(); }

				    if ($(this).children().length > 0) {
				        BuildLiIndex($(this).children("ul"), Level + 1);
				    }
				}
			)
    }

    BuildLiIndex($(EIMS_C_38_1_Content), 0)

    var IEVersion = function () {
        if (!document.all) { return 100; }
        var v = 4, //IE起点
				div = document.createElement('div'),
				i = div.getElementsByTagName('i');
        do {
            div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->';
        } while (i[0]);
        return v > 5 ? v : false; //如果不是IE，之前返回undefined，现改为返回false。
    }

	//横向菜单左边距
    var AutoCenter = function (li,positionTarget) {
        var Left = $(li).offset().left;
		var fristLi=$("#EIMS_C_38_1_Div>ul").children("li").offset().left;//第一层菜单第一个菜单项左边距离
        var childrenLi = $(li).children("ul").children("li");
        if (childrenLi.length <= 0) { return 0; }

        var width = childrenLi.length * $(".EIMS_C_38_1_HLI").outerWidth();

        if (width / 2 >= Left) {
			$(positionTarget)
				.css("margin-left", fristLi+ "px");

			var marginLeft=parseInt($(positionTarget).css("margin-left"))-($(li).children("ul").children("li:eq(0)").offset().left-$("#EIMS_C_38_1_Div>ul").children("li").offset().left);
			
			$(positionTarget)
				.css("margin-left", marginLeft+ "px");
							
        } else {
			var marginLeft=(Left + $(".EIMS_C_38_1_HLI").outerWidth() / 2) - width / 2;
			if(marginLeft<fristLi){
				//新的位置小于左边最小值，以左边最小值为基准
				$(positionTarget)
					.css("margin-left", fristLi+ "px");
	
				var marginLeft=parseInt($(positionTarget).css("margin-left"))-($(li).children("ul").children("li:eq(0)").offset().left-$("#EIMS_C_38_1_Div>ul").children("li").offset().left);
			}
			
			$(positionTarget)
				.css("margin-left", marginLeft+ "px");
        }
    }
})
