$(document).ready(function(){

	$("#recordClientPhone").mask("(999) 999-9999");
	$("#recordClientPhoneAlt").mask("(999) 999-9999");
	$("#recordClientZip").mask("99999");
	$("#recordPropertyZip").mask("99999");	
	$("#recordPurchaseZip").mask("99999");	

	// add * to required field labels
	$('label.required').append('&nbsp;<strong>*</strong>&nbsp;');
 $('label.notrequired').append('&nbsp;<strong>&nbsp;</strong>&nbsp;');
 $('textarea.notrequired').append('&nbsp;<strong>&nbsp;</strong>&nbsp;');
	// accordion functions
	var accordion = $("#stepForm").accordion(); 
	var current = 0;

	

	$.validator.addMethod("pageRequired", function(value, element) {

		var $element = $(element);

		function match(index) {

			return current == index && $(element).parents("#sf" + (index + 1)).length;

		}

		if (match(0) || match(1) || match(2) || match(3)) {

			return !this.optional(element);

		}

		return "dependency-mismatch";

	}, $.validator.messages.required);

	var v = $("#cmaForm").validate({
		errorClass: "warning",
		onkeyup: false,
		onblur: false

	});
	
		var c = $("#infoform").validate({
		errorClass: "warning",
		onkeyup: false,
		onblur: false
	});
	
	// back buttons do not need to run validation
	$("#sf2 .prevbutton").click(function(){
		accordion.accordion("activate", 0);
		current = 0;
	}); 
	$("#sf3 .prevbutton").click(function(){
		accordion.accordion("activate", 1);
		current = 1;
	}); 
		$("#sf4 .prevbutton").click(function(){
		accordion.accordion("activate", 2);
		current = 2;
	});
	// these buttons all run the validation, overridden by specific targets above
		$(".open3").click(function() {
	  if (v.form()) {
	    accordion.accordion("activate", 3);
	    current = 3;
	  }
	});
	
	$(".open2").click(function() {
	  if (v.form()) {
	    accordion.accordion("activate", 2);
	    current = 2;
	  }
	});
	$(".open1").click(function() {
	  if (v.form()) {
	    accordion.accordion("activate", 1);
	    current = 1;
	  }
	  	
	});
	$(".open0").click(function() {

	  if (v.form()) {
	    accordion.accordion("activate", 0);
	    current = 0;
	    	
	  }
	});

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");
        $(".subTableDiv input").removeClass("inputclass pageRequired");
      } else {
      $(".subTableDiv input").addClass("inputclass pageRequired");
        subTableDiv.slideDown("medium");
      }
  });



jQuery.validator.addMethod("cfitaly", function(cf, element) {
	return this.optional(element) || cf.length == 16 &&
		cf.match(/^[a-zA-Z]{6}\d{2}[a-zA-Z]{1}\d{2}[a-zA-Z]{1}\d{3}[a-zA-Z]{1}$/);
}, "codice fiscale errato");

// Partita Iva
jQuery.validator.addMethod("piitaly", function(pi, element) {
	return this.optional(element) || pi.length == 11 &&
		pi.match(/^\d{5}\d{6}$/);
}, "partita iva incompleta");

// PI O CF
jQuery.validator.addMethod("picfitaly", function(picf, element) {
	return this.optional(element) || 
         picf.length == 16 && picf.match(/^[a-zA-Z]{6}\d{2}[a-zA-Z]{1}\d{2}[a-zA-Z]{1}\d{3}[a-zA-Z]{1}$/) ||
         picf.length == 11 &&	picf.match(/^\d{5}\d{6}$/);
}, "Please specify a valid PI or CF");
 

});



