/* $Id : utils.js 5052 2007-02-03 10:30:13Z weberliu $ */

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;
  }
}

// modify by wangjun start 2009-1-13 11:35:35
// 判断是否图片类型
Utils.isImgType = function(val)
{
	val = val.toUpperCase();
	if( (val.indexOf(".JPG") > 0) || (val.indexOf(".GIF") > 0) || (val.indexOf(".PNG") > 0))
	{
		return true;
	}
	else
	{
		return false;
	}
}

// 是否为整数
Utils.isInteger = function(val)
{
  var reg = /^\d+$/;
  return reg.test(val);
}

// 判断是否超过允许的上传图片大小
Utils.isOverloadImgSize = function(filePath)
{
	var image=new Image();  
	image.dynsrc=filePath;  
	// 图片大小
	var imgSize = image.fileSize;
	// 不允许超过2兆
	if( (imgSize/1024/1024) > 2){
		return true;
	}
	return false;
}

// modify by wangjun end 2009-1-13 11:35:35

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 reg1 = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;

  return reg1.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}$/;

  return reg.test(val);
}

Utils.isDate = function(val)
{
  var reg = /^\d{4}-\d{2}-\d{2}$/;
  if( reg.test(val) ){
    var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31];
	var year, month, day;

	var a = val.substring(0,4);
	var b = val.substring(5,7);
	var c = val.substring(8,10);

	year = parseFloat(a);
	month = parseFloat(b);
	day=parseFloat(c);

	if (year < 1000 || year > 4000){ alert("日期不正确，请输入合法的日期！");return false;}
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12){ alert("日期不正确，请输入合法的日期！"); return false;}
	if (day < 1 || day > iaMonthDays[month - 1]){ alert("日期不正确，请输入合法的日期！"); return false;}

  }else{
  	alert("日期格式不合法，只能输入这种格式 “2008-01-01”");
  	return false;
  }
  return true;
}

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;
      }
    }
  }
}

document.getCookie = function(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0])
      return decodeURIComponent(aCrumb[1]);
  }

  // a cookie with the requested name does not exist
  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 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);
   }
}



 /**
 * @name     : getXmlHttp
 * @function : 获取异步传输对象
 * @param 
 * @auth     : WJ
 * @date     : 2008-11-17 14:46:56
 */
function getXmlHttp()
{
	var xmlreq = false;
	
	// Mozilla 浏览器
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	} else {
		// IE 浏览器
		if (window.ActiveXObject) {
			try {
				xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e1) {
				try {
					xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e2) {
					xmlreq = false;
				}
			}
		}
	}
	return xmlreq;
}

 /**
 * @name     : getSelectValue
 * @function : 获取下拉框（select）的值
 * @param    : tagId 标签的名称
 * @auth     : WJ
 * @date     : 2008-11-17 14:47:15
 */
function getSelectValue(tagId) {
	var element = document.getElementById(tagId);
	for (var i = 0; i < element.options.length; i++) {
		if (element.options[i].selected) {
			return element.options[i].value;
		}
	}
}


/**
 *删除表格中选定的行,不作相关逻辑判断
 */
function deleteCurrentRow(tableId){
	var currRowIndex=event.srcElement.parentNode.parentNode.rowIndex;
	document.getElementById(tableId).deleteRow(currRowIndex);
}