﻿//在顶级页面中插入一个层
function NewDiv(id, className, innerHTML)
{
    var div = window.top.document.createElement("div");
    div.id = id;
    div.className = className;
    div.innerHTML = innerHTML;
    window.top.document.forms[0].appendChild(div);
}

//设定顶级页面层内容
function SetDiv(id, inner)
{
    var div = window.top.document.getElementById(id);
    div.innerHTML = inner;
}

//在当前页面中插入一个层
function NewDiv2(id, className, innerHTML)
{
    var div = document.createElement("div");
    div.id = id;
    div.className = className;
    div.innerHTML = innerHTML;
    document.forms[0].appendChild(div);
}

//设定当前页面层内容
function SetDiv2(id, inner)
{
    var div = $(id);
    div.innerHTML = inner;
}

//显示提示信息
function ShowTip(showType, text)
{
    if($("tip") == null)
        NewDiv2("tip", "tip", text);
    else
       SetDiv2("tip", text); 
              
    var tip = $("tip");
    var event = GetEvent();
    var element = event.srcElement || event.target;    
    var left, top;
    
    if(showType == 1)
    {
        var mouse = Mouse(event);
        left = (mouse.x) + "px";
        top = (mouse.y + 20) + "px";                
    }
    else if(showType == 0)
    {
        left = GetLeft(element) + element.offsetWidth + "px";
        top = GetTop(element) + "px";
    }   
    
    tip.style.display = "block";
    tip.style.top = top;
    tip.style.left = left;
    
    element.onmouseout = HideTip;
    element.onblur = HideTip;
}

//隐藏提示信息
function HideTip()
{
    var tip = $("tip");
    if(tip != null)
        document.forms[0].removeChild(tip);
}

//显示对话框
function ShowDialog(id, html, modal)
{    
    if(modal)
        ShowEnvelop();
        
    if(window.top.document.getElementById(id) == null)
        NewDiv(id, "dialog", html);
    else
        SetDiv(id, html);
        
//    var dialog = document.getElementById(id);
//    dialog.style.position = "absolute";
//    dialog.style.top = (document.documentElement.clientHeight - dialog.offsetHeight) /2 + "px";
//    dialog.style.left = (document.documentElement.clientWidth - dialog.offsetWidth) / 2 + "px";
}

//显示对话框
function Dialog(type, message, script)
{
    var id = "";
    var html = "";
    var modal = true;

    switch(type)
    {
        case 0:
            id = "dialogErr";
            html = "<input type=\"button\" value=\"确定\" onclick=\"HideDialog('"+id+"');" + script + "\" />";
            break;
        case 1:
            id = "dialogOk";
            html = "<input type=\"button\" value=\"确定\" onclick=\"HideDialog('"+id+"');" + script + "\" />";
            break;
    }
    if(id != "")
        ShowDialog(id, message + html, modal);       

}

//隐藏对话框
function HideDialog(id)
{
    var dialog = window.top.document.getElementById(id);
    if(dialog != null)
        window.top.document.forms[0].removeChild(dialog);
    HideEnvelop();
}

//插入覆盖层
function ShowEnvelop()
{
    var div = window.top.document.createElement("div");
    div.id = "envelop";
    div.className = "envelop";
    div.style.position = "absolute";
    div.style.background = "#000";
    div.style.display = "block";
    div.style.filter = "alpha(opacity=20)";//ie透明度
    div.style.opacity = "0.2";//其它浏览器透明度
    window.top.document.forms[0].appendChild(div);
    SetEnvelop();   
}

//设置覆盖层位置、大小
function SetEnvelop()
{
    var envelop = window.top.document.getElementById("envelop");
    if(envelop != null && envelop.style.display != "none")
    {
        envelop.style.top = window.top.document.documentElement.scrollTop + "px";
        envelop.style.left = window.top.document.documentElement.scrollLeft + "px";
        
        envelop.style.width = window.top.document.documentElement.clientWidth + "px";
        envelop.style.height= window.top.document.documentElement.clientHeight + "px";
    }
    
}

//隐藏覆盖层
function HideEnvelop()
{
    var envelop = window.top.document.getElementById("envelop");
    if(envelop != null)
        window.top.document.forms[0].removeChild(envelop);
}

