function ValidateCC(ccNumber){
	var bOdd = true;
	var sum = new Number(0);
	var num = new Number(0);

	// check for a valid length
	if (ccNumber.length < 13 || ccNumber.length > 16) return "";

// next the number is multiplied by a series of weights (..212121)
// beginning with the rightmost digit. The units and tens position
// of each resulting product are added as single digits. The end
// result must be evenly divisble by 10, otherwise the card is invalid.
	for (var i = ccNumber.length - 1; i >= 0; i--){
		num = Number(ccNumber.substr(i,1));
	if ( bOdd ) {
		sum = sum + (num * 1);
	}else{
		num = (num * 2);
		var tString = String(num);
		var n = (tString.length -1);

		for (n; n>=0; n--){
			sum = sum + Number(tString.substr(n,1));
		}
	}
		bOdd = !bOdd;
	}

if  ((sum % 10) != 0 ) return ""; //Invalid Credit Card Format!";
if (Number(ccNumber.length) == 16 && ccNumber.substring(0,2)>="51" && ccNumber.substring(0,2)<="55") return "mastercard";
if (Number(ccNumber.length) == 16 && ccNumber.substring(0,1)=="4") return "visa";
if (Number(ccNumber.length) == 16 && ccNumber.substring(0,4)=="6011") return "discover";
if (Number(ccNumber.length) == 15 && (ccNumber.substring(0,2)=="34" || ccNumber.substring(0,2)=="37")) return "amex";
if (Number(ccNumber.length) == 14 && (ccNumber.substring(0,2)=="36" || ccNumber.substring(0,2)=="30" || ccNumber.substring(0,2)=="38")) return "dinersclub";
if (Number(ccNumber.length) == 13 && (ccNumber.substring(0,1)=="4")) return "visa";
return ""; //Invalid Credit Card Number";
}
