/**
 * 删除字符串首位空白
 * 
 * @param text
 *            待处理字符串
 * @return string 处理后的字符串
 */
function trim(text)
{
    return (text || "").replace(/^\s+|\s+$/g, "");
}

/**
 * 获取某个下拉选择框的值
 * 
 * @param selectname
 * @return mixed
 */
function fetch_select_value(selectname)
{
    return selectname[selectname.selectedIndex].value;
}

/**
 * 检查subject是否符合模式pattern
 * 
 * @param subject
 * @param pattern
 * @return boolean 符合则返回true
 */
function preg_match(subject, pattern)
{
    return subject.match(pattern) ? true : false;
}

String.prototype.reallen = function()
{
    return this.replace(/[^x00-xff]/g, "aa").length;
}

/**
 * haystack是否包含needle
 * 
 * @param haystack
 * @param needle
 * @param caseinsensitive
 *            是否区分大小写
 * @return boolean 包含则返回true
 */
function contains(haystack, needle, caseinsensitive)
{
    if (haystack.length == 0 || needle.length == 0)
    {
        return false;
    }
    if (caseinsensitive)
    {
        haystack = haystack.toLowerCase();
        needle = needle.toLowerCase();
    }
    if (haystack.indexOf(needle) == -1)
    {
        return false;
    }
    return true;
}

/**
 * document.getElementById的简写
 * 
 * @param objname
 * @return Object ID为 objname 的对象
 */
function GEId(objname)
{
    return document.getElementById(objname);
}

/**
 * 注册一个JSON
 * 
 * @return JSON 注册后的JSON
 */
function register_namespace()
{
    var g = arguments.length;
    for ( var c = 0; c < g; c++)
    {
        var a = this, e = arguments[c].split("."), f = e.length;
        for ( var d = 0; d < f; d++)
        {
            var b = e[d];
            if (!a[b])
            {
                a[b] = function()
                {
                };
            }
            a = a[b];
        }
    }
    return a;
}

/**
 * 显示或隐藏一个提示区域
 * 
 * @param objname 此区域的ID
 * @param msg 提示的消息
 * @param classname 此区域 class
 */
function switch_message_bar(objname, msg, classname)
{
    var f = document.getElementById(objname);

    if (classname != "")
    {
        f.className = classname;
    }

    if (msg == "")
    {
        f.innerHTML = "";
        f.style.display = "none";
    }
    else
    {
        f.innerHTML = msg;
        f.style.display = "block";
    }
}

/**
 * 显示一个提示区域
 * 
 * @param objname 此区域的ID
 * @param msg 提示的消息
 */
function show_error_bar(objname, msg)
{
    switch_message_bar(objname, msg, "error");
}

/**
 * 隐藏一个提示区域
 * 
 * @param objname 此区域的ID
 */
function hide_error_bar(objname)
{
    switch_message_bar(objname, "", "");
}