var new_fieldname = "";

function check(form,x)
{
	script_name = "Form Validator ver 2.0";
	action =  "Checks Required, Integer and Date";
	copyright = "(c) 1998 - Art Lubin / Artswork";
	email = "perflunk@aol.com";
	var set_up_var = doall(script_name, copyright, email);
	var message = "";
	var more_message = "";
	var showmsg = "no";
	if (set_up_var == 5872)
	{
		x = x - 1;
		for (var i = 0; i <= x; i++)
			{
	 			var messenger = form.elements[i].name;
				messenger = messenger.substring(0, 2);
				var fieldname = form.elements[i].name;
				fieldname = fieldname.substring(2);

					{
						if (messenger == "r_")
							{
								if (form.elements[i].value!=""){
									more_message = r_check(form,x,fieldname,i);
								}
							}
						else if (messenger == "c_")
							{				
								if (form.elements[i].value!=""){  	
									//more_message = c_check(form,x,fieldname,i,false);					
									more_message = c_check(form,x,fieldname,i,true);		//blanks are allowed with this line			
									var cctypes = form.elements['validcc'].value
									if (more_message==""){	more_message = CheckWithAllowedCardTypes(cctypes,form,x,fieldname,i);	}
								}
							}
						else if (messenger == "C_")
							{
								//same as case above but blanks are allowed
								if (form.elements[i].value!=""){
									more_message = c_check(form,x,fieldname,i,true);							
									var cctypes = form.elements['validcc'].value
									if (more_message==""){	more_message = CheckWithAllowedCardTypes(cctypes,form,x,fieldname,i); }
								}
							}
						else if (messenger == "D_")
							{
								if (form.elements[i].value!=""){
									more_message = D_check(form,x,fieldname,i);
								}
							}
						else if (messenger == "i_")
							{
								more_message = i_check(form,x,fieldname,i);
							}
						else if (messenger == "d_")
								{
									more_message = d_check(form,x,fieldname,i);
								}
						else if (messenger == "e_")
						{
								more_message = e_check(form,x,fieldname,i);
						}
			            else if (messenger == "n_")
                        {
                                more_message = n_check(form, x, fieldname, i);
                        }
						if (more_message != "")
	        			{
								if (more_message){
									if (message == "")
									{
										message = more_message;
										more_message="";
									}else{
								        message = message + "\n" + more_message;
										more_message="";
									}
								}
				        }
											
						if (message > "")
								{
										showmsg = "yes";
								}													
						}	
				}
			
		
		if (showmsg == "yes")
			{
				alert("The following form field(s) were incomplete or incorrect:\n\n" + message + "\n\nPlease complete or correct the form and submit again.");
			}
		else
			{
				submitonce(form);
				form.submit();
			}
		}
	else
		{
			alert ("The copyright information has been changed. \n In order to use this javascript please keep the copyright information intact. \n\n Script Name: Form Validator ver 2.0 \n Copyright: (c) 1998 - Art Lubin / Artswork \n Email: perflunk@aol.com");
		}
}	

function isNum(str) {
	for (var i = 0; i < str.length; i++) {
		ch = str.substring(i, i + 1);
		if ((ch < "0" || "9" < ch) && ch != '.') {
			return false;
		}
	}
	if ((str.length==0)) { return false;} 
	else {	return true; }
}
function n_check(form, x, fieldname, i) {
    var msg_addition = "";
	error=0;
    for (var y = 0; y <= x; y++) {
        if (form.elements[y].name == fieldname)	break;
    }
    var msg_addition = "";
    numberField = form.elements[y].value;
    if(!isNum(numberField)) { error = 1;} else {
        if (numberField.indexOf ('.') > 1)  error = 1;
    }
    if (error == 1)	msg_addition = form.elements[i].value;
    return(msg_addition);          
}
function c_check(form,x,fieldname,i,blankallowed){
	   /*************************************************************************\
	   luhn check
	   \*************************************************************************/
		var msg_addition = "";
		error=0;
		for (var y = 0; y <= x; y++){	if (form.elements[y].name == fieldname)	break;	}
		var msg_addition = "";
		CardNumber = form.elements[y].value;
		if (CardNumber != ""){
			if (! isNum(CardNumber)) {		error=1;	  }
			var  no_digit = CardNumber.length;
			var oddoeven = no_digit & 1;
			var sum = 0;
			if (error==0){
				for (var count = 0; count < no_digit; count++) {
					var digit = parseInt(CardNumber.charAt(count));
					if (!((count & 1) ^ oddoeven)) {
						digit *= 2;
						if (digit > 9) digit -= 9;
					}
					sum += digit;
				}
				if (sum % 10 == 0)	error=0;
				else error=1;			
			}
			if (error == 1)	msg_addition = form.elements[i].value;
		}else if (!blankallowed) msg_addition = form.elements[i].value;
		return(msg_addition);
}

