function isWhitespace (s)

{   var i;

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {
	// Check that current character isn't whitespace.
	var c = s.charAt(i);

	if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}

function isPhone(string) {
    if (!string) return false;
    var Chars = "0123456789-+)(x ";
    var digitChars = "0123456789";
	var strLen =  string.length;
	if(strLen > 18)
		return false;
	if(strLen < 7)
		return false;
	var digitCount = 0;
    for (var i = 0; i < string.length; i++) {
       if (digitChars.indexOf(string.charAt(i)) > -1)
	   digitCount = digitCount + 1;
    }
	if(digitCount < 6)
		return false;
    for (var i = 0; i < string.length; i++) {
       if (Chars.indexOf(string.charAt(i)) == -1)
          return false;
    }
    return true;
}

function isCC(string) {
    var Chars = "0123456789 ";
	var digitChars = "0123456789";
	var strLen =  string.length;
    var digitCount = 0;

    if (!string) return false;
	if (strLen < 14 || strLen > 19) return false;
    for (var i = 0; i < string.length; i++) {
	    if (digitChars.indexOf(string.charAt(i)) > -1) digitCount = digitCount + 1;
	    }
	if (digitCount < 15 || digitCount > 16 ) return false;
    for (var i = 0; i < string.length; i++) {
    	if (Chars.indexOf(string.charAt(i)) == -1)
        return false;
    	}
    return true;
}

function isStrictCC(string) {
if(string.indexOf(' ') >= 0){
return false;
}

    var Chars = "0123456789";
        var digitChars = "0123456789";
        var strLen =  string.length;
    var digitCount = 0;

    if (!string) return false;
        if (strLen < 14 || strLen > 19) return false;
    for (var i = 0; i < string.length; i++) {
            if (digitChars.indexOf(string.charAt(i)) > -1) digitCount = digitCount + 1;
            }
        if (digitCount < 15 || digitCount > 16 ) return false;
    for (var i = 0; i < string.length; i++) {
        if (Chars.indexOf(string.charAt(i)) == -1)
        return false;
        }
    return true;
}



function isEmail (s)
{   //if (isEmpty(s))
    //if (isEmail.arguments.length == 1) return false;
    //   else return (false);

	if (!s) return false;
    // is s whitespace?
    //if (isWhitespace(s)) return false;

    // there must be >= 1 character before @, so we
    // start looking at character position 1
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}


function isNumeric(str)
// returns true if str is numeric
// that is it contains only the digits 0-9
// returns false otherwise
// returns false if empty
{
  var len= str.length;
  if (len==0)
    return false;
  //else
  var p=0;
  var ok= true;
  var ch= "";
  while (ok && p<len)
  {
    ch= str.charAt(p);
    if (('0'<=ch && ch<='9'))
      p++;
    else
      ok= false;
  }
  return ok;
}

function validateDateDataPiece(theform, datePrefix, dateName)
{
  var pass = true;

  var dateSelect = eval('theform' + '.' + datePrefix + '_day');
  var monthSelect = eval('theform' + '.' + datePrefix + '_month');
  var yearSelect = eval('theform' + '.' + datePrefix + '_year');

  var dateValue = dateSelect.options[dateSelect.selectedIndex].value;
  var monthValue = monthSelect.options[monthSelect.selectedIndex].value;
  var yearValue = yearSelect.options[yearSelect.selectedIndex].value;

  if (dateValue.indexOf('-') > -1)
  {
    pass = false;
    alert("Please specify the day of the month for Date " + dateName);
  }
  else if (monthValue.indexOf('-') > -1)
  {
    pass = false;
    alert("Please specify a month for Date " + dateName);
  }
  else if (yearValue.indexOf('-') > -1)
  {
    pass = false;
    alert("Please specify a year for Date " + dateName);
  }

  return pass;
}

function creditcardBrandByNumber(number) {

  if (number.charAt(0) == '3') {
     return 'Am Ex';
  }
  if (number.charAt(0) == '4') {
     return 'Visa';
  }
  if (number.charAt(0) == '5') {
     return 'Mastercard';
  }
  if (number.charAt(0) == '6') {
     return 'Discover';
  }


}