$(document).ready(function() {

        $('input[name=selectall]').click(function() {
          var checked_status = this.checked;    
          $("input[id=selected]").each(function(){
          this.checked = checked_status;
          });
      });

        
	//$("div.error").hide();
//        /[^a-zA-Z0-9\.\-\Ä\ä\Ö\ö\Ü\ü\]+$/s
        //var result = this.optional(element) || value.length >= 6 && /\d/.test(value) && /[a-z]/i.test(value);


        jQuery.validator.addMethod("customname", function( value, element ) {
		//var result = this.optional(element) || value.length >= 6 && /\d/.test(value) && /[a-z]/i.test(value);
                var numericExpression = /^[a-zA-Z -.]+$/;
                var result = value.match(numericExpression);

		if (!result) {
			var validator = this;
		}
		return result;
	}, " ");

        jQuery.validator.addMethod("password", function( value, element ) {
		//var result = this.optional(element) || value.length >= 6 && /\d/.test(value) && /[a-z]/i.test(value);
                var result = this.optional(element) || value.length >= 6 && /[a-z0-9A-Z]/i.test(value);
		if (!result) {
			element.value = "";
			var validator = this;
			setTimeout(function() {
				validator.blockFocusCleanup = true;
				element.focus();
				validator.blockFocusCleanup = false;
			}, 1);
		}
		return result;
	}, "Your password must be at least 6 characters long");

	// a custom method making the default value for companyurl ("http://") invalid, without displaying the "invalid url" message
	jQuery.validator.addMethod("defaultInvalid", function(value, element) {
		return value != element.defaultValue;
	}, "");

	jQuery.validator.addMethod("billingRequired", function(value, element) {
		if ($("#bill_to_co").is(":checked"))
			return $(element).parents(".subTable").length;
		return !this.optional(element);
	}, "");

	jQuery.validator.messages.required = "";
	$("#validateForm").validate({
		invalidHandler: function(e, validator) {
                    $(".all_msg").hide();
			var errors = validator.numberOfInvalids();
			if (errors) {
				var message = errors == 1
					? 'You missed 1 field. It has been highlighted below'
					: 'You missed few fields.  They have been highlighted below';
				$("div.error span").html(message);
				$("div.error").show();
			} else {
				$("div.error").hide();
			}
		},
		onkeyup: false,
		submitHandler: function() {
//			$("div.error").hide();
//                        $(".all_msg").hide();
//                        //jQuery.validator.cancelSubmit=true;

		},
		messages: {
			password2: {
				required: " ",
				equalTo: "Please enter the same password as above"
			},
			email: {
				required: " ",
				email: "Please enter a valid email address, example: you@yourdomain.com",
				remote: jQuery.validator.format("{0} is already taken, please enter a different address.")
			}
		},
		debug:true
	});

});