function D_check(form,x,fieldname,i)
{
	for (var y = 0; y <= x; y++)
	{
			if (form.elements[y].name == fieldname)	break;
	}
	var msg_addition = "";

	if (form.elements[y].value == "" || form.elements[y].value.indexOf ('.', 0) < 1)  error = 1;
	else{
		 error=0;
	}

	if (error == 1)	msg_addition = form.elements[i].value;
	return(msg_addition);
}

function r_check(form,x,fieldname,i)
	{
		var msg_addition = "";
		new_fieldname = fieldname;
		for (var y = 0; y <= x; y++)
			{

				if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == true)
					{
							msg_addition = "";
							break;
					}
				else if ((form.elements[y].type == "radio" || form.elements[y].type == "checkbox") && form.elements[y].name == new_fieldname && form.elements[y].checked == false)
					{
						msg_addition = form.elements[i].value;
					}

			else if (form.elements[y].type == "select-one")
							{
								var l = form.elements[y].selectedIndex;
								if (form.elements[y].name == fieldname && form.elements[y].options[l].value != "")
									{
										msg_addition = "";
										break;
									}
								else if (form.elements[y].name == fieldname && form.elements[y].options[l].value == "")
									{
										
										msg_addition = form.elements[i].value;

									}
								}
		 else if (form.elements[y].name == fieldname && form.elements[y].value == "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
							{
								
								msg_addition = form.elements[i].value;
								break;
							}
				else if (form.elements[y].name == fieldname && form.elements[y].value != "" && form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one")
							{
								msg_addition = "";

							}	
				}
			return(msg_addition);
		}
			

function i_check(form,x,fieldname,i)
	{
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)	break;
			}						

	var msg_addition = "";
	var decimal = "";
	inputStr = form.elements[y].value.toString();
	
	if (inputStr == "")
		{
		}
	else
		{
			for (var c = 0; c < inputStr.length; c++)
				{
					var oneChar = inputStr.charAt(c);
					if (c == 0 && oneChar == "-" || oneChar == "."  && decimal == "")
							{
								if (oneChar == ".");
									{
										decimal = "yes";
									}
								continue;
								
							}
								if (oneChar < "0" || oneChar > "9")
									{
										msg_addition = form.elements[i].value;
									}
				}
		}
		return(msg_addition);
	}	
	
	

	function e_check(form,x,fieldname,i)
	{
				for (var y = 0; y <= x; y++){	if (form.elements[y].name == fieldname)	break;	}
				var msg_addition = "";
				period = ".";
                
                if (form.elements[y].value == "" || form.elements[y].value.indexOf ('@', 0) < 1){ error = 1;}
				else{
	                   test = form.elements[y].value.indexOf('.', form.elements[y].value.indexOf ('@', 0))
					   if (test != -1){	error = 0; }
					   else{error=1;}
                }
                
				if (error == 1)	{ msg_addition = form.elements[i].value; }
                else{
					   new_length = form.elements[y].value.length - test;
		               if (new_length == 5 || new_length == 4 || new_length == 3 || (new_length >= 5 && form.elements[y].value.indexOf ('.', (test+1)) != -1))	{	msg_addition = "";	}
					   else { msg_addition = form.elements[i].value;}
				}

				return(msg_addition);
	}	
	
	function d_check(form,x,fieldname,i)

 {
		for (var y = 0; y <= x; y++)
			{
				if (form.elements[y].name == fieldname)	break;
			}		
			
		var msg_addition = "";	
		var sDate = form.elements[y].value;
		var int_or_not = isInteger(form.elements[y].value);
		if (int_or_not == "true")
		{
				if ((!(form.elements[y].value.length >= 6)) || (!(form.elements[y].value.length <= 10)))
   				{
			    		msg_addition = form.elements[i].value;
		   		}
  				else
   				{
					 var SlashlPos = form.elements[y].value.indexOf("/",0);
						if (SlashlPos > 0 && SlashlPos <= 2)
							{
								if (SlashlPos == 1)
									{
										if (form.elements[y].value.charAt(0) < 1 || form.elements[y].value.charAt(0) > 9)
											{
												msg_addition = form.elements[i].value;
											}
										else
											{
												if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/")))
													{ 
														msg_addition = form.elements[i].value;
													}
												else if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && ((form.elements[y].value.charAt(2) >= 3 && form.elements[y].value.charAt(3) > 1) || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/"))))
													{
														msg_addition = form.elements[i].value + "hi";
													}
												else if ((form.elements[y].value.charAt(0) == 1 || form.elements[y].value.charAt(0) == 3 || form.elements[y].value.charAt(0) == 5 || form.elements[y].value.charAt(0) == 7 || form.elements[y].value.charAt(0) == 8) && (((form.elements[y].value.charAt(2) > 3 && form.elements[y].value.charAt(3) != "/") || (((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/")) && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
													{
														msg_addition = form.elements[i].value;
													}
												else
													{
														if ((form.elements[y].value.charAt(0) == 2 && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/") || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/")))))
															{ 
																msg_addition = form.elements[i].value;
															}
														else if (form.elements[y].value.charAt(0) == 2 && ((form.elements[y].value.charAt(2) > 2 && form.elements[y].value.charAt(3) != "/") || (((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/") && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
															{ 
																msg_addition = form.elements[i].value;
															}
														else
															{
																if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && ((form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(3) == "/" && form.elements[y].value.length >= 7) || (form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(2) == "/")))
																	{ 
																		msg_addition = form.elements[i].value;
																	}
																else if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && ((form.elements[y].value.charAt(2) >= 3 && form.elements[y].value.charAt(3) > 0) || (form.elements[y].value.charAt(2) == 0 && form.elements[y].value.charAt(3) == 0) || (form.elements[y].value.charAt(1) == "/" && (form.elements[y].value.charAt(3) != "/" && form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/"))))
																	{ 
																		msg_addition = form.elements[i].value;
																	}
																else if ((form.elements[y].value.charAt(0) == 4 || form.elements[y].value.charAt(0) == 6 || form.elements[y].value.charAt(0) == 9) && (((form.elements[y].value.charAt(2) > 3 && form.elements[y].value.charAt(3) != "/") || ((form.elements[y].value.charAt(1) == "/" && form.elements[y].value.charAt(4) == "/") && ((form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))) || form.elements[y].value.charAt(5) == "/"))
																	{
																		msg_addition = form.elements[i].value;
																	}
															}
													}
											}
									}
								else
									{
										if (form.elements[y].value.charAt(0) > 1 || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) > 2) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 0))
											{
												msg_addition = form.elements[i].value;
											}
										else
											{
												if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/"))))
													{
														msg_addition = form.elements[i].value;
													}
												else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) >= 3 && form.elements[y].value.charAt(4) > 1) || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0) || form.elements[y].value.length < 7))
													{
														msg_addition = form.elements[i].value;
													}
												else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 1) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 3) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 5) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 7) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 8) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 0) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 2)) && ((form.elements[y].value.charAt(3) > 3 && form.elements[y].value.charAt(4) != "/")	|| ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
													{
														msg_addition = form.elements[i].value;
													}
												else
													{
														if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 2) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0)) || form.elements[y].value.length < 7) || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/")))
															{
																msg_addition = form.elements[i].value;
															}
														else if ((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 2) && ((form.elements[y].value.charAt(3) > 2 && form.elements[y].value.charAt(4) != "/") || ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
															{
																msg_addition = form.elements[i].value;
															}
														else
															{			
																if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(3) == "/") || (form.elements[y].value.charAt(2) == "/" && (form.elements[y].value.charAt(4) != "/" && form.elements[y].value.charAt(5) != "/" && form.elements[y].value.charAt(6) != "/" && form.elements[y].value.charAt(7) != "/"))))
																	{
																		msg_addition = form.elements[i].value;
																	}
																else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) >= 3 && form.elements[y].value.charAt(4) > 0) || (form.elements[y].value.charAt(3) == 0 && form.elements[y].value.charAt(4) == 0) || form.elements[y].value.length < 7))
																	{
																		msg_addition = form.elements[i].value;
																	}
																else if (((form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 4) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 6) || (form.elements[y].value.charAt(0) == 0 && form.elements[y].value.charAt(1) == 9) || (form.elements[y].value.charAt(0) == 1 && form.elements[y].value.charAt(1) == 1)) && ((form.elements[y].value.charAt(3) > 3 && form.elements[y].value.charAt(4) != "/") || ((form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(5) == "/" && form.elements[y].value.length == 7 || form.elements[y].value.charAt(6) == "/") || (form.elements[y].value.charAt(2) == "/" && form.elements[y].value.charAt(4) == "/" && (form.elements[y].value.length == 6 || form.elements[y].value.length == 8)))))
																	{
																		msg_addition = form.elements[i].value;
																	}
															}
													}		
											}
									}
							}
		    else
							{
								msg_addition = form.elements[i].value;
							}
					}
			}
		else
			{
				msg_addition = form.elements[i].value;
			}
		return(msg_addition);
	}

	function isInteger(sDate)
	{
		var new_msg = "true";
		inputStr = sDate.toString();
		for (var i = 0; i < inputStr.length; i++)
			{
			var oneChar = inputStr.charAt(i);
			if ((oneChar < "0" || oneChar > "9") && oneChar != "/")
					{
						new_msg = "false";
					}
			}
		return (new_msg);
	}
	
	function doall(script_name, copyright, email)
	{
	var code = 0;
	var test = script_name + copyright + email;
	for (var a = 0; a < test.length; a++)
		{
		var each_char = test.charAt(a);
		var x = asc(each_char);
		code += x;
		}
	return (code);
	}

	function asc(each_char)
		{
		var n = 0;
			var char_str = charSetStr();
			for (i = 0; i < char_str.length; i++)
				{
					if (each_char == char_str.substring(i, i+1))
						{
							break;
						}
				}
			return i + 32;
		}
		
		function charSetStr()
			{
				var str;
 			str = ' !"#$%&' + "'" + '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
				return str;
			}

			
