﻿function MasterMenu(oRoot, expaned, childindex) {

    var oThis = oRoot;

    oThis.Expanded = expaned == null ? true : false;
    oThis.ChildIndex = childindex == null ? 0 : childindex; //the order number of current menu in ChildMenus of parent menu 
    oThis.ChildMenus = new Array();

    //make menu tree use this codes
    oThis.children().each(function(i, ele) {
        var oEle = $(ele);


        if (oEle.children(0).attr("haschild") == "T") {

            MasterMenu(oEle, false, oThis.ChildMenus.length);
            oEle.Father = oThis;
            oThis.ChildMenus[oThis.ChildMenus.length] = oEle;
            var oSpan = oEle.children(0);

            oSpan.domObj = oEle;

            oSpan.click(function(e) {
                e = window.event || e;
                var srcElement = e.srcElement || e.target;


                if (oSpan[0] == srcElement) {
                    oSpan.domObj.clickAction();

                }
            });
        }

        return true;
    });

    //when click Expand or Shrink the menu
    oThis.clickAction = function() {

        if (oThis.Expanded) {
            this.Shrink();
        }
        else {

            this.Father.ExpandChild(oThis.ChildIndex);
        }
    }


    oThis.ExpandChild = function(ind) {
        for (var i = 0; i < oThis.ChildMenus.length; i++) {

            if (i == ind) {
                oThis.ChildMenus[i].Expand();
            }
            else {
                //oThis.ChildMenus[i].Shrink();
            }
        }
        oThis.Expanded = true;
    }


    oThis.Expand = function() {

        oThis.children().each(function(ind, ele) {
            var oEle = $(ele);
            if (oEle.attr("haschild") == undefined) {
                oEle.css("display", "block");
            }
        });
        oThis.attr("className", "bottomArrow");
        oThis.Expanded = true;
    }


    oThis.Shrink = function() {
        oThis.children().each(function(ind, ele) {
            var oEle = $(ele);

            if (oEle.attr("haschild") == undefined) {

                oEle.css("display", "none");
            }
        });
        oThis.attr("className", "leftArrow");
        oThis.Expanded = false;
    }

    //get the path of the expaned menus
    oThis.GetOpenedMenu = function() {
        var sPath = "";
        var currMenu = oThis;
        while (currMenu.ChildMenus.length > 0) {
            var i = -1;
            for (var j = 0; j < currMenu.ChildMenus.length; j++) {
                if (currMenu.ChildMenus[j].Expanded == true) {
                    sPath += currMenu.ChildMenus[j].children(0).attr("id") + ",";
                    currMenu = currMenu.ChildMenus[j];
                    i = j;
                    break;
                }
            }
            if (i == -1) {
                break;
            }
        }
        if (sPath != "") {
            sPath = sPath.substring(0, sPath.length - 1);
        }
        return sPath;
    }

    //expand menus with path
    oThis.ExpandMenus = function(sPath) {
        var sPaths = sPath.split(",");
        var currMenu = oThis;
        for (var i = 0; i < sPaths.length; i++) {

            for (var j = 0; j < currMenu.ChildMenus.length; j++) {
                if (currMenu.ChildMenus[j].children(0).attr("id") == sPaths[i]) {
                    currMenu.ChildMenus[j].Expand();

                    currMenu = currMenu.ChildMenus[j];
                    break;
                }
            }

        }
    }
    return oThis;
}