//窗口调整大小事件
window.onresize = function()
{
    SetEnvelop();    
}
//窗口滚动条事件
window.onscroll = function()
{
    SetEnvelop();
}



//获取鼠标位置
function Mouse(e)
{
    var w3c = (document.getElementById)? true: false;
    var agt = navigator.userAgent.toLowerCase();
    var ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1) && (agt.indexOf("omniweb") == -1));
    var IeTrueBody = (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
    var curX=(!ie)?e.pageX : event.clientX+IeTrueBody.scrollLeft;
    var curY=(!ie)?e.pageY : event.clientY+IeTrueBody.scrollTop;
    var cur = new Object
    cur.x = curX
    cur.y = curY
    return cur
}

//返回事件源
function GetEvent()
{
    //ie
    if(document.all)
        return window.event;
    
    //firefox
    var func = GetEvent.caller;
    while( func != null)
    {
        var arg0=func.arguments[0];
        if(arg0)
        {
            //if((arg0.constructor==Event || arg0.constructor ==MouseEvent)||(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
                return arg0;
        }
        func=func.caller;
    }
    
    //opera
    return window.event;
}

///返回对象绝对位置：left
function GetLeft(ob)
{
    if(true)//BrowserType() == "ie")
    {
        var s_el=0;
        el=ob;
        while(el)
        {
            s_el=s_el+el.offsetLeft;
            el=el.offsetParent;
        }
        return s_el
    }
    else
        return ob.offsetLeft;
    
}

///返回对象绝对位置：top
function GetTop(ob)
{
    if(true)//BrowserType() == "ie")
    {
        var s_el=0;
        el=ob;
        while(el)
        {
            s_el=s_el+el.offsetTop;
            el=el.offsetParent;
        }
        return s_el
    }
    else
        return ob.offsetTop;
}

///获取浏览器类型
function BrowserType()
{
    var agt = navigator.userAgent.toLowerCase();
    if(agt.indexOf("msie") != -1)
        return "ie";
    else if(agt.indexOf("opera") != -1)
        return "opera";
    else if(agt.indexOf("firefox") != -1)
        return "firefox";
}

//判断是否IE
function IsIE()
{
    if(BrowserType() == "ie")
        return true;
    else
        return false;
}

//根据className查找元素
function getElementsByClassName(className)
{ 
    var el = [],
        _el = document.getElementsByTagName('*');
    for (var i=0; i<_el.length; i++ ) {
       if (_el[i].className == n ) {
           el[el.length] = _el[i];
        }
   }
   return el;
}

//去左空格
function LTrim(s)
{ 
    return s.replace( /^\s*/, ""); 
} 
//去右空格; 
function RTrim(s)
{ 
    return s.replace( /\s*$/, ""); 
} 
//去左右空格; 
function Trim(s)
{ 
    return RTrim(LTrim(s)); 
}

//form提交表单
function FormSubmit(action, target, method)
{    
    var html = "";
    var argsnum = arguments.length;
    for (var i = 3; i < argsnum; i += 2)
    {
        if(arguments[i+1])
            html += '<input type="hidden" name="' + arguments[i] + '" value="' + arguments[i+1] + '" />';
    }
    var myform = $("MyForm");
    if(myform == null)
    {
        myform = document.createElement("form");
        myform.id = "Myform";
        myform.method = method;
        myform.target = target;
        myform.action = action;
        myform.innerHTML = html;
        document.body.appendChild(myform);        
    }
    else
    {
        myform.innerHTML = html;
    }
    myform.submit();
}

//根据id返回对象
function $()
{
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++)
    {
        var element = arguments[i];
        if (typeof element == "string")
            element = document.getElementById(element);
        if (arguments.length == 1) 
            return element;
        elements.push(element);
    }
    return elements;
}

//获取url参数
function Request(paraName)
{     
    var reg = new RegExp("(^|&)"+ paraName +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r!=null) 
    {
        var parm =  decodeURIComponent(r[2]);
        return parm; 
    }
    return "";
}

//HTML编码
function HTMLEncode(input)
{
    var converter = document.createElement("DIV");
    converter.innerText = input;
    var output = converter.innerHTML;
    converter = null;
    return output;
}

//HTML解码
function HTMLDecode ( input )
{
    var converter = document.createElement("DIV");
    converter.innerHTML = input;
    var output = converter.innerText;
    converter = null;
    return output;
}