function CheckWithAllowedCardTypes(cctypes,form,x,fieldname,i){
		var msg_addition = "";
		error=0;		
		for (var y = 0; y <= x; y++){	if (form.elements[y].name == fieldname)	break;	}
		var msg_addition = "";                
		CardNumber = form.elements[y].value; 
		visa = isVisa(CardNumber);
		mc = isMasterCard(CardNumber);
		amex = isAmericanExpress(CardNumber);
		disc = isDiscover(CardNumber);
		//c_1000_ = visa
		//c_0100_ = mastercard
		//c_0010_ = americanexpress
		//c_0001_ = discover
		if (visa){
			if (cctypes.substr(0,1)=="0") return "Visa is not accepted at this time";
		}else if (mc){
			if (cctypes.substr(1,1)=="0") return "MasterCard is not accepted at this time";
		}else if (amex){
			if (cctypes.substr(2,1)=="0") return "American Express is not accepted at this time";
		}else if (disc){
			if (cctypes.substr(3,1)=="0") return "Discover is not accepted at this time";
		}
}			
			
/*  ================================================================
    FUNCTION:  isVisa()
 
    INPUT:     cc - a string representing a credit card number

    RETURNS:  true, if the credit card number is a valid VISA number.
		    
	      false, otherwise

    Sample number: 4111 1111 1111 1111 (16 digits)
    ================================================================ */

