var SAPERATE_CHAR = "`";

function isInt()
{
  var patrn = /^(0|([1-9]\d*))$/;

  if (!patrn.exec(this))
  {
    return false;
  }
  else
  {
    return true;
  }
}

function trim()
{
  return this.replace(/(^[\s,\t]*)|([\s,\t]*$)/g, "");
}

function isFloat()
{
  var pattern = /^((0.\d+)|([1-9]\d*\.\d+))$/;

  return (pattern.test(this)) ? true : false;
}

String.prototype.trim = trim;
String.prototype.isInt = isInt;
String.prototype.isFloat = isFloat;

function isIntD(inputStr)
{
  var flag = true;

  if (inputStr == null || inputStr == "")
  {
    flag = false;
  }
  else
  {
    var patrn = /^\d+$/;

    if (!patrn.exec(inputStr))
    {
      flag = false;
    }
    else
    {
      flag = true;
    }
  }
  return flag ;
}


function isBetween(val, min, max)
{
  if ((val < min) || (val > max))
  {
    return false;
  }
  else
  {
    return true;
  }
}

function isDate(inputStr)
{
  var the1st = inputStr.indexOf('-');
  var the2nd = inputStr.lastIndexOf('-');

  if (the1st == the2nd)
  {
    return false;
  }
  else
  {
    var y = inputStr.substring(0,the1st);
    var m = inputStr.substring(the1st + 1,the2nd);
    var d = inputStr.substring(the2nd + 1,inputStr.length);
    var maxDays = 31;
    var patrn = /^[1-9](\d){3}$/;

    if (isIntD(m) == false || isIntD(d) == false || isIntD(y) == false)
    {
      return false;
    }
    else if (!patrn.exec(y))
    {
      return false;
    }
    else if (!isBetween (m*1, 1, 12))
    {
      return false ;
    }
    else if (m*1 == 4 || m*1 == 6 || m*1 == 9 || m*1 == 11)
    {
      maxDays = 30;
    }
    else if (m==2)
    {
      if (y % 4 > 0)
      {
        maxDays = 28;
      }
      else if ((y % 100 == 0) && (y % 400 > 0))
      {
        maxDays = 28;
      }
      else
      {
        maxDays = 29;
      }
    }
    if (isBetween(d, 1, maxDays) == false)
    {
      return(false);
    }
    else
    {
      return new Date(y*1,m*1-1,d*1).getTime();
    }
  }
}

function isDateTime(inputStr)
{
  var the1st = inputStr.indexOf('-');
  var the2nd = inputStr.lastIndexOf('-');
  var the3rd = inputStr.indexOf(' ');
  var the4th = inputStr.indexOf(':');

  if (the1st == the2nd)
  {
    return 0;
  }
  else if ( the3rd == the4th )
  {
    return 0;
  }
  else if ( the2nd == the3rd )
  {
    return 0;
  }
  else if ( the2nd == the4th )
  {
    return 0;
  }
  else
  {
    var y = inputStr.substring(0,the1st);
    var m = inputStr.substring(the1st + 1,the2nd);
    var d = inputStr.substring(the2nd + 1,the3rd);
    var h = inputStr.substring(the3rd+1,the4th);
    var n = inputStr.substring(the4th+1,inputStr.length);
    var maxDays = 31;
    var patrn = /^[1-9](\d){3}$/;

    if ( isIntD(h) == false || isIntD(n) == false )
    {
     return 0;
    }
    if ( h*1 >=24 || h*1 < 0 )
    {
     return 0;
    }
    if ( n*1 >=60 || n*1 < 0 )
    {
     return 0;
    }

    if (isIntD(m) == false || isIntD(d) == false || isIntD(y) == false )
    {
      return 0;
    }
    else if (!patrn.exec(y))
    {
      return 0;
    }
    else if (!isBetween (m*1, 1, 12))
    {
      return 0 ;
    }
    else if (m*1 == 4 || m*1 == 6 || m*1 == 9 || m*1 == 11)
    {
      maxDays = 30;
    }
    else if (m==2)
    {
      if (y % 4 > 0)
      {
        maxDays = 28;
      }
      else if ((y % 100 == 0) && (y % 400 > 0))
      {
        maxDays = 28;
      }
      else
      {
        maxDays = 29;
      }
    }
    if (isBetween(d, 1, maxDays) == false)
    {
      return(0);
    }
    else
    {
      return new Date(y*1,m*1-1,d*1,h*1,n*1).getTime();
    }
  }
}

