
function CheckString(valname,val,valimode,limitlen)
{
   	if(valimode==1)
   	{
		if(isblank(val.value))
		{
			alert(valname+"不能为空！");
			val.focus();
			val.select();	
        	return false;
        }
        tmp=new String(val.value)
		if(istoolong(tmp,limitlen))
		{
			alert(valname+"不能超过"+limitlen+"个字符！");
			val.focus();
			val.select();	
            		return false;
        	}
	}
    else{
		tmp=new String(val.value)
        if(istoolong(tmp,limitlen)){
			alert(valname+"不能超过"+limitlen+"个字符！");
			val.focus();
			val.select();	
        	return false;
        }
    }
    return true;
}

function CheckString2(valname,val,valimode,limitlen,minlimited)
{
   	if(valimode==1)
   	{
		if(isblank(val.value))
		{
			alert(valname+"不能为空！");
			val.focus();
			val.select();	
        	return false;
        }
        tmp=new String(val.value)

		if(istoolong(tmp,limitlen))
		{
			//alert(tmp.length);
			alert(valname+"不能超过"+limitlen+"个字符！");
			val.focus();
			val.select();	
            		return false;
        	}

		if(istooshort(tmp,minlimited))
		{   
			alert(valname+"不能小于"+minlimited+"个字符！");
			val.focus();
			val.select();	
            		return false;
        	}
	}
    else{
		tmp=new String(val.value)
        if(istoolong(tmp,limitlen)){
			alert(valname+"不能超过"+limitlen+"个字符！");
			val.focus();
			val.select();	
        	return false;
        }
    }
    return true;
}
function isblank(str)
{
    var i;
    var len=str.length;
    for(i=0;i<len;++i)
    {
		if(str.charAt(i)!=" ")
			return false;
    }
    return true;
}

function istoolong(str,i)
{
    var len=str.length;
	//alert(len);
    if(i==0)
		return false;
    else
    {   
        if(len>i)
		return true;
        else
		return false;
    }
}
function istooshort(str,i)
{
    var len=str.length;
    if(i==0)
		return false;
    else
    {   
        if(len<i)
		return true;
        else
		return false;
    }
}
function CheckLoginName(val,min,max)
{
	var len = val.value.length;
	if (len<min || len>max)
	{
		alert("用户登录名长度不正确，应为"+min+"-"+max+"个英文字母、数字！");
		val.focus();
		val.select();	
		return false;
	}
	for (i=0;i<val.value.length;i++)
	{
		var ch = val.value.charAt(i);
		if ( (ch<"0" || ch>"9") && (ch<"a" || ch >"z") && (ch<"A" || ch >"Z"))
		{
			alert("用户登录名必须由字母或数字组成！");
			val.focus();
			val.select();	
			return false;
		}
	}
	return true;
}

function CheckPassWord(val,min,max)
{
	var len = val.value.length;
	if (len<min || len>max)
	{
		alert("用户登录密码长度不正确，应为"+min+"-"+max+"个英文字母、数字！");
		val.focus();
		val.select();	
		return false;
	}
	for (i=0;i<val.value.length;i++){
		var ch = val.value.charAt(i);
		if ( (ch<"0" || ch>"9") && (ch<"a" || ch >"z") && (ch<"A" || ch >"Z"))
		{
			alert("用户登录密码必须由字母或数字组成！");
			val.focus();
			val.select();	
			return false;
		}
	}
	return true;
}

function IsSame(val1,val2)
{
	if (val1.value != val2.value )
	{
		alert("两次输入的密码不相同，请确认！");
		val2.focus();
		val2.select();	
		return false;
	}
	else
		return true;
}