function isVisa(cc)
{
  if (((cc.length == 16) || (cc.length == 13)) &&
      (cc.substring(0,1) == 4))  return true;
  return false;
}  // END FUNCTION isVisa()

/*  ================================================================
    FUNCTION:  isMasterCard()
 
    INPUT:     cc - a string representing a credit card number

    RETURNS:  true, if the credit card number is a valid MasterCard
		    number.
		    
	      false, otherwise

    Sample number: 5500 0000 0000 0004 (16 digits)
    ================================================================ */

function isMasterCard(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 16) && (firstdig == 5) &&
      ((seconddig >= 1) && (seconddig <= 5))) return true;
  return false;

} // END FUNCTION isMasterCard()





/*  ================================================================
    FUNCTION:  isAmericanExpress()
 
    INPUT:     cc - a string representing a credit card number

    RETURNS:  true, if the credit card number is a valid American
		    Express number.
		    
	      false, otherwise

    Sample number: 340000000000009 (15 digits)
    ================================================================ */

function isAmericanExpress(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 15) && (firstdig == 3) &&
      ((seconddig == 4) || (seconddig == 7))) return true;
  if ((cc.length == 16) && (firstdig == 3) &&
      ((seconddig == 4) || (seconddig == 7))) return true;
  return false;

} // END FUNCTION isAmericanExpress()


/*  ================================================================
    FUNCTION:  isDiscover()

    INPUT:     cc - a string representing a credit card number

    RETURNS:  true, if the credit card number is a valid Discover
		    card number.

	      false, otherwise

    Sample number: 6011000000000004 (16 digits)
    ================================================================ */

function isDiscover(cc)
{
  first4digs = cc.substring(0,4);
  if ((cc.length == 16) && (first4digs == "6011")) return true;
  return false;

} // END FUNCTION isDiscover()
