  function isEmail(str) {
    // are regular expressions supported?
    var supported = 0;
    if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
    }
    if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
    var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
    return (!r1.test(str) && r2.test(str));
  }

  function isCardNoValid(str) {
  	var ccCheckRegExp = /[^\d ]/;
  	if (ccCheckRegExp.test(str)) {
			return false;
		}
		if (!(str.length == 13 || str.length == 16)) {
			return false;
		}
		return true;
	}


	function validateDate(day, month, year)
   {
    switch(month) 
       {
       case "02" :
          //February
          if (year == Math.round(year / 4) * 4)
      //leap year
      {
      if (day > 29)
                {
                return false;
                }
             }
          else
             {
             //non-leap year
             if (day > 28)
                {
                return false;
                }
             }
             break;	
       case "04" :
          //April
          if (day > 30)
             {
             return false;
             }	
             break;
       case "06":
          //June
          if (day > 30)
             {
             return false;
             }	
             break;		
       case "09":
          //September
          if (day > 30)
             {
             return false;
             }	
             break;
       case "11":
          //November
          if (day > 30)
             {
             return false;
             }	
             break;
       default:
          //date is valid
          return true;
          break;
       }
   }	
