$(document).ready(function(){
	
	Date.format = 'dd/mm/yyyy';
	$('input.date-picker').datePicker(
		{
			startDate: '01/01/1910',
			endDate: (new Date()).asString()			
		}
	).dpSetDisplayedMonth(0, 1980);
	
	unCheckRadioButton("forgtype");	
	unCheckRadioButton('fcomType');	
	$('input[id=fpostaldiff]').attr('checked', true);
	$('input[id=fComppostaldiff]').attr('checked', true);	
	$('input[id=ftpostaldiff]').attr('checked', true);
	$("#CompanyCounter").val(0);	
	$("#TrustDirCounter").val(0);	
	$("#TrustCounter").val(0);	
	$("#fpcsaluteOther").hide();
	$("#TrustShareholderCounter").val(0);	
	$("#ShareholderCounter").val(0);	
	
	$("#fcompanyDirectorsaluteOther").hide();
	$("#ftbensaluteOther").hide();
	$("#ftrusteeSpecificCompanyDiv").hide();
	$("#trusteeSpecificIndividualDiv").hide();
	$("#divtdirectors").hide();	
	$("#ftpcsaluteOther").hide();
	$("#trustIndAndCompanyDiv").hide();
	$("#ftcompanyDirectorsaluteOther").hide();
	$("#ftrusteesCompanyDiv").hide();	
	$("#ftrusteeABNDiv").hide();
	$("#ftrusteeACNDiv").hide();
	$("#organisationsCommonInfo").hide();
	$("#ftrusteesIndsaluteOther").hide();
	
	$("#applicationForm").validate({ 
		//onsubmit: false,	

		groups: {			
			fullTrustCompanyDirector: "ftcompanyDirFirstName ftcompanyDirOtherName ftcompanyDirLastName"	//NEW - updated for trusts		
		},
		
		errorPlacement: function(error, element) {
			if(element.attr("name")=="fdateOfregister")
				error.insertAfter($("div.fdateOfregister>a"));
			else if(element.attr("name")=="ftrustEstDate")
				error.insertAfter(".trustDate");
			else if(element.attr("name")=="ftdateOfregister")
				error.insertAfter($("div.ftdateOfregister>a"));				
			else if (element.attr("name") == "identitycheck")
				error.insertAfter(".idError");				
			else if (element.attr("name") == "faboutCuscal")
				error.insertAfter(".industryError");
			else if (element.attr("name") == "fnumberOfEmp")
				error.insertAfter(".radioList");
			else
			   error.insertAfter(element);
		   },		 
		rules: {	
			   
			ABNyesNo:{
				required: function(){ return (checkIfOrganisationIsCompany() || checkIfOrganisationIsTrust() || checkIfOrganisationIsSoleTrader());}
			},
			/*ftrustABNyesNo: {
				required: function(){ return checkIfOrganisationIsTrust();}
			},*/
			fpcfax:{
				required:true,
				rangelength: [10,15]
			},
			identitycheck: {
				required: function(){ return checkIfOrganisationIsSoleTrader() && (!checkIfFullBusinessAddressChecked());},
				minlength: function(){ return checkMinLength();} 
			},
			fstreetNum: {
				required: function() { return checkIfOrganisationIsCompany();}
			},
			fstreetAdd: {
				required: function() { return checkIfOrganisationIsCompany();}
			},
			fdateOfregister: {
				required: function() { return checkIfOrganisationIsCompany();},
				dateValidation: function() { return checkIfOrganisationIsCompany();}
			},
			fcompanyDirectorsaluteOther:{
				required: function() { 				
				return (fcompanyTypeCheck('proprietary') && (!($("#CompanyCounter").val()>0)) && checkIfOtherSaluteIsselected('fcompanyDirectorsalute')); },
				minlength: function() {
						if(fcompanyTypeCheck('proprietary') && $("#CompanyCounter").val()==0){
							return 2;
						}else
							return 0;
					}
			},
			ftcompanyDirectorsaluteOther:{
				required: function() { 
					return (checkIfOrganisationIsTrust() && checkIfTrusteeIsCompany() 
					&& checkIfTrustIsProprietary() && (!($("#TrustDirCounter").val()>0)) 
					&& checkIfOtherSaluteIsselected('ftcompanyDirectorsalute')); 
				},
				minlength: function() {
					if(checkIfTrustIsProprietary() && $("#TrustDirCounter").val()==0){
						return 2;
					}else
						return 0;
				}
			},
			fcompanyDirectorName: {
				required: function() { return (fcompanyTypeCheck('proprietary') && (!($("#CompanyCounter").val()>0))); },
				minlength: function() {
						if(fcompanyTypeCheck('proprietary') && $("#CompanyCounter").val()==0){
							return 2;
						}else
							return 0;
					}
			},			
			fcompanyDirectorlName: {
				required: function() { return (fcompanyTypeCheck('proprietary') && (!($("#CompanyCounter").val()>0))); },
				minlength: function() {
						if(fcompanyTypeCheck('proprietary') && $("#CompanyCounter").val()==0){
							return 2;
						}else
							return 0;
					}
			},
			faboutCuscal:{
				required: true,
				minlength:1

			},
			fregisteredname: {
				required: function() { return (checkIfOrganisationIsCompany() || checkIfOrganisationIsTrust() || checkIfOrganisationIsSoleTrader());}
			},
			fcomType:{
				required: function() { return checkIfOrganisationIsCompany();}
			},			
			fabn: {
				required: function(){ return abnAcnCheck('YES');},
				exactlength: 11				
			},
			facn: {
				minlength: 2,
				maxlength: 20,
				required: function(){ return (checkIfOrganisationIsCompany() && abnAcnCheck('NO')) ;}
			},			
			fcompanyType: {
				required: function(){ return checkIfOrganisationIsCompany();}
			},
			fpoststreetNum: {
				required: function(){ return checkIfAddressIsSameChecked();}
			},
			fpoststreetAdd: {
				required: function(){ return checkIfAddressIsSameChecked();}
			},			
			fpostsuburb: {
				required: function(){ return checkIfAddressIsSameChecked();}
			},
			fpostpcode: {
				required: function(){ return checkIfAddressIsSameChecked();},
				exactlength: 4
			},			
			fstate: { 
				required: function(){ return checkIfOrganisationIsCompany();} 
			},			
			fprimaryTelephone: {
				rangelength: [10,15],				
				required: function(){ return checkIfOrganisationIsCompany() && checkIfOrganisationIsSoleTrader();}
			},
			fprimaryFax: {
				rangelength: [10,15],
				required: function(){ return checkIfOrganisationIsCompany() && checkIfOrganisationIsSoleTrader();}
			},
			ftrustCountry: {
				required: function(){ return checkIfOrganisationIsTrust();}
			},
			fregulatedName:{
				required:function (){return (checkIfOrganisationIsCompany() && checkIfParentIsChecked('fregulatedComp'));},
				rangelength: [1,50]
			},
			fregulatedLicence:{
				required:function (){return (checkIfOrganisationIsCompany() && checkIfParentIsChecked('fregulatedComp'));},
				rangelength: [1,50]
			},
			fausCompName:{
				required:function (){return (checkIfOrganisationIsCompany() && checkIfParentIsChecked('fausComp'));},
				rangelength: [1,50]
			},

			fausSubCompName:{
				required:function (){return (checkIfOrganisationIsCompany() && checkIfParentIsChecked('fausSubComp'));},
				rangelength: [1,50]
			},

			fausSubCompName:{
				required:function (){return (checkIfOrganisationIsCompany() && checkIfParentIsChecked('fausSubComp'));},
				rangelength: [1,50]
			},		
			fausSubCompExgName:{
				required:function (){return (checkIfOrganisationIsCompany() && checkIfParentIsChecked('fausSubComp'));},
				rangelength: [1,50]
			},
			
			
			ftregulatedName:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfParentIsChecked('ftregulatedComp')
					&& checkIfDetailedTrusteeType("Companies"));},
				rangelength: [1,50]
			},
			
			ftregulatedLicence:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfParentIsChecked('ftregulatedComp')
					&& checkIfDetailedTrusteeType("Companies"));},
				rangelength: [1,50]
			},
			ftausCompName:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfParentIsChecked('ftausComp')
					&& checkIfDetailedTrusteeType("Companies"));},
				rangelength: [1,50]
			},

			ftausSubCompName:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfParentIsChecked('ftausSubComp')
					&& checkIfDetailedTrusteeType("Companies"));},
				rangelength: [1,50]
			},

			ftausSubCompName:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfParentIsChecked('ftausSubComp')
					&& checkIfDetailedTrusteeType("Companies"));},
				rangelength: [1,50]
			},		
			ftausSubCompExgName:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfParentIsChecked('ftausSubComp')
					&& checkIfDetailedTrusteeType("Companies"));},
				rangelength: [1,50]
			},
			ftshareHolderFirstName:{
				required:function (){
					return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& checkIfTrusteeShareholderIsChecked() && !checkIfParentIsChecked('ftregulatedComp')
						&& !($("#TrustShareholderCounter").val()>0) );
			}},
			ftshareHolderLastName:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& checkIfTrusteeShareholderIsChecked() && !($("#TrustShareholderCounter").val()>0)
						&& !checkIfParentIsChecked('ftregulatedComp'));
			}},
			ftshareHolderStreetNum:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& checkIfTrusteeShareholderIsChecked() && !($("#TrustShareholderCounter").val()>0)
						&& !checkIfParentIsChecked('ftregulatedComp'));
			}},
			ftshareHolderStreetAdd:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& checkIfTrusteeShareholderIsChecked() && !($("#TrustShareholderCounter").val()>0)
						&& !checkIfParentIsChecked('ftregulatedComp'));
			}},
			ftshareHolderSuburb:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& checkIfTrusteeShareholderIsChecked() && !($("#TrustShareholderCounter").val()>0)
						&& !checkIfParentIsChecked('ftregulatedComp'));
			}},
			ftshareHolderState:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& checkIfTrusteeShareholderIsChecked() && !($("#TrustShareholderCounter").val()>0)
						&& !checkIfParentIsChecked('ftregulatedComp'));
			}},
			ftshareHolderPostcode:{
				required:function (){return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& checkIfTrusteeShareholderIsChecked() && !($("#TrustShareholderCounter").val()>0)
						&& !checkIfParentIsChecked('ftregulatedComp'));				
				},
				exactlength: 4		
			},
			
			fshareHolderFname:{
				required:function (){return (checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
											&& checkIfShareholderIsChecked() && !($("#ShareholderCounter").val()>0));}
			},
			fshareHolderLname:{
				required:function (){return (checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
											&& checkIfShareholderIsChecked() && !($("#ShareholderCounter").val()>0));}
			},

			fshstreetNum: {
				required:function (){return (checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
											&& checkIfShareholderIsChecked() && !($("#ShareholderCounter").val()>0));},
				minlength: function() {
						if(checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
							&& checkIfShareholderIsChecked() && $("#ShareholderCounter").val()==0){
							return 1;
						}else
							return 0;
				}
			},
			fshstreetName: {
				required:function (){return (checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
											&& checkIfShareholderIsChecked() && !($("#ShareholderCounter").val()>0));},
				minlength: function() {
						if(checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
							&& checkIfShareholderIsChecked() && $("#ShareholderCounter").val()==0){
							return 2;
						}else
							return 0;
				}
			},
			fshsuburb: {
				required:function (){return (checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
											&& checkIfShareholderIsChecked() && !($("#ShareholderCounter").val()>0));}
				
			},
			fshstate: {
				required:function (){return (checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
											&& checkIfShareholderIsChecked() && !($("#ShareholderCounter").val()>0));}
			},
			fshpcode: {
				required:function (){return (checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary') 
											&& checkIfShareholderIsChecked() && !($("#ShareholderCounter").val()>0));},
				exactlength: 4
			},

			fhowTocuscal:{
				required:function (){return checkIfOtherIsChecked();}
			},

			fcompShareHolders:{
				required:function (){return (checkIfOrganisationIsCompany() && fcompanyTypeCheck('proprietary'));} 
			},
			fnatureOfbussiness: {
				required: function(){ return checkIfAddressIsSameChecked();}
			},
			fsuburb:{
				required: function(){ return checkIfOrganisationIsCompany();}
			},
			fpostcode: {
				exactlength: 4,
				required: function(){ return checkIfOrganisationIsCompany();}
			},
			fpoststate: {required: function(){ return checkIfAddressIsSameChecked();}},
			ftrustName: { required: function(){ return checkIfOrganisationIsTrust(); }},
			ftrustType: { required: function(){ return checkIfOrganisationIsTrust(); }},
			ftrustTypeDetail: { required: function(){ return (checkIfOrganisationIsTrust() && checkIfTrustTypeIsOther()) ; }},
			ftrustEstDate: { 
				required: function(){ return checkIfOrganisationIsTrust(); }				
			},
			fcompInd: { required: function(){ return checkIfOrganisationIsTrust(); }},
			ftrustCert: { required: function(){ return checkIfOrganisationIsTrust(); }},
			ftcomType: { required: function(){ return (checkIfOrganisationIsTrust() && checkIfTrustIsCompany()); }},

			tbenname:{
				required: function() { return (checkIfOrganisationIsTrust() && checkIfBeneficiaryIsNo()
					&& !($("#TrustCounter").val()>0) && checkIfTrustTypeIsOther() ); },
				minlength: function() {
						if(checkIfBeneficiaryIsNo() && checkIfOrganisationIsTrust()  && $("#TrustCounter").val()==0){
							return 2;
						}else
							return 0;
					}
			},			

			tbenlname:{
				required: function() { return (checkIfOrganisationIsTrust() && checkIfBeneficiaryIsNo()
					&& (!($("#TrustCounter").val()>0)) && checkIfTrustTypeIsOther()); },
				minlength: function() {
						if(checkIfBeneficiaryIsNo() && checkIfOrganisationIsTrust()  && $("#TrustCounter").val()==0){
							return 2;
						}else
							return 0;
					}
			},
			/*tbenOthername:{
				required: function() { return (checkIfOrganisationIsTrust() && !checkIfBeneficiaryIsYes()
					&& (!($("#TrustCounter").val()>0))); },
				minlength: function() {
						if(!checkIfBeneficiaryIsYes() && checkIfOrganisationIsTrust()  && $("#TrustCounter").val()==0){
							return 2;
						}else
							return 0;
					}
			},*/
			ftbensaluteOther:{
				required: function() { return (checkIfOrganisationIsTrust() && !checkIfBeneficiaryIsYes()
					&& (!($("#TrustCounter").val()>0)) && checkIfOtherSaluteIsselected('ftbensalute') && checkIfTrustTypeIsOther()); },
				minlength: function() {
						if(!checkIfBeneficiaryIsYes() && checkIfOrganisationIsTrust()  && $("#TrustCounter").val()==0){
							return 2;
						}else
							return 0;
					}
			},
			ftrusteesTypeDetail:{
				required: function(){ return checkIfOrganisationIsTrust(); }
			},
			ftrustBeneficiary:{
				required: function(){ return checkIfOrganisationIsTrust() && checkIfTrustTypeIsOther(); }
			},
			ftrusteesIndsaluteOther:{
				required: function(){ return ( checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals") && $('input[name=ftrusteesIndsalute]:checked').val()=="Other");}
			},
			ftrusteesIndFirstName:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals")); }				
			},
			ftrusteesIndLastNames:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals")); }				
			},
			ftrusteesIndDob:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals")); }						
			},
			ftrusteeIndDetailStreetNum:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals")); }				
			},
			ftrusteeIndDetailStreetAdd:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals")); }				
			},
			ftrusteeIndDetailSuburb:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals")); }				
			},
			ftrusteeIndDetailState:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals")); }				
			},
			ftrusteeIndDetailPostcode:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Individuals")); },
				exactlength: 4										
			},			
			ftcompanyDirectorName: { 
				required: function(){

						
					return (checkIfOrganisationIsTrust() && checkIfTrusteeIsCompany() 
						&& checkIfTrustIsProprietary() && !($("#TrustDirCounter").val()>0)); 
				},
				minlength: function() {
						if(checkIfOrganisationIsTrust() && checkIfTrusteeIsCompany() 
							&& checkIfTrustIsProprietary() && $("#TrustDirCounter").val()==0){
							return 2;
						}else
							return 0;
				}
			},

			ftcompanyDirectorlName: { 
				required: function(){ 
					return checkIfOrganisationIsTrust() && checkIfTrusteeIsCompany() 
						&& checkIfTrustIsProprietary() && (!($("#TrustDirCounter").val()>0)); 
				},
				minlength: function() {
						if(checkIfOrganisationIsTrust() && checkIfTrusteeIsCompany() 
							&& checkIfTrustIsProprietary() && $("#TrustDirCounter").val()==0){
							return 2;
						}else
							return 0;
				}
			},

			fpcphoneno: {
				rangelength: [10,15]
			},
			fpcmobile: {
				minlength: 10
			},			
			ftregisteredname: { required: function(){ return checkIfOrganisationIsTrust() && checkIfTrustIsCompany(); }},
			ftIndTrustFor: { required: function(){ return checkIfOrganisationIsTrust() && !checkIfTrustIsCompany(); }},
			ftacn: { required: function(){ return checkIfOrganisationIsTrust() && checkIfTrustIsCompany(); }},
			ftdateOfregister: { 
				required: function(){ return checkIfOrganisationIsTrust() && checkIfTrustIsCompany();},
				dateValidation: function(){ return checkIfOrganisationIsTrust() && checkIfTrustIsCompany();}
			},
			ftpoststreetNum: { required: function(){ return checkIfAddressIsSameCheckedTrust() && checkIfOrganisationIsTrust(); }},
			ftpoststreetAdd: { required: function(){ return checkIfAddressIsSameCheckedTrust() && checkIfOrganisationIsTrust(); }},
			ftpostsuburb: { required: function(){ return checkIfAddressIsSameCheckedTrust() && checkIfOrganisationIsTrust(); }},
			ftpostpcode: { 
				required: function(){ return checkIfAddressIsSameCheckedTrust() && checkIfOrganisationIsTrust(); },
				exactlength: 4	
			},
			ftprimaryTelephone: { required: function(){ return checkIfAddressIsSameCheckedTrust() && checkIfOrganisationIsTrust(); }},
			ftprimaryFax: { required: function(){ return checkIfAddressIsSameCheckedTrust() && checkIfOrganisationIsTrust(); }},
			ftIndstreetNum: { required: function(){ return checkIfOrganisationIsTrust() && !checkIfTrustIsCompany(); }},
			ftIndsuburb: { required: function(){ return checkIfOrganisationIsTrust() && !checkIfTrustIsCompany(); }},
			ftIndpcode: { required: function(){ return checkIfOrganisationIsTrust() && !checkIfTrustIsCompany(); },
			exactlength: 4		},
			ftInddob: { 
				required: function(){ return checkIfOrganisationIsTrust() && !checkIfTrustIsCompany() && validateDateOfBirth('ftInddob'); },
				dateValidation: function(){ return checkIfOrganisationIsTrust() && !checkIfTrustIsCompany() && validateDateOfBirth('ftInddob'); }
			},
			ftAddChoice: { required: function(){ return checkIfOrganisationIsTrust(); }},
			ftIndstreetName: { required: function(){ return checkIfOrganisationIsTrust() && !checkIfTrustIsCompany(); }},
			ftnatureOfbussiness: { required: function(){ return checkIfAddressIsSameCheckedTrust() && checkIfOrganisationIsTrust(); }},		
			fsoleIndstate:{ required: function(){ return checkIfOrganisationIsSoleTrader(); } },			
			fsolFullBusiness: { required: function(){ return checkIfOrganisationIsSoleTrader(); }},
			fsoletraderFname:{ required: function(){ return checkIfOrganisationIsSoleTrader(); }},
			fsoletraderSname:{ required: function(){ return checkIfOrganisationIsSoleTrader(); }},
			fsoleInddob: { required: function(){ return checkIfOrganisationIsSoleTrader(); }},
			fsoleIndstreetNum: { required: function(){ return checkIfOrganisationIsSoleTrader(); }},
			fsoleIndstreetName: { required: function(){ return checkIfOrganisationIsSoleTrader(); }},
			fsoleIndsuburb: { required: function(){ return checkIfOrganisationIsSoleTrader(); }},
			fsoleIndpcode: { required: function(){ return checkIfOrganisationIsSoleTrader(); },
			exactlength: 4		},
			fsolpoststreetNum: { required: function(){ return checkIfOrganisationIsSoleTrader() && checkIfAddressIsSameCheckedSoleTrader(); }},
			fsolpoststreetAdd: { required: function(){ return checkIfOrganisationIsSoleTrader() && checkIfAddressIsSameCheckedSoleTrader(); }},
			fsolpostsuburb: { required: function(){ return checkIfOrganisationIsSoleTrader() && checkIfAddressIsSameCheckedSoleTrader(); }},
			fsolpostpcode: { required: function(){ return checkIfOrganisationIsSoleTrader() && checkIfAddressIsSameCheckedSoleTrader(); },
			exactlength: 4		},
			ftcompShareHolders: {
				required: function(){ return (checkIfOrganisationIsTrust() && checkIfTrustIsProprietary()
					&& checkIfDetailedTrusteeType("Companies") && !checkIfParentIsChecked('ftregulatedComp')); }
			},
			fsolpoststate:{
				required: function(){ return checkIfOrganisationIsSoleTrader() && checkIfAddressIsSameCheckedSoleTrader(); }
			},
			ftrustTelephone: {
				rangelength: [10,15],
				required: function(){ return checkIfOrganisationIsTrust(); }
			},
			ftrustFax: {
				rangelength: [10,15],
				required: function(){ return checkIfOrganisationIsTrust(); }
			},
			ftabn: {
				exactlength: 11,
				required: function() {
								var abnVal = $("input[name=ftrustABNyesNo]:checked").val();
								return checkIfOrganisationIsTrust() && (abnVal == "YES");
							}
			},
			ftrustRegistered: {
				required: function() {	return (checkIfOrganisationIsTrust() && checkTrustType("RegisteredTrust"));	},
				 minlength: 9
			},
			ftrustRegulatedName: {
				maxlength: 50,
				required: function() {	return (checkIfOrganisationIsTrust() && checkTrustType("RegulatedTrust"));	}
			},
			ftrustGovSuperName: {
				maxlength: 50,
				required: function() { return (checkIfOrganisationIsTrust() && checkTrustType("GovSuperTrust")); }
			},
			ftrustOtherDesc: { 
				maxlength: 50,
				required: function() { return (checkIfOrganisationIsTrust() && checkTrustType("OtherTrust")); }
			},
			/*fbeneficiaryYesNo: {
				required: function(){ return checkIfTrustTypeIsOther();}
			},*/
			membershipClasses: {
				maxlength: 200,
				required: function() { return (checkIfOrganisationIsTrust() && checkIfBeneficiaryIsYes() && checkIfTrustTypeIsOther()); }
			},
			ftrusteesType:{
				required: function(){ return (checkIfOrganisationIsTrust() && checkTrustType("OtherTrust"));}
			},
			ftpcsaluteOther:{
				required: function(){ return ( checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && $("ftpcsalute").val()=="Other");}
			},
			ftrusteesIndividualsFirstName: {
				maxlength: 30,
				required: function() { return ( checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && checkTrustType("OtherTrust")
					&& (!($("#TrustIndCounter").val()>0)));  }
			},
			ftrusteesIndividualsLastNames: {
				maxlength: 30,
				required: function() { return (checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && checkTrustType("OtherTrust")
					&& (!($("#TrustIndCounter").val()>0))); }
			},
			ftrusteesIndividualsDob: {
				maxlength: 10,
				required: function() { return (checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && checkTrustType("OtherTrust")
				&& (!($("#TrustIndCounter").val()>0))); }
			},
			ftrusteeStreetNum: {
				maxlength: 10,
				required: function() { return (checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && checkTrustType("OtherTrust")
				&& (!($("#TrustIndCounter").val()>0))); }
			},
			ftrusteeStreetAdd: {
				maxlength: 30,
				required: function() {return (checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && checkTrustType("OtherTrust")
				&& (!($("#TrustIndCounter").val()>0))); }
			},
			ftrusteeSuburb: {
				maxlength: 25,
				required: function() {return (checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && checkTrustType("OtherTrust")
					&& (!($("#TrustIndCounter").val()>0)));}
			},
			ftrusteeState: {
				required: function() {	return (checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && checkTrustType("OtherTrust")
				&& (!($("#TrustIndCounter").val()>0)));}
			},
			ftrusteePostcode: {
				exactlength: 4,
				required: function() {	return (checkIfOrganisationIsTrust() && checkIfTrusteeType("Individuals") && checkTrustType("OtherTrust")
				&& (!($("#TrustIndCounter").val()>0)));}
			},
			ftrusteeCompanyStreetNum:{
				maxlength: 10,
				required: function() { return (checkIfTrusteeType("Companies") && checkTrustType("OtherTrust") 
					&& (!($("#TrustIndCounter").val()>0))); }
			},			
			ftrusteeCompanyStreetAdd:{
				maxlength: 30,
				required: function() {return (checkIfTrusteeType("Companies") && checkTrustType("OtherTrust")
					&& (!($("#TrustIndCounter").val()>0))); }
			},
			ftrusteeCompanySuburb:{
				maxlength: 25,
				required: function() {return (checkIfTrusteeType("Companies") && checkTrustType("OtherTrust")
					&& (!($("#TrustIndCounter").val()>0))); }
			},
			ftrusteeCompanyState:{				
				required: function() {return (checkIfTrusteeType("Companies") && checkTrustType("OtherTrust")
					&& (!($("#TrustIndCounter").val()>0))); }
			},
			ftrusteeOthCompanyName: {
				required: function() { return (checkIfTrusteeType("Companies") && checkTrustType("OtherTrust")
					&& (!($("#TrustIndCounter").val()>0)));}				
			},
			ftrusteeCompanyPostcode:{
				maxlength: 4,
				required: function() {return (checkIfTrusteeType("Companies") && checkTrustType("OtherTrust")
					&& (!($("#TrustIndCounter").val()>0))); }
			},			
			ftrusteeCompanyName: {
				required: function() { return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies")
					&& (!($("#TrustIndCounter").val()>0)));}				
			},
			ftrusteeABNyesNo: {
				required: function() { return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") ); }
			},
			ftrusteeacn:{
				required: function() { 
					var abnacnChecked = $('input[name=ftrusteeABNyesNo]:checked').val();					
					return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& abnacnChecked=="NO"); },
					maxlength: 20
			},
			ftrusteeabn:{
				required: function() { 
					var abnacnChecked = $('input[name=ftrusteeABNyesNo]:checked').val();					
					return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") 
						&& abnacnChecked=="YES"); },
					exactlength: 11
			},						
			
			/*ftCompanyWeb: {
				required: function() {
					var checked = $("input[name=ftrusteesType]:checked").val();
					var abnChecked = $("#ftrustCompanyABNno").is(':checked');
					return checkIfOrganisationIsTrust() && checked &&
							($("#ftrusteesTypeCompany").val() == "Companies" || $("#ftrusteesTypeBoth").val() == "Both");
				}
			},
			ftCompanyTelephone: {
				required: function() {
					var checked = $("input[name=ftrusteesType]:checked").val();
					var abnChecked = $("#ftrustCompanyABNno").is(':checked');
					return checkIfOrganisationIsTrust() && checked &&
							($("#ftrusteesTypeCompany").val() == "Companies" || $("#ftrusteesTypeBoth").val() == "Both");
				}
			},
			ftCompanyFax: {
				required: function() {
					var checked = $("input[name=ftrusteesType]:checked").val();
					var abnChecked = $("#ftrustCompanyABNno").is(':checked');
					return checkIfOrganisationIsTrust() && checked &&
							($("#ftrusteesTypeCompany").val() == "Companies" || $("#ftrusteesTypeBoth").val() == "Both");
				}
			},*/
			ftcompstreetNum: {
				required: function() {					
					return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies"));
					}
			},
			ftcompstreetAdd: {
				maxlength: 30,
				required: function() {
					return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies"));
				}
			},
			ftcompsuburb: {
				maxlength: 25,
				required: function() { return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies"));}
			},
			ftcompstate: {
				required: function() { return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies"));}
			},
			ftcomppostcode: {
				maxlength: 4,
				required: function() { return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies"));}
			},
			
			fcompPoststreetNum: {
				required: function() {					
					return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") && companyPostalDiffUnchecked());
					}
			},
			fcompPoststreetAdd: {
				maxlength: 30,
				required: function() {
					return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") && companyPostalDiffUnchecked());
				}
			},
			fcompPostsuburb: {
				maxlength: 25,
				required: function() { return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") && companyPostalDiffUnchecked());}
			},
			fcompPoststate: {
				required: function() { return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") && companyPostalDiffUnchecked());}
			},
			fcompPostpcode: {
				exactlength: 4,
				required: function() { return (checkIfOrganisationIsTrust() && checkIfDetailedTrusteeType("Companies") && companyPostalDiffUnchecked());}
			}					
		},
		messages: {
			identitycheck: "Please select atleast two identity types",
			fabn:  "Please enter a valid ABN (exactly 11 characters, only numerical values allowed)",
			ftrusteeabn:  "Please enter a valid ABN (exactly 11 characters, only numerical values allowed)",
			ftrusteeacn:"Please enter the ID number (maximum 20 characters, only alphabets, numerical, space and hyphen values allowed)",			
			ftCompanyAbn:  "Please enter a valid ABN (exactly 11 characters, only numerical values allowed)",
			facn:  "Please enter the ID number (maximum 11 characters, only alphabets, numerical, space and hyphen values allowed)",
			funit: "Please enter a valid unit number",
			fstreetno:"Please enter the street number",
			fstreet: "Please enter the street name",
			fsuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			fstate: "Please select the state",
			fpostcode: "Please enter the postcode (exactly four numbers required)",
			fprimaryTelephone: "Please enter a valid telephone number including area code (no spaces)",
			fprimaryFax: "Please enter a valid fax number including area code (no spaces)",
			fpcfax: "Please enter a valid fax number (maximum of 15 characters, only numeric values allowed)",
			fpcphoneno: "Please enter a valid phone number (maximum of 15 characters, only numeric values allowed)",
			fpcjobtitle: "Please enter the position (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			fsignage: "Acceptance of the terms and conditions/Product Disclosure Statement is mandatory. Please tick the check box to proceed with your application",
			fauthorise: "Under the Anti-Money Laundering and Counter-Terrorism Financing laws, Cuscal, must perform a check on you. Please tick the check box to proceed with your application",
			fpcmobile: "Please enter a valid mobile number (maximum of 15 characters, only numeric values allowed)",
			forgtype: "Please select your business type",
			tbenname: "Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			tbenlname: "Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			tbenOthername: "Please enter the other names (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			ftbensaluteOther: "Please specify the salutation (maximum 4 characters, only alphabetical values allowed)",
			ftcompanyDirectorsaluteOther:"Please specify the salutation (maximum 4 characters, only alphabetical values allowed)",
			ftcompanyDirectorName:"Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			ftcompanyDirectorOName:"Please enter the other name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			ftcompanyDirectorlName: "Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			fcompanyDirectorName:"Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",			
			fcompanyDirectorsaluteOther:"Please specify the salutation (maximum 4 characters, only alphabetical values allowed)",
			fcompanyDirectorOName:"Please enter the other name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			fcompanyDirectorlName: "Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			fregisteredname: "Please enter the full name of company (maximum of 50 characters)",
			funitno	:"Please enter the unit number (maximum of 5 characters, only alphabetical, numerical, space and hyphen values allowed)",
			fstreetNum: "Please enter the street number (maximum of 10 characters, only letters, numbers, space and hyphen values allowed)",
			fstreetAdd: "Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			fpoststate: "Please select the state",
			ftIndlname: "Please enter only letters, hyphens and spaces",
			fcompShareHolders: "Please answer Yes or No",
			fpcemail: "Please enter a valid email address (maximum 50 characters, in the format name@domain.com.au)",
			fpoststreetNum:"Please enter the street number (maximum of 10 characters, only alphabetical, numerical, space and hyphen values allowed",
			fpoststreetAdd: "Please enter the street name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			fpostsuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			fpostpcode: "Please enter the postcode (exactly four numbers required)",
			fpostunitno: "Please enter the unit number (maximum of 5 characters, only alphabetical, numerical, space and hyphen values allowed)",
			fregulatedName: "Please enter the regulator's name (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			fregulatedLicence: "Please enter licence details (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			fausCompName: "Please enter name of market/exchange (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			fausSubCompName: "Please enter the Australian listed company name (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			fausSubCompExgName: "Please enter name of market/exchange (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			ftregulatedName: "Please enter the regulator's name (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			ftregulatedLicence: "Please enter licence details (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			ftausCompName: "Please enter name of market/exchange (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			ftausSubCompName: "Please enter the Australian listed company name (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			ftausSubCompExgName: "Please enter name of market/exchange (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			fpcfname: "Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			fpclname: "Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",						
			fpcOname: "Please enter the other name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",						
			fshareHolderFname: "Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			fshareHolderLname: "Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",						
			fshareHolderOname: "Please enter the other name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",						
			ftshareHolderFirstName: "Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",
			ftshareHolderOtherName: "Please enter the other name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",						
			ftshareHolderLastName: "Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)",						
			ftshareHolderPostcode:"Please enter the postcode (exactly four numbers required)",
			ftshareHolderUnitNo: "Please enter the unit number (maximum of 5 characters, only alphabetical, numerical, space and hyphen values allowed)",
			ftshareHolderStreetNum: "Please enter the street number (maximum of 10 characters, only alphabetical, numerical, space and hyphen values allowed)",
			ftshareHolderStreetAdd: "Please enter the street name (maximum of 30 characters, only alphabetical, numerical, space and hyphen values allowed)",
			ftshareHolderState: "Please select the state",
			ftshareHolderSuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",			
			fshunitno: "Please enter the unit number (maximum of 5 characters, only alphabetical, numerical, space and hyphen values allowed)",
			fshstreetNum: "Please enter the street number (maximum of 10 characters, only alphabetical, numerical, space and hyphen values allowed)",
			fshstreetName: "Please enter the street name (maximum of 30 characters, only alphabetical, numerical, space and hyphen values allowed)",
			fpoststate: "Please select the state",
			fshsuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			fhowTocuscal: "Please provide details on how you heard about ClickSuper",
			faboutCuscal:"Please select how you heard about ClickSuper, select at least one",
			fmktindustry:"Please define your industry (maximum of 200 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			fnumberOfEmp: "Please select the number of employees",
			ftrustName: "Please enter the full name of the trust (maximum of 50 characters, only alphabetical, space and hyphen values allowed)",
			ftrustCountry: "Please enter the country where the partnership was established (maximum of 50 characters, only alphabetical, space and hyphen values allowed)",
			ftrustBusinessName: "Please enter the full business name (maximum of 50 characters, only alphabetical, space and hyphen values allowed)",
			ftrustWebAddress: "Please enter a valid web address in the format www.domain.com.au or domain.org.au",
			ftrustTelephone: "Please enter a valid phone number (maximum of 15 characters, only numerical values allowed)",
			ftrustFax: "Please enter a valid fax number (maximum of 15 characters, only numerical values allowed)",
			ABNyesNo: "Please answer Yes or No",
			ftrustABNyesNo: "Please answer Yes or No",
			ftrustRegistered: "Please enter a valid ARSN (exactly 9 characters, only numerical values allowed)",
			ftrustRegulatedName: "Please enter the regulator's name (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			ftrustType: "Please select the type of trust",
			ftrustGovSuperName: "Please enter the name of the legislation establishing the fund (maximum of 50 characters)",
			ftrustOtherDesc: "Please enter the description of the trust (maximum of 50 characters)",
			membershipClasses: "Please provide the details of the membership class(es) (maximum of 200 characters)",
			ftpcsalute: "Please specify the salutation (maximum 4 characters, only alphabetical values allowed)",
			ftrusteesIndividualsFirstName: "Please enter the first name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			ftrusteesIndividualsOtherNames: "Please enter the other names (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			ftrusteesIndividualsLastNames: "Please enter the last name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			ftrusteesIndividualsDob: "Please enter the date of birth, in the format dd/mm/yyyy",
			ftrusteeUnitNo: "Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)",
			ftrusteeStreetNum: "Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)",
			ftrusteeStreetAdd: "Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			ftrusteeSuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			ftrusteeState: "Please select the state",
			ftrusteePostcode: "Please enter the postcode (exactly four numbers required)",
			ftrusteeCompanyUnitNo: "Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)",
			ftrusteeCompanyStreetNum:"Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)",			
			ftrusteeCompanyStreetAdd:"Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			ftrusteeCompanySuburb:"Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			ftrusteeCompanyState:"Please select the state",
			ftrusteeCompanyPostcode:"Please enter the postcode (exactly four numbers required)",			
			ftCompanyId: "Please enter the ID number (maximum of 20 characters, only alphabetical, numerical, space and hyphen values allowed)",
			ftCompanyWeb: "Please enter a valid web address in the format www.domain.com.au or domain.org.au",
			ftCompanyTelephone: "Please enter a valid phone number (maximum of 15 characters, only numerical values allowed)",
			ftCompanyFax: "Please enter a valid fax number (maximum of 15 characters, only numerical values allowed)",
			fCompPostunitno: "Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)",
			fcompPoststreetNum: "Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)",
			fcompPoststreetAdd: "Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			fcompPostsuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			fcompPoststate: "Please select the state",
			fcompPostpcode: "Please enter the postcode (exactly four numbers required)",
			ftcompunitno: "Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)",
			ftcompstreetNum: "Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)",
			ftStreetAdd: "Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			ftcompstreetAdd:"Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			ftcompsuburb:"Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			ftcompstate: "Please select the state",
			ftcomppostcode: "Please enter the postcode (exactly four numbers required)",			
			ftSuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			ftState: "Please select the state",
			ftPostcode: "Please enter the postcode (exactly four numbers required)",
			ftrusteeCompanyName: "Please enter the company name (maximum of 50 characters, only alphabetical and space values allowed)",
			ftrusteeOthCompanyName: "Please enter the company name (maximum of 50 characters, only alphabetical and space values allowed)",
			fshstate: "Please select the state",
			fshpcode: "Please enter the postcode (exactly four numbers required)",
			ftrusteesType: "Please select a trustee type",
			ftrustRegulatedLicence: "Please enter the licence details (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)",
			ftpcsaluteOther: "Please specify the salutation (maximum 4 characters, only alphabetical values allowed)",
			ftrusteesTypeDetail:"Please select a trustee to provide specific details",
			ftrusteesIndFirstName:"Please enter the first name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			ftrusteesIndOtherNames:"Please enter the other names (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			ftrusteesIndLastNames:"Please enter the last name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			ftrusteesIndDob:"Please enter the date of birth, in the format dd/mm/yyyy",
			ftrusteeIndDetailUnitNo:"Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)",
			ftrusteeIndDetailStreetNum:"Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)",
			ftrusteeIndDetailStreetAdd:"Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			ftrusteeIndDetailSuburb:"Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			ftrusteeIndDetailState:"Please select the state",
			ftrusteeIndDetailPostcode:"Please enter the postcode (exactly four numbers required)",
			fsoleIndstreetNum:"Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)",
			fsoleIndstreetName: "Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			fsoleIndsuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			fsoleIndpcode: "Please enter the postcode (exactly four numbers required)",			
			fsoleIndstate:"Please select the state",
			fsolpoststate:"Please select the state",
			ftrusteeABNyesNo: "Please answer the question",
			ftrustBeneficiary:"Please answer the question",
			fsoletraderFname:"Please enter the first name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			fsoletraderSname:"Please enter the last name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			fsoleInddob:"Please enter the date of birth, in the format dd/mm/yyyy",
			fsoletraderOtherName:"Please enter the other names (maximum of 30 characters, only alphabetical, space and hyphen values allowed)",
			fsolpostunitno:"Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)",
			fsoleIndunitno:"Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)",
			fsolpoststreetNum: "Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)",
			fsolpoststreetAdd: "Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)",
			fsolpostsuburb: "Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)",
			fsolpostpcode: "Please enter the postcode (exactly four numbers required)",
			fpcsaluteOther: "Please specify the salutation (maximum 4 characters, only alphabetical values allowed)",
			ftrusteesIndsaluteOther: "Please specify the salutation (maximum 4 characters, only alphabetical values allowed)"			
			},
		errorElement: "label"
		
		});

		
	/* NEW - updated for sole trader */
	$('input.forgtype').change( function(event){	
		if ($(this).val() == 'company'){
			$("#divCompany").show();
			$("#divTrust").hide();
			$("#divSoletrader").hide();
			$("#otherForms").hide();	
			$("#primaryContactDiv").show();
			$("#organisationsCommonInfo").show();			
			$("#orgWebAddressDiv").show();			
			$("#orgTelephoneDiv").show();			
			$("#orgFaxDiv").show();
			updateBusinessInfoLabels("COMPANY");
		}else if ($(this).val() == 'trust'){
			$("#divCompany").hide();
			$("#fcompanyDirectorDetails").hide();			
			$("#divTrust").show();
			$("#divSoletrader").hide();
			$("#primaryContactDiv").show();
			$("#organisationsCommonInfo").show();			
			$("#ACNDiv").hide();		
			$("#otherForms").hide();			
			$("#orgWebAddressDiv").hide();			
			$("#orgTelephoneDiv").hide();			
			$("#orgFaxDiv").hide();
			updateBusinessInfoLabels("TRUST");
		}else if ($(this).val() == 'soletrader'){
			$("#divCompany").hide();
			$("#fcompanyDirectorDetails").hide();			
			$("#divTrust").hide();
			$("#divSoletrader").show();
			$("#primaryContactDiv").show();
			$("#organisationsCommonInfo").show();	
			$("#otherForms").hide();		
			updateBusinessInfoLabels("SOLETRADER");			
		}else if ($(this).val() == 'other'){
			$("#divCompany").hide();
			$("#divTrust").hide();
			$("#divSoletrader").hide();						
			$("#primaryContactDiv").hide();
			$("#otherForms").show();
			$("#organisationsCommonInfo").hide();			
		}
		
		if($(this).val() != 'company'){
			unCheckRadioButton('fcomType');
		}
	});	
		
	/* NEW 
	- updated for sole trader 
	- updated for trusts
	*/	
	$('input.ABNyesNo').change( function(event){

		var orgType= $("input[name=forgtype]:checked").val();
		
		if ($(this).val() == 'YES'){			
			if(orgType=="company")
			{
				$("#ABNDiv").show();
				$("#ACNDiv").hide();
			}else if(orgType=="trust"){
				$("#ABNDiv").show();
				$("#ACNDiv").hide();
			}else if(orgType=="soletrader"){
				$("#ABNDiv").show();
				$("#ACNDiv").hide();
			}
		}else{
			if(orgType=="company"){
				$("#ABNDiv").hide();
				$("#ACNDiv").show();
			}else if(orgType=="trust"){
				$("#ABNDiv").hide();
				$("#ACNDiv").hide();
			}else if(orgType=="soletrader"){
				$("#ABNDiv").hide();
				$("#ACNDiv").hide();
			}
		}
	});
	$('input.ftrusteeABNyesNo').change( function(event){

		var orgType= $("input[name=ftrusteeABNyesNo]:checked").val();
		
		if ($(this).val() == 'YES'){			
			$("#ftrusteeABNDiv").show();
			$("#ftrusteeACNDiv").hide();			
		}else if ($(this).val() == 'NO'){			
			
				$("#ftrusteeABNDiv").hide();
				$("#ftrusteeACNDiv").show();
		}else {
				$("#ftrusteeABNDiv").hide();
				$("#ftrusteeACNDiv").hide();
		}
	});

/*	$('input.ABNyesNo').change( function(event){
		if ($(this).val() == 'YES'){
			if ($(this).attr("id") == "ABNyes") {
				$("#ABNDiv").show();
				$("#ACNDiv").hide();
			} else if ($(this).attr("id") == "solABNyes") {
				$("#solABNDiv").show();
				$("#solNoABNDiv").hide();
			} else if ($(this).attr("id") == "ftrustABNyes") {
				$("#ftrustABNDiv").show();
//				$("#ftrustTypeDiv").hide();
			} else if ($(this).attr("id") == "ftrustCompanyABNyes") {
				$("#ftrustCompanyABNDiv").show();
				$("#ftrustCompanyABNNoDiv").hide();
			}
		} else {
			if ($(this).attr("id") == "ABNNo") {
				$("#ACNDiv").show();
				$("#ABNDiv").hide();
			} else if ($(this).attr("id") == "solABNNo") {
				$("#solABNDiv").hide();
				$("#solNoABNDiv").show();
			} else if ($(this).attr("id") == "ftrustABNNo") {
				if($('input.forgtype').val()=="trust")
				{
					$("#ACNDiv").hide();
				}else
					$("#ACNDiv").show();

//				$("#ftrustABNDiv").hide();
				//$("#ftrustTypeDiv").show();
			} else if ($(this).attr("id") == "ftrustCompanyABNNo") {
				$("#ftrustCompanyABNDiv").hide();
				$("#ftrustCompanyABNNoDiv").show();
			}
		}		
	});	*/
	
	/* NEW - updated for trusts */
	$('input.ftrustType').change( function( event ) {
		if ($(this).val() == 'RegisteredTrust'){
			$("#ftrustRegisteredDiv").show();					
			$("#ftrustRegulatedDiv").hide();			
			$("#ftrustGovSuperDiv").hide();
			$("#ftrustOtherTrustDiv").hide();
			$("#divTrustType").hide();				
			$("#otherTrustDetails").hide();	
		} else if ($(this).val() == 'RegulatedTrust'){
			$("#ftrustRegisteredDiv").hide();	
			$("#ftrustRegulatedDiv").show();			
			$("#ftrustGovSuperDiv").hide();
			$("#ftrustOtherTrustDiv").hide();
			$("#divTrustType").hide();				
			$("#otherTrustDetails").hide();	
		} else if ($(this).val() == 'GovSuperTrust'){
			$("#ftrustRegisteredDiv").hide();	
			$("#ftrustRegulatedDiv").hide();	
			$("#ftrustGovSuperDiv").show();					
			$("#ftrustOtherTrustDiv").hide();
			$("#divTrustType").hide();				
			$("#otherTrustDetails").hide();	
		} else if ($(this).val() == 'OtherTrust'){
			$("#ftrustRegisteredDiv").hide();	
			$("#ftrustRegulatedDiv").hide();			
			$("#ftrustGovSuperDiv").hide();
			$("#ftrustOtherTrustDiv").show();
			$("#divTrustType").show();	
			$("#otherTrustDetails").show();				
		} else {
			$("#ftrustRegisteredDiv").hide();	
			$("#ftrustRegulatedDiv").hide();	
			$("#ftrustGovSuperDiv").hide();
			$("#ftrustOtherTrustDiv").hide();			
			$("#divTrustType").hide();		
			$("#otherTrustDetails").hide();	
		}
	});
	
	/*$('input.ftrustType').change( function( event )
	{
		if ($(this).val() == 'OtherTrust'){
			$("#divTrustType").show();					
		}else{
			$("#divTrustType").hide();				
		}
	});*/
	
	/* NEW - updated for trusts */
	$('input.fbeneficiaryYesNo').change( function( event ) {
		if ($(this).val() == 'YES'){
			$("#fbeneficiaryYesDiv").show();
			$("#fbeneficiaryNoDiv").hide();
		} else if ($(this).val() == 'NO'){
			$("#fbeneficiaryYesDiv").hide();
			$("#fbeneficiaryNoDiv").show();
		} else {
			$("#fbeneficiaryYesDiv").hide();
			$("#fbeneficiaryNoDiv").hide();
		}
	});

	/* NEW - updated for trusts */
	$('input.ftrusteesType').change(function(event) {
		if ($(this).val() == 'Individuals'){
			$("#ftrusteesIndividualsDiv").show();
			$("#ftrusteesCompanyDiv").hide();
		} else if ($(this).val() == 'Companies'){
			$("#ftrusteesIndividualsDiv").hide();
			$("#ftrusteesCompanyDiv").show();
		} else if ($(this).val() == 'Both'){
			$("#ftrusteesIndividualsDiv").show();
			$("#ftrusteesCompanyDiv").show();
		}
	});
	
	$('input.ftrusteesTypeDetail').change(function(event) {
		if ($(this).val() == 'Individuals'){
			$("#trusteeSpecificIndividualDiv").show();
			$("#ftrusteeSpecificCompanyDiv").hide();
		} else if ($(this).val() == 'Companies'){
			$("#trusteeSpecificIndividualDiv").hide();
			$("#ftrusteeSpecificCompanyDiv").show();
		} else if ($(this).val() == 'Both'){
			$("#trusteeSpecificIndividualDiv").hide();
			$("#ftrusteeSpecificCompanyDiv").hide();
		}
	});
	
	
	$('input.fcompInd').change( function( event )
	{
		if ($(this).val() == 'company'){
			$("#divtrustCompany").show();	
			$("#divtrustIndividual").hide();		
		}else if ($(this).val() == 'individual'){
			$("#divtrustCompany").hide();	
			$("#divtrustIndividual").show();		
		}
	});
	
	$('input.fcomType').change( function( event )
	{
		if ($(this).val() == 'public'){
			$("#divdirectors").hide();	
			$("#fcompanyDirectorDetails").hide();		
		}else if ($(this).val() == 'proprietary'){
			$("#divdirectors").show();	
			$("#fcompanyDirectorDetails").show();			
		}
	});

	$('input.ftcomType').change( function( event )
	{
		if ($(this).val() == 'public'){
			$("#divtdirectors").hide();	
			$("#trustShareholdersAddDiv").hide();
			$("#trustShareholdersDiv").hide();			
		}else if ($(this).val() == 'proprietary'){
			$("#divtdirectors").show();	
			$("#ftcompanyDirectorDetails").show();			
		}
	});
	
	
	/*$('input.fsolFullBusiness').change( function( event )
	{
		if ($(this).val() == 'yes'){
			$("#divsoleAddress").hide();
			$("#fsolFullBusinessAdd").show();						
		}else if ($(this).val() == 'no'){
			$("#fsolFullBusinessAdd").hide();
			$("#divsoleAddress").show();			
		}
	});*/	
	
	
	$("#fsolpostaldiff").click(function () {	
		var postalVar = $("#solpostalSection");
		if($("#fsolpostaldiff").is(':checked')) {
			 postalVar.hide();
		} else {
			postalVar.show();
		}
    });
	
	$("input.fsolpostaldiff").change(function(event) {
		if ($(this).val() == 'YES') {
			$("#solpostalSection").hide();
		} else {
			$("#solpostalSection").show();
		}
	});
	
	
	$("#aboutCuscalOthers").click(function () {
		if($("#aboutCuscalOthers").is(':checked')) {
			 $("#fhowTocuscalDiv").show();
		} else {
			$("#fhowTocuscalDiv").hide();
		}
    });

	
	$("#fComppostaldiff").click(function () {
		var postalVar = $("#trusteeCompanypostalSection");
		if($("#fComppostaldiff").is(':checked')) {
			 postalVar.hide();
		} else {
			postalVar.show();
		}
    });
	
	$("#fpostaldiff").click(function () {
		var postalVar = $("#postalSection");
		if($("#fpostaldiff").is(':checked')) {
			 postalVar.hide();
		} else {
			postalVar.show();
		}
    });
	
	
	$("#fregulatedComp").click(function () {
		var tempVar = $("#fregulatedCompDiv");
		if($("#fregulatedComp").is(':checked')) {
			 tempVar.show();
		} else {
			tempVar.hide();
		}
    });
	
	/* NEW - updated for trusts */
	$("#ftregulatedComp").click(function () {
		var wrapperDiv = $("#ftregulatedCompDiv");
		var shareHolderDiv = $("#trustShareHolderYN");
		var shareholderDetails= $("#trustShareholdersDiv");
		
		if($("#ftregulatedComp").is(':checked')) {
			 wrapperDiv.show();
			 shareHolderDiv.hide();
			 unCheckRadioButton('ftcompShareHolders');
			 shareholderDetails.hide();
		} else {
			wrapperDiv.hide();
			shareHolderDiv.show();
		}
    });

	$("#fausComp").click(function () {
		var tempVar = $("#fausCompDiv");
		if($("#fausComp").is(':checked')) {
			 tempVar.show();
		} else {
			tempVar.hide();
		}
    });
	
	/* NEW - updated for trusts */
	$("#ftausComp").click(function () {
		var wrapperDiv = $("#ftausCompDiv");
		if($("#ftausComp").is(':checked')) {
			 wrapperDiv.show();
		} else {
			wrapperDiv.hide();
		}
    });

	$("#fausSubComp").click(function () {
		var tempVar = $("#fausSubCompDiv");
		if($("#fausSubComp").is(':checked')) {
			 tempVar.show();
		} else {
			tempVar.hide();
		}
    });

	$("#ftausSubComp").click(function () {
		var wrapperDiv = $("#ftausSubCompDiv");
		if($("#ftausSubComp").is(':checked')) {
			 wrapperDiv.show();
		} else {
			wrapperDiv.hide();
		}
    });

	$("#fregulatedComp").click(function () {
		var tempVar = $("#fregulatedCompDiv");
		if($("#fregulatedComp").is(':checked')) {
			 tempVar.show();
		} else {
			tempVar.hide();
		}
    });
	$('input.fcompShareHolders').change( function( event )
	{
		if ($(this).val() == 'yes'){
			$("#shareholderDiv").show();	
		}else if ($(this).val() == 'no'){
			$("#shareholderDiv").hide();	
		}
	});
	
	


	$("#ftpostaldiff").click(function () {
		var postalVar = $("#divPostalSection");
		if($("#ftpostaldiff").is(':checked')) {
			 postalVar.hide();
		} else {
			postalVar.show();
		}
    });
	
	$('#buttonAddShareholder').click(function()
	{  		
		$('.addShareHolderError').remove();		

		var fshareHolderFname= jQuery.trim($("#fshareHolderFname").val());
		var fshareHolderOname= jQuery.trim($("#fshareHolderOname").val());
		var fshareHolderLname= jQuery.trim($("#fshareHolderLname").val());		
		var fshunitno= jQuery.trim($("#fshunitno").val());
		var fshstreetNum= jQuery.trim($("#fshstreetNum").val());
		var fshstreetName= jQuery.trim($("#fshstreetName").val());		
		var fshsuburb= jQuery.trim($("#fshsuburb").val());
		var fshstate= jQuery.trim($("#fshstate").val());
		var fshpcode= jQuery.trim($("#fshpcode").val());		

		var success=true;

		if(fshareHolderFname=="")
		{
			setErrorElem('fshareHolderFname','Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
		}

		if(fshareHolderLname=="")
		{
			setErrorElem('fshareHolderLname','Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
		}

		if(fshareHolderOname!="")
		{
			if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(fshareHolderOname)){	
				setErrorElem('fshareHolderOname','Please enter the other name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
				succeess=false;
			}
		}	
		
		if(fshunitno!="" && !/^[a-zA-Z0-9]?[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(fshunitno))
		{
			setErrorElem('fshunitno','Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)');			
			success= false;
		}

		if(fshstreetNum=="")
		{
			setErrorElem('fshstreetNum','Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)');			
			success= false;
		}
		if(fshstreetName=="")
		{
			setErrorElem('fshstreetName','Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)');			
			success= false;
		}
		if(fshsuburb=="")
		{
			setErrorElem('fshsuburb','Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)');			
			success= false;
		}
		if(fshstate=="")
		{
			setErrorElem('fshstate','Please select the state');			
			success= false;
		}
		if(fshpcode=="")
		{
			setErrorElem('fshpcode','Please enter the postcode (exactly four numbers required)');			
			success= false;
		}
		
		/*There is error while getting user info so send false to return to page.*/
		if(!success)
			return false;
			
		if(fshareHolderFname=="" || fshareHolderLname=="" ){			
			return false;
		}else if(!(/^[a-zA-Z0-9 ]+[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(fshareHolderFname) &&
				/^[a-zA-Z0-9 ]+[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(fshareHolderLname))){			
			return false;
		}
		
		//Plain javascript code for dynamic table rows addition			
		var rowId= ""+new Date().getTime();
		$('#shareholersDetails').append(
			"<tr id='"+rowId+"'>"+
				"<td style='border-top:1px solid black; padding-top:5px;'>"+
				"<div>"+
					"<label for=\"fshareHolderFname\" class=\"fieldLabel\">First Name</label>"+
					"<input name=\"fshareHolderFname[]\" id=\"fshareHolderFname\" type=\"text\" value='"+fshareHolderFname+"' maxLength=\"30\" class='full noBorder' readonly='true'/>"+
					"<div class='clearLeft'></div>" +
				"</div>"+	
				"<div>"+
					"<label for='fshareHolderOname' class='fieldLabel'>Other Names</label>"+
					"<input name='fshareHolderOname[]' type='text' value='"+fillEmptyField(fshareHolderOname)+"' maxLength='30' class='full noBorder' readonly='true'/>"+					
					"<div class='clearLeft'></div>" +
				"</div>	<div>"+
					"<label for='fshareHolderLname' class='fieldLabel'>Last Name </label>"+
					"<input name='fshareHolderLname[]' type='text' value='"+fshareHolderLname+"' maxLength='30' class='full noBorder' readonly='true'/>"+					
					"<div class='clearLeft'></div>" +
				"</div>"+
				"<h2>Residential Address: </h2>"+
					"<div><label class='fieldLabel' for='fshunitno'> Unit Number</label>"+
					"<input type='text' name='fshunitno[]' id='fshunitno' value='"+fillEmptyField(fshunitno)+"' readonly='true' class='full noBorder' maxlength='5'>"+
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='fshstreetNum'> Street Number</label>"+
					"<input type='text' name='fshstreetNum[]' id='fshstreetNum' value='"+fshstreetNum+"' readonly='true' class='full noBorder' maxlength='10'>"+
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='fshstreetName'> Street Name</label>"+
					"<input type='text' name='fshstreetName[]' id='fshstreetName' value='"+fshstreetName+"' readonly='true' class='full noBorder' maxlength='25'>"+
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='fshsuburb'> Suburb</label>"+
					"<input type='text' name='fshsuburb[]' id='fshsuburb' value='"+fshsuburb+"' readonly='true' class='full noBorder' maxlength='25'>"+
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='fshstate'> State</label>"+
					"<input type='text' name='fshstate[]' id='fshstate' value='"+fshstate+"' readonly='true' class='full noBorder' maxlength='5'>"+		
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='fshpcode'> Post Code</label>"+
					"<input type='text' name='fshpcode[]' id='fshpcode' value='"+fshpcode+"' readonly='true' class='full noBorder' maxlength='4' size='4'>"+
					"<div class='clearLeft'></div>" +
					"</div>"+
				"<span class='remove'> <input type='button' id='shareholderRemove' class='remove' onclick=deleteRow('shareholersDetails',"+rowId+",'ShareholderCounter')></span>"+				
				"</td>"+				
			"</tr>");
		
		var newTable = document.getElementById("shareholersDetails");		
		var id= newTable.rows.length;
		document.getElementById("ShareholderCounter").value = id;				
		
		$("#fshareHolderFname").val("");
		$("#fshareHolderOname").val("");
		$("#fshareHolderLname").val("");
		$("#fshunitno").val("");
		$("#fshstreetNum").val("");
		$("#fshstreetName").val("");
		$("#fshsuburb").val("");
		$("#fshpcode").val("");
		$("#fshareHolderFname").focus();
		if(id>0)
			$('#shareholersDetailsDivs').show();
		else
			$('#shareholersDetailsDivs').hide();
//		console.info("Next Id="+id);
	});

	$('#buttonAddtDirectorName').click(function()
	{  
		$('.addError').remove();
				
		var title= jQuery.trim($("#ftcompanyDirectorsalute").val());
		var dfname= jQuery.trim($("#ftcompanyDirectorName").val());
		var dOname= jQuery.trim($("#ftcompanyDirectorOName").val());
		var dlname= jQuery.trim($("#ftcompanyDirectorlName").val());		

		var succeess=true;

		if(dfname=="")
		{
			setErrorElem('ftcompanyDirectorName','Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
		}

		if(dlname=="")
		{
			setErrorElem('ftcompanyDirectorlName','Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
		}

		if(dOname!="")
		{
			if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dOname)){	
				setErrorElem('ftcompanyDirectorOName','Please enter the other names (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
				succeess=false;
			}
		}

		if(dfname=="" || dlname==""){			
			succeess=false;
		}else if( ! (/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dfname) && /^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dlname))) {

			succeess=false;
		}
	
		var otherSelect = $('#ftcompanyDirectorsalute').val();
		var otherVal="";

		if(otherSelect == 'Other'){
			otherVal= $("#ftcompanyDirectorsaluteOther").val();
			
			if(otherVal==""){
				setErrorElem('ftcompanyDirectorsaluteOther','Please specify the salutation (maximum 4 characters, only alphabetical values allowed)');			
				succeess=false;
			}else if( !/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(otherVal)){
				setErrorElem('ftcompanyDirectorsaluteOther','Please specify the salutation (maximum 4 characters, only alphabetical values allowed)');			
				succeess=false;
			}else{
				title=otherVal;
			}
		}
		
		if(!succeess)
			return false;

		//Plain javascript code for dynamic table rows addition		
		var rowId= ""+new Date().getTime();
		$('#trustcompanyDirectorDetails').append(
			"<tr id='"+rowId+"'>"+
				"<td><input type='text' value='"+title+"' size='5' name='ftcomDirectorsalute[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+dfname+"' size='20' name='ftcomDirectorName[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+fillEmptyField(dOname)+"' size='20' name='ftcomDirectorOName[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+dlname+"' size='20' name='ftcomDirectorlName[]' readonly='true' class='noBorder'/></td>"+
				"<td><span class='remove'> <input type='button' class='remove' onclick=deleteRow('trustcompanyDirectorDetails',"+rowId+",'TrustDirCounter')></span></td>"+				
				"</tr>");


		var newTable = document.getElementById("trustcompanyDirectorDetails");		
		var id= newTable.rows.length;
		document.getElementById("TrustDirCounter").value = id;				
		
		$("#ftcompanyDirectorlName").val("");
		$("#ftcompanyDirectorName").val("");
		$("#ftcompanyDirectorOName").val("");
		$("#ftcompanyDirectorsaluteOther").val("");

		$("#ftcompanyDirectorfName").focus();

	});

	

	$('#buttonAddDirectorName').click(function()
	{  		
		$('.addError').remove();
		
		var title= jQuery.trim($("#fcompanyDirectorsalute").val());
		var dfname= jQuery.trim($("#fcompanyDirectorName").val());
		var dOname= jQuery.trim($("#fcompanyDirectorOName").val());
		var dlname= jQuery.trim($("#fcompanyDirectorlName").val());		

		if(dfname=="")
		{
			setErrorElem('fcompanyDirectorName','Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
		}

		if(dlname=="")
		{
			setErrorElem('fcompanyDirectorlName','Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
		}

		if(dfname=="" || dlname==""){
			//$('<label class="error addError" generated="true" for="fullCompanyDirector">This field is required.</label>').insertAfter($('.add'));
			return false;
		}else if( ! (/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dfname) && /^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dlname))) {
			//$('<label class="error addError" generated="true" for="fullCompanyDirector">This field is required.</label>').insertAfter($('.add'));			

			return false;
		}
		if(dOname!="")
		{
			if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dOname))	
				return false;
		}

		
		var otherSelect = $('#fcompanyDirectorsalute').val();
		var otherVal="";

		if(otherSelect == 'Other'){

			otherVal= $("#fcompanyDirectorsaluteOther").val();

			if(otherVal==""){
				setErrorElem('fcompanyDirectorsaluteOther','Please specify the salutation (maximum 4 characters, only alphabetical values allowed)');			
			}else if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(otherVal)){
				return false;
			}else{
				title=otherVal;
			}
		}		
		
		//Plain javascript code for dynamic table rows addition		
		//var table = document.getElementById("companyDirectorDetails");
		//var rowCount = table.rows.length;			
		var rowId= ""+new Date().getTime();
		$('#companyDirectorDetails').append(
			"<tr id='"+rowId+"'>"+
				"<td><input type='text' value='"+title+"' size='5' name='dirSalute[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+dfname+"' size='20' name='directorfname[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+fillEmptyField(dOname)+"' size='20' name='directorOname[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+dlname+"' size='20' name='directorlname[]' readonly='true' class='noBorder'/></td>"+
				"<td><span class='remove'> <input type='button' class='remove' onclick=deleteRow('companyDirectorDetails',"+rowId+",'CompanyCounter')></span></td>"+				
				"</tr>");
		
		var newTable = document.getElementById("companyDirectorDetails");		
		var id= newTable.rows.length;
		document.getElementById("CompanyCounter").value = id;				
		
		//$("#fdirectorfnamelname").removeClass("nodisplay");				
		$("#fcompanyDirectorlName").val("");
		$("#fcompanyDirectorName").val("");
		$("#fcompanyDirectorOName").val("");
		$("#fcompanyDirectorsaluteOther").val("");

		$("#fcompanyDirectorName").focus();
		//console.info("Next Id="+id);
	});
	
	$('#buttonAddTrust').click(function()
	{  
		$('.addError').remove();
		var id = document.getElementById("TrustCounter").value;	
		var success= true;
		if(id=="")
			id=0;			
		if(id==10){
			alert("Max beneficiaries to enter is 10.\nIf you need to add more then remove existing and then add new.");
			return;
		}		

		var ftitle= jQuery.trim($("#ftbensalute").val());		
		var fname= jQuery.trim($("#tbenname").val());
		var lname= jQuery.trim($("#tbenlname").val());
		var oname= jQuery.trim($("#tbenOthername").val());
		//var tclass= jQuery.trim($("#tbenClass").val());
		
		if(fname=="" || !(/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(fname)))
		{
			setErrorElem('tbenname','Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
			success= false;
		}

		if(lname=="" || !( /^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(lname)))
		{
			setErrorElem('tbenlname','Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
			success= false;
		}
		
		if(oname!="")
		{
			if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(oname))	
			{	
				setErrorElem('tbenOthername','Please enter the other names (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
				success= false;
			}
		}
		
		var otherVal="";

		if(ftitle == 'Other'){

			otherVal= $("#ftbensaluteOther").val();

			if(otherVal==""){
				setErrorElem('ftbensaluteOther','Please specify the salutation (maximum 4 characters, only alphabetical values allowed)');	
				success=false;
			}else if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(otherVal)){
				setErrorElem('ftbensaluteOther','Please specify the salutation (maximum 4 characters, only alphabetical values allowed)');	
				success=false;
			}
		}		
		
		/*There is error while getting user info so send false to return to page.*/
		if(!success)
			return false;
					

		if(ftitle == 'Other'){
			ftitle= otherVal;
		}
		
		var rowId= ""+new Date().getTime();
		$('#trustDetails').append(
			"<tr id='"+rowId+"'>"+
				"<td><input type='text' value='"+ftitle+"' size='5' name='ftbeneficiaryTitle[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+fname+"' size='20' name='ftbeneficiaryfName[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+fillEmptyField(oname)+"' size='20' name='ftbeneficiaryOName[]' readonly='true' class='noBorder'/></td>"+
				"<td><input type='text' value='"+lname+"' size='20' name='ftbeneficiarylName[]' readonly='true' class='noBorder'/></td>"+
				"<td><span class='remove'> <input type='button' class='remove' onclick=deleteRow('trustDetails',"+rowId+",'TrustCounter')></span></td>"+				
				"</tr>");
		
		var newTable = document.getElementById("trustDetails");		
		var id= newTable.rows.length;
		document.getElementById("TrustCounter").value = id;			
		if(id>0)
			$('#ftrustDiv').show();
		else
			$('#ftrustDiv').hide();
		
		$("#ftbensaluteOther").val("");
		$("#tbenname").val("");
		$("#tbenlname").val("");
		$("#tbenOthername").val("");

		$("#tbenname").focus();
	});
	
	/*$("#fotherStat").click(function () {
		var postalVar = $("#fstatQ1div");
		if($("#fotherStat").is(':checked')) {
			 postalVar.show();
		} else {
			postalVar.hide();
		}
    });
	*/
	$("#fpcsalute").change(function () {
		var otherVar = $(this).val();
		if(otherVar=='Other'){
			$("#fpcsaluteOther").show();
		} else {
			$("#fpcsaluteOther").hide();
			hideErrorElem("fpcsaluteOther");
		}		
    });
	$("#ftpcsalute").change(function () {
		var otherVar = $(this).val();
		if(otherVar=='Other'){
			$("#ftpcsaluteOther").show();
		} else {
			$("#ftpcsaluteOther").hide();
			hideErrorElem("ftpcsaluteOther");
			
		}		
    });
	
	$("#ftcompanyDirectorsalute").change(function () {
		var otherVar = $(this).val();
		if(otherVar=='Other'){
			$("#ftcompanyDirectorsaluteOther").show();
		} else {
			$("#ftcompanyDirectorsaluteOther").hide();
			hideErrorElem("ftcompanyDirectorsaluteOther");
		}
    });

	$("#fcompanyDirectorsalute").change(function () {
		var otherVar = $(this).val();
		if(otherVar=='Other'){
			$("#fcompanyDirectorsaluteOther").show();
		} else {
			$("#fcompanyDirectorsaluteOther").hide();
			hideErrorElem("fcompanyDirectorsaluteOther");
		}
    });

	$("#ftbensalute").change(function () {
		var otherVar = $(this).val();
		if(otherVar=='Other'){
			$("#ftbensaluteOther").show();
		} else {
			$("#ftbensaluteOther").hide();
			hideErrorElem("ftbensaluteOther") ;
		}
    });
	
	$("#ftrusteesIndsalute").change(function () {
		var otherVar = $(this).val();
		if(otherVar=='Other'){
			$("#ftrusteesIndsaluteOther").show();
		} else {
			$("#ftrusteesIndsaluteOther").hide();
			hideErrorElem("ftrusteesIndsaluteOther") ;
			
		}
    });
	
	$("#form-loader").hide();
	$("#form-loader-clear").hide();
	$("#formShow").show();
	
	/* NEW - updated for trust */
	
	$('#buttonAddTrustComp').click(function(){

		$('.addError').remove();

		var unitNo= "";		
		var compName="";
		var streetNum= "";		
		var streetAdd= "";		
		var suburb= "";		
		var state= "";		
		var postcode= "";		
		var success= true;
	
		compName= jQuery.trim($("#ftrusteeOthCompanyName").val());		
		unitNo= jQuery.trim($("#ftrusteeCompanyUnitNo").val());		
		streetNum= jQuery.trim($("#ftrusteeCompanyStreetNum").val());		
		streetAdd= jQuery.trim($("#ftrusteeCompanyStreetAdd").val());		
		suburb= jQuery.trim($("#ftrusteeCompanySuburb").val());		
		state= jQuery.trim($("#ftrusteeCompanyState").val());		
		postcode= jQuery.trim($("#ftrusteeCompanyPostcode").val());		

		if(compName!="" && !/^[a-zA-Z 0-9\'\@\$\!\-\*\&,\.]+$/.test(compName))
		{
			setErrorElem('ftrusteeOthCompanyName','Please enter the Australian listed company name (maximum of 50 characters, only alphabetical, numerical, spaces and punctuation values allowed)');			
			success= false;
		}
		if(unitNo!="" && !/^[a-zA-Z0-9]?[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(unitNo))
		if(unitNo!="" && !/^[a-zA-Z0-9]?[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(unitNo))
		{
			setErrorElem('ftrusteeCompanyUnitNo','Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)');			
			success= false;
		}

		if(streetNum=="")
		{
			setErrorElem('ftrusteeCompanyStreetNum','Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)');			
			success= false;
		}
		if(streetAdd=="")
		{
			setErrorElem('ftrusteeCompanyStreetAdd','Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)');			
			success= false;
		}
		if(suburb=="")
		{
			setErrorElem('ftrusteeCompanySuburb','Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)');			
			success= false;
		}
		if(state=="")
		{
			setErrorElem('ftrusteeCompanyState','Please select the state');			
			success= false;
		}
		if(postcode=="")
		{
			setErrorElem('ftrusteeCompanyPostcode','Please enter the postcode (exactly four numbers required)');			
			success= false;
		}
		
		/*There is error while getting user info so send false to return to page.*/
		if(!success)
			return false;

		var rowId= ""+new Date().getTime();
		$('#trustIndCompanyDetails').append(
			"<tr id='"+rowId+"'>"+
				"<td>"+
					"<table>"+
					"<tr><td style='float:left'><i><strong>Company</strong></i></td><td></td></tr>"+
					"<tr><td><label class='fieldLabel'>Company Name</label></td><td><input type='text' value='"+compName+"' name='compName[]' readonly='true' class='noBorder full'/></td></tr>"+
					"<tr><td><label class='fieldLabel'>Unit Number</label></td><td><input type='text' value='"+fillEmptyField(unitNo)+"' name='tCompUnitNo[]' readonly='true' class='noBorder full'/></td></tr>"+
					"<tr><td><label class='fieldLabel'>Street Number</label></td><td><input type='text' value='"+streetNum+"' name='tCompStreetNum[]' readonly='true' class='noBorder full'/></td></tr>"+
					"<tr><td><label class='fieldLabel'>Street Name</label></td><td><input type='text' value='"+streetAdd+"' name='tCompStreetAdd[]' readonly='true' class='noBorder full'/></td></tr>"+
					"<tr><td><label class='fieldLabel'>Suburb</label></td><td><input type='text' value='"+suburb+"' name='tCompSuburb[]' readonly='true' class='noBorder full'/></td></tr>"+
					"<tr><td><label class='fieldLabel'>State</label></td><td><input type='text' value='"+state+"' name='tCompState[]' readonly='true' class='noBorder full'/></td></tr>"+
					"<tr><td><label class='fieldLabel'>Pst code</label></td><td><input type='text' value='"+postcode+"' name='tCompPostcode[]' readonly='true' class='noBorder full'/></td></tr>"+
					"<tr><td></td><td style='float:right'><span class='remove'> <input type='button' class='remove' onclick=deleteRow('trustIndCompanyDetails',"+rowId+",'TrustIndCounter')></span></td></tr>"+				
					"</table>"+					
				"</td>"+				
			"</tr>");
		
		
		var newTable = document.getElementById("trustIndCompanyDetails");		
		var id= newTable.rows.length;

		$("#ftrusteeCompanyUnitNo").val("");		
		$("#ftrusteeCompanyStreetNum").val("");		
		$("#ftrusteeCompanyStreetAdd").val("");		
		$("#ftrusteeCompanySuburb").val("");		
		$("#ftrusteeCompanyState").val("");		
		$("#ftrusteeCompanyPostcode").val("");	
		$("#ftrusteeOthCompanyName").val("");			
		$("#ftrusteeOthCompanyName").focus();			
		document.getElementById("TrustIndCounter").value = id;				

		if(id>0)
			$('#trustIndAndCompanyDiv').show();
		else
			$('#trustIndAndCompanyDiv').hide();
	});

	$('#buttonAddTrustInd').click(function(){

		$('.addError').remove();

		var title= "";
		var dfname= "";
		var dOname= "";
		var dlname= "";		
		var unitNo= "";		
		var streetNum= "";		
		var streetAdd= "";		
		var suburb= "";		
		var state= "";		
		var postcode= "";		
		var success= true;

			title= jQuery.trim($("#ftpcsalute").val());
			dfname= jQuery.trim($("#ftrusteesIndividualsFirstName").val());
			dOname= jQuery.trim($("#ftrusteesIndividualsOtherNames").val());
			dlname= jQuery.trim($("#ftrusteesIndividualsLastNames").val());		
			unitNo= jQuery.trim($("#ftrusteeUnitNo").val());		
			streetNum= jQuery.trim($("#ftrusteeStreetNum").val());		
			streetAdd= jQuery.trim($("#ftrusteeStreetAdd").val());		
			suburb= jQuery.trim($("#ftrusteeSuburb").val());		
			state= jQuery.trim($("#ftrusteeState").val());		
			postcode= jQuery.trim($("#ftrusteePostcode").val());		

			if(title=="")
			{
				setErrorElem('ftpcsalute','Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
				success= false;
			}

			if(dOname!="")
			{
				if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dOname))	
					success= false;
			}

			
			var otherSelect = $('#ftpcsalute').val();
			var otherVal="";

			if(otherSelect == 'Other'){

				otherVal= $("#ftpcsaluteOther").val();

				if(otherVal==""){
					setErrorElem('ftpcsaluteOther','Please specify the salutation (maximum 4 characters, only alphabetical values allowed)');			
					success= false;
				}else if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(otherVal)){
					success= false;
				}else{
					otherVal=" "+otherVal;
				}
			}

			if(dfname=="")
			{
				setErrorElem('ftrusteesIndividualsFirstName','Please enter the first name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)');			
				success= false;
			}

			if(dlname=="")
			{
				setErrorElem('ftrusteesIndividualsLastNames','Please enter the last name (maximum of 30 characters, only alphabetical, space and hyphen values allowed)');			
				success= false;
			}

			
			if(dfname=="" || dlname=="" || streetNum=="" || streetAdd=="" || suburb=="" || state=="" || postcode==""  ){
				success= false;
			}else if( ! (/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dfname) && /^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(dlname)
				&& 	/^[a-zA-Z]?[a-zA-Z]*[a-zA-Z]+$/.test(title) && 	/^[a-zA-Z0-9]?[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(streetNum) 
				&& /^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(streetAdd) && /^[a-zA-Z ]+$/.test(suburb) 
				&& /^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(state) && /\d{4}/.test(postcode) 
				 )) {		

				success= false;
			}


		if(unitNo!="" && !/^[a-zA-Z0-9]?[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(unitNo))
		{
			setErrorElem('ftrusteeUnitNo','Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)');			
			success= false;
		}

		if(streetNum=="")
		{
			setErrorElem('ftrusteeStreetNum','Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)');			
			success= false;
		}
		if(streetAdd=="")
		{
			setErrorElem('ftrusteeStreetAdd','Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)');			
			success= false;
		}
		if(suburb=="")
		{
			setErrorElem('ftrusteeSuburb','Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)');			
			success= false;
		}
		if(state=="")
		{
			setErrorElem('ftrusteeState','Please select the state');			
			success= false;
		}
		if(postcode=="")
		{
			setErrorElem('ftrusteePostcode','Please enter the postcode (exactly four numbers required)');			
			success= false;
		}
		
		/*There is error while getting user info so send false to return to page.*/

		if(!success)
			return false;

		if(otherSelect == 'Other'){
			title= otherVal;
		}		
		var rowId= ""+new Date().getTime();
			$('#trustIndCompanyDetails').append(
				"<tr id='"+rowId+"'>"+
					"<td>"+
						"<table>"+
						"<tr><td style='float:left'><i><strong>"+$("#ftrusteesType").val()+"</strong></i></td><td></td></tr>"+
						"<tr><td><label class='fieldLabel'>Title</label></td><td><input type='text' value='"+title+"' size='5' name='tIndSalute[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td><label class='fieldLabel'>First Name</label></td><td><input type='text' value='"+dfname+"' name='tIndfname[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td><label class='fieldLabel'>Other Name</label></td><td><input type='text' value='"+fillEmptyField(dOname)+"' name='tIndOname[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td><label class='fieldLabel'>Last Name</label></td><td><input type='text' value='"+dlname+"'  name='tIndlname[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td style='float:left'><i><strong>Residential Address</strong></i></td><td></td></tr>"+
						"<tr><td><label class='fieldLabel'>Unit Number</label></td><td><input type='text' value='"+fillEmptyField(unitNo)+"' name='tIndunitno[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td><label class='fieldLabel'>Street Number</label></td><td><input type='text' value='"+streetNum+"' name='tIndstreetNum[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td><label class='fieldLabel'>Street Name</label></td><td><input type='text' value='"+streetAdd+"' name='tIndstreetAdd[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td><label class='fieldLabel'>Suburb</label></td><td><input type='text' value='"+suburb+"' name='tIndsuburb[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td><label class='fieldLabel'>State</label></td><td><input type='text' value='"+state+"' name='tIndstate[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td><label class='fieldLabel'>Pst code</label></td><td><input type='text' value='"+postcode+"' name='tIndpostcode[]' readonly='true' class='noBorder full'/></td></tr>"+
						"<tr><td></td><td style='float:right'><span class='remove'> <input type='button' class='remove' onclick=deleteRow('trustIndCompanyDetails',"+rowId+",'TrustIndCounter')></span></td></tr>"+				
						"</table>"+					
					"</td>"+				
				"</tr>");
		
		var newTable = document.getElementById("trustIndCompanyDetails");		
		var id= newTable.rows.length;

		document.getElementById("TrustIndCounter").value = id;				

		
		$("#ftrusteesIndividualsFirstName").val("");
		$("#ftrusteesIndividualsOtherNames").val("");
		$("#ftrusteesIndividualsLastNames").val("");		
		$("#ftrusteeUnitNo").val("");		
		$("#ftrusteeStreetNum").val("");		
		$("#ftrusteeStreetAdd").val("");		
		$("#ftrusteeSuburb").val("");					
		$("#ftrusteePostcode").val("");	
		$("#ftrusteesIndividualsFirstName").focus();

		if(id>0)
			$('#trustIndAndCompanyDiv').show();
		else
			$('#trustIndAndCompanyDiv').hide();
	});

		
	/* NEW - updated for trusts */
	$('input.ftcompShareHolders').change(function() { 
		if ($(this).val() == 'yes'){
			$("#trustShareholdersDiv").show();	
		}else if ($(this).val() == 'no'){
			$("#trustShareholdersDiv").hide();
			$("#trustShareholdersAddDiv").hide();			
		}
	});
	
	/* NEW - updated for trusts */
	$('#buttonShareHolderAdd').click(function() {
		
		var id = document.getElementById("TrustShareholderCounter").value;	
		if (id == "") {
			id = 0;		
		}
		if (id == 10){
			alert("Max shareholders to enter is 10.\nIf you need to add more then remove existing and then add new.");
			return;
		}
		
		var fname= jQuery.trim($("#ftshareHolderFirstName").val());
		var lname= jQuery.trim($("#ftshareHolderLastName").val());
		var oname= jQuery.trim($("#ftshareHolderOtherName").val());
		var unitNo = jQuery.trim($("#ftshareHolderUnitNo").val());
		var streetNum = jQuery.trim($("#ftshareHolderStreetNum").val());
		var streetAdd = jQuery.trim($("#ftshareHolderStreetAdd").val());
		var suburb = jQuery.trim($("#ftshareHolderSuburb").val());
		var state = jQuery.trim($("#ftshareHolderState").val());
		var postcode = jQuery.trim($("#ftshareHolderPostcode").val());
		var success= true;
		
		if(fname=="" || !(/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(fname)))
		{
			setErrorElem('ftshareHolderFirstName','Please enter the first name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
			success= false;
		}

		if(lname=="" || !( /^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(lname)))
		{
			setErrorElem('ftshareHolderLastName','Please enter the last name (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
			success= false;
		}
		
		if(oname!="")
		{
			if(!/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(oname))	
			{	
				setErrorElem('ftshareHolderOtherName','Please enter the other names (maximum 30 characters, only alphabetical, space and hyphen values allowed)');			
				success= false;
			}
		}
		
		if(unitNo!="" && !/^[a-zA-Z0-9]?[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(unitNo))
		{
			setErrorElem('ftshareHolderUnitNo','Please enter the unit number (maximum of 5 characters, only alphabetical, numerical,  space and hyphen values allowed)');			
			success= false;
		}

		if(streetNum=="" || !/^[a-zA-Z0-9]?[a-zA-Z0-9 -]*[a-zA-Z0-9 ]+$/.test(streetNum))
		{
			setErrorElem('ftshareHolderStreetNum','Please enter the street number (maximum of 10 characters, only alphabetical, space and hyphen values allowed)');			
			success= false;
		}
		if(streetAdd=="" || !/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(streetAdd))
		{
			setErrorElem('ftshareHolderStreetAdd','Please enter the street name (maximum of 30 characters, only alphabetical and space values allowed)');			
			success= false;
		}
		if(suburb=="" || !/^[a-zA-Z ]+$/.test(suburb))
		{
			setErrorElem('ftshareHolderSuburb','Please enter the suburb (maximum of 25 characters, only alphabetical and space values allowed)');			
			success= false;
		}
		if(state=="" || !/^[a-zA-Z]?[a-zA-Z- ]*[a-zA-Z ]+$/.test(state))
		{
			setErrorElem('ftshareHolderState','Please select the state');			
			success= false;
		}
		if(postcode=="" || !/\d{4}/.test(postcode))
		{
			setErrorElem('ftshareHolderPostcode','Please enter the postcode (exactly four numbers required)');			
			success= false;
		}
		
		/*There is error while getting user info so send false to return to page.*/
		if(!success)
			return false;
		//console.info("success"+success);
		var rowId= ""+new Date().getTime();
		$('#trustShareholdersAddDetails').append(
			"<tr id='"+rowId+"'>"+
				"<td style='border-top:1px solid black; padding-top:5px;'>"+
				"<div>"+
					"<label for=\"ftshareHolderFirstName\" class=\"fieldLabel\">First Name</label>"+
					"<input name=\"ftshFirstName[]\" id=\"ftshFirstName\" type=\"text\" value='"+fname+"' maxLength=\"30\" class='full noBorder' readonly='true'/>"+
					"<div class='clearLeft'></div>" +
				"</div>"+	
				"<div>"+
					"<label for='ftshOtherName' class='fieldLabel'>Other Names</label>"+
					"<input name='ftshOtherName[]' type='text' value='"+fillEmptyField(oname)+"' maxLength='30' class='full noBorder' readonly='true'/>"+					
					"<div class='clearLeft'></div>" +
				"</div>	<div>"+
					"<label for='ftshLastName' class='fieldLabel'>Last Name </label>"+
					"<input name='ftshLastName[]' type='text' value='"+lname+"' maxLength='30' class='full noBorder' readonly='true'/>"+					
					"<div class='clearLeft'></div>" +
				"</div>"+
				"<h2>Residential Address: </h2>"+
					"<div><label class='fieldLabel' for='ftshUnitNo'> Unit Number</label>"+
					"<input type='text' name='ftshUnitNo[]' id='ftshUnitNo' value='"+fillEmptyField(unitNo)+"' readonly='true' class='full noBorder' maxlength='5'>"+
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='ftshStreetNum'> Street Number</label>"+
					"<input type='text' name='ftshStreetNum[]' id='ftshStreetNum' value='"+streetNum+"' readonly='true' class='full noBorder' maxlength='10'>"+
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='ftshStreetAdd'> Street Name</label>"+
					"<input type='text' name='ftshStreetAdd[]' id='ftshStreetAdd' value='"+streetAdd+"' readonly='true' class='full noBorder' maxlength='25'>"+
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='ftshSuburb'> Suburb</label>"+
					"<input type='text' name='ftshSuburb[]' id='ftshSuburb' value='"+suburb+"' readonly='true' class='full noBorder' maxlength='25'>"+
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='ftshState'> State</label>"+
					"<input type='text' name='ftshState[]' id='ftshState' value='"+state+"' readonly='true' class='full noBorder' maxlength='5'>"+		
					"<div class='clearLeft'></div>" +
					"</div><div><label class='fieldLabel' for='ftshPostcode'> Post Code</label>"+
					"<input type='text' name='ftshPostcode[]' id='ftshPostcode' value='"+postcode+"' readonly='true' class='full noBorder' maxlength='4' size='4'>"+
					"<div class='clearLeft'></div>" +
					"</div>"+
				"<span class='remove'> <input type='button' id='shareholderRemove' class='remove' onclick=deleteRow('trustShareholdersAddDetails',"+rowId+",'TrustShareholderCounter')></span>"+				
				"</td>"+				
			"</tr>");
		
		var newTable = document.getElementById("trustShareholdersAddDetails");		
		var id= newTable.rows.length;
		document.getElementById("TrustShareholderCounter").value = id;				
		
		$("#ftshareHolderFirstName").val("");
		$("#ftshareHolderOtherName").val("");
		$("#ftshareHolderLastName").val("");
		$("#ftshareHolderUnitNo").val("");
		$("#ftshareHolderStreetNum").val("");
		$("#ftshareHolderStreetAdd").val("");
		$("#ftshareHolderSuburb").val("");
		$("#ftshareHolderPostcode").val("");
		$("#ftshareHolderFirstName").focus();
		if(id>0)
			$('#trustShareholdersAddDiv').show();
		else
			$('#trustShareholdersAddDiv').hide();		
	});	
		

	
	function setErrorElem(errorElem, errorMessage) {
		/*errorElem.html(errorMessage);
		errorElem.show();
		alert($("label[for='"+errorElem+"']").text());
		$('<label class="error addError" generated="true" for="'+errorElem+'">'+errorMessage+'</label>').insertAfter($('#'+errorElem));*/

		var $labErr= $("#"+errorElem).next("label"); //$("label[for='"+errorElem+"']");		
		$labErr.html(errorMessage);
		$labErr.show();
		
	}
	function hideErrorElem(errorElem) {
		/*errorElem.html(errorMessage);
		errorElem.show();*/
		/*$('<label class="error addError" generated="true" for="'+errorElem+'">'+errorMessage+'</label>').insertAfter($('#'+errorElem));*/
		var labErr= $("#"+errorElem).next("label");
		labErr.html('');
		labErr.hide();
	}

	function isFieldValid(element, value, action, message){

		if(value=="" && action=="opt")
		{
			return true;
		}

		if (value=="" && action=="req")
		{
			setErrorElem(element,message);			
			return false;
		}
			
		return true;
	}
	
	function fillEmptyField(fieldValue){
		
		if(fieldValue===undefined || fieldValue===null || fieldValue.length ===0)
			return "-";
		else 
			return fieldValue;
	}
	$('#membershipClasses').keyup(function(){ 
	
         //get the limit from maxlength attribute  
         var limit = parseInt($(this).attr('maxlength'));  
         //get the current text inside the textarea  
         var text = $(this).val();  
         //count the number of characters in the text  
         var chars = text.length;  
   
         //check if there are more characters then allowed  
         if(chars > limit){  
             //and if there are use substr to get the text before the limit  
             var new_text = text.substr(0, limit);  
   
           //and change the current text with the new text  
             $(this).val(new_text);  
         }  
     });  

});	
