jQuery.validator.addMethod("phone", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, ""); 
	return this.optional(element) || phone_number.length > 6 &&
		phone_number.match(/^[0-9():.ext,+-]/);
}, "Please specify a valid phone number");



$(document).ready(function(){
	
	//form styling
	$( "button, input:submit" ).button();

	
	$("#taxform").validate({
		
		rules: {
		firstname: {required: true,minlength: 3},
		familyname: {required: true, minlength: 1},
		dateofbirth: {required:true, date:true},
		nationality: {required: true,minlength: 3},
		maritalstatus: {required: true,minlength: 1},
		tfn: {required: true,minlength: 8},
		address: {required: true,minlength: 10},
		phone: {required: true,phone:true},
		email: {required: true,email:true},
		adate: {required: true,date:true},
		visatype: {required: true},
		lodgedinaus: {required: true},
		intacct: {required: true},
		bankname: {required: true,minlength: 2},
		bankcountry: {required: true,minlength: 2},
		bankbranch: {required: true,minlength: 2},
		bankaddress: {required: true,minlength: 2},
		baccountname: {required: true,minlength: 4},
		bankbsbswift: {required: true,minlength: 6},
		bacctnumber: {required: true,minlength: 4},
		baccountname: {required: true,minlength: 4},
		stayedinaus:{required: true},
		physicaladdress:{required: true},
		incomeaus:{required: true},
		assetsinaus:{required: true},
		banka:{required: true},
		supera:{required: true},
		mclubs:{required: true},
		'companynames[]':{required: true,minlength: 3},
		'companyaddresses[]':{required: true,minlength: 10},
		'jobtitles[]':{required: true,minlength: 3},
		'abns[]':{required: true,minlength:11},
		'companycontactphs[]':{required: true,minlength:8},
		'wstartdates[]':{required: true, date:true},
		'paygpayslips[]':{required: true},
		'companycontactnames[]':{required: true,minlength: 3},
		'wfinishdates[]':{required: true, date:true}
		},
	
		messages: {
			firstname: {required:  "Enter your first name", minlength: "3 characters min"},
			familyname: {required:  "Enter your family name", minlength: "3 character min"},
			dateofbirth: {required: "Enter your date of birth"},
			nationality: {required: "Enter you nationality"},
			martialstatus: {required: "Please enter your marital status"},
			tfn: {required: "Enter your tax file number", minlength: "8 characters min"},
			address: {required: "Enter your address", minlength: "10  characters min"},
			phone: {required: "Enter your phone number", minlength: "8  characters min"},
			email: {required: "Enter your email address"},
			adate: {required: "Enter your arrival date in Australia"},
			visatype: {required: "Enter your visa type", minlength: "10  characters min"},
			lodgedinaus: {required: "Have you lodged in Australia before?"},
			intacct: {required: "Enter your bank type"},
			bankname: {required: "Enter your bank name", minlength: "2  characters min"},
			bankcountry: {required: "Enter your bank country", minlength: "2  characters min"},
			bankbranch: {required: "Enter your bank branch", minlength: "2  characters min"},
			baccountname: {required: "Enter your bank acount name", minlength: "2  characters min"},
			bankbsbswift: {required: "Enter your bank name", minlength: "6  characters min"},
			bacctnumber: {required: "Enter your bank name", minlength: "2  characters min"},
			bankname: {required: "Enter your bank name", minlength: "2  characters min"},
			stayedinaus: {required: "Please select Yes or No"},
			physicaladdress: {required: "Please select Yes or No"},
			incomeaus:{required: "Please select Yes or No"},
			assetsinaus:{required: "Please select Yes or No"},
			banka:{required: "Please select Yes or No"},
			supera:{required: "Please select Yes or No"},
			mclubs:{required: "Please select Yes or No"},
			'companynames[]':{required: "Enter the company name"},
			'companyaddresses[]':{required: "Enter the company address"},
			'jobtitles[]':{required: "Enter your job title"},
			'abns[]':{required: "Enter the company ABN"},
			'companycontactphs[]':{required: "Enter the company contact phone"},
			'wstartdates[]':{required: "Enter your work start date"},
			'paygpayslips[]':{required: "Select the type of income proof you have"},
			'companycontactnames[]':{required: "Enter a company contact name"},
			'wfinishdates[]':{required: "Enter your work finish date"}
	}
	});

	var $toolt = $('#residencyquestions *').tooltip();

	
	$( "#nationality" ).autocomplete({
		source: "country.php",
		minLength: 2,
		select: function( event, ui ) {
			
		}
	});
	
	
	$( "#bankcountry" ).autocomplete({
		source: "country.php",
		minLength: 2,
		select: function( event, ui ) {
			
		}
	});
	

	
	var tab_counter = 2;
	// Accordion
	$("#accordion").accordion({ header: "h3", navigation : true, autoHeight: false, collapsible: true});
	 
   
	var FormCount = 2;
	
	var $tabs = $( "#tabs").tabs({
			tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
			add: function( event, ui ) {

        var html = $('#tabs-1').html().replace(/-1/g, "-"+FormCount);
        FormCount++;
		       			
				$( ui.panel ).append(  html  );
				$tabs.tabs('select', ui.index);
			}
		});

	$('.datepicker-shorter').live('click', function() {
	    $(this).datepicker('destroy').datepicker({
		    showOn:'focus',
		    regional: 'en-AU',
			dateFormat: 'dd/mm/yy',
			numberOfMonths: 1,
			changeYear: true,
			showOn: "button",
			buttonImage: "/css/smoothness/images/calendar.gif",
			buttonImageOnly: true,
			onClose: function() {$(this).valid();}
			    }).focus();
	        });
		
	 
	 $( "#add_tab").button()
		.click(function() 
		{
		var tab_title = "Employer " + tab_counter;
		$tabs.tabs( "add", "#tabs-" + tab_counter, tab_title );
		tab_counter++;
		});

	 $( "#tabs span.ui-icon-close" ).live( "click", function() {
			var index = $( "li", $tabs ).index( $( this ).parent() );
			//tab_counter = $tabs.tabs( "length" );
			if (tab_counter > 1)
			{
				$tabs.tabs( "remove", index );
				if(tab_counter != 2)
				{
					tab_counter--;
				}
				if ($tabs.tabs( "length" ) == 1)
				{
					tab_counter =2;
				}
				
			}
		});
	// Datepicker
	$.datepicker.setDefaults($.datepicker.regional['en-AU']);
	
	$('#dateofbirth').datepicker({
	regional: 'en-AU',
	dateFormat: 'dd/mm/yy',
	numberOfMonths: 1,
	yearRange: '1950:2000',
	defaultDate:'01/01/1985',
	changeYear: true,
	showOn: "button",
	buttonImage: "/css/smoothness/images/calendar.gif",
	buttonImageOnly: true,
	onClose: function() {$(this).valid();}
	});

	$('#adate').datepicker({
		regional: 'en-AU',
		dateFormat: 'dd/mm/yy',
		numberOfMonths: 1,
		changeYear: true,
		showOn: "button",
		buttonImage: "/css/smoothness/images/calendar.gif",
		buttonImageOnly: true,
		onClose: function() {$(this).valid();}
		
		});
	$('#ddate').datepicker({
		regional: 'en-AU',
		dateFormat: 'dd/mm/yy',
		numberOfMonths: 1,
		changeYear: true,
		showOn: "button",
		buttonImage: "/css/smoothness/images/calendar.gif",
		buttonImageOnly: true,
		onClose: function() {$(this).valid();}
		});
	$('#wstartdate').datepicker({
		regional: 'en-AU',
		dateFormat: 'dd/mm/yy',
		numberOfMonths: 1,
		changeYear: true,
		showOn: "button",
		buttonImage: "/css/smoothness/images/calendar.gif",
		buttonImageOnly: true,
		onClose: function() {$(this).valid();}
		});
	
	
	$('#wfinishdate').datepicker({
		regional: 'en-AU',
		dateFormat: 'dd/mm/yy',
		numberOfMonths: 1,
		changeYear: true,
		showOn: "button",
		buttonImage: "/css/smoothness/images/calendar.gif",
		buttonImageOnly: true,
		onClose: function() {$(this).valid();}
		});
	
	$("#progressbar").progressbar({
		value: 20 
	});
	
	$('#dialog_link, ul#icons li').hover(
		function() { $(this).addClass('ui-state-hover'); }, 
		function() { $(this).removeClass('ui-state-hover'); }
	);
	
	$('#lodgedinaus1').click(function() {
		  $('#showyearlodged').show('slow', function() {
		    
		  });
		});

	$('#lodgedinaus2').click(function() {
		  $('#showyearlodged').hide('slow', function() {
		    
		  });
		});
	//answers warning
	$('#lodgedinaus1').click(function() {
		  $('#showyearlodged').show('slow', function() {
		    
		  });
		});

	$('#lodgedinaus2').click(function() {
		  $('#showyearlodged').hide('slow', function() {
		    
		  });
		});
	
	
	
	$('#intbankchk').click(function() {
		  $('#showcountrybank').show('slow', function() { });
		  $('#showbankbranch').hide('slow', function() { });
		  $('#showbankaddress').show('slow', function() { });
		  $('#transferfeemsg').show('slow', function() { });
		  $("#bankbsbswift-lab").text("Swift No / IBAN");
		  $("#acctnumber-lab").text("Account Number / Sort Code");
		  $("#bankbranch").val('Not Required Overseas Bank');
		  $("#bankcountry").val('');
		  $("#bankaddress").val('');
		  
		   
		});
	
		
	$('#dombankchk').click(function() {
		  $('#showcountrybank').hide('slow', function() { });
		  $('#showbankbranch').show('slow', function() { });
		  $('#showbankaddress').hide('slow', function() { });
		  $('#transferfeemsg').hide('slow', function() { });
		  $("#bankbsbswift-lab").text("BSB Number");
		  $("#acctnumber-lab").text("Account Number");
		  $("#bankaddress").val("Not Required Aussie Bank");
		  $("#bankbranch").val('');
		  $("#bankcountry").val('Domestic Bank NR');
		  
		  
		});

	
	
});