function CheckEmail(val,mode)
{
	if((mode==0) && (val.value==""))
	{
		return true;
	}

	var etext
	var elen
	var i
	var aa
	etext=val.value
	elen=etext.length
	if (elen<5)
	{
		alert("请输入正确的Email！");
		val.focus();
		val.select();	
		return false;
	}
	i= etext.indexOf("@",0)
	if (i==0 || i==-1 || i==elen-1)
	{
		alert("请输入正确的Email！");
		val.focus();
		val.select();	
		return false;
	}
	else{
		if (etext.indexOf("@",i+1)!=-1)
		{
			alert("请输入正确的Email！");
			val.focus();
			val.select();	
			return false;
		}
	}
	if (etext.indexOf("..",i+1)!=-1)
	{
		alert("请输入正确的Email！");
		val.focus();
		val.select();	
		return false;
	}
	i=etext.indexOf(".",0)
	if (i==0 || i==-1 || etext.charAt(elen-1)=='.')
	{
		alert("请输入正确的Email！");
		alert("Emai必须包含字符.但是首位字符不得为.");
		val.focus();
		val.select();	
		return false;
	}
	if ( etext.charAt(0)=='-' ||  etext.charAt(elen-1)=='-')
	{
		alert("请输入正确的Email！");
		alert("首位字符不得为-");
		val.focus();
		val.select();	
		return false;
	}
	if ( etext.charAt(0)=='_' ||  etext.charAt(elen-1)=='_')
	{
		alert("请输入正确的Email！");
		alert("首位字符不得为_");
		val.focus();
		val.select();	
		return false;
	}
	for (i=0;i<=elen-1;i++)
	{
		aa=etext.charAt(i)
		if (!((aa=='.') || (aa=='@') || (aa=='-') ||(aa=='_') || (aa>='0' && aa<='9') || (aa>='a' && aa<='z') || (aa>='A' && aa<='Z')))
		{
			alert("请输入正确的Email！");
			alert("包含非法字符");
			val.focus();
			val.select();	
			return false;
		}
	}
	return true;
}

function CheckValHeight(val,min,max,mode){
	if((mode==0) && (val.value=="")){
		return true;
	}
	
	var len = val.value.length;
	if (val.value<min || val.value>max){
		alert("请输入正确的身高数据！");
		val.focus();
		val.select();	
		return false;
	}
	var val2 = val.value;
	for (i=0;i<val2.length;i++){
		var ch = val2.charAt(i);
		if ( (ch<"0" || ch>"9") ){
			alert("身高数据必须由有效数字组成！");
			val.focus();
			val.select();	
			return false;
		}
	}
	if (isNaN(val2)){	
		alert("身高数据必须由有效数字组成！");
		val.focus();
		val.select();	
		return false;
	}
	else if (parseInt(val2)<=0){
		alert("身高数据必须由有效数字组成！");
		val.focus();
		val.select();	
		return false;
	}
	else if (val2.indexOf('0')==0){
		alert("身高数据必须由有效数字组成！");
		val.focus();
		val.select();	
		return false;
	}
	return true;
}

function Isinteger(sNum) {
	var	num
	num=new RegExp('[^0-9_]','')
	if (isNaN(sNum)) {
		return false
	}
	else {
		if (sNum.search(num)>=0) {
			return false
		}
		else {
			return true
		}
	}
}

function CheckInteger(val,min,max,mode){
	var value = val.value;
	if((mode==0) && (value=="")){
		return true;
	}
	if(!isNaN(value)){
		if((value<min) || (value>max)){
			val.focus();
			val.select();	
			return false;
		}	
		else
			return true;						
	}		
	else{
		val.focus();
		val.select();		
		return false;	
	}	
}

function isValidDate(iY, iM, iD) {
  var undefined									
  if ( iY != undefined && !isNaN(iY) && iY >=0 && iY<=9999 &&						
       iM != undefined && !isNaN(iM) && iM >=1   && iM<=12   &&					
       iD != undefined && !isNaN(iD) && iD >=1   && iD<=31  )  {						       					
       if (iY<50) iY = 2000+iY; else if (iY<100) iY=1900+iY;						
    if (iM == 2  && (isLeapYear(iY)  && iD > 29 || !isLeapYear(iY) && iD>28) ||	
        iD == 31 && (iM<7 && iM%2==0 || iM>7 && iM%2==1) )							
		return false																
	else	return true   
 }														
 else  return false
}	

function isLeapYear(iYear) {
  var undefined						
  if ( iYear != undefined && !isNaN(iYear) && iYear > 0 &&		
       (iYear%4==0 && iYear%100 !=0 || iYear%400==0)   )		
      return true												
	else return false;
}											

