 $(document).ready(function(){
 	
	//jQuery.validator.addMethod("password", function( value, element ) {
	//	var result = this.optional(element) || value.length >= 6 && /\d/.test(value) && /[a-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 and contain at least one number and one character.");
	
	
	// 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;
//	}, "");
	
	// Rechnungsadresse
//	jQuery.validator.addMethod("billingRequired", function(value, element) {
//		if ($("#bill_to_co").is(":checked"))
//			return $(element).parents(".subTable").length;
//		return !this.optional(element);
//	}, "");
	
	// Erforderliche Eingaben
	jQuery.validator.messages.required = "";
	$("form").validate({
	
	
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				var message = errors == 1
					? 'Ein Feld ist noch nicht ausgef&uuml;llt.'
					: '' + errors + ' Felder sind noch nicht ausgef&uuml;llt.';
				$("div.error span").html(message);
				$("div.error").show();
			} else {
				$("div.error").hide();
			}
		},
		
		
		onkeyup: false,
		
		submitHandler: function() {
		$("div.error").hide();
		document.formular.submit();
		//window.location.href = "form-1.php";
		//	alert("submit! use link below to go to the other step");
		
		},
		
		messages: {
		//	password2: {
		//		required: " ",
		//		equalTo: "Please enter the same password as above"	
		//	},
			email: {
				required: " ",
				email: "Geben Sie bitte Ihre E-Mail an",
				remote: jQuery.validator.format("{0} is already taken, please enter a different address.")	
			}
		},
		debug:true
	});
	
  $(".resize").vjustify();
  $("div.buttonSubmit").hoverClass("buttonSubmitHover");

  if ($.browser.safari) {
    $("body").addClass("safari");
  }
  
 //$("input.phone").mask("(999) 999-9999");
 // $("input.zipcode").mask("99999");
//  var creditcard = $("#creditcard").mask("9999 9999 9999 9999");

//  $("#cc_type").change(
 //   function() {
 //     switch ($(this).val()){
//        case 'amex':
//          creditcard.unmask().mask("9999 999999 99999");
//          break;
//        default:
//          creditcard.unmask().mask("9999 9999 9999 9999");
//          break;
 //     }
//    }
//  );

  // toggle optional billing address
  var subTableDiv = $("div.subTableDiv");
  var toggleCheck = $("input.toggleCheck");
  toggleCheck.is(":checked")
  	? subTableDiv.hide()
	: subTableDiv.show();
  $("input.toggleCheck").click(function() {
      if (this.checked == true) {
        subTableDiv.slideUp("medium");
        $("form").valid();
      } else {
        subTableDiv.slideDown("medium");
      }
  });


});

$.fn.vjustify = function() {
    var maxHeight=0;
    $(".resize").css("height","auto");
    this.each(function(){
        if (this.offsetHeight > maxHeight) {
          maxHeight = this.offsetHeight;
        }
    });
    this.each(function(){
        $(this).height(maxHeight);
        if (this.offsetHeight > maxHeight) {
            $(this).height((maxHeight-(this.offsetHeight-maxHeight)));
        }
    });
};

$.fn.hoverClass = function(classname) {
	return this.hover(function() {
		$(this).addClass(classname);
	}, function() {
		$(this).removeClass(classname);
	});
};
