var alphaChars = "abcdefghijklmnopqrstuvwxyz";
var digitChars = "0123456789";
var asciiChars = alphaChars + digitChars + "!\"#$%&'()*+,-./:;<=>?@[\]^_`{}~";

function isASCII(str){
var v_len = str.length;
var i;
for (i = 0; i < v_len; i++)
{
if (asciiChars.indexOf(str.charAt(i)) == -1)
return false;
}
return true;
}


function delloc(locs,mylocs){
  for(var x=mylocs.length-1;x>=0;x--){
    var opt = mylocs.options[x];
    if (opt.selected){
      mylocs.options[x] = null;
    }
  }
}
function Chkpwd(objItem,txtTitle,nMaxLength,nMinLength)
{
  var  strItem=objItem.value;

  if(strItem.length>nMaxLength)  {
    alert("请设定"+nMinLength+"－"+nMaxLength+"位的密码！");
    objItem.focus();
    return false;
  }
  if(strItem.length<nMinLength)  {
    alert("请设定"+nMinLength+"－"+nMaxLength+"位的密码！");
    objItem.focus();
    return false;
  }
  
  for (var n=0; n<strItem.length; n++)    {
    if (strItem.charAt(n)=='-')
    {
	  alert("密码中不能含有 “-” ！");
      objItem.focus();
      return false;
    }
  }
      
  return true;
}

//Trim
function Trim(sVal)
{
 while ((sVal.length>0)  && (sVal.charAt(0)==' '))
   sVal=sVal.substring(1, sVal.length);
 while ((sVal.length>0)  && (sVal.charAt(sVal.length-1)==' '))
   sVal=sVal.substring(0, sVal.length-1);
 return  sVal;
}

/***********************************************************
 Comment: Validate the E-Mail
 Input:   (must)ChkStr -- The E-mail  Address
 Returns: true -- nonlicet
      false  -- licit
 Editor:  cndragon  2000-12-13
 Modify:
***********************************************************/
function IsMail( ChkStr  ) 
{
  if (Trim(ChkStr).length == 0)  return false;
  if (ChkStr.length  < 5) return  false;
  if (ChkStr.indexOf(" ") >  2) return false;
  var i  = 1;
  var sLength =  ChkStr.length;
  while  ((i  < ChkStr.length) &&  (ChkStr.charAt(i) != "@"))
  {  i++
  }
  if ((i >=  ChkStr.length) || (ChkStr.charAt(i)  != "@")) return  false;
  else i +=  2;
  while  ((i  < ChkStr.length) &&  (ChkStr.charAt(i) != "."))
  {  i++
  }
  if ((i >=  ChkStr.length -  1) || (ChkStr.charAt(i)  != ".")) return  false;
  else return true;
}

function ChkTxt(objItem, strTitle)
{
  if(Trim(objItem.value).length==0)
  {
  alert('请输入' + strTitle + '！' );
  objItem.focus();
  return false;
  }
  
  return true;
}

function StrCmp( sFirst, sSecond )
{
  var  sou  = new String( sFirst );
  var  dest = new String( sSecond );
  
  if ( sou.length  != dest.length )
    return false;
    
  var  i =  0;
  
  while (  sou.charAt(  i )  == dest.charAt(  i )  )
  {
    if ( i == sou.length ) break;
    i++;
  }
  
  if ( i == sou.length )
    return true;
  else
    return false;
}


function ConfirmDelete(objChk,strJsDelType)
{
  var i;
  var blnFlag;
  
  if(StrCmp(objChk,  'undefined'))
  {
  return false;  
  }
  else if(objChk.length  > 1)  
  {
  blnFlag  = false;
  for(i=0;i<objChk.length;i++)
  {
    if(objChk[i].checked)
    {
    blnFlag  = true;
    break;
    }
  }
  }
  else
  {
  blnFlag  = objChk.checked;
  }
  if(blnFlag)
  return confirm("你确定要删除吗？");
  else
  {
  alert("请选择要删除的" + strJsDelType +  "！");
  return false;
  }
}

//check  if the string is only digit
function ChkDigit(objDigit,txtTitle)
{
  var  strDigit=objDigit.value;

  if(isNaN(strDigit))
  {
    alert(txtTitle + "只能使用数字！");
    objDigit.focus();
    return false;
  }
  return true;
}
function ChkPositive(objDigit, txtTitle)
{
  if(!ChkDigit(objDigit, txtTitle))  return false;
  else
  {
  if(parseInt(objDigit.value)<0)
  {
    alert(txtTitle + "不能使用负数！");
    objDigit.focus();
    return false;
  }
  }
  return true;
}

function ChkIDCard(objID)
{
  var  strID =  objID.value;
  
  if (strID.length !=  15 && strID.length != 18)
  {
    alert("身份证号只能为 15 位或 18 位数字，请重新输入！");
    objID.focus();
    return false;
  }

  return true;
}

//check  if the string is beyond  limit
function ChkLength(objItem,  txtTitle, nMaxLength,nMinLength)
{
  var  strItem=objItem.value;

  if(strItem.length>nMaxLength)  {
  alert(txtTitle + "超出字数限制，你最多可以输入 " + nMaxLength +  " 个字！");
    objItem.focus();
    return false;
  }
  if(strItem.length<nMinLength)  {
  alert(txtTitle + "字数太少，你至少要输入 " + nMinLength  + "  个字！");
    objItem.focus();
    return false;
  }
  return true;
  
}