function getInputValue(name)
{
  var rslt = "";
  var xx = document.getElementsByName(name);
  for (var i = 0; i < xx.length; i++) {
      if (xx[i].type == 'radio' || xx[i].type == 'checkbox') {
        if (xx[i].checked)  rslt += xx[i].value;
	  }
	  else if (xx[i].type == 'text') {
	    rslt += xx[i].value;
		rslt += SAPERATE_CHAR;
	  }
	  else {
	    rslt += xx[i].value;
	  }
  }
  return rslt;
}

function getInputValue1(name)
{
  var rslt = "";
  var xx = document.getElementsByName(name);
  for (var i = 0; i < xx.length; i++) {
	rslt += xx[i].value;
  }
  return rslt;
}

function setInputValue(name, value) {
  var xx = document.getElementsByName(name);
  for (var i = 0; i < xx.length; i++) {
    if (xx[i].type == 'radio') {
      if (xx[i].value == value)  xx[i].checked = true;
    }
    else if (xx[i].type == 'checkbox') {
      if (value.indexOf(xx[i].value) >= 0)  xx[i].checked = true;
    }
    else if (xx[i].type == 'text') {
	  var tmp = value.indexOf(SAPERATE_CHAR);
	  if (tmp != -1) {
        xx[i].value = value.substring(0,tmp);
	    value = value.substring(tmp+1);
	  }
    }
    else if (xx[i].type == 'select') {
      for (var j = 0; j < xx[i].options.length; j++) {
	    if (xx[i].options[j].value == value) {
		  xx[i].options[j].selected = true;
		  break;
		}
	  }
    }
    else {
      xx[i].value = value;
    }
  }
}

function encode(inputString) {
    var buffer = "";
    var len = inputString.length;
    var a, i;
    for (i = 0; i < len; i++) {
        a = inputString.charAt(i);
        //空格转换成&#32;
        if (a == ' ') {
            buffer += "&#32;";
        }
        //<转换成&#38;
        else if (a == '&') {
            buffer+="&#38;";
        }
        //<转换成&#60;
        else if (a == '<') {
            buffer+="&#60;";
        }
        //>转换成&#62;
        else if (a == '>') {
            buffer+="&#62;";
        }
        //回车转换成<br>
        else if (a == '\n') {
            buffer+="<br>";
        }
        else {
            buffer+=a;
        }
    }
    return buffer;
}

function getDateTimeString(milli) {
	var d = new Date(milli);
	var rst = d.getFullYear()+"";
	if (d.getMonth() < 9)
	{
		rst += "-0" + (d.getMonth() + 1);
	}
	else {
		rst += "-" + (d.getMonth() + 1);
	}
	if (d.getDate() < 10)
	{
		rst += "-0" + d.getDate();
	}
	else {
		rst += "-" + d.getDate();
	}
	if (d.getHours() < 10)
	{
		rst += " 0" + d.getHours();
	}
	else {
		rst += " " + d.getHours();
	}
	if (d.getMinutes() < 10)
	{
		rst += ":0" + d.getMinutes();
	}
	else {
		rst += ":" + d.getMinutes();
	}
	return rst;
}

function getDateString(milli) {
	var d = new Date(milli);
	var rst = d.getFullYear()+"";
	if (d.getMonth() < 9)
	{
		rst += "-0" + (d.getMonth() + 1);
	}
	else {
		rst += "-" + (d.getMonth() + 1);
	}
	if (d.getDate() < 10)
	{
		rst += "-0" + d.getDate();
	}
	else {
		rst += "-" + d.getDate();
	}
	return rst;
}

function httpAddrEncode(str) {
  //先去掉头尾空格
  str = str.replace(/(^[\s,\t]*)|([\s,\t]*$)/g, "");
  var res = '', len = str.length, mych;
  for (var i = 0; i < len; i++) {
    mych =  str.charAt(i);
    if (mych == '&' || mych == '#' || mych == '%' || mych == '+' || mych == '"') {
      res += '%'+str.charCodeAt(i).toString(16);
    }
    else {
      res += mych;
    }
  }
  return res;
}

function trim(InputStr)
{
  return InputStr.replace(/(^[\s,\t]*)|([\s,\t]*$)/g, "");
}

