﻿/************************************************

FDMFrame 1.6.0.0 - FirstDM Javascript Frame
 
Copyright (c) 2008 Rick
 
FirstDM All right reserve
 
Date: 2008 - 04 - 11

Example：

    MoveWindow:  
        Set a Node Move Enable 
          
            <tag class="moveable" id="mtag" style="width:300px;height:200px;" title="Example"></tag>
              
            the Tag default status is HIDDEN.
              
            FDMFrame.Move.Show("mstag")
          
        pop Window
          
        Info;
            FDMFrame.Info(title,content);
            FDMFrame.Info(title,content,{
                name	:   "buttonName1",
                script  :   "FDMFrame.Info('提示信息','Helloworld1!');"
                },{
                name	:   "buttonName2",
                script  :   "FDMFrame.Info('提示信息','Helloworld2!');"
            });
        	  
        Alert;
            FDMFrame.Alert(title,content);
            FDMFrame.Alert(title,content,{
                name	:   "buttonName1",
                script  :   "FDMFrame.Info('提示信息','Helloworld1!');"
            },{
                name	:   "buttonName2",
                script  :   "FDMFrame.Info('提示信息','Helloworld2!');"
            });
        	  
        Error;
            FDMFrame.Error(title,content);
            FDMFrame.Error(title,content,{
                name	:   "buttonName1",
                script  :   "FDMFrame.Info('提示信息','Helloworld1!');"
            },{
                name	:   "buttonName2",
                script  :   "FDMFrame.Info('提示信息','Helloworld2!');"
            });
        	
        Waiting;
            FDMFrame.Waiting(title,content);
            FDMFrame.Waiting(title,content,{
                name	:   "buttonName1",
                script  :   "FDMFrame.Info('提示信息','Helloworld1!');"
            },{
                name	:   "buttonName2",
                script  :   "FDMFrame.Info('提示信息','Helloworld2!');"
            });
        	  
        HTML:
            FDMFrame.moveInnerHTML(title,content,width,height);
            FDMFrame.moveInnerHTML(title,content,width,height,{
                name	:   "buttonName1",
                script  :   "FDMFrame.Info('提示信息','Helloworld1!');"
            },{
                name	:   "buttonName2",
                script  :   "FDMFrame.Info('提示信息','Helloworld2!');"
            });
        	
            content = htmlcode or html object;
        	  
        HTMLObject:
          
            FDMFrame.Moveable(object)
            FDMFrame.Moveable(object,noMask)
            	 
            Hidden the mask only the move window
        	 
            FDMFrame.Moveable(object,{
                name	:   "buttonName1",
                script  :   "FDMFrame.Info('提示信息','Helloworld1!');"
            },{
                name	:   "buttonName2",
                script  :   "FDMFrame.Info('提示信息','Helloworld2!');"
            });
        	 
        Hidden the move window:
         
            FDMFrame.Move.Hidden(id);
         
        Show a hidden move window:
         
            FDMFrame.Move.Hidden(id);
        	 
        Modify Window Title
        	
            FDMFrame.Move[id].setTitle(newtitle);   
          
        Modify Window title HTML
        	
            FDMFrame.Move[id].innerHTML = HTMLCode;
          
    Menu:	
        Add a Menu
           
            <div id="menu" class="menu">abc</div>
               
            add the code in page

            $(document).ready(function() {
                FDMFrame.Menu["menu"].addItem("Text1","FDMFrame.Info('提示信息','script1')");
                FDMFrame.Menu["menu"].addItem("Text2","FDMFrame.Info('提示信息','script2')");
                FDMFrame.Menu["menu"].addItem("Text3","FDMFrame.Info('提示信息','script3')");
            });

        Static Menu:
            <div id="menuExample"></div>
            <label id="menulist" for="menuExample">
            <div onclick="alert('I am menu option,this is a script method')">Menu Option</div>
            <div><a href="this is a link">Menu Option</a></div>
            </label>

        Marquee:

            FDMFrame.Marquee.Create(id,position);
        	
        Style:

            FDMFrame.Style.userInput(object);
            FDMFrame.Style.select(object);
    Tools:
        
        clearValue:
        
            clear a Tag's all form childObject value
        
            FDMFrame.Tools.clearValue(tagId);
        
        Push & Pop
            
            clear a Tag's all form value and save it in Stack
        
            FDMFrame.Tools.Push(tagId);
            
            resume the form value 
            
            FDMFrame.Tools.Pop();
            
        Import a Javascript File:
        
            FDMFrame.Tools.importJavaScript(FileUrl)
*************************************************/
//#############################   Move Code Start   #########################
FDMFrame = {};
FDMFrame.Move = {};
FDMFrame.Move.SelectedObject = null;
FDMFrame.Move.x = null;
FDMFrame.Move.y = null;
FDMFrame.Move.t = null;
FDMFrame.Move.l = null;
FDMFrame.Move.zIndex = 99;
FDMFrame.Move.index = 0;
FDMFrame.Menu = {};
FDMFrame.Menu.SelectedObject = null;
FDMFrame.Menu.Hidden = true;
FDMFrame.Menu.ItemList = new Array();
FDMFrame.Select = null;
FDMFrame.Style = {};
FDMFrame.Style.shell = null;
FDMFrame.Marquee = {};
FDMFrame.Tools = {};
FDMFrame.Alert = function(title, content)
{
    return FDMFrame.MoveWindow("alert", arguments);
}
FDMFrame.Error = function(title, content)
{
    return FDMFrame.MoveWindow("error", arguments);
}
FDMFrame.Info = function(title, content)
{
    return FDMFrame.MoveWindow("info", arguments);
}
FDMFrame.Waiting = function(title, content)
{
    var param = new Array();
    param[0] = title;
    param[1] = content ? "<div class=\"loading\"></div>" + content : "<div class=\"loading\"></div>" + title;
    for (var i = 2; i < arguments.length; i++) param[i] = arguments[i];
    return FDMFrame.MoveWindow.apply(this, new Array("info", param));
}
FDMFrame.CloseWaiting = function(obj)
{
    if (obj)
    {
        FDMFrame.Move.Hidden(obj);
        obj = null;
    }
}
FDMFrame.Move.Create = function(title, content, iconcontent, width, id, hidden, noMask)
{
    //var zIndex = FDMFrame.Move.zIndex++;
    var zIndex = FDMFrame.Move.zIndex;
    if (id && ge(id) && ge("D" + id))
    {
        if (ge("ifr" + id)) ge("ifr" + id).style.display = "block";
        if (ge("Mifr" + id)) ge("Mifr" + id).style.display = "block";
        ge("M" + id).style.display = "block";
        ge("D" + id).style.display = "block";
        ge("M" + id).style.zIndex = zIndex;
        ge("D" + id).style.zIndex = zIndex;
        //if(ge("ifr" + id))ge("ifr" + id).style.zIndex = zindex;
        //if(ge("Mifr" + id))ge("Mifr" + id).style.zIndex = zindex;
        return;
    }
    var st = document.documentElement.scrollTop;
    var sl = document.documentElement.scrollLeft;
    var mtitle = title || "无标题";
    var mcontent = content || "无内容";
    var mwidth = width || 360;
    var param = arguments;
    var wi = typeof (content) == "object" && content.id != null && content.id != "" ? content.id : id ? id : "uw_" + FDMFrame.Move.index++; //自动ID种子
    if (!FDMFrame.Move[wi]) FDMFrame.Move[wi] = {};
    FDMFrame.Move[wi].Show = function()
    {
        FDMFrame.Move.Show(wi);
    }
    FDMFrame.Move[wi].autoOffset = function()
     {
        //窗口位置修正
        var _mobj = ge("D" + wi);
        _mobj.style.display = "";
        mwidth = getOffset(_mobj).w > 0 ? getOffset(_mobj).w : mwidth;
        mheight = getOffset(_mobj).h > 0 ? getOffset(_mobj).h : mheight;
        var mtol = (document.documentElement.clientWidth - mwidth) / 2 + sl;
        var mtot = ((document.documentElement.clientHeight - (mheight)) / 2 + st);
        _mobj.style.left = mtol < 0 ? 0 : mtol + "px";
        _mobj.style.top = mtot < 0 ? 0 : mtot + "px";

            if (ge("ifr" + wi))
        {
        ge("ifr" + wi).style.left = _mobj.style.left;
        ge("ifr" + wi).style.top = _mobj.style.top;
        }
        //窗口位置修正结束
    }
    //================================= 遮罩层的设定 =========================
    //遮罩层的高和宽
    var ph = document.body.scrollHeight > document.documentElement.clientHeight ? document.body.scrollHeight : document.documentElement.clientHeight;
    var pw = document.body.scrollWidth > document.documentElement.clientWidth ? document.body.scrollWidth : document.documentElement.clientWidth;
    //var pw = ie?document.body.scrollWidth:document.documentElement.clientWidth;
    //	alert(getOffset(document.body).h + "," + document.documentElement.clientHeight);
    if (!noMask || typeof (noMask) == "object")
    {
        var hiddenobj = ce("div");
        hiddenobj.className = "movemask";
        hiddenobj.style.height = ph + "px";
        hiddenobj.style.width = pw + "px";
        hiddenobj.id = "M" + wi;
        hiddenobj.style.zIndex = zIndex;
        ae(hiddenobj, document.body); //遮罩层放入页面Page标签
        if (ie6)
        {
            var mifr = ce("iframe");
            mifr.id = "Mifr" + wi;
            mifr.frameBorder = 0;
            mifr.style.position = "absolute";
            mifr.style.filter = "Alpha(Opacity=0)";
            mifr.style.top = "0px";
            mifr.style.left = "0px";
            mifr.width = pw + "px";
            mifr.height = ph + "px";
            document.body.insertBefore(mifr, hiddenobj);
        }

    }
    //================================= 遮罩层设定结束 =========================


    //================================= 表格移动窗口 =========================
    var withButton = param.length > 7;
    //窗口样式设定
    // Desk Div Move Enabled
    var mobj = ce("div"); //窗口框
    mobj.id = "D" + wi;
    mobj.className = "movedesk";
    mobj.style.width = (mwidth + 50) + "px";
    mobj.style.zIndex = zIndex;
    //mobj.style.border = "1px solid red";
    var mheight = 180;
    if (typeof (content) == "object")
    {
        mcontent.style.display = "block";
        mwidth = getOffset(content).w > 0 ? getOffset(content).w : content.style.width != "" && content.style.width != null ? content.style.width.replace("px", "").parseInt() : mwidth;
        mheight = getOffset(content).h > 0 ? getOffset(content).h : content.style.height != "" && content.style.height != null ? content.style.height.replace("px", "").parseInt() : mheight;
    }
    var mtol = (document.documentElement.clientWidth - mwidth) / 2 + sl;
    var mtot = ((document.documentElement.clientHeight - (mheight + 60)) / 2 + st);
    mobj.style.left = mtol < 0 ? 0 : mtol + "px";
    mobj.style.top = mtot < 0 ? 0 : mtot + "px";

    ae(mobj, document.body); //将窗口框放入页面标签
    if (ie6)
    {
        var ifr = ce("iframe");
        ifr.id = "ifr" + wi;
        ifr.frameBorder = 0;
        ifr.style.position = "absolute";
        //ifr.style.zIndex = ++FDMFrame.Move.zIndex;
        ifr.style.filter = "Alpha(Opacity=0)";
        ifr.style.top = "0px";
        ifr.style.left = "0px";
        document.body.insertBefore(ifr, mobj);
    }
    var table = ce("table");
    ae(table, mobj);
    table.cellPadding = 0;
    table.cellSpacing = 0;

    //table.style.width = "100%";
    var T = table.insertRow(0); //Title
    var tobj = T;
    var C = table.insertRow(1); //Content
    var B = table.insertRow(2); //Bottom
    T.insertCell(0); //左上角圆角
    T.cells[0].className = "moveTabletl";
    T.insertCell(1); //标题
    T.cells[1].className = "moveTabletc";
    var xdiv = ce("div"); //标题关闭按钮标签层
    xdiv.className = "movexdiv";
    ae(xdiv, T.cells[1]); //将关闭按钮标签层放入标题
    var txobj = ce("div"); //标题关闭按钮对象
    txobj.className = "moveclose";
    txobj.id = "X" + wi;
    txobj.title = "关闭";
    ae(txobj, xdiv); 	//将关闭按钮对象放入关闭按钮标签内
    //Icon 
    FDMFrame.Move[wi].icon = {};
    if (iconcontent)
    {
        var idiv = ce("div");
        idiv.className = "moveidiv";
        idiv.style.overflow = "hidden";
        idiv.innerHTML = iconcontent;
        ae(idiv, T.cells[1]);
        FDMFrame.Move[wi].icon = idiv;
    }

    var tcobj = ce("div"); //标题文字层
    tcobj.className = "movetitlecontent";
    tcobj.ondrop = function() { return false; }
    tcobj.onselect = function() { return false; }
    tcobj.innerHTML = mtitle;
    tcobj.id = "T" + wi;
    FDMFrame.Move[wi].Title = tcobj;
    FDMFrame.Move[wi].setTitle = function(title)
    {
        if (!FDMFrame.Move[wi].Title) FDMFrame.Move[wi].Title = ge("T" + wi);
        FDMFrame.Move[wi].Title.innerHTML = title;
        tcobj.title = title;
    }

    ae(tcobj, T.cells[1]); //将标题文字层放入标题
    T.insertCell(2); //右上角圆角
    T.cells[2].className = "moveTabletr";
    T.cells[2].innerHTML = "<div style=\"width:7px;font-size:1px\">&nbsp;</div>";
    //================================= 窗口标题样式设定结束 =========================
    var C1 = C.insertCell(0);
    var C2 = C.insertCell(1);
    var C3 = C.insertCell(2);
    C1.className = "moveTablecl";
    C1.innerHTML = "&nbsp;";
    C2.className = "moveTablecc";
    var dobj = ce("div"); //窗口内容内框
    ae(dobj, C2);
    dobj.className = "moveTableCB";
    dobj.style.width = (mwidth + 22) + "px";
    //dobj.style.height = (mheight + 22) + "px";
    if (withButton)
        dobj.style.margin = "5px";
    else
        dobj.style.margin = "10px 5px 0px 5px";
    var cobj = ce("div"); //窗口内容容纳框
    ae(cobj, dobj); 		//将内容容纳框放入内框
    cobj.className = "moveTableCI";
    if (typeof (mcontent) == "string")
    {
        cobj.style.minHeight = "180px";
        cobj.innerHTML = mcontent;
        FDMFrame.Move[wi].Content = cobj;
        cobj.id = wi;
    }
    else
    {
        ae(mcontent, cobj);
        mcontent.id = wi;
        FDMFrame.Move[wi].Content = mcontent;
    }
    cobj.style.width = (mwidth) + "px";
    //cobj.style.height = (mheight) + "px";
    C3.className = "moveTablecr";
    C3.innerHTML = "<div style=\"width:7px;font-size:1px\">&nbsp;</div>";
    B.insertCell(0);
    B.cells[0].className = "moveTablebl";
    var bcobj = B.insertCell(1);
    B.cells[1].className = "moveTablebc";
    B.insertCell(2);
    B.cells[2].className = "moveTablebr";
    B.cells[2].innerHTML = "<div style=\"width:7px;font-size:1px\">&nbsp;</div>";
    if (!withButton)
    {
        B.cells[0].style.height = "8px";
        B.cells[1].style.height = "8px";
        B.cells[2].style.height = "8px";
        B.cells[1].innerHTML = "<div style=\"height:7px;font-size:1px\">&nbsp;</div>";
    }



    //================================= 窗口底部按钮设定 =========================
    if (withButton)
    {
        var bobj = ce("div"); //窗口底框按钮框
        bobj.style.textAlign = "center";
        bobj.style.height = "20px";
        bobj.id = "B" + wi;
        ae(bobj, bcobj); //按钮框放入底边中部对象容器内
        for (var i = 7; i < param.length; i++)
        {

            if (!hidden && typeof (content) == "string")
            {
                var bt = ce("input");
                bt.type = "button";
                bt.className = "movebutton";
                bt.value = param[i].name.replace(/\"/g, "'");
                eval("bt.onclick = function(){" + param[i].script.replace(/\"/g, "'") + ";if(ge('D" + wi + "'))re('D" + wi + "');if(ge('ifr" + wi + "'))re('ifr" + wi + "');if(ge('Mifr" + wi + "'))re('Mifr" + wi + "');if(ge('M" + wi + "'))re('M" + wi + "');" + "}");
                ae(bt, bobj)
                try { bt.focus(); } catch (e) { }
                bt = null;
                code = null;
            }
            else
            {
                var bt = ce("input");
                bt.type = "button";
                bt.className = "movebutton";
                bt.value = param[i].name.replace(/\"/g, "'");
                eval("bt.onclick = function(){" + param[i].script.replace(/\"/g, "'") + ";if(ge('D" + wi + "'))ge('D" + wi + "').style.display='none';if(ge('Mifr" + wi + "'))ge('Mifr" + wi + "').style.display='none';if(ge('ifr" + wi + "'))ge('ifr" + wi + "').style.display='none';if(ge('M" + wi + "'))ge('M" + wi + "').style.display='none';}");
                ae(bt, bobj)
                try { bt.focus(); } catch (e) { }
                bt = null;
                code = null;
            }
        }
    }
    //================================= 窗口底部按钮设定结束 =========================

    /*//窗口位置修正
    if (typeof (content) == "object")
    {
        mobj.style.display = "";
        mwidth = getOffset(mobj).w > 0 ? getOffset(mobj).w : mwidth;
        mheight = getOffset(mobj).h > 0 ? getOffset(mobj).h : mheight;
        var mtol = (document.documentElement.clientWidth - mwidth) / 2 + sl;
        var mtot = ((document.documentElement.clientHeight - (mheight)) / 2 + st);
        mobj.style.left = mtol < 0 ? 0 : mtol + "px";
        mobj.style.top = mtot < 0 ? 0 : mtot + "px";

        if (ge("ifr" + wi))
        {
            ge("ifr" + wi).style.left = mobj.style.left;
            ge("ifr" + wi).style.top = mobj.style.top;
        }
    }
    //窗口位置修正结束*/
    FDMFrame.Move[wi].autoOffset();

    //================================= 事件处理 =========================
    if (!hidden && typeof (content) == "string")
    {
        eval("txobj.onclick = function(){if(ge('D" + wi + "'))re('D" + wi + "');if(ge('Mifr" + wi + "'))re('Mifr" + wi + "');if(ge('ifr" + wi + "'))re('ifr" + wi + "');if(ge('M" + wi + "'))re('M" + wi + "');" + "}");
    }
    else
    {
        eval("txobj.onclick = function(){if(ge('D" + wi + "'))ge('D" + wi + "').style.display='none';if(ge('Mifr" + wi + "'))ge('Mifr" + wi + "').style.display='none';if(ge('ifr" + wi + "'))ge('ifr" + wi + "').style.display='none';if(ge('M" + wi + "'))ge('M" + wi + "').style.display='none';}");
    }
    tobj.onmousedown = function()
    {
        if (ff && arguments[0]) event = arguments[0];
        if ((ie && event.button == 1) || (ff && event.button == 0))
        {
            FDMFrame.Move.SelectedObject = this.parentNode;
            while (FDMFrame.Move.SelectedObject.tagName.toLower() != "div" && FDMFrame.Move.SelectedObject) FDMFrame.Move.SelectedObject = FDMFrame.Move.SelectedObject.parentNode;
            FDMFrame.Move.x = ie ? event.clientX - getOffset(FDMFrame.Move.SelectedObject).x : event.layerX;
            FDMFrame.Move.y = ie ? event.clientY - getOffset(FDMFrame.Move.SelectedObject).y : event.layerY;
            FDMFrame.Move.t = ie ? document.documentElement.scrollTop : document.body.scrollTop;
            FDMFrame.Move.l = ie ? document.documentElement.scrollLeft : document.body.scrollLeft;
            FDMFrame.Move.SelectedObject.style.cursor = "move";
        }
    };
    if (ie6)
    {
        ifr.width = table.offsetWidth + "px";
        ifr.height = table.offsetHeight + "px";
    }
    //================================= 事件处理结束 =========================
    if (hidden)
    {
        if (hiddenobj) hiddenobj.style.display = "none";
        mobj.style.display = "none";
        if (ifr) ifr.style.display = "none";
        if (mifr) mifr.style.display = "none";
    }
    return wi;
}

FDMFrame.Move.Content = function(ObjectID)
{
    if (typeof (ObjectID) == "string")
        return ge("C" + ObjectID);
    else if (typeof (ObjectID) == "object")
        return ObjectID;
    else
        return null;
}
FDMFrame.Move.Show = function(MoveWindow)
{
    //var zIndex = FDMFrame.Move.zIndex++;
    var zIndex = FDMFrame.Move.zIndex;
    if (typeof (MoveWindow) == "string" && !ge("D" + MoveWindow)) return;
    if (MoveWindow && ge("M" + MoveWindow))
    {
        var Mask = ge("M" + MoveWindow);
        var ph = document.body.scrollHeight > document.documentElement.clientHeight ? document.body.scrollHeight : document.documentElement.clientHeight;
        var pw = document.body.scrollWidth > document.documentElement.clientWidth ? document.body.scrollWidth : document.documentElement.clientWidth;
        //var ph = ie?document.body.scrollHeight:document.documentElement.clientHeight;
        //var pw = ie?document.body.scrollWidth:document.documentElement.clientWidth;
        Mask.style.height = ph + "px";
        Mask.style.width = pw + "px";
        Mask.style.display = "block";
        Mask.style.zIndex = zIndex;
        if (ge("Mifr" + MoveWindow))
        {
            ge("Mifr" + MoveWindow).style.display = "block";
            ge("Mifr" + MoveWindow).style.height = ph + "px";
            ge("Mifr" + MoveWindow).style.width = pw + "px";
        }
    }
    var DObj = typeof (MoveWindow) == "string" ? ge("D" + MoveWindow) : typeof (MoveWindow) == "object" ? ge("D" + MoveWindow.id) : null;

    if (DObj)
    {
        DObj.style.display = "block";
        DObj.style.zIndex = zIndex;
        var mtol = (document.documentElement.clientWidth - getOffset(DObj).w) / 2 + document.documentElement.scrollLeft;
        var mtot = (document.documentElement.clientHeight - getOffset(DObj).h) / 2 + document.documentElement.scrollTop;
        DObj.style.left = mtol < 0 ? 0 : mtol + "px";
        DObj.style.top = mtot < 0 ? 0 : mtot + "px";
        if (ge("ifr" + MoveWindow))
        {
            ge("ifr" + MoveWindow).style.display = "block";
            ge("ifr" + MoveWindow).style.left = DObj.style.left;
            ge("ifr" + MoveWindow).style.top = DObj.style.top;
        }
    }
}
FDMFrame.Move.Hidden = function(MoveWindow)
{
    if (typeof (MoveWindow) == "string") MoveWindow = ge(MoveWindow);
    if (MoveWindow && typeof (MoveWindow) == "object")
    {
        var mid = MoveWindow.id;
        if (mid)
        {
            if (ge("D" + mid)) ge("D" + mid).style.display = "none";
            if (ge("M" + mid)) ge("M" + mid).style.display = "none";
            if (ge("ifr" + mid)) ge("ifr" + mid).style.display = "none";
            if (ge("Mifr" + mid)) ge("Mifr" + mid).style.display = "none";
        }
    }
}
FDMFrame.MoveWindow = function(EventType, param)
{

    var title = param[0];
    var content = ie6 ? (typeof (param[1]) == "string" ? "<div style=\"height:160px;\">" + param[1] + "</div>" : param[1]) : param[1];
    var ET = EventType || "normal";
    var idiv = null;
    if (EventType.toLower() == "alert" || EventType.toLower() == "error")
    {
        idiv = "<div class=move" + EventType + "></div>";
    }
    if (idiv) idiv = idiv.replace(/\r/g, "").replace(/\n/g, "").replace(/\\/g, "\\\\").replace(/\'/g, "\\\'").replace(/\"/g, "\\\"");
    var param1 = new Array();
    param1[0] = title;
    param1[1] = content;
    param1[2] = idiv;
    param1[3] = 360;
    param1[4] = null;
    param1[5] = false;
    param1[6] = false;
    param1[7] = { name: "确定", script: "" };
    if (param.length > 2)
    {
        param1[7] = param[2];
        if (param.length > 3)
        {
            for (var i = 3; i < param.length; i++)
            {
                param1[param1.length] = param[i];
            }
        }
    }
    if (arguments.length > 2)
    {
        for (var i = 1; i < arguments.length; i++)
        {
            param1[param1.length] = arguments[i];
        }
    }
    return FDMFrame.Move.Create.apply(this, param1);
}
FDMFrame.Moveable = function(obj, noMask)
{
    //var zIndex = FDMFrame.Move.zIndex++;
    var zIndex = FDMFrame.Move.zIndex;
    var objId = typeof (obj) == "string" ? obj : obj.id;
    if (ge("D" + objId))
    {
        if ((arguments.length > 1 && typeof (arguments[1]) == "object") || arguments.length > 2)
        {
            var bobj = ge("B" + objId);

            if (bobj)
            {
                while (bobj.childNodes.length > 0)
                {
                    re(bobj.childNodes[0]);
                }
            }
            for (var i = 1; i < arguments.length; i++)
            {
                if (i == 1 && typeof (arguments[1]) != "object") continue;
                var bt = ce("input");
                bt.type = "button";
                bt.className = "movebutton";
                bt.value = arguments[i].name.replace(/\"/g, "'");
                //bt.onclick = Function("alert('a')");
                //bt.onclick = Function(arguments[i].script.replace(/\"/g,"'") + ";if(ge('D" + objId + "'))ge('D" + objId + "').style.display='none';if(ge('" + objId + "'))ge('" + objId + "').style.display='none';}");
                eval("bt.onclick = function(){" + arguments[i].script.replace(/\"/g, "'") + ";if(ge('D" + objId + "'))ge('D" + objId + "').style.display='none';if(ge('Mifr" + objId + "'))ge('Mifr" + objId + "').style.display='none';if(ge('ifr" + objId + "'))ge('ifr" + objId + "').style.display='none';if(ge('M" + objId + "'))ge('M" + objId + "').style.display='none';}");
                ae(bt, bobj)
                //bt.focus();
                bt = null;
                code = null;
            }
        }
        else
            FDMFrame.Move.Show(obj);

        if (ge("ifr" + objId))
        {
            ge("ifr" + objId).style.display = "block";
            //ge("ifr" + objId).style.zIndex = ++FDMFrame.Move.zIndex;
        }
        if (ge("Mifr" + objId))
        {
            ge("Mifr" + objId).style.display = "block";
            //ge("Mifr" + objId).style.zIndex = FDMFrame.Move.zIndex;
        }
        ge("D" + objId).style.display = "block";
        ge("D" + objId).style.zIndex = zIndex;
        if (ge("M" + objId))
        {
            ge("M" + objId).style.zIndex = zIndex;
            if (noMask)
                ge("M" + objId).style.display = "block";
        }
        return objId;
    }
    obj = ge(obj);
    if (!obj) return null;
    var title = obj.title;
    //obj.style.display = "block";
    var width = obj.style.width == null || obj.style.width == "" ? (getOffset(obj).w == 0 ? null : (getOffset(obj).w + 20)) : (obj.style.width.replace("px", "").parseInt() + 20);
    //obj.style.display = "none";
    var param = new Array();
    param[0] = title;
    param[1] = obj;
    param[2] = null;
    param[3] = width;
    //param[3] = width;
    param[4] = null;
    param[5] = false;
    param[6] = typeof (noMask) == "object" ? false : noMask;
    if (arguments.length > 1)
    {
        for (var i = 1; i < arguments.length; i++)
        {
            if (typeof (arguments[i]) != "object") continue;
            param[param.length] = arguments[i];
        }
    }
    return FDMFrame.Move.Create.apply(this, param);
}
FDMFrame.moveInnerHTML = function(title, content, width, height, noMask)
{
    var c = ce("div");
    if (typeof (content) == "object")
    {
        ae(content, c);
        if (c.style.cssText) c.style.cssText = content.style.cssText;
        if (c.style.styleText) c.style.styleText = content.style.styleText;
    }
    else
        c.innerHTML = content;
    c.style.width = width + "px";
    c.style.height = height + "px";
    var param = new Array();
    param[0] = title;
    param[1] = c;
    param[2] = null;
    param[3] = width;
    param[4] = null;
    param[5] = false;
    param[6] = noMask;
    if (arguments.length > 5)
    {
        for (var i = 5; i < arguments.length; i++)
        {
            param[param.length] = arguments[i];
        }
    }
    return FDMFrame.Move.Create.apply(this, param);
}
//#############################   Move Code End   #########################


//#############################   Menu Code Start   #########################
FDMFrame.Menu.Create = function(MenuID, cursor)
{
    var obj = ge(MenuID);
    if (!obj) return;
    if (FDMFrame.Menu[MenuID])
        FDMFrame.Menu[MenuID].Clear();
    else
        FDMFrame.Menu[MenuID] = {};
    /*obj.onclick = function()
    {
    if(ff&&arguments[0])event=arguments[0];
    if(event.button>=0)
    {
    var DMT = event.target || event.srcElement;
    var DMO = ge("DM" + DMT.id);
    var deep = 0;
    while(!DMO&&deep<2)
    {
    DMT = DMT.parentNode;
    DMO = ge("DM" + DMT.id);
    deep++;
    }
    if(DMO)
    {
    if(ge("list" + DMT.id)&&ge("list" + DMT.id).innerHTML == "")return;
    if(FDMFrame.Menu.SelectedObject)FDMFrame.Menu.SelectedObject.style.display = "none";
    DMO.style.display = "block";
    FDMFrame.Menu.SelectedObject = DMO;
    DMO.style.left = ((ie?event.clientX:event.pageX) + document.documentElement.scrollLeft) + "px";
    DMO.style.top = ((ie?event.clientY:event.pageY) + document.documentElement.scrollTop) + "px";
    }
    }
    }*/
    FDMFrame.Menu[MenuID].ShowMenu = null;
    FDMFrame.Menu[MenuID].OnShowMenu = function(value) { FDMFrame.Menu[MenuID].ShowMenu = value; }
    obj.style.cursor = cursor ? cursor : "pointer";
    obj.oncontextmenu = function()
    {
        if (typeof (FDMFrame.Menu[MenuID].ShowMenu) == "function")
        {
            FDMFrame.Menu[MenuID].ShowMenu();
        }
        FDMFrame.Menu.Hidden = true;
        if (ff && arguments[0]) event = arguments[0];
        if (event.button >= 0)
        {
            var DMT = event.target || event.srcElement;
            var DMO = ge("DM" + DMT.id);
            var deep = 0;
            while (!DMO && deep < 2)
            {
                DMT = DMT.parentNode;
                DMO = ge("DM" + DMT.id);
                deep++;
            }
            if (DMO)
            {
                if (ge("list" + DMT.id) && ge("list" + DMT.id).innerHTML == "") return;
                if (FDMFrame.Menu.SelectedObject) FDMFrame.Menu.SelectedObject.style.display = "none";
                DMO.style.display = "block";
                FDMFrame.Menu.SelectedObject = DMO;
                DMO.style.left = ((ie ? event.clientX : event.pageX) + document.documentElement.scrollLeft) + "px";
                DMO.style.top = ((ie ? event.clientY : event.pageY) + document.documentElement.scrollTop) + "px";
            }
        }
        return false;
    }
    for (var i = 0; i < obj.childNodes.length; i++)
    {
        if (obj.childNodes[i].nodeType == 1)
        {
            obj.childNodes[i].oncontextmenu = obj.oncontextmenu;
            for (var j = 0; j < obj.childNodes[i].childNodes.length; j++)
            {
                if (obj.childNodes[i].childNodes[j].nodeType == 1)
                {
                    obj.childNodes[i].childNodes[j].oncontextmenu = obj.oncontextmenu;
                    for (var k = 0; k < obj.childNodes[i].childNodes[j].childNodes.length; k++)
                    {
                        if (obj.childNodes[i].childNodes[j].childNodes[k].nodeType == 1)
                        {
                            obj.childNodes[i].childNodes[j].childNodes[k].oncontextmenu = obj.oncontextmenu;
                        }
                    }
                }
            }
        }
    }
    var DM = ce("div");
    DM.id = "DM" + MenuID;
    //FDMFrame.Info('提示信息',DM.id);
    DM.className = "menudesk";
    DM.style.display = "none";
    //DM.style.left = "0px";//((ie?event.clientX:event.pageX) - 15) + "px";
    //DM.style.top = "0px";//((ie?event.clientY:event.pageY) -15) + "px";
    var DMBG = ce("div");
    DMBG.className = "menubg";
    DMBG.id = "menubg" + MenuID;
    ae(DMBG, DM);
    ae(DM, document.body);
    //ae(DM,obj);
    var DMI = ce("div");
    DMI.id = "list" + MenuID;
    DMI.className = "menuitemlist";
    ae(DMI, DM);
    FDMFrame.Menu[MenuID].Items = new Array();
    FDMFrame.Menu[MenuID].Scripts = new Array();
    FDMFrame.Menu[MenuID].removeItem = function(Text)
    {
        var mo = ge("list" + MenuID);
        if (!mo) return;
        var TIndex = typeof (Text) == "string" ? FDMFrame.Menu[MenuID].Items.find(Text) : typeof (Text) == "object" && Text.innerHTML ? FDMFrame.Menu[MenuID].Items.find(Text.innerHTML) : -1;
        if (TIndex >= 0)
        {
            var ro = ge("item_" + MenuID + "_" + TIndex);
            if (ro)
            {
                ro.parentNode.removeChild(ro);
                for (var i = TIndex; i < FDMFrame.Menu[MenuID].Scripts.length; i++)
                {
                    ro = ge("item_" + MenuID + "_" + (i + 1));
                    if (ro) ro.id = "item_" + MenuID + "_" + i;
                }
                FDMFrame.Menu[MenuID].Scripts.remove(TIndex);
                FDMFrame.Menu[MenuID].Items.remove(TIndex);
            }
            ge("menubg" + MenuID).style.height = (FDMFrame.Menu[MenuID].Items.length * 18 + 0) + "px";
        }
    }
    FDMFrame.Menu[MenuID].addItem = function(Text, script, title)
    {
        var mo = ge("list" + MenuID);
        if (!mo) return;
        if (typeof (Text) == "object")
        {
            ae(Text, mo);
            FDMFrame.Menu[MenuID].Items[FDMFrame.Menu[MenuID].Items.length] = Text.innerHTML;
            FDMFrame.Menu[MenuID].Scripts[FDMFrame.Menu[MenuID].Scripts.length] = null;
            ge("menubg" + MenuID).style.height = (FDMFrame.Menu[MenuID].Items.length * 18 + 0) + "px";
            return;
        }
        var TIndex = FDMFrame.Menu[MenuID].Items.find(Text);
        if (TIndex >= 0)
        {
            var ro = ge("item_" + MenuID + "_" + TIndex);
            if (ro)
            {
                ro.innerHTML = Text;
                if (title) ro.title = title;
                ro.onclick = function()
                {
                    eval(script);
                }
            }
            FDMFrame.Menu[MenuID].Scripts[TIndex] = script;
        }
        else
        {
            var itemcode = "";
            itemcode += "<div id=\"item_" + MenuID + "_" + FDMFrame.Menu[MenuID].Items.length + "\"";
            itemcode += " class=\"menuitem_out\"";
            itemcode += " onmouseover = \"this.className='menuitem_over'\"";
            itemcode += " onmouseout = \"this.className='menuitem_out'\"";
            itemcode += " onclick = \"" + script + ";ge('DM" + MenuID + "').style.display='none';\"";
            if (title) itemcode += " title=\"" + title + "\"";
            itemcode += ">" + Text + "</div>";
            mo.innerHTML += itemcode;
            FDMFrame.Menu[MenuID].Items[FDMFrame.Menu[MenuID].Items.length] = Text;
            FDMFrame.Menu[MenuID].Scripts[FDMFrame.Menu[MenuID].Scripts.length] = script;
        }
        ge("menubg" + MenuID).style.height = (FDMFrame.Menu[MenuID].Items.length * 18 + 0) + "px";
    }
    FDMFrame.Menu[MenuID].Show = function()
    {
        var DMO = ge("DM" + MenuID);
        if (DMO)
        {
            FDMFrame.Menu.Hidden = false;
            if (ff && arguments[0]) event = arguments[0];
            if (event.button >= 0)
            {
                if (DMO)
                {
                    if (ge("list" + MenuID) && ge("list" + MenuID).innerHTML == "") return;
                    if (FDMFrame.Menu.SelectedObject) FDMFrame.Menu.SelectedObject.style.display = "none";
                    DMO.style.display = "block";
                    FDMFrame.Menu.SelectedObject = DMO;
                    DMO.style.left = ((ie ? event.clientX : event.pageX) + document.documentElement.scrollLeft) + "px";
                    DMO.style.top = ((ie ? event.clientY : event.pageY) + document.documentElement.scrollTop) + "px";
                }
            }
        }
    }
    FDMFrame.Menu[MenuID].Clear = function(Index)
    {
        if (Index && Index >= 0)
        {
            var obj = ge("item_" + MenuID + "_" + Index);
            if (obj)
            {
                obj.parentNode.removeChild(obj);

            }
            var ni = Index + 1;
            obj = ge("item_" + MenuID + "_" + ni);
            while (obj)
            {
                obj.id = "item_" + MenuID + "_" + ni - 1;
                ni++;
                obj = ge("item_" + MenuID + "_" + ni);
            }
            FDMFrame.Menu[MenuID].Items.remove(Index);
            FDMFrame.Menu[MenuID].Scripts.remove(Index);
            ge("menubg" + MenuID).style.height = (FDMFrame.Menu[MenuID].Items.length * 18 + 2) + "px";
        }
        else
        {
            var mo = ge("list" + MenuID);
            if (!mo) return;
            mo.innerHTML = "";
            FDMFrame.Menu[MenuID].Items = new Array();
            FDMFrame.Menu[MenuID].Scripts = new Array();
            ge("menubg" + MenuID).style.height = "0px";
        }
    }
}
FDMFrame.Menu.Show = function(MenuID)
{
    FDMFrame.Menu.Hidden = false;
    var DMO = ge("DM" + MenuID);
    if (DMO)
    {
        if (ff && arguments[0]) event = arguments[0];
        if (ge("list" + MenuID) && ge("list" + MenuID).innerHTML == "") return;
        if (FDMFrame.Menu.SelectedObject) FDMFrame.Menu.SelectedObject.style.display = "none";
        DMO.style.display = "block";
        FDMFrame.Menu.SelectedObject = DMO;
        if (event) DMO.style.left = ((ie ? event.clientX : event.pageX) + document.documentElement.scrollLeft - DMO.offsetWidth) + "px";
        if (event) DMO.style.top = ((ie ? event.clientY : event.pageY) + document.documentElement.scrollTop) + "px";
    }
}
//#############################   Menu Code End   #########################

FDMFrame.Style.userInput = function(targetObject)
{
    var obj = ge(targetObject);
    if (!obj) return;
    if (obj.parentNode.className == "blurinblock" || obj.parentNode.className == "focusinblock") return;
    var parentnode = obj.parentNode;
    var outer = ce("div");
    outer.className = "bluroutblock";
    var iner = ce("div");
    setOut(obj, iner);
    setOut(iner, outer);
    iner.className = "blurinblock";

    $(obj).bind("blur", function()
    {
        this.parentNode.className = "blurinblock";
        this.parentNode.parentNode.className = "bluroutblock";
        FDMFrame.Select = null;
    });
    $(obj).bind("focus", function()
    {
        this.parentNode.className = "focusinblock";
        this.parentNode.parentNode.className = "focusoutblock";
    });
    $(obj).bind("click", function()
    {
        try { if (this.value != FDMFrame.Select) { this.select(); FDMFrame.Select = document.selection.createRange().text; } } catch (e) { };
    });
}
FDMFrame.Style.Error = function(obj, cancel)
{
    var o = ge(obj);
    if (o && o.parentNode && (o.parentNode.className == "blurinblock" || o.parentNode.className == "focusinblock" || o.parentNode.className == "errorinblock") && o.parentNode.parentNode && (o.parentNode.parentNode.className == "bluroutblock" || o.parentNode.parentNode.className == "focusoutblock" || o.parentNode.parentNode.className == "erroroutblock"))
    {
        if (cancel)
        {
            o.parentNode.className = "blurinblock";
            o.parentNode.parentNode.className = "bluroutblock";
        }
        else
        {
            o.parentNode.className = "errorinblock";
            o.parentNode.parentNode.className = "erroroutblock";
        }
    }
}
FDMFrame.Style.select = function(targetObject)
{
    var obj = ge(targetObject);
    if (obj) obj.className = "select";
    var div = ce("div");
    div.style.height = "16px";
    div.style.overflow = "hidden";
    div.style.cssFloat = "left";
    div.style.styleFloat = "left";
    var div2 = ce("div");
    div2.style.height = "16px";
    div2.style.border = "1px solid #1e4362";
    div2.style.cssFloat = "left";
    div2.style.styleFloat = "left";
    setOut(obj, div);
    setOut(div, div2);
}
FDMFrame.Tools.clearValue = function(obj)
{
    var clearChild = function(child)
    {
        for (var i = 0; i < child.childNodes.length; i++)
        {
            if (child.childNodes[i].nodeType == 1)
            {
                if (child.childNodes[i].className == "userinput")
                    FDMFrame.Style.Error(child.childNodes[i], true);
                if ((child.childNodes[i].tagName.toLower() == "input" && child.childNodes[i].type == "text") || child.childNodes[i].tagName.toLower() == "textarea")
                    child.childNodes[i].value = "";
                else if (child.childNodes[i].tagName.toLower() == "select" && child.childNodes[i].options.length > 0)
                    child.childNodes[i].selectedIndex = 0;
                else if (child.childNodes[i].childNodes.length > 0)
                {
                    clearChild(child.childNodes[i]);
                }
            }
        }
    }
    var o = ge(obj);
    if (o) clearChild(o);
}
FDMFrame.Tools.Disabled = function(obj, disabled)
{
    var DisabledChild = function(child)
    {
        child.disabled = disabled ? true : disabled == false ? false : true;
        for (var i = 0; i < child.childNodes.length; i++)
        {
            if (child.childNodes[i].nodeType == 1)
            {
                child.childNodes[i].disabled = disabled ? true : disabled == false ? false : true;
            }
            if (child.childNodes[i].childNodes.length > 0)
            {
                DisabledChild(child.childNodes[i]);
            }
        }
    }
    var o = ge(obj);
    if (o) DisabledChild(o);
}
FDMFrame.Tools.Stack = {
    length: 0,
    index: -1,
    Content: new Array()
};
FDMFrame.Tools.Push = function(name)
{
    var getChildValue = function(child)
    {
        for (var i = 0; i < child.childNodes.length; i++)
        {
            if (child.childNodes[i].nodeType == 1)
            {
                if ((child.childNodes[i].tagName.toLower() == "input" && child.childNodes[i].type == "text") || child.childNodes[i].tagName.toLower() == "textarea")
                    pContent[child.childNodes[i].id] = child.childNodes[i].value;
                else if (child.childNodes[i].tagName.toLower() == "select" && child.childNodes[i].options.length > 0)
                    pContent[child.childNodes[i].id] = child.childNodes[i].selectedIndex;
                else if (child.childNodes[i].childNodes.length > 0)
                {
                    getChildValue(child.childNodes[i]);
                }
            }
        }
    }

    var pContent = {};
    var o = ge(name);
    if (o)
    {
        getChildValue(o);
        FDMFrame.Tools.Stack.length++;
        FDMFrame.Tools.Stack.index++;
        FDMFrame.Tools.Stack.Content[FDMFrame.Tools.Stack.index] = pContent;
    }
    FDMFrame.Tools.clearValue(name);
}
FDMFrame.Tools.Pop = function()
{
    if (FDMFrame.Tools.Stack.length > 0)
    {
        FDMFrame.Tools.Stack.length--;
        for (var id in FDMFrame.Tools.Stack.Content[FDMFrame.Tools.Stack.index])
        {
            var o = ge(id.toString());
            if (o)
            {
                if (o.nodeType == 1)
                {
                    if ((o.tagName.toLower() == "input" && o.type == "text") || o.tagName.toLower() == "textarea")
                    {
                        o.value = FDMFrame.Tools.Stack.Content[FDMFrame.Tools.Stack.index][id.toString()];
                    }
                    else if (o.tagName.toLower() == "select" && FDMFrame.Tools.Stack.Content[FDMFrame.Tools.Stack.index][id.toString()] < o.options.length)
                    {
                        o.selectedIndex = FDMFrame.Tools.Stack.Content[FDMFrame.Tools.Stack.index][id.toString()];
                    }
                }
            }
        }
        FDMFrame.Tools.Stack.Content[FDMFrame.Tools.Stack.index] = null;
        FDMFrame.Tools.Stack.index--;
    }
}
FDMFrame.Tools.importJavaScript = function(path)
{
    var script = ce("script");
    script.type = "text/javascript";
    script.language = "javascript";
    script.src = path;
    if (document.getElementsByTagName("head")[0])
        ae(script, document.getElementsByTagName("head")[0]);
    else if (document.getElementsByTagName("body")[0])
        ae(script, document.getElementsByTagName("body")[0]);
}

FDMFrame.Tools.ClearValue = FDMFrame.Tools.clearValue;

$(document).ready(function()
{
    //For Menu Enable
    $(document).bind("click", function()
    {

        if (FDMFrame.Menu.SelectedObject && (FDMFrame.Menu.SelectedObject.style.display == "" || FDMFrame.Menu.SelectedObject.style.display == "block"))
        {
            if (FDMFrame.Menu.Hidden)
                FDMFrame.Menu.SelectedObject.style.display = "none";
            else
                FDMFrame.Menu.Hidden = true;
        }
    });
    var jobj = $('.menuable');
    for (var i = 0; i < jobj.length; i++)
    {
        var obj = jobj[i];
        if (!obj.id) return;
        $(obj).bind("click", function()
        {
            if (ff && arguments[0]) event = arguments[0];
            if (event.button >= 0)
            {
                var DMT = event.target || event.srcElement;
                var DMO = ge("DM" + DMT.id);
                if (DMO)
                {
                    if (ge("list" + DMT.id) && ge("list" + DMT.id).innerHTML == "") return;
                    DMO.style.display = "block";
                    DMO.style.left = ((ie ? event.clientX : event.pageX)) + "px";
                    DMO.style.top = ((ie ? event.clientY : event.pageY)) + "px";
                }
            }
        });
        obj.style.cursor = "pointer";
        $(obj).bind("contextmenu", function()
        {

            if (ff && arguments[0]) event = arguments[0];
            if (event.button >= 0)
            {
                var DMT = event.target || event.srcElement;
                var DMO = ge("DM" + DMT.id);
                var DMT = event.target || event.srcElement;
                var DMO = ge("DM" + DMT.id);
                if (DMO)
                {
                    if (ge("list" + DMT.id) && ge("list" + DMT.id).innerHTML == "") return;
                    DMO.style.display = "block";
                    DMO.style.left = ((ie ? event.clientX : event.pageX)) + "px";
                    DMO.style.top = ((ie ? event.clientY : event.pageY)) + "px";
                }
            }
            return false;
        });
        for (var i = 0; i < obj.childNodes.length; i++)
        {
            if (obj.childNodes[i].nodeType == 1)
            {
                obj.childNodes[i].oncontextmenu = obj.oncontextmenu;
                for (var j = 0; j < obj.childNodes[i].childNodes.length; j++)
                {
                    if (obj.childNodes[i].childNodes[j].nodeType == 1)
                    {
                        obj.childNodes[i].childNodes[j].oncontextmenu = obj.oncontextmenu;
                        for (var k = 0; k < obj.childNodes[i].childNodes[j].childNodes.length; k++)
                        {
                            if (obj.childNodes[i].childNodes[j].childNodes[k].nodeType == 1)
                            {
                                obj.childNodes[i].childNodes[j].childNodes[k].oncontextmenu = obj.oncontextmenu;
                            }
                        }
                    }
                }
            }
        }
        var MenuID = obj.id;
        var DM = ce("div");
        DM.id = "DM" + obj.id;
        DM.className = "menudesk";
        //DM.style.left = "0px";//((ie?event.clientX:event.pageX) - 15) + "px";
        //DM.style.top = "0px";//((ie?event.clientY:event.pageY) -15) + "px";
        var DMBG = ce("div");
        DMBG.className = "menubg";
        DMBG.id = "menubg" + MenuID;
        ae(DMBG, DM);
        ae(DM, document.body);
        var DMI = ce("div");
        DMI.id = "list" + MenuID;
        DMI.className = "menuitemlist";
        ae(DMI, DM);
        if (!FDMFrame.Menu[MenuID]) FDMFrame.Menu[MenuID] = {};
        //FDMFrame.Menu.ItemList[FDMFrame.Menu.ItemList.length] = {id:obj.id,item:new Array(),scripts:new Array()};
        /*var mindex = -1;
        for(var i=0;i<FDMFrame.Menu.ItemList.length;i++)
        {
        if(FDMFrame.Menu.ItemList[i].id==MenuID)
        {
        mindex = i;
        break;
        }
        }
        if(mindex<0)return;*/
        FDMFrame.Menu[MenuID].Items = new Array();
        FDMFrame.Menu[MenuID].Scripts = new Array();
        FDMFrame.Menu[MenuID].addItem = function(Text, script, title)
        {
            var mo = ge("list" + MenuID);
            if (!mo) return;
            var itemcode = "";
            itemcode += "<div id=\"item_" + MenuID + "_" + this.Items.length + "\"";
            itemcode += " class=\"menuitem_out\"";
            itemcode += " onmouseover = \"this.className='menuitem_over'\"";
            itemcode += " onmouseout = \"this.className='menuitem_out'\"";
            itemcode += " onclick = \"" + script + ";ge('DM" + MenuID + "').style.display='none';\"";
            if (title) itemcode += " title=\"" + title + "\"";
            itemcode += ">" + Text + "</div>";
            mo.innerHTML += itemcode;
            FDMFrame.Menu[MenuID].Items[FDMFrame.Menu[MenuID].Items.length] = Text;
            FDMFrame.Menu[MenuID].Scripts[FDMFrame.Menu[MenuID].Scripts.length] = script;
            /*ae(itemlist,);
            itemlist.onclick = script;
            itemlist.className = "";
            itemlist.onmouseover = "FDMFrame.Info('提示信息','a');this.className='menuitem_over'";
            itemlist.onMouseOut = "this.className='menuitem_out'";
            itemlist.innerHTML = Text;*/
            ge("menubg" + MenuID).style.height = (FDMFrame.Menu[MenuID].Items.length * 18 + 2) + "px";
        }
        FDMFrame.Menu[MenuID].Clear = function()
        {
            var mo = ge("list" + MenuID);
            if (!mo) return;
            mo.innerHTML = "";
            ge("menubg" + MenuID).style.height = "0px";
        }
    }
    var jobj = $('.menulist');
    for (var i = 0; i < jobj.length; i++)
    {
        if (jobj[i].tagName.toLower() != "label") continue;
        if (!jobj[i].htmlFor) continue;
        var obj = jobj[i];
        //element.addEventListener(type, handler, false); 


        FDMFrame.Menu.Create(obj.htmlFor);
        if (window.addEventListener)
        {
            eval("ge('" + obj.htmlFor + "').addEventListener('click', function(){FDMFrame.Menu.Show('" + obj.htmlFor + "');},false)");
        }
        else if (window.attachEvent)
        {
            eval("ge('" + obj.htmlFor + "').attachEvent('onclick', function(){FDMFrame.Menu.Show('" + obj.htmlFor + "');})");
        }
        var j = 0;
        while (j < obj.childNodes.length)
        {
            if (obj.childNodes[j].nodeType == 1 && obj.childNodes[j].tagName.toLower() == "div")
            {
                var menuitem = obj.childNodes[j];
                FDMFrame.Menu[obj.htmlFor].addItem(menuitem);
                menuitem.id = "item_" + obj.htmlFor + "_" + j;
                menuitem.className = "menuitem_out";
                menuitem.onmouseover = function()
                {
                    this.className = "menuitem_over";
                }
                menuitem.onmousemove = function()
                {
                    if (this.childNodes.length > 0 && this.childNodes[0].nodeName.toLower() == "a")
                    {
                        window.status = this.childNodes[0].innerHTML;
                    }
                    else
                    {
                        window.status = this.innerHTML;
                    }
                }
                menuitem.onmouseout = function()
                {
                    this.className = "menuitem_out";
                    window.status = "";
                }
                if (menuitem.childNodes.length > 0 && menuitem.childNodes[0].nodeName.toLower() == "a")
                {
                    menuitem.onclick = function()
                    {
                        window.location.href = this.childNodes[0].href;
                        this.childNodes[0].click;
                    }
                }
            }
            else
                j++;
        }
    }
    //End Menu Enable
    /******************** Input Style Start **********************************/
    var jobj = $('.userinput');
    for (var i = 0; i < jobj.length; i++)
    {
        var obj = jobj[i];
        FDMFrame.Style.userInput(obj);
    }
    /******************** Input Style End **********************************/
    //Stare Move Enable
    $(document.body).bind("mouseup", function()
    {
        if (FDMFrame.Move.SelectedObject) FDMFrame.Move.SelectedObject.style.cursor = "default";
        FDMFrame.Move.SelectedObject = null;
    });
    $(document.body).bind("mousemove", function()
    {
        if (ff && arguments[0]) event = arguments[0];
        //ge("MS").innerHTML = "event:" + event.button + "," + (FDMFrame.Move.SelectedObject?"true":"false") + "," + FDMFrame.Move.x + "," + FDMFrame.Move.x ;
        if ((ie &&event&& event.button != 1) || (ff &&event &&event.button != 0))
        {
            if (FDMFrame.Move.SelectedObject) FDMFrame.Move.SelectedObject.style.cursor = "default";
            FDMFrame.Move.SelectedObject = null;
            return;
        }
        if (FDMFrame.Move.SelectedObject && ((ie && event.button == 1) || (ff && event.button == 0)))
        {

            var ml = (ie ? event.clientX : event.pageX) - FDMFrame.Move.x - FDMFrame.Move.l + document.documentElement.scrollLeft;
            var mt = (ie ? event.clientY : event.pageY) - FDMFrame.Move.y - FDMFrame.Move.t + document.documentElement.scrollTop;
            FDMFrame.Move.SelectedObject.style.cursor = "move";
            FDMFrame.Move.SelectedObject.style.left = (ml > 0 ? ml : 0) + "px";
            FDMFrame.Move.SelectedObject.style.top = (mt > 0 ? mt : 0) + "px";
            var wi = FDMFrame.Move.SelectedObject.id.substring(1, FDMFrame.Move.SelectedObject.id.length);
            if (ge("ifr" + wi))
            {
                ge("ifr" + wi).style.left = FDMFrame.Move.SelectedObject.style.left;
                ge("ifr" + wi).style.top = FDMFrame.Move.SelectedObject.style.top;
            }

        }
    });
    var jobj = $('.moveable');
    for (var i = 0; i < jobj.length; i++)
    {
        var obj = jobj[i];
        var ooffset = getOffset(obj);
        var title = obj.title;
        var width = obj.style.width ? obj.style.width.replace("px", "").parseInt() : null;
        var w2 = ooffset.w;

        obj.style.display = "block";
        var dobj = ce("div");
        if (obj.style.cssText) dobj.style.cssText = obj.style.cssText;
        if (obj.style.styleText) dobj.style.styleText = obj.style.styleText;

        ae(obj, dobj);
        var clears = ce("div");
        clears.style.clear = "both";
        ae(clears, dobj);
        dobj.id = obj.id;
        obj.id = "";
        FDMFrame.Move.Create(title, dobj, null, width > w2 ? width : w2, dobj.id, true, false);
    }

    //End Move Enable
    //Block Style Setting
    var jobj = $('.ecetitle');
    for (var i = 0; i < jobj.length; i++)
    {
        var obj = jobj[i];
        obj.className = "movetitlecontent";
        if (obj.innerHTML == "") obj.innerHTML = "&nbsp;";
        var table = ce("table");
        if (table.style.cssText != undefined)
            table.style.cssText = obj.style.cssText;
        else if (table.style.styleText)
            table.style.styleText = obj.style.styleText;
        if (obj.style.styleText != undefined)
            obj.style.styleText = "";
        if (obj.style.cssText != undefined)
            obj.style.cssText = "";
        if (table.style.cssText == "")
        {
            table.style.width = "100%";
        }
        if (table.style.styleText == "")
        {
            table.style.width = "100%";
        }
        table.style.margin = "auto";
        obj.parentNode.insertBefore(table, obj);
        table.cellPadding = 0;
        table.cellSpacing = 0;

        var T = table.insertRow(0); //Title
        T.insertCell(0); //左上角圆角
        T.cells[0].innerHTML = "<div style=\"width:7px;font-size:1px;\">&nbsp;</div>";
        T.cells[0].className = "moveTabletl";
        T.insertCell(1); //标题
        T.cells[1].className = "moveTabletc";
        ae(obj, T.cells[1]);
        T.insertCell(2); //右上角圆角
        T.cells[2].className = "moveTabletr";
        T.cells[2].innerHTML = "<div style=\"width:7px;font-size:1px;\">&nbsp;</div>";
    }
    var jobj = $('.ecemain');
    for (var i = 0; i < jobj.length; i++)
    {
        var obj = jobj[i];
        var o = ce("div");
        o.className = "movemain";
        setOut(obj, o);
        o.style.cssText = obj.style.cssText;
        obj.style.cssText = "";
        var dobj = ce("div");
        dobj.className = "movecontent";
        dobj.style.marginTop = "0px";
        dobj.style.padding = "3px";
        dobj.style.margin = "0px 5px 0px 5px";
        setOut(obj, dobj);
        var cobj = ce("div");
        setOut(obj, cobj);
        cobj.style.minHeight = "120px";
        cobj.style.padding = "3px";
        cobj.style.border = "1px solid #dddddd";
    }
    var jobj = $('.ecebottom');
    for (var i = 0; i < jobj.length; i++)
    {


        var obj = jobj[i];
        if (obj.innerHTML == "") obj.innerHTML = "&nbsp;";
        var table = ce("table");
        if (table.style.cssText != undefined)
            table.style.cssText = obj.style.cssText;
        else if (table.style.styleText)
            table.style.styleText = obj.style.styleText;
        if (obj.style.styleText != undefined)
            obj.style.styleText = "";
        if (obj.style.cssText != undefined)
            obj.style.cssText = "";
        if (table.style.width == "")
        {
            table.style.width = "100%";
        }
        table.style.margin = "auto";
        obj.parentNode.insertBefore(table, obj);
        table.cellPadding = 0;
        table.cellSpacing = 0;

        var B = table.insertRow(0);
        B.insertCell(0);
        B.cells[0].className = "moveTablebl";
        B.insertCell(1);
        B.cells[1].className = "moveTablebc";
        ae(obj, B.cells[1]);
        B.insertCell(2);
        B.cells[2].className = "moveTablebr";
        B.cells[0].innerHTML = "<div style=\"width:7px;font-size:1px;height:8px;\">&nbsp;</div>";
        B.cells[2].innerHTML = "<div style=\"width:7px;font-size:1px;height:8px;\">&nbsp;</div>";
        B.cells[0].style.height = "8px";
        B.cells[1].style.height = "8px";
        B.cells[2].style.height = "8px";
        B.cells[0].style.lineHeight = "8px";
        B.cells[1].style.lineHeight = "8px";
        B.cells[2].style.lineHeight = "8px";
        B.cells[0].style.fontSize = "8px";
        B.cells[1].style.fontSize = "8px";
        B.cells[2].style.fontSize = "8px";
        obj.style.height = "8px";
        obj.style.lineHeight = "8px";
        obj.style.fontSize = "8px";

    }
    var jobj = $(".select");
    for (var i = 0; i < jobj.length; i++)
    {
        if (jobj[i].tagName.toLower() != "select") continue;
        if (jobj[i].multiple != "" && jobj[i].multiple != null) continue;
        FDMFrame.Style.select(jobj[i]);
    }
    //Block Style Setting End 
});
FDMFrame.Marquee.Create = function(id)
{
    if (!FDMFrame.Marquee[id]) FDMFrame.Marquee[id] = {};
    FDMFrame.Marquee[id].run = true;
    FDMFrame.Marquee[id].stop = function()
    {
        FDMFrame.Marquee[id].run = false;
    }
    FDMFrame.Marquee[id].start = function()
    {
        FDMFrame.Marquee[id].run = true;
    }
    if (FDMFrame.Marquee[id].Interval) clearInterval(FDMFrame.Marquee[id].Interval);
    FDMFrame.Marquee[id].Object = ge(id);
    if (FDMFrame.Marquee[id].Object)
    {
        FDMFrame.Marquee[id].Text = FDMFrame.Marquee[id].Object.innerHTML;
        FDMFrame.Marquee[id].Object.innerHTML = "";
        FDMFrame.Marquee[id].Child = ce("div", FDMFrame.Marquee[id].Object);
        if (FDMFrame.Marquee[id].Child.style.styleFloat) FDMFrame.Marquee[id].Child.style.styleFloat = "left";
        if (FDMFrame.Marquee[id].Child.style.cssFloat) FDMFrame.Marquee[id].Child.style.cssFloat = "left";
        FDMFrame.Marquee[id].Child.innerHTML = FDMFrame.Marquee[id].Text;
        FDMFrame.Marquee[id].Object.style.overFlow = "hidden";
        FDMFrame.Marquee[id].Width = getOffset(FDMFrame.Marquee[id].Object).w;
        FDMFrame.Marquee[id].Object.style.width = FDMFrame.Marquee[id].Width + "px";
        FDMFrame.Marquee[id].ToLeft = FDMFrame.Marquee[id].Width;
        FDMFrame.Marquee[id].Interval = setInterval("FDMFrame.Marquee['" + id + "'].Scroll()", 100);
    }
    FDMFrame.Marquee[id].Scroll = function()
    {
        if (!FDMFrame.Marquee[id].run) return;
        FDMFrame.Marquee[id].Child.style.marginLeft = FDMFrame.Marquee[id].ToLeft + "px";
        FDMFrame.Marquee[id].ToLeft -= 3;
        if (FDMFrame.Marquee[id].ToLeft < FDMFrame.Marquee[id].Child.Width * -1) FDMFrame.Marquee[id].ToLeft = FDMFrame.Marquee[id].Width;
    }
};