function getLength(strChecked)
{
  alert('现已输入了 ' +  strChecked.length +  ' 个字。');   
}

function FormatDate(sDate, intLength){
  var mDate    =  Trim(sDate);
  var arrDate =  mDate.split('-');
  var mYear    =  parseInt(arrDate[0],10);
  var mMonth  =  parseInt(arrDate[1],10);
  var mDay    =  parseInt(arrDate[2],10);
  if(mMonth  < 10) mMonth = '0' + mMonth;
  if(mDay <  10)  mDay = '0' + mDay;
  if(intLength==15)  mYear =  mYear %  100;
  var sVal = mYear.toString() +  mMonth.toString() +  mDay.toString();
  //alert(sVal);
  return sVal;
}

// yyyy-mm-dd
function IsDate(sDate) {
var  mDate  = Trim(sDate);
var  mLen  = mDate.length;

if ( mLen <  8 || mLen >  11 )   return false;

mDate =  mDate.replace(/(\/)/g, "-");
mDate =  mDate.replace("年",  "-");
mDate =  mDate.replace("月",  "-");
mDate =  mDate.replace("日",  "");
if ( mDate.search(/\d{4}-\d{1,2}-\d{1,2}/gi) ==  -1 ) return  false;

var  arrDate  = mDate.split('-');
var  mYear  = parseInt(arrDate[0],10);
var  mMonth  = parseInt(arrDate[1],10) -  1;  
var  mDay  = parseInt(arrDate[2],10);

var  today =  new  Date();
if (mYear<1900 || mYear  >= 2100) return  false;

var  objDate  = new Date(mYear,mMonth,mDay);
if(objDate.getFullYear() !=  mYear || objDate.getMonth()  != mMonth || objDate.getDate() != mDay )
  return false;

return true;
}

// yyyy-mm
function IsMonth(sDate)  {
var  mDate  = Trim(sDate);
var  mLen  = mDate.length;

if ( mLen <  6 || mLen >  7 )    return false;

mDate =  mDate.replace(/(\/)/g, "-");
if ( mDate.search(/\d{4}-\d{1,2}/gi) ==  -1 ) return  false;

var  arrDate  = mDate.split('-');
var  mYear  = parseInt(arrDate[0],10);
var  mMonth  = parseInt(arrDate[1],10) -  1;  

if (mYear<1900 || mYear>2100) return false;

var  objDate  = new Date(mYear,mMonth,1);
if(objDate.getFullYear() !=  mYear || objDate.getMonth()  != mMonth)
  return false;

return true;
}

// hh:mm
function IsTime(sTime) {
var  mTime  = Trim(sTime);
var  mLen  = mTime.length;

if ( mLen <  3 || mLen >  5 )  return false;
if ( mTime.search(/\d{1,2}:\d{1,2}/gi) == -1 ) return false;

var  arrDate  = mTime.split(':');
var  mHour   = parseInt(arrDate[0],10);
var  mMinute   = parseInt(arrDate[1],10);   

if ( mHour < 0 || mHour  > 23 ||  mMinute  < 0  || mMinute > 59  ) return false;

return true;
}

// 0: yyyy-mm-dd  1: yyyy-mm-dd  hh:mm 2: hh:mm 3: yyyy-mm
function IsDateTime(sDate,sType) {
switch (sType.toString(10))  {
case '0':  // yyyy-mm-dd
  return IsDate(sDate);
case '1':  // yyyy-mm-dd hh:mm

  var  mDate  = Trim(sDate);
  var  mLen  = mDate.length;

  if ( mLen <  12 || mLen > 16  ) return false;
  if ( mDate.search(/\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}/gi) ==  -1 ) return  false;

  var  arrDate  = mDate.split('  ');
  
  if ( IsDate( arrDate[0]  ) == false || IsTime( arrDate[1]) == false )
    return false;
  break;
case '2':  // hh:mm
  return IsTime(sDate);
case '3':  // yyyy-mm
  return IsMonth(sDate);
default:
  return false;
}
return true;
  
}

function SetOther(objText, objItem)
{
  objText.value  = "";
  objText.disabled = objItem.checked;
}

/*
function CheckAll(frm, chkItemName,  objChkAll)
{
for  (var i=0;i<frm.elements.length;i++)
  {
  var e  = frm.elements[i];
  if (e.name ==  chkItemName)
   e.checked = objChkAll.checked;
  }
}
*/
function CheckAll(objItem, objAll)
{
  if(!StrCmp(objItem, 'undefined'))
  {
  if(objItem.length >  1)
  {
    for(var i=0;i<objItem.length;i++)
    objItem[i].checked = objAll.checked;
  }
  else
    objItem.checked =  objAll.checked;
  }
}

function ChkSel(objElement,  intSelect, txtTitle)
{
 if  ( objElement.value == intSelect  ) {
    alert("请选择" + txtTitle + "！");
    objElement.focus();
    return false;
  }
  return true;
}
