
var Browser = new Object();

Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument != 'undefined');
Browser.isIE = window.ActiveXObject ? true : false;
Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf("firefox") != - 1);
Browser.isSafari = (navigator.userAgent.toLowerCase().indexOf("safari") != - 1);
Browser.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera") != - 1);


var Utils = new Object();

Utils.htmlEncode = function(text)
{
    return text.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
}

Utils.trim = function(text)
{
    if (typeof(text) == 'string')
    {
       return text.replace(/^\s*|\s*$/g, '');
    }
    else
    {
       return text;
    }
}

Utils.isEmpty = function(val)
{
    switch (typeof(val))
    {
       case 'string':
          return Utils.trim(val).length == 0 ? true : false;
          break;
       case 'number':
          return val == 0;
          break;
       case 'object':
          return val == null;
          break;
       case 'array':
          return val.length == 0;
          break;
       default:
          return true;
	}
}

Utils.isNumber = function(val)
{
    var reg = /^[\d|\.|,]+$/;
    return reg.test(val);
}

Utils.isInt = function(val)
{
    if (val == '')
    {
       return false;
    }
    var reg = /\d+/;
    return reg.test(val);
}

Utils.isEmail = function(email)
{
    var reg = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
    return reg.test(email);
}

Utils.isTel = function (tel)
{
    var reg = /^[\d|\-|\s|\_]+$/;  // 只允许使用数字-空格等
    return reg.test(tel);
}

Utils.fixEvent = function(e)
{
    var evt = (typeof e == "undefined") ? window.event : e;
    return evt;
}

Utils.srcElement = function(e)
{
    if (typeof e == "undefined") e = window.event;
    var src = document.all ? e.srcElement : e.target;
    return src;
}

Utils.isTime = function(val)
{
    var reg = /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/;
    return reg.test(val);
}

Utils.isPassword = function(str)
{
	var reg = /^[\w]+$/;
    if (str.length < 6) return false;
    return reg.test(str);
}

document.getCookie = function(sName)
{
    var aCookie = document.cookie.split('; ');
    for (var i=0; i<aCookie.length; i++)
    {
        var aCrumb = aCookie[i].split('=');
        if (sName == aCrumb[0])
		{
            return decodeURIComponent(aCrumb[1]);
		}
    }

    return null;
}

document.setCookie = function(sName, sValue, sExpires)
{
    var sCookie = sName + '=' + encodeURIComponent(sValue);
    if (sExpires != null)
    {
        sCookie += '; expires=' + sExpires;
    }

    document.cookie = sCookie;
}

document.removeCookie = function(sName,sValue)
{
    document.cookie = sName + '=; expires=Fri, 31 Dec 1999 23:59:59 GMT;';
}


function rowIndex(tr)
{
    if (Browser.isIE)
    {
       return tr.rowIndex;
    }
    else
    {
       table = tr.parentNode.parentNode;
       for (i=0; i<table.rows.length; i++ )
       {
          if (table.rows[i] == tr)
          {
              return i;
          }
       }
    }
}

function getPosition(o)
{
    var t = o.offsetTop;
    var l = o.offsetLeft;
    while (o = o.offsetParent)
    {
        t += o.offsetTop;
        l += o.offsetLeft;
    }
    var pos = {top:t,left:l};
    return pos;
}

function cleanWhiteSpace(element)
{
    var element = element;
    for (var i=0; i<element.childNodes.length; i++) 
	{
        var node = element.childNodes[i];
        if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
		{
			element.removeChild(node);
		}
   }
}

