// JavaScript Document
$( document ).ready( function(){
					
	
	$( 'form#quick-quote-form' ).validate({
						   
			errorElement: 'p',
			
			onkeyup: false,
	
			onblur: false,
			
			focusCleanup: true,
			
			focusInvalid: false,
				
			
			rules:{
				
				
				departdate:{
		
					required: true,
					date: true
					
				},
				returndate:{
		
					required: true,
					date: true
					
					
				},
				destination:{
		
					required: true				
					
				},
				
				state:{
		
					required: true,
					stateMsg: true,
                              stateMsg1: true	
									
					
				},
				
				
				totaltripcost:{
		
					required: true,
					number: true,
					costamount: true
					
					
				},
				age1:{
					required: true,
					number: true
					
					
				}
				
			},			   
			
			
			messages:{
				
				departdate:{
					
					required: 'Please enter a valid departure date.',
					date: 'Please enter a valid departure date.'
				
				},
				returndate:{
					
					required: 'Please enter a valid return date.',
					date: 'Please enter a valid return date.'
					
				},
				destination:{
					
					required: 'Please choose a destination.'
						
				},
				state:{
					
					required: 'Please choose your residency state.',
					stateMsg: '' ,
					stateMsg1: ''
						
				},
				totaltripcost:{
					
					required: 'Please enter in your trip cost, only numbers please.',
					number: 'Please enter in your trip cost, only numbers please.'
				},
				age1:{
				
					required: 'Please enter the age of each traveler.',
					number: 'Please enter the age of each traveler.'
				}
			
			
			
			}
			
	
	});//end the validate main function
	
	
	// functions added by saritha

	$.validator.addMethod("returndate", function(value, element) {
        var departdatevalue = $('.departdate').val();
        return Date.parse(departdatevalue) < Date.parse(value);
        }, "Departure date must fall before the return date.");
		
		
		
	/*
		check the cost amount divide by the number of travelers

	*/


$.validator.addMethod( "stateMsg" , function( value ) {

		//alert($( 'select[ name="state" ]' ).val());

		if( $( 'select[ name="state" ]' ).val() == 'California' || $( 'select[ name="state" ]' ).val() == 'New York' || $( 'select[ name="state" ]' ).val() == 'New Hampshire'){

				$("#errT").text('Unfortunately, we are currently unable to offer this program to residents of your state. Please check back with us again in the coming weeks.');						

							
				return false;
			}
			
		else{
			$("#errT").text("");
			return true;	
		}
	

	});

	
$.validator.addMethod( "stateMsg1" , function( value ) {

		//alert($( 'select[ name="state" ]' ).val());

		if( $( 'select[ name="state" ]' ).val() == 'Outside'){
			
				$("#errT").text('All policies on this website www.assist-cardusa.com are meant strictly for residents of the Unites States. If you are a resident of another country, then please click here or go to http://www.assist-card.com to receive policy options for your country of residence.');						
				return false;
			}
			
		else{
			$("#errT").text("");
			return true;	
		}
	
	
	});


// end add by Saritha
	
	$.validator.addMethod( "costamount" , function( value ) {
		
		var count = 0;
		var tripValue = $( 'input[ name="totaltripcost"] ' ).val();
		var perPersonCost = 0;
		
		
// if the cost is greater than 25000 get a count of all filled out travelers
		
		if( tripValue > 25000 ){
			
			$( 'input.age-input' ).each( function( index ){
									  
				if( $( this ).val().length > 0 ){
					
					
					count++;		
				}						  
			
		
			})

//if more than 1 traveler is selected get the difference of the tripcost per person

			if( count > 1 ){
				
				perPersonCost = tripValue/count;	
				

//if the cost is greater than 25000, send an error

				if( perPersonCost > 25000 ){
					
					return false;	
					
				}else{
					
					
					return true;	
				}
			
//if only one traveler and the cost is > 25000 send error

			}else if( count = 1 && tripValue > 25000){
					
					return false;
					
			}
		
		
		}else{
			

			return true;	
		
		}
			
	
	}, 'Total trip cost must be less than 25,000 per traveler.');

	





	$( 'form#your-stories-form' ).validate({

			errorElement: 'p',
			
			onkeyup: false,
	
			onblur: false,
			
			focusCleanup: true,
			
			focusInvalid: false,
			
			rules:{
			
				name:{
					
					required: true
					
				},
				story:{
					
					required: true
					
				},
				image:{
					
					required: true,
					accept: "jpg|gif|png"
	
				}
				
			},
			messages:{
				
				name:{
					
					required: 'Your full name is required.'
					
				},
				story:{
					
					required: 'Your story is required.'
					
				},
				image:{
					
					required: 'Your image is required'
				}
			
			}


	});


//media form

	$("form#media-form").validate({

			errorElement: 'p',
			
			onkeyup: false,
	
			onblur: false,
			
			focusCleanup: true,
			
			focusInvalid: false,

			rules:{
			
				firstname:{
					
					required: true
					
				},
				lastname:{
					
					required: true
					
				},
				organization:{
					
					required: true
	
				},
				email:{
					
					required: true,
					email: true
					
				},
				phone:{
					required: true
					
				}
				
			},
			messages:{
				
				firstname:{
					
					required: 'Your first name is required.'
					
				},
				lastname:{
					
					required: 'Your last name is required.'
					
				},
				organization:{
					
					required: 'Your organization is required.'
				},
				phone:{
				
					required: 'Your phone is required.'
					
				}
			
			}
		
	
	});





//auto tab feature
	
	$( 'input[ name=age1 ].side' ).autotab({ target: 'age2', format: 'numeric', maxlength: 2  });
	$( 'input[ name=age2 ].side' ).autotab({ target: 'age3', format: 'numeric', previous: 'age1', maxlength: 2 });
	$( 'input[ name=age3 ].side' ).autotab({ target: 'age4', format: 'numeric', previous: 'age2', maxlength: 2 });
	$( 'input[ name=age4 ].side' ).autotab({ target: 'age5', format: 'numeric', previous: 'age3', maxlength: 2 });
	$( 'input[ name=age5 ].side' ).autotab({ target: 'age6', format: 'numeric', previous: 'age4', maxlength: 2 });
	$( 'input[ name=age6 ].side' ).autotab({ target: 'age7', format: 'numeric', previous: 'age5', maxlength: 2 });
	$( 'input[ name=age7 ].side' ).autotab({ target: 'age8', format: 'numeric', previous: 'age6', maxlength: 2 });
	$( 'input[ name=age8 ].side' ).autotab({ target: 'age1', format: 'numeric', previous: 'age7', maxlength: 2 });
	$( 'input[ name=totaltripcost ]' ).autotab({ format: 'numeric',  maxlength: 5 });	
					
});
