﻿/// <reference path="GmrJsLib.js" />
/// <reference path="XmlApi.js" />

function ResizePage()
{
    /// <summary>重新调整页面</summary>
    try
    {
        if (parent != window && parent.ResizePage)
        {
            setTimeout(function() { parent.ResizePage() }, 5);
        }
    }
    catch (e) { }
}
function ShowAddWordHtmlWindow()
{

    if (Gmr.Navigator.Info.IsIE)
    {
        window.showModalDialog("/htmleditor/addwordhtml.aspx", "Word文档分析", "dialogWidth=550px;dialogHeight=400px");

    }
}
function gvSelectAll(obj)
{
    /// <summary>GridView控件的全选该列函数</summary>
    /// <param name="obj">同列的触发源</param>

    var theTable = $P(obj, "table");
    var i, j;
    if ($P(obj, "td").parentNode != $P(obj, "tr"))
    {
        j = $P(obj, "th").cellIndex;
    }
    else
    {
        j = $P(obj, "td").cellIndex;
    }
    //alert(j);
    for (i = 0; i < theTable.rows.length; i++)
    {
        var objCheckBox = theTable.rows[i].cells[j].getElementsByTagName("input")[0];
        if (objCheckBox && objCheckBox.checked != null) objCheckBox.checked = obj.checked;
    }
}
function gvGetSelected(gvId, attributeName)
{
    /// <summary>获取GridView控件选择列的指定属性值数组</summary>
    /// <param name="gvId">GridView控件客户端ID，如设为空则在当前页面中搜索</param>
    /// <param name="attributeName">要查询的属性名称，默认为rowid</param>
    var gv = $(gvId);
    var aname = "rowid";
    if (attributeName) aname = attributeName;
    var objs;
    if (gv)
    {
        objs = $A(gv, "span", aname);
    }
    else
    {
        objs = $A(document.body, "span", aname);
    }
    var vs = new Array();
    for (var i = 0; i < objs.length; i++)
    {
        if (objs[i].firstChild.checked)
        {
            vs[vs.length] = objs[i].getAttribute(aname);
        }
    }
    return vs;

}
function ShowItemHelp()
{
    var getPanel = function(obj)
    {
        if (obj.Panel)
        {
            return obj.Panel;
        }
        else
        {
            var div = document.createElement("div");
            div.innerHTML = "<div class='divRT divHA'>" + obj.caption + "</div><div class='divRC divHA'>" + obj.content + "</div>";
            div.className = "ItemHelpPanel divHA";
            document.body.appendChild(div);
            obj.Panel = div;
            return div;
        }
    }
    var removePanel = function(obj)
    {
        if (obj.Panel)
        {
            document.body.removeChild(obj.Panel);
            obj.Panel = null;
        }
    }
    var objs = $C("ItemHelp", document.body, "div");
    for (var i = 0; i < objs.length; i++)
    {
        var obj = objs[i];
        obj.content = obj.innerHTML;
        obj.caption = obj.getAttribute("title");
        obj.innerHTML = "&nbsp;&nbsp;&nbsp;";
        obj.title = "";
        obj.style.display = "inline";
        obj.onmousemove = function(ev)
        {
            var pnl = getPanel(this);
            pnl.style.display = "block";
            var coords = Gmr.Pub.GetMouseCoords(ev || window.event);
            pnl.style.left = coords.x + 15 + "px"; pnl.style.top = coords.y + Gmr.Style.GetBodyDocumentElement().scrollTop + "px";
            return false
        }
        obj.onmouseout = function()
        {
            removePanel(this);
        }
    }
}
SysAddEvent(window, "onload", ShowItemHelp);

function PageAPI(apiPageUrl, method, arrayParams, receiveFunction)
{
    /// <summary>执行GmrAPI请求</summary>
    /// <param name="apiPageUrl">接口页面地址，如果设为空则默认为本页面</param>
    /// <param name="method">请求的方法名称</param>    
    /// <param name="arrayParams">包含参数名称和参数值的数组</param>
    /// <param name="receiveFunction">返回执行函数</param>
    var url = (apiPageUrl && apiPageUrl.length > 0) ? apiPageUrl : Gmr.Pub.UrlReplaceParamValue("isgmrapimode", "true");
    var api = new Gmr.XML.API.ClientRequest();
    api.SetRequestUrl(url);
    api.SetAppId("GmrAPI");
    api.SetAction(method);
    if (arrayParams)
    {
        for (var i = 0; i < arrayParams.length; i = i + 2)
        {
            api.SetParamValue(arrayParams[i], arrayParams[i + 1]);
        }
   }
    api.SetReceiveFunction(receiveFunction);
    api.SendXmlRequest();
}