String.prototype.Trim = function() 
{ 
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
}  

String.prototype.LTrim = function() 
{ 
	return this.replace(/(^\s*)/g, ""); 
}  

String.prototype.RTrim = function() 
{ 
	return this.replace(/(\s*$)/g, ""); 
} 

function isEmpty(s)
{
   return ((s == null)||(s.Trim().length == 0));
}

function containsWhitespace(s)
{
	var whitespace = " \t\n\r";
    var i;
    for (i = 0; i < s.length; i++)
    {
       var c = s.charAt(i);
       if(whitespace.indexOf(c) >= 0)
       {
	       //alert("");
           return true;
       }
    }
}

function isWhitespace (s,s1)
{   
   if(isEmpty(s)){
      alert(s1);
      return true;
    }
   return false;
}

function isCharsInBag (s, bag)
{
   var i;
   // Search through string's characters one by one.
   // If character is in bag, append to returnString.
 
   for (i = 0; i < s.length; i++)
   {
      // Check that current character isn't whitespace.
      var c = s.charAt(i);
      if (bag.indexOf(c) == -1) return false;
   }
   return true;
}

function isEmail(s){
   if (isEmpty(s)){
      alert("請輸入電郵.");
      return false;
   }
   //is s contain whitespace
   if (containsWhitespace(s.Trim()))
   {
      alert("電郵地址不能包含空格.");
      return false;
   }
   var i = 1;
   var len = s.length;
   //if (len > 40)
   //{
   //   alert("E-mail address length must less than 40 characters!");
   //   return false;
   //}

   pos1 = s.indexOf("@");
   pos2 = s.indexOf(".");
   pos3 = s.lastIndexOf("@");
   pos4 = s.lastIndexOf(".");  
   if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len)){
      alert("請輸入合法的電郵地址.");  
      return false;
   }
   else{
      if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)
                             || ( pos1 != pos3 ) //find two @
                             || ( pos4 < pos3 ) ) //. should behind the '@'
      {
	      alert("請輸入合法的電郵地址.");
          return false;
      }
   }

   if ( !isCharsInBag( s.Trim(), "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@"))
   {
         alert("請輸入合法的電郵地址." );
         return false;
   }
   return true;
}

function checkTEL(TEL){
   if(isEmpty(TEL)){
      alert('Phone number can not be empty,please input again!');
      return false;
   }
   
   var i,j,strTemp;
   strTemp="0123456789-()# ";
   for (i=0;i<TEL.length;i++)
   {
      j=strTemp.indexOf(TEL.charAt(i));
      if (j==-1)
      {
	     alert('Leagal phone number is :0123456789-()#\n'+'          please input again!');
         return false;
      }
   }
   return true;
}


function getObjXMLHttp()
{
        if (window.XMLHttpRequest)
        {
            var objXMLHttp = new XMLHttpRequest();
        }
        else
        {
            var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
            for(var n = 0; n < MSXML.length; n ++)
            {
                try
                {
                    var objXMLHttp = new ActiveXObject(MSXML[n]);        
                    break;
                }
                catch(e)
                {
					alert(e);
                }
            }
        }
        if (objXMLHttp.readyState == null)
        {
            objXMLHttp.readyState = 0;

            objXMLHttp.addEventListener("load", function ()
			{
				objXMLHttp.readyState = 4;
				
				if (typeof objXMLHttp.onreadystatechange == "function")
				{
					objXMLHttp.onreadystatechange();
				}
			},  false);
        }
        return objXMLHttp;
}
