	// new card validation ///
function mod10( cardNumber ) {
	var ar = new Array( cardNumber.length );
	var i = 0,sum = 0;
    	for( i = 0; i < cardNumber.length; ++i )
	{
    		ar[i] = parseInt(cardNumber.charAt(i));
    	}
    	for( i = ar.length -2; i >= 0; i-=2 ) { 
    		ar[i] *= 2;							 
    		if( ar[i] > 9 ) ar[i]-=9;			 
    	}
	for( i = 0; i < ar.length; ++i ) {
        	sum += ar[i];		
        }
        return (((sum%10)==0)?true:false);	 	
    }
        function expired(month,year) {
		//alert(month);
		//alert(year);
        	var now = new Date();	
        	var expiresIn = new Date(year,month,0,0,0);	
        	expiresIn.setMonth(expiresIn.getMonth()+1);	
        	if( now.getTime() < expiresIn.getTime() ) return false;
        	return true;
    }

        function validateCard(cardNumber,cardType,cardMonth,cardYear)
		{
        	if( cardNumber.length == 0 )
			{	
        		//alert("Please enter a valid card number.");
				document.getElementById("carderror").innerHTML="";
  				document.getElementById("carderror").innerHTML="Please enter a valid card number.";
        		return false;		
        	}
        	for( var i = 0; i < cardNumber.length; ++i )
			{	
        		var c = cardNumber.charAt(i);
            		if( c < '0' || c > '9' ) {
            			//alert("Please enter a valid card number. Use only digits. do not use spaces or hyphens.");
            			document.getElementById("carderror").innerHTML="";
  						document.getElementById("carderror").innerHTML="Please enter a valid card number. Use only digits. do not use spaces or hyphens.";
						return false;
            		}
					else
						document.getElementById("carderror").innerHTML="";
						
            	}
            	var length = cardNumber.length;
	       	switch( cardType ) {
                		case 'AmEx':
                    			if( length != 15 ) {
                    				//alert("Please enter a valid American Express Card number.");
									 document.getElementById("carderror").innerHTML="";
  				document.getElementById("carderror").innerHTML="Please enter a valid American Express Card number.";
                    				return;
                    			}
								else
									document.getElementById("carderror").innerHTML="";
                    			var prefix = parseInt( cardNumber.substring(0,1));
                        			if( prefix != 3 && prefix != 3 ) {
                        				//alert("American Express Card number should start with 3.");
										 document.getElementById("carderror").innerHTML="";
  				document.getElementById("carderror").innerHTML="American Express Card number should start with 3.";
                        				return;
                        			}
									else
										document.getElementById("carderror").innerHTML="";
                        			break;
                        		case 'Discover':
                            			if( length != 16 ) {
                            				//alert("Please enter a valid Discover Card number.");
											 document.getElementById("carderror").innerHTML="";
  				document.getElementById("carderror").innerHTML="Please enter a valid Discover Card number.";
                            				return;
                            			}
										else
										document.getElementById("carderror").innerHTML="";
                            			var prefix = parseInt( cardNumber.substring(0,1));
                                			if( prefix != 6 ) {
                                				//alert("Discover Card number should start with 6.");
												 document.getElementById("carderror").innerHTML="";
  				document.getElementById("carderror").innerHTML="Discover Card number should start with 6.";
                                				return;
                                			}
											else
											document.getElementById("carderror").innerHTML="";
                                			break;
                                		case 'Master':
                                    			if( length != 16 ) {
													alert("Please enter a valid MasterCard number.");
                                    				return;
                                    			}
												else
												document.getElementById("carderror").innerHTML="";
                                    			var prefix = parseInt( cardNumber.substring(0,2));
                                        			if( prefix < 51 || prefix > 55) {
                                        				//alert("MasterCard number should start with 5.");
														 document.getElementById("carderror").innerHTML="";
  				document.getElementById("carderror").innerHTML="MasterCard number should start with 5.";
                                        				return;
                                        			}
													else
													document.getElementById("carderror").innerHTML="";
                                        			break;
                                        		case 'Visa':
                                            			if( length != 16 && length != 13 ) {
                                            				//alert("Please enter a valid Visa Card number.");
															 document.getElementById("carderror").innerHTML="";
  				document.getElementById("carderror").innerHTML="Please enter a valid Visa Card number.";
                                            				return;
                                            			}
														else
														document.getElementById("carderror").innerHTML="";
                                            			var prefix = parseInt( cardNumber.substring(0,1));
                                                			if( prefix != 4 ) {
                                                				//alert("Visa Card number should start with 4.");
																 document.getElementById("carderror").innerHTML="";
  				document.getElementById("carderror").innerHTML="Visa Card number should start with 4.";
                                                				return;
                                                			}
															else
															document.getElementById("carderror").innerHTML="";
                                                			break;                                                	}
                                                									
                                                	if( expired( cardMonth, cardYear ) )
													{							
                                                		//alert("Sorry! The expiration date you have entered would make this card invalid.");
														 document.getElementById("carderror2").innerHTML="";
  				document.getElementById("carderror2").innerHTML="Sorry! The expiration date you have entered would make this card invalid.";
                                                		return false;
                                                	}
													else
														document.getElementById("carderror2").innerHTML="";
                                                	
                                                	return true; 
          }

	////////////////////////////////
	