function CheckPositive(valname,val,min,max,mode){
	if((mode==0) && (val.value=="")){
		return true;
	}
	
	if(!CheckNumber(valname,val,min,max,mode)){
		val.focus();
		val.select();	
		return false;
	}
	if (parseInt(val.value)<=0){
		//alert(valname+"为正数值类型，数据必须为有效的正整数！");
		val.focus();
		val.select();	
		return false;
	}

	return true;
}

function CheckNumber(valname,val,min,max,mode){
	if((mode==0) && (val.value=="")){
		return true;
	}
	
	var len = val.value.length;
	if (len<min || len>max){
		//alert(valname+"为数值类型，请输入正确的数值！");
		val.focus();
		val.select();	
		return false;
	}
	var val2 = val.value;
	for (i=1;i<val2.length;i++){
		var ch = val2.charAt(i);
		if ( (ch<"0" || ch>"9" ) ){
			//alert(valname+"为数值类型，请输入正确的数值！");
			val.focus();
			val.select();	
			return false;
		}
	}
	if (isNaN(val2)){	
		//alert(valname+"为数值类型，请输入正确的数值！");
		val.focus();
		val.select();	
		return false;
	}
	else if (val2.indexOf('0')==0 && len>1){
		//alert(valname+"为数值类型，请输入正确的数值！");
		val.focus();
		val.select();	
		return false;
	}
	else if (val2.indexOf('-')==0 && val2.indexOf('0')==1){
		//alert(valname+"为数值类型，请输入正确的数值！");
		val.focus();
		val.select();	
		return false;
	}
	return true;
}

function isValidDateString(sDateTime) {
	var asDateTime = new Array()
	asDateTime = sDateTime.value.split('-')
	if (asDateTime.length != 3){
 		sDateTime.focus();
		sDateTime.select();	  
		return false;
	}
	if(asDateTime[0].length!=4){
		alert("请输入四位整数的年份！");
 		sDateTime.focus();
		sDateTime.select();	
		return false;
	}	
	if(!isValidDate(asDateTime[0], asDateTime[1], asDateTime[2])){
 		sDateTime.focus();
		sDateTime.select();	
		return false;
	}	
			
	return true;
}	
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function SelectTotal(ObjName)
{ ObjID = GetObjID(ObjName);
  if (ObjID != -1)
  { for (i=0; i<document.form1.elements[ObjID].length; i++)
      document.form1.elements[ObjID].options[i].selected = true;
  }
}

function GetObjID(ObjName)
{ for ( var ObjID=0; ObjID < window.form1.elements.length; ObjID++ )
      if (window.form1.elements[ObjID].name == ObjName )
      {  return(ObjID);
         break;
      }
  return(-1);
}

function ChangeOption(ObjName, DesName)
{
  //GET OBJECT VALUE, ID OF DESTINATION OBJECT
  ObjID    = GetObjID(ObjName);
  DesObjID = GetObjID(DesName);
  //CLEAR OLD OPTIONS
  document.form1.elements[DesObjID].length= 0;
  //Add NEW OPTIONS
  if ( ObjID != -1 && DesObjID != -1 )
  {  CatValue = window.form1.elements[ObjID].value.substring(0, 2);
     if ( CatValue == "00" )
        document.form1.elements[DesObjID].length=0;
     else
     {  //PARSING
        if ( ObjName == "AreaCat")
           var tt = document.form1.AreaCode.value;
        else
           var tt = document.form1.FuncCode.value;
        var SubCategory = tt.split(";");
        //GENERATE OPTIONS
        j=0;
        for (var i=0; i< SubCategory.length; i++ )
        {   pp = SubCategory[i].split(",");
            if ( pp[0].substring(0,2) == CatValue && pp[0].substring(2,4) != "00" )
            {  document.form1.elements[DesObjID].options[j]= new Option( pp[1], pp[0]);
               j++;
            }//if
        }//for
     }//if
  }//if
}//function

function InsertItem(ObjID, Location)
{ len=document.form1.elements[ObjID].length;
  for (counter=len; counter>Location; counter--)
  {   Value = document.form1.elements[ObjID].options[counter-1].value;
      Text2Insert  = document.form1.elements[ObjID].options[counter-1].text;
      document.form1.elements[ObjID].options[counter] = new Option(trimPrefixIndent(Text2Insert), Value);
  }
}