// mengjia 070927 
var Speed_1 = 10; //speed(ms) 
var Space_1 = 3; //move(px)
var PageWidth_1 = 110 * 1; //page
var interval_1 = 7000; //page instant 
var fill_1 = 0; //move
var MoveLock_1 = false;
var MoveTimeObj_1;
var MoveWay_1 = "right";
var Comp_1 = 0;
var AutoPlayObj_1 = null;
function GetObj(objName) { if (document.getElementById) { return eval('document.getElementById("' + objName + '")') } else { return eval('document.all.' + objName) } }
function AutoPlay_1() {
    clearInterval(AutoPlayObj_1); //AutoPlayObj_1=setInterval('ISL_GoDown_1();ISL_StopDown_1();',interval_1)
}
function ISL_GoUp_1() {
    if (MoveLock_1) return; clearInterval(AutoPlayObj_1); MoveLock_1 = true; MoveWay_1 = "left"; MoveTimeObj_1 = setInterval('ISL_ScrUp_1();', Speed_1);
}
function ISL_StopUp_1() {
    if (MoveWay_1 == "right") { return }; clearInterval(MoveTimeObj_1); if ((GetObj('ISL_Cont_1').scrollLeft - fill_1) % PageWidth_1 != 0) { Comp_1 = fill_1 - (GetObj('ISL_Cont_1').scrollLeft % PageWidth_1); CompScr_1() } else { MoveLock_1 = false }
    AutoPlay_1()
}
function ISL_ScrUp_1() {
    if (GetObj('ISL_Cont_1').scrollLeft <= 0) { GetObj('ISL_Cont_1').scrollLeft = GetObj('ISL_Cont_1').scrollLeft + GetObj('List1_1').offsetWidth }
    GetObj('ISL_Cont_1').scrollLeft -= Space_1
}
function ISL_GoDown_1() {
    clearInterval(MoveTimeObj_1); if (MoveLock_1) return; clearInterval(AutoPlayObj_1); MoveLock_1 = true; MoveWay_1 = "right"; ISL_ScrDown_1(); MoveTimeObj_1=setInterval('ISL_ScrDown_1()',Speed_1)
}
function ISL_StopDown_1() {
    if (MoveWay_1 == "left") { return };
    clearInterval(MoveTimeObj_1);
    if (GetObj('ISL_Cont_1').scrollLeft % PageWidth_1 - (fill_1 >= 0 ? fill_1 : fill_1 + 1) != 0) { Comp_1 = PageWidth_1 - GetObj('ISL_Cont_1').scrollLeft % PageWidth_1 + fill_1; CompScr_1() }
    else { MoveLock_1 = false }
    AutoPlay_1()
}
function ISL_ScrDown_1() {
    if (GetObj('ISL_Cont_1').scrollLeft >= GetObj('List1_1').scrollWidth) { GetObj('ISL_Cont_1').scrollLeft = GetObj('ISL_Cont_1').scrollLeft - GetObj('List1_1').scrollWidth }
    GetObj('ISL_Cont_1').scrollLeft += Space_1
}
function CompScr_1() {
    if (Comp_1 == 0) { MoveLock_1 = false; return }
    var num, TempSpeed = Speed_1, TempSpace = Space_1; if (Math.abs(Comp_1) < PageWidth_1 / 2) { TempSpace = Math.round(Math.abs(Comp_1 / Space_1)); if (TempSpace < 1) { TempSpace = 1 } }
    if (Comp_1 < 0) {
        if (Comp_1 < -TempSpace) { Comp_1 += TempSpace; num = TempSpace } else { num = -Comp_1; Comp_1 = 0 }
        GetObj('ISL_Cont_1').scrollLeft -= num; setTimeout('CompScr_1()', TempSpeed)
    } else {
        if (Comp_1 > TempSpace) { Comp_1 -= TempSpace; num = TempSpace } else { num = Comp_1; Comp_1 = 0 }
        GetObj('ISL_Cont_1').scrollLeft += num; setTimeout('CompScr_1()', TempSpeed)
    } 
}
function picrun_ini() {

    GetObj("List2_1").innerHTML = GetObj("List1_1").innerHTML;
    GetObj('ISL_Cont_1').scrollLeft = fill_1 >= 0 ? fill_1 : GetObj('List1_1').scrollWidth - Math.abs(fill_1);
    GetObj("ISL_Cont_1").onmouseover = function() { clearInterval(AutoPlayObj_1) }
    GetObj("ISL_Cont_1").onmouseout = function() {//AutoPlay_1()
    }
    //AutoPlay_1(); 
}
//end
