$(document).ready(function(){
	jQuery.validator.addMethod("numeric", function(value, element) {
		return this.optional(element) || value == value.match(/^[-]?\d*\.?\d*$/);
	},"Enter digits only");					   

	jQuery.validator.addMethod("alpha", function(value, element) {
		return this.optional(element) || value == value.match(/^[a-zA-Z ]+$/);
	},"Please enter alphabets only");

   	$('form.trackerform').validate({
		rules: {
			"bar_code": {
				required: true,
				numeric: true,
				remote: {
					url: '/ajax-validation/',
					type: "post",
					data: {
						code_type: function() {
							return 'bar_code';
						},
						code_value: function() {
							return $("#bar_code").val();	  
						}
					}
				}
			},
			"can_code": {
				required: true,
				numeric : true,
				minlength: 3,
				remote: {
					url: '/ajax-validation/',
					type: "post",
					data: {
						code_type: function() {
							return 'can_code';
						},
						code_value: function() {
							return $("#can_code").val();	  
						},
						from: function() {
							return '';	  
						}
					}
				}
			},
			"from": {
				required: true
			}
		},
		
		messages: {
			"bar_code":{
				required : "- Please enter bar code.",
				remote : "- Please enter a valid barcode.",
				numeric : "- Please enter digits only."
			},
			"can_code":{
				required : "- Please enter can code.",
				remote : "- If you don't have a valid can code, please contact us.",
				minlength: "- Please enter at least 3 digits of code.",
				numeric : "- Please enter digits only."
			},
			"from":{
				required : "- Please select a country."
			}
		}
	});
    


	$('form.contact').validate({
		rules: {
			"reason_for_enquiry": {
				required:true
			},
			"title": {
				required: true
			},
			"forename": {
				required: true,
				alpha:true
			},
			"surname": {
				required: true,
				alpha:true
			},
			"email": {
				required: true,
				email:true
			},
			"confirmemail": {
				required: true,
				email:true,
				equalTo: "#email"
			},
			"message": {
				required: true
			}
		},
		
		messages: {
			"reason_for_enquiry": {
				required:"Please select an enquiry type"
			},
			"title":{
				required : "Please select a title"
			},
			"forename": {
				required: "Please enter your first name"
			},
			"surname": {
				required: "Please enter your last name"
			},
			"email": {
				required: "Please enter your email",
				email: "Please enter a valid email"
			},
			"confirmemail": {
				required: "Please enter your email",
				email:"Please enter a valid email",
				equalTo: "Please confirm your email"
			},
			"message": {
				required: "Please enter a message"
			}
		}
	});
	
	$('div.selectME').click(function(){
		var selId = $(this).siblings('select').attr('id');
		selVal = $("#"+selId).val();
		if(selVal != '') {
			$("label[for="+selId+"].error").hide();
		}
	});
	
	$("form.trackerform #submit").click(function(e){
		var from = $("#from").val();
		var cancode = $("#can_code").val();
		var flag = false;
		var error = "- If you don't have a valid can code, please contact us.";
		
		if(from != '' && cancode != '') {
			$.ajax({
				type:'post',
				url : '/ajax-validation/',
				data : {from:from, code_type:"can_code", code_value:cancode},
				async:false,
				success : function(data){
					if(!data) { 
						errorMsg = $.trim($("label[for=can_code].error").html());
						$("label[for=can_code].error").html(error);
						$("label[for=can_code].error").show();
						e.preventDefault();
					} else {
						$("label[for=can_code].error").hide();
					}
				}
			});
		}
	});
});