function GetLocation(ObjID, Value)
{ total=document.form1.elements[ObjID].length;
  for (pp=0; pp<total; pp++)
      if (document.form1.elements[ObjID].options[pp].text == "---"+Value+"---")
      {  return (pp);
         break;
      }
  return (-1);
}

function AddItem(ObjName, DesName, CatName)
{

	
  //GET OBJECT ID AND DESTINATION OBJECT
  ObjID    = GetObjID(ObjName);
  DesObjID = GetObjID(DesName);
  CatObjID = GetObjID(CatName);
 // alert(CatObjID);
  if ( ObjID != -1 && DesObjID != -1 && CatObjID != -1 )
  {   hasNum = overalert(DesObjID);
      if (hasNum == 5)
         window.alert("最多选五项。");
      else
      {  //GET SELECTED ITEM NUMBER
         SelNum = 0;
         for (var j=0; j<document.form1.elements[ObjID].length; j++)
         {   if ( document.form1.elements[ObjID].options[j].selected)
             SelNum ++;
         }
         if ((SelNum + hasNum) > 5)
            window.alert("最多选五项。");
         else
         {  jj       = document.form1.elements[CatObjID].selectedIndex;
            CatValue = trimPrefixIndent(document.form1.elements[CatObjID].options[jj].text);
            CatCode  = document.form1.elements[CatObjID].options[jj].value;
            i        = document.form1.elements[ObjID].options.length;
            j        = document.form1.elements[DesObjID].options.length;
		
            for (h=0; h<i; h++)
            {   if (document.form1.elements[ObjID].options[h].selected )
                {  Code = document.form1.elements[ObjID].options[h].value;
                   Text = trimPrefixIndent(document.form1.elements[ObjID].options[h].text);
                   j    = document.form1.elements[DesObjID].options.length;

                   HasSelected = false;
                   for (k=0; k<j; k++ )
                   if (document.form1.elements[DesObjID].options[k].value == Code)
                   {  
					   
					   HasSelected = true;
                      break;
                   }
                   if (HasSelected == false)
                   {  Location = GetLocation(DesObjID, CatValue);
					  if (Location == -1 )
                      {  document.form1.elements[DesObjID].options[j] =  new Option("---"+CatValue+"---",CatCode);
                         document.form1.elements[DesObjID].options[j+1] = new Option(Text, Code);
                      }
                      else
                      {  InsertItem(DesObjID, Location+1);
                         document.form1.elements[DesObjID].options[Location+1] = new Option(Text, Code);
                      }
                   }
                   else
                       window.alert("此项已选择。");
                }
            }
         }//else
      }//else
      //CLEAR SELECTION
      for (i=0; i<document.form1.elements[ObjID].length; i++)
          document.form1.elements[ObjID].options[i].selected = false;
          //清除左边
  }//if
}//end of function

//written by liming
function overalert(ID)
{ var over  = 0;
  thelength = document.form1.elements[ID].length;
  for (m=0; m<thelength; m++)
  {   thevalue = document.form1.elements[DesObjID].options[m].value
      thevalue = thevalue.substring(2)
      if (thevalue!="00")
         over=over+1;
  }
  return(over);
}
//end

//MODIFIED BY DAVID AND CLOUD
function DeleteItem(ObjName)
{ ObjID = GetObjID(ObjName);
  if ( ObjID != -1 )
  {  var  check_index = new Array();
     for (i=window.form1.elements[ObjID].length-1; i>=0; i--)
     {   if (window.form1.elements[ObjID].options[i].selected)
         {  check_index[i] = true;
            window.form1.elements[ObjID].options[i].selected = false;
         }
         else
            check_index[i] = false;
     }
     for (i=window.form1.elements[ObjID].length-1; i>=0; i--)
     {   if (check_index[i])
         {  info = window.form1.elements[ObjID].options[i].value;
            if (!(info.substring(2)=="00")) window.form1.elements[ObjID].options[i] = null
         }
     }
     var b=0
     var indexarr = new Array()
     for (i=0;i<window.form1.elements[ObjID].length;i++)
     {   value1 = window.form1.elements[ObjID].options[i].value
         if (value1.substring(2)=="00"){
           if (window.form1.elements[ObjID].length==i+1)
              window.form1.elements[ObjID].options[i]=null
           else
           {  value2 = window.form1.elements[ObjID].options[i+1].value
              if (value2.substring(2)=="00"){
              indexarr[b]=i
              b++
           }
     }
        }
    }
    for (var c=0;c<b;c++){
             window.form1.elements[ObjID].options[indexarr[c]-c]=null
         }
  }
}


