function trim(inputString) {
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
   }
   return retValue; 
} 

function checkUsername(n, nme, lang)
{
	if (n.search(/\_/)>-1 || n.search(/\ /)>-1)
	{
		if (lang=="Chinese")
		{
			msg="請使用4 - 16個英文字或數目字, 不可含有空格或底線 ";
		}
		else
		{
			msg="Please use 4 - 16 letters or numbers, no space and underline. ";
		}
		alert(msg);
		applicationForm[nme].focus();
		return false;
	}
	return true;
}
function textChecking(txt, nme, lang, type)
{
	if (type=="NODIGIT")
	{
		if (lang=="Chinese")
		{
			msg ="請輸入中文字或英文字[a-z/A-Z]";
		}
		else
		{
			msg="Please input chinese characters or English characters[a-z/A-Z]";
		}
		if (txt.search(/[0-9]/)>-1)
		{
			alert(msg)
			applicationForm[nme].focus();
			return false;
		}
		return true;
	}
	if (type=="DIGIT")
	{
		if (lang=="Chinese")
		{
			msg ="請輸入數目[0-9]";
		}
		else
		{
			msg="Please input digits [0-9]";
		}
		if (txt.search(/[^0-9]/)>-1)
		{
			alert(msg)
			applicationForm[nme].focus();
			return false;
		}
		return true;
	}	
	return true;
}

function checkTel(n,lang,nme)
{
	if ((!CheckPrefix(n) && n.length == 8)|| n.search(/[^0-9/]/)>-1)
	{
		if (lang=="English")
		{
			alert("Please input HK/China mobile phone number.")
		}
		else
		{
			alert("請輸入香港/中國手提電話號碼")
		}
		applicationForm[nme].focus();			
		return false;
		
	}
	return true;	
}
function CheckPrefix(no)
{
	
	if (no.indexOf(0)==0)
	{
		return false;	
	}
	if (no.indexOf(1)==0)
	{
		return false;	
	}
	if (no.indexOf(2)==0) //if (no.indexOf(222)==0) // remark on v1.0.8, only HK cell phone number is valid and 13 digits number (CN)
	{
		return false;	
	}
	if (no.indexOf(3)==0) // if (no.indexOf(333)==0) // remark on v1.0.8, only HK cell phone number is valid and 13 digits number (CN)
	{
		return false;	
	}
	if (no.indexOf(4)==0)
	{
		return false;	
	}
	if (no.indexOf(5)==0)
	{
		return false;	
	}
	if (no.indexOf(7)==0)
	{
		return false;	
	}
	if (no.indexOf(999)==0)
	{
		return false;	
	}
	return true;
	
	
}

function CheckSelection(radioField)
{
	var selection = false;
	for (i=0; i < radioField.length; i++)
	{
		if (radioField[i].checked)
	        {
	        	selection= true;
	        }
	}
	return selection; 
}

// Check if Field contains something
  function ContainsSomething(Field)
   {
   if ((Field.type == "text") || (Field.type == "textarea") || (Field.type == "password"))
      {
      if (Field.value == "")
         {
         return false;
         }
      }
   else
      {   
      if (returnSelection(Field) == null)
         {
         return false;
         }
      }

   return true;
   }
   
  // Check for valid (ie containg "@", ".", 
  function IsValidEmail(Field)
    {
   if (!ContainsSomething(Field))
      {
      return false;
      }
    if (Field.value.indexOf("@")==-1  
        || Field.value.indexOf(".")==-1 
        || Field.value.indexOf(" ")!=-1 
        || Field.value.indexOf(",")!=-1 
        )
       {
       return false;
       }
    else
       {
       return true;
       }
    }   
  
  // Check if Field contains numeric data only
  function IsNum(Field) 
  {
      if (!ContainsSomething(Field))
      {
      return false;
      }
    
      inputVal = Field.value;
        
      inputStr = inputVal.toString();
      
      for (var i = 0; i < inputStr.length; i++)
      {
		var oneChar = inputStr.charAt(i);
                if (oneChar < '0' || oneChar > '9')
                {
                        return false;

                }
       }
       return true;
  }

  // Check if Field contains only letters
  function IsOnlyLetters(Field)
   {
   if (!ContainsSomething(Field))
      {
      return false;
      }
   var Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   for (i=0; i < Field.value.length; i++)
       {
       var CheckChar = Field.value.charAt(i);
       CheckChar = CheckChar.toUpperCase();
       if (Letters.indexOf(CheckChar) == -1)
          {
          return false;
          }
       }
       return true;
    }

function CheckSpecialChar(Field)
{
	var express = /[_\s\W]/;
	var invalid = express.test(Field.value);
	
	return invalid;
} 

function IsSame(Field1, Field2)
{
  if (Field1.value == Field2.value)
  	return true;
  else
  	return false;	
}

function CheckLength1(Field, len)
{
	if (!ContainsSomething(Field))
      	{
      		return false;
      	}
	if ( Field.value.length < len)
		return false;
	else
		return true;
}

function CheckLength2(Field, len1, len2)
{
	if (!ContainsSomething(Field))
      	{
      		return false;
      	}
	
	if( (Field.value.length < len1)||(Field.value.length > len2 ) )
		return false;
	else
		return true;
}

function CheckLength3(Field, len)
{
	if (!ContainsSomething(Field))
      	{
      		return false;
      	}
	if ( Field.value.length != len)
		return false;
	else
		return true;
}

function IsValidDate(Field)
{
	if( Field.options.selectedIndex == 0 )
		return false;
	else
		return true;
}


function IsChecked(Field)
{
	if( Field.checked == true)
		return true;
	else
		return false;
}