function isAlphaNumberUnderline(inputStr)
{
  var ch;

  for(var i=0;i<inputStr.length;i++)
  {
    ch = inputStr.charAt(i);
    if(!(isLowerChar(ch)||isUpperChar(ch)||isNumber(ch)||ch=='_'))
    {
      return false;
    }
  }

  return true;
}

function isInt(InputStr)
{
  var patrn = /^(0|([1-9]\d*))$/;

  if (!patrn.exec(InputStr))
  {
    return false;
  }
  else
  {
    return true;
  }
}

function isLowerChar(Ch)
{
  if((Ch.charCodeAt(0)>=97&&Ch.charCodeAt(0)<=122))
  {
    return true;
  }
  return false;
}
function isNumber(Ch)
{
  if((Ch.charCodeAt(0)>=48&&Ch.charCodeAt(0)<=57))
  {
    return true;
  }
  return false;
}
function isUpperChar(Ch)
{
  if((Ch.charCodeAt(0)>=65&&Ch.charCodeAt(0)<=90))
  {
    return true;
  }
  return false;
}
function checkIsEmpty(inputObject, inputName) {
  inputObject.value = trim(inputObject.value);
  if (inputObject.value.length == 0) {
    alert(inputName);//+"不能为空!"
    return false;
  }
  return true;
}
function checkIsAlphaNumberUnderline(inputObject, inputName) {
  if (!isAlphaNumberUnderline(inputObject.value)) {
    alert(inputName);//+"只能由字母数字和下划线组成！"
    return false;
  }
  return true;
}
function checkIsInt(inputObject, inputName) {
  if (!isInt(inputObject.value)) {
    alert(inputName);//+"必须是整数！"
    return false;
  }
  return true;
}
//图像大小限制，未用
function pic_limit(p)
{
	max_width=(screen.width*5)/8;
	if(p.width>max_width) p.style.width=max_width;
}
//图像大小缩放
function bbimg(o){
	var zoom=parseInt(o.style.zoom, 10)||100;
        zoom+=event.wheelDelta/12;
        if (zoom>0) o.style.zoom=zoom+'%';
	return false;
}
//图像大小限制，使用
function limitImageW(param_objImg,param_355_width) {
  if(param_objImg.width) {
    if(param_objImg.width>param_355_width) {
      param_objImg.width = param_355_width
    }
  }
}

function limitImageH(param_objImg,param_355_height) {
  if(param_objImg.height) {
    if(param_objImg.height>param_355_height) {
      param_objImg.height = param_355_height
    }
  }
}

function limitImage(param_objImg,param_355_length) {
  if(param_objImg.width&&param_objImg.height) {
    if(param_objImg.width>=param_objImg.height) {
      limitImageW(param_objImg,param_355_length);
    } else {
      limitImageH(param_objImg,param_355_length);
    }
  }
}

function limitImageWH(param_objImg,param_355_width,param_355_height) {
  limitImageW(param_objImg,param_355_width);
  limitImageH(param_objImg,param_355_height);
}


function $(id) {
	return document.getElementById(id);
}
/*======================================
Check框全选
========================================*/
function toggleAllChecks(formName, prefix)
{
    n = "all";

    if (prefix)
    {
        n = prefix + n;
    }

    i = 0;
    e = document.getElementById(n);
    s = e.checked;
    f = document.getElementById(formName);

    while (e = f.elements[i])
    {
        if (e.type == "checkbox" && e.id != n)
        {
            if (!prefix || e.id.indexOf(prefix) != -1)
            {
                e.checked = s;
            }
        }

        i++;
    }
}
//Ctrl+Enter 发布
function ctrlEnter(event, btnId, onlyEnter) {
	if(isUndefined(onlyEnter)) onlyEnter = 0;
	if((event.ctrlKey || onlyEnter) && event.keyCode == 13) {
		$(btnId).click();
	}
}
//缩放Textarea
function zoomTextarea(id, zoom) {
	zoomSize = zoom ? 10 : -10;
	obj = $(id);
	if(obj.rows + zoomSize > 0 && obj.cols + zoomSize * 3 > 0) {
		obj.rows += zoomSize;
		obj.cols += zoomSize * 3;
	}
}

function getExt(path) {
	return path.lastIndexOf('.') == -1 ? '' : path.substr(path.lastIndexOf('.') + 1, path.length).toLowerCase();
}