function IsSelected(ID, Value)
{ if (ID != -1 && Value != "")
  {  for (var cc=0; cc<document.form1.elements[ID].length; cc++ )
     {   if (document.form1.elements[ID].options[cc].value == Value)
            return true;
     }
     return false;
  }
  return false;
}

function HasTotal(ID)
{ if (ID != -1 )
  {  for (var cc=0; cc<document.form1.elements[ID].length; cc++ )
     {   if ( document.form1.elements[ID].options[cc].selected )
         {  if (document.form1.elements[ID].options[cc].value == "0000")
            {  return true;
            }
         }
     }
     return false;
  }
  return false;
}

function trimPrefixIndent(str)
{
	//(2004-01-18,by Fred)space in Option.text is unicode 160
	var prefixIndent = String.fromCharCode(160,160)+"--";
	return trimPrefix(str,prefixIndent);
}
function trimPrefix(str,prefix)
{
	var tmpstr = str;
	var len = prefix.length;
	
	//alert("char code:"+tmpstr.charCodeAt(0));
	//alert(tmpstr.substring(0,len));
	if(tmpstr.substring(0,len) == prefix)
	//if(prefix.indexOf(tmpstr.substring(0,len)) != -1)
	{
		tmpstr = tmpstr.substr(len);
	}
	return tmpstr;
}

function AppendItem(ObjName, DesName)
{ ObjID    = GetObjID(ObjName);
  DesObjID = GetObjID(DesName);
  if (ObjID != -1 && DesObjID != -1)
  {  if ( IsSelected(DesObjID, "0000") )
        window.alert("已包含");
     else
     {  if ( HasTotal(ObjID) )
        {  document.form1.elements[DesObjID].length = 0;
           document.form1.elements[DesObjID].options[0]= new Option("---不限---", "0000");

        }
        else
        {  if (document.form1.elements[DesObjID].length == 5)
              window.alert("最多选四项。");
           else
           {  //GET SELECTED ITEM NUMBER
              SelNum = 0;
              for (var j=0; j<document.form1.elements[ObjID].length; j++)
              {   if ( document.form1.elements[ObjID].options[j].selected)
                  SelNum ++;
              }
              if ((SelNum + document.form1.elements[DesObjID].length) > 5)
                 window.alert("最多选五项。");
              else
              {  //add
                 for (j=0; j<document.form1.elements[ObjID].length; j++)
                 {   if (document.form1.elements[ObjID].options[j].selected)
                     {  //GET VALUE
                        dd = document.form1.elements[ObjID].options[j].value;
                        if (!IsSelected(DesObjID, dd))
                        {  //GET LENGTH
                           DesLen = document.form1.elements[DesObjID].length;
                           // NEW OPTION
                          
                           document.form1.elements[DesObjID].options[DesLen]= new Option(trimPrefixIndent(document.form1.elements[ObjID].options[j].text), document.form1.elements[ObjID].options[j].value);
                           //alert(trimPrefixIndent(document.form1.elements[ObjID].options[j].value));
                        }
                        else
                           window.alert("此选项已选择。");

                     }
                 }
              }
           }
        }
     }
     //CLEAR
     for (j=0; j<document.form1.elements[ObjID].length; j++)
          document.form1.elements[ObjID].options[j].selected = false;
  }
}

function RemoveItem(ObjName)
{ ObjID = GetObjID(ObjName);
  if ( ObjID != -1 )
  {  var  check_index = new Array();
     for (i=window.form1.elements[ObjID].length-1; i>=0; i--)
     {   if (window.form1.elements[ObjID].options[i].selected)
         {  check_index[i] = true;
            window.form1.elements[ObjID].options[i].selected = false;
         }
         else
            check_index[i] = false;
     }
     for (i=window.form1.elements[ObjID].length-1; i>=0; i--)
     {   if (check_index[i])
             window.form1.elements[ObjID].options[i] = null
     }
  }
}
