PageSourceSearch

https://www.companywarehouse.com.au/Content/scripts/formscript.js?v=0.02

js companywarehouse.com.au collected 2026-10-07 00:38:10 UTC 77,499 bytes, 1,554 lines download raw bytes

1ko.subscribable.fn.trimmed = function () {
2    return ko.computed({
3        read: function () {
4            //return this().trim();
5            return this();
6        },
7        write: function (value) {
8            this(value.trim());
9            this.valueHasMutated();
10        },
11        owner: this
12    }).extend({ notify: 'always' });
13};
14
15ko.validation.init({
16    grouping: {
17        deep: true,
18        live: true,
19        observable: true
20    }
21}, true);
22
23ko.validation.rules['checked'] = {
24    validator: function (value) {
25        if (!value) {
26            return false;
27        }
28        return true;
29    }
30};
31
32ko.validation.registerExtenders();
33
34window.onload = function () {
35    initialize();
36    var applicantdetails = function (fname, lname, email, ps, phone, Tuser) {
37        this.firstname = ko.observable(fname).extend({
38            required: true
39        });;
40        this.lastname = ko.observable(lname).extend({
41            required: true
42        });;
43        this.email = ko.observable(email).extend({
44            required: true,
45            email: true
46        });;
47        this.pass = ko.observable(ps).extend({
48            required: true
49        });;
50        this.phone = ko.observable(phone).extend({
51            required: true,
52            phone: true
53        });;
54        this.Tuser = ko.observable(Tuser).extend({
55            required: true
56        });;
57    };
58
59    var companydetails = function (companyName, reserve, companyABN, purpose, companyuse, state, declaration, trustname, ABN, TFN, trustaddress, trustcountry, tid, AcnasName, UlimateHoldingCompany, ucompanyname, acnarbnabn, countryIcor,isproposeidentical,proposeidentical_before28may
60        ,proposeidentical_after28may , proposeidentical_before28may_previousbusinessno1, proposeidentical_before28may_previousstateteritory1, proposeidentical_after28may_abnnumber, proposeidentical_before28may_previousbusinessno2, proposeidentical_before28may_previousstateteritory2, proposeidentical_before28may_previousbusinessno3
61        , proposeidentical_before28may_previousstateteritory3, proposeidentical_before28may_previousbusinessno4, proposeidentical_before28may_previousstateteritory4, proposeidentical_before28may_previousbusinessno5, proposeidentical_before28may_previousstateteritory5, proposeidentical_before28may_previousbusinessno6, proposeidentical_before28may_previousstateteritory6
62        , proposeidentical_before28may_previousbusinessno7, proposeidentical_before28may_previousstateteritory7, proposeidentical_before28may_previousbusinessno8, proposeidentical_before28may_previousstateteritory8, proposeidentical_before28may_totalstate) {
63        var s = this;
64        s.companyName = ko.observable(companyName).extend({
65            required: true
66        });;
67        s.tid = ko.observable(tid);
68        s.AcnasName = ko.observable(AcnasName);
69        s.reserve = ko.observable(reserve);
70        s.companyabnpnl = ko.observable(false);
71        s.companyABN = ko.observable(companyABN).extend({
72            required: {
73                onlyIf: function () { return s.reserve() === "yes" }
74            }
75        });;
76        s.purpose = ko.observable(purpose).extend({
77            required: true
78        });;
79        s.companyuse = ko.observable(companyuse).extend({
80            required: true
81        });;
82        s.state = ko.observable(state).extend({
83            required: true
84        });;
85        s.declaration = ko.observable(declaration).extend({
86            required: {
87                message: 'Declaration required !',
88                onlyIf: function () { return s.companyuse() === "smsf" },
89                param: true
90            }
91        });;
92        s.trustname = ko.observable(trustname);
93        s.ABN = ko.observable(ABN);
94        s.TFN = ko.observable(TFN);
95        s.trustaddress = ko.observable(trustaddress);
96        s.trustcountry = ko.observable("");
97        s.UlimateHoldingCompany = ko.observable(UlimateHoldingCompany);
98        s.ucompanyname = ko.observable(ucompanyname);
99        s.acnarbnabn = ko.observable(acnarbnabn);
100        s.countryIcor = ko.observable(countryIcor);
101
102        s.isproposeidentical = ko.observable(isproposeidentical);
103        s.proposeidentical_before28may = ko.observable(proposeidentical_before28may);
104        s.proposeidentical_after28may = ko.observable(proposeidentical_after28may);
105
106        s.proposeidentical_before28may_previousbusinessno1 = ko.observable(proposeidentical_before28may_previousbusinessno1);
107        s.proposeidentical_before28may_previousstateteritory1 = ko.observable(proposeidentical_before28may_previousstateteritory1);
108        s.proposeidentical_after28may_abnnumber = ko.observable(proposeidentical_after28may_abnnumber);
109        s.proposeidentical_before28may_previousbusinessno2 = ko.observable(proposeidentical_before28may_previousbusinessno2);
110        s.proposeidentical_before28may_previousstateteritory2 = ko.observable(proposeidentical_before28may_previousstateteritory2);
111        s.proposeidentical_before28may_previousbusinessno3 = ko.observable(proposeidentical_before28may_previousbusinessno3);
112        s.proposeidentical_before28may_previousstateteritory3 = ko.observable(proposeidentical_before28may_previousstateteritory3);
113        s.proposeidentical_before28may_previousbusinessno4 = ko.observable(proposeidentical_before28may_previousbusinessno4);
114        s.proposeidentical_before28may_previousstateteritory4 = ko.observable(proposeidentical_before28may_previousstateteritory4);
115        s.proposeidentical_before28may_previousbusinessno5 = ko.observable(proposeidentical_before28may_previousbusinessno5);
116        s.proposeidentical_before28may_previousstateteritory5 = ko.observable(proposeidentical_before28may_previousstateteritory5);
117        s.proposeidentical_before28may_previousbusinessno6 = ko.observable(proposeidentical_before28may_previousbusinessno6);
118        s.proposeidentical_before28may_previousstateteritory6 = ko.observable(proposeidentical_before28may_previousstateteritory6);
119        s.proposeidentical_before28may_previousbusinessno7 = ko.observable(proposeidentical_before28may_previousbusinessno7);
120        s.proposeidentical_before28may_previousstateteritory7 = ko.observable(proposeidentical_before28may_previousstateteritory7);
121        s.proposeidentical_before28may_previousbusinessno8 = ko.observable(proposeidentical_before28may_previousbusinessno8);
122        s.proposeidentical_before28may_previousstateteritory8 = ko.observable(proposeidentical_before28may_previousstateteritory8);
123        s.proposeidentical_before28may_totalstate = ko.observable(proposeidentical_before28may_totalstate);
124     
125    };
126
127    var companyaddressdetails = function (id, unit, street, state, suburb, postcode, sameadd) {
128        this.id = ko.observable(id);
129        this.unit = ko.observable(unit);
130        this.street = ko.observable(street).extend({
131            required: true
132        });;
133        this.state = ko.observable(state).extend({
134            required: true
135        });;
136        this.suburb = ko.observable(suburb).extend({
137            required: true
138        });;
139        this.postcode = ko.observable(postcode).extend({
140            required: true
141        });;
142        this.sameadd = ko.observable(sameadd);
143    };
144
145    var companyDiretors = function (id, designation, fname, mname, lname, dobday, dobmonth, dobyear, country, state, city, address, dirunit, dirstreet, dirsuburb, dirpostcode, dirstate, dircountry,isdirector,issecretary,isholdshare) {
146        var p = this;
147        p.id = ko.observable(id);
148        //if (designation == "") {
149        //    designation = "director";
150        //}
151        p.designation = ko.observable(designation).extend({
152            required: true
153        });
154        p.fname = ko.observable(fname).extend({
155            required: true,
156            minLength: 2
157        });
158        p.mname = ko.observable(mname);
159        p.lname = ko.observable(lname).extend({
160            required: true,
161            minLength: 2
162        });
163        p.dobday = ko.observable(dobday).extend({
164            required: true
165        });
166        p.dobmonth = ko.observable(dobmonth).extend({
167            required: true
168        });
169        p.dobyear = ko.observable(dobyear).extend({
170            required: true
171        });
172        p.country = ko.observable(country).extend({
173            required: true
174        });
175        p.state = ko.observable(state).extend({
176            required: true
177        });
178        //by praveen
179        //p.state = ko.observable(state).extend({
180        //    required: {
181        //        onlyIf: function () { return p.country() === "Australia"; },
182        //        param: true
183        //    }
184        //});
185        //p.stateraw = ko.observable(state).trimmed().extend({
186        //    required: {
187        //        onlyIf: function () { return p.country() !== "Australia"; },
188        //        param: true
189        //    }
190        //});
191
192        //p.stateraw = ko.observable(state).trimmed();
193
194        p.city = ko.observable(city).extend({
195            required: {
196                onlyIf: function () { return p.state() !== "NA"; },
197                param: true
198            },
199            maxLength: 25
200        });
201        p.address = ko.observable(address);
202
203        p.dirunit = ko.observable(dirunit);
204
205        p.dirstreet = ko.observable(dirstreet).extend({
206            required: true
207        });
208        p.dirsuburb = ko.observable(dirsuburb).extend({
209            required: true
210        });
211        p.dirpostcode = ko.observable(dirpostcode);
212        //by praveen
213        //p.dirpostcode = ko.observable(dirpostcode).extend({
214        //    required: true
215        //});
216        p.dirstate = ko.observable(dirstate).extend({
217            required: true
218        });
219        p.dircountry = ko.observable(dircountry).extend({
220            required: true
221        });
222        p.isdirector = ko.observable(isdirector).extend({
223            required: true
224        });
225        p.issecretary = ko.observable(issecretary).extend({
226            required: true
227        });
228        var tf = "True";
229        if (isholdshare == "False") {
230            tf = "False";
231        }
232        else { tf = "True"; }
233        p.isholdshare = ko.observable(tf).extend({
234            required: true
235        });
236        return p;
237    };
238
239    var shareAllocation = function (id, dirname, did, shareOwner, shareType, noOfshare, shareAmount, shareoption, sharedetailsnotheldanotherorg, isheldanotherorg) {
240        var a = this;
241        a.Id = ko.observable(id);
242        a.did = ko.observable(did);
243        a.dirName = ko.observable(dirname);
244        a.shareType = ko.observable(shareType).extend({ required: true });
245        a.noOfshare = ko.observable(noOfshare).extend({ required: true, number: true });
246        a.shareAmount = ko.observable(shareAmount).extend({ required: true, number: true });
247        //a.rdocheck = ko.observable("true");
248        var tf = "true";
249        if (isheldanotherorg == "yes") {
250            tf = "true";
251        }
252        else { tf = "false"; }
253        a.rdocheck = ko.observable(tf);        
254        a.shareoption = ko.observable(shareoption);        
255        //a.rdocheck1 = ko.observable("true"); //update on 24-april-2017
256        a.shareOwnerName = ko.observable(shareOwner); //.extend({ required: { onlyIf: function () { return a.rdocheck() === "true" } } });
257        a.sharedetailsnotheldanotherorg = ko.observable(sharedetailsnotheldanotherorg); //.extend({ required: { onlyIf: function () { return a.rdocheck() === "false" } } });
258        
259        return a;
260    };
261
262    var IndivisualshareAllocation = function (id, rdocompORind, fullname, ind_dobday, ind_dobmonth, ind_dobyear, placeofbirth, indunit, indstreet, indsuburb, indstate, indcountry, indpostcode, shareOwner, shareType, noOfshare, shareAmount, share_compORtrt, share_compORtrtname, abn, compunit, compstreet, compsuburb, compstate, compcountry, comppostcode, compshareType, compnoOfshare, compshareAmount, compshareOwner, isheldanotherorg) {
263        var ind = this;
264        ind.Id = ko.observable(id);
265        // ind.rdocompORindd = ko.observable("yes");
266        //ind.sharedirectorsCounter = ko.observable(sharedirectorsCounter);
267        ind.rdshare_individual = ko.observable(rdocompORind);
268
269        ind.share_indname = ko.observable(fullname).extend({
270            required: true,
271            minLength: 2
272        });
273        //ind.ind_dobday = ko.observable(ind_dobday).extend({
274        //    required: true
275        //});
276        ind.ind_dobday = ko.observable(ind_dobday);
277        //ind.ind_dobmonth = ko.observable(ind_dobmonth).extend({
278        //    required: true
279        //});
280        ind.ind_dobmonth = ko.observable(ind_dobmonth);
281        //ind.ind_dobyear = ko.observable(ind_dobyear).extend({
282        //    required: true
283        //});
284        ind.ind_dobyear = ko.observable(ind_dobyear);
285        //ind.share_placeofbirth = ko.observable(placeofbirth).extend({
286        //    required: true,
287        //    maxLength: 25
288        //});;
289        ind.share_placeofbirth = ko.observable(placeofbirth);
290
291        ind.shareaddunit = ko.observable(indunit);
292
293        ind.shareaddstreet = ko.observable(indstreet).extend({
294            required: true
295        });
296        ind.shareaddsuburb = ko.observable(indsuburb).extend({
297            required: true
298        });
299
300        ind.ddshareaddstate = ko.observable(indstate).extend({
301            required: true
302        });
303        ind.ddshareaddcountry = ko.observable(indcountry).extend({
304            required: true
305        });
306        ind.shareaddpostcode = ko.observable(indpostcode).extend({
307            required: true
308        });
309        ind.share_sharetype = ko.observable(shareType).extend({
310            required: true
311        });
312        ind.share_noofshare = ko.observable(noOfshare).extend({
313            required: true, number: true
314        });
315        ind.share_amountopaidshare = ko.observable(shareAmount).extend({
316            required: true, number: true
317        });
318
319        ind.share_indshareownername = ko.observable(shareOwner).extend({
320            required: true
321        });
322        var tfind = "true";
323        if (isheldanotherorg == "yes") {
324            tfind = "true";
325        }
326        else { tfind = "false"; }
327        ind.rdocheckind = ko.observable(tfind);
328        // ind.share_compORtrt = ko.observable(share_compORtrt);
329        ind.share_compORtrtname = ko.observable(share_compORtrtname);
330        ind.share_compORtrtABN = ko.observable(abn);
331
332        ind.sharecompunit = ko.observable(compunit);
333        ind.sharecompstreet = ko.observable(compstreet);
334        ind.sharecompsuburb = ko.observable(compsuburb);
335        ind.ddsharecompstate = ko.observable(compstate);
336        ind.ddsharecompcountry = ko.observable(compcountry);
337
338        ind.sharecomppostcode = ko.observable(comppostcode);
339
340        ind.share_compsharetype = ko.observable(compshareType);
341        ind.share_noofcompshare = ko.observable(compnoOfshare);
342        ind.share_amountopaidcompshare = ko.observable(compshareAmount);
343        var tfcomp = "true";
344        if (isheldanotherorg == "yes") {
345            tfcomp = "true";
346        }
347        else { tfcomp = "false"; }
348        ind.rdocheckcomp = ko.observable(tfcomp);
349        
350        ind.share_compshareownername = ko.observable(compshareOwner);
351
352        return ind;
353    };
354
355    var companyshareAllocation = function (id, share_compORtrt, share_compORtrtname, abn, compunit, compstreet, compsuburb, compstate, compcountry, comppostcode, compshareType, compnoOfshare, compshareAmount, compshareOwner,
356        rdocompORind, fullname, ind_dobday, ind_dobmonth, ind_dobyear, placeofbirth, indunit, indstreet, indsuburb, indstate, indcountry, indpostcode, shareOwner, shareType, noOfshare, shareAmount, isheldanotherorg) {
357        var comp = this;
358        comp.Id = ko.observable(id);
359        //comp.sharedirectorsCounter = ko.observable(sharedirectorsCounter);
360        comp.rdshare_individual = ko.observable(share_compORtrt).extend({
361            required: true
362        });
363        comp.share_compORtrtname = ko.observable(share_compORtrtname).extend({
364            required: true, minLength: 4
365        });
366        comp.share_compORtrtABN = ko.observable(abn).extend({
367            required: true,
368            maxLength: 10
369        });
370        comp.sharecompunit = ko.observable(compunit);
371
372        comp.sharecompstreet = ko.observable(compstreet).extend({
373            required: true
374        });
375        comp.sharecompsuburb = ko.observable(compsuburb).extend({
376            required: true
377        });
378
379        comp.ddsharecompstate = ko.observable(compstate).extend({
380            required: true
381        });;
382        comp.ddsharecompcountry = ko.observable(compcountry).extend({
383            required: true
384        });
385        comp.sharecomppostcode = ko.observable(comppostcode).extend({
386            required: true
387        });
388        comp.share_compsharetype = ko.observable(compshareType).extend({
389            required: true
390        });
391        comp.share_noofcompshare = ko.observable(compnoOfshare).extend({
392            required: true, number: true
393        });
394        comp.share_amountopaidcompshare = ko.observable(compshareAmount).extend({
395            required: true, number: true
396        });
397        var tfcomp = "true";
398        if (isheldanotherorg == "yes") {
399            tfcomp = "true";
400        }
401        else { tfcomp = "false"; }
402        comp.rdocheckcomp = ko.observable(tfcomp);
403        comp.share_compshareownername = ko.observable(compshareOwner).extend({
404            required: true
405        });
406
407        //  comp.rdocompORind = ko.observable(rdocompORind);
408        comp.share_indname = ko.observable(fullname);
409        comp.ind_dobday = ko.observable(ind_dobday);
410        comp.ind_dobmonth = ko.observable(ind_dobmonth);
411        comp.ind_dobyear = ko.observable(ind_dobyear);
412        comp.share_placeofbirth = ko.observable(placeofbirth);
413        comp.shareaddunit = ko.observable(indunit);
414        comp.shareaddstreet = ko.observable(indstreet);
415        comp.shareaddsuburb = ko.observable(indsuburb);
416        comp.ddshareaddstate = ko.observable(indstate);
417        comp.ddshareaddcountry = ko.observable(indcountry);
418        comp.shareaddpostcode = ko.observable(indpostcode);
419        comp.share_sharetype = ko.observable(shareType);
420        comp.share_noofshare = ko.observable(noOfshare);
421        comp.share_amountopaidshare = ko.observable(shareAmount);
422        var tfind = "true";
423        if (isheldanotherorg == "yes") {
424            tfind = "true";
425        }
426        else { tfind = "false"; }
427        comp.rdocheckind = ko.observable(tfind);
428        comp.share_indshareownername = ko.observable(shareOwner);
429
430        return comp;
431    };
432
433    // update on April 23 2018
434    var companyNonDiraddressdetails = function (id, unit, street, state, suburb, postcode, sameadd) {
435        this.id = ko.observable(id);
436        this.unit = ko.observable(unit);
437        this.street = ko.observable(street).extend({
438            required: true
439        });
440        this.state = ko.observable(state).extend({
441            required: true
442        });
443        this.suburb = ko.observable(suburb).extend({
444            required: true
445        });
446        this.postcode = ko.observable(postcode).extend({
447            required: true
448        });
449        this.sameadd = ko.observable(sameadd);
450    };
451
452    function binndviews() {
453        var self = this;
454
455        self.ajxproc = ko.observable(false);
456        self.applicant = ko.observableArray();
457        self.company = ko.observableArray();
458        self.companyAddress = ko.observableArray();
459        self.companyPrincipalAddress = ko.observableArray();
460        //self.companyNonDiraddressdetails = ko.observableArray();  
461        self.pnlshowultimate = ko.observable(false);
462        self.paddpnl = ko.observable(false);
463        self.saddpnl = ko.observable(false);
464        self.ndaddpnl = ko.observable(false);
465        self.caddpnl1 = ko.observable(true);
466        self.caddpnl2 = ko.observable(false);
467        //self.paddpnlnd = ko.observable(false); 
468        self.directors = ko.observableArray();
469        self.shares = ko.observableArray();
470        self.share_another = ko.observableArray();  
471        self.directorsCounter = ko.observable("1");
472        self.sharedirectorsCounter = ko.observable("0"); 
473        self.directorformerrors = ko.observableArray();
474        self.principleadderror = ko.observableArray();
475        self.tabbing = ko.observable("0");
476        self.txtAutocomplete1 = ko.observable("0");
477        self.resultbinded = ko.observable(false);
478
479        self.resclass = ko.observable("");
480        self.stats = ko.observable("");
481        self.desc = ko.observable("");
482        self.estatus = ko.observable(false);
483        self.rdonewshare = ko.observable("no");
484        self.rdogovcheck = ko.observable("no");
485        self.rdshare_individual = ko.observable("yes"); 
486        //self.namuna = ko.observable(false);
487
488        self.someBoolProperty = ko.observable(false);
489
490        //self.ssss = function (e) {
491        //    if (e.UlimateHoldingCompany)
492        //    {
493        //        self.namuna(false);
494        //    }
495        //    else
496        //    {
497        //        self.namuna(true);
498        //    }
499        //    return true;
500        //}   
501        self.someBoolProperty.subscribe(function (newValue) {
502            if (newValue) {
503                // do whatever you want to do for checked checkbox
504                self.pnlshowultimate(true);
505            } else {
506                // unchecked
507                self.pnlshowultimate(false);
508            }
509        }, self);
510        //self.uhctoggle = function (e) {
511        //    if (e == 'yes') {
512        //        alert("Test1");
513        //       //self.pnlshowultimate = true;
514        //       self.pnlshowultimate(true);
515        //    } else {
516        //        alert("Test2");
517        //       // self.pnlshowultimate = false;
518        //       self.pnlshowultimate(false);
519        //    }
520        //}
521
522        self.patoggle = function (e) {
523            if (e == 'no') {
524                self.paddpnl(true);
525            } else {
526                self.paddpnl(false);
527            }
528        };
529
530        self.satoggle = function (e) {
531            if (e == 'no') {
532                self.saddpnl(false);
533            } else {
534                self.saddpnl(true);
535            }
536        };
537
538        self.ctoggle = function (e) {  // update 22 may 2018
539            if (e == 'no') {
540                self.caddpnl1(false);
541                self.caddpnl2(true);
542            } else {
543                self.caddpnl1(true);
544                self.caddpnl2(false);
545            }
546        };
547
548        // init form data
549        self.applicant(new applicantdetails(user.fname, user.lname, user.email, "", user.phone, user.Tuser));
550        //self.directors([new companyDiretors("", "", "", "", "", "", "", "", "")]);
551        //self.shares([new shareAllocation("", "", "", "")]);
552        // init data end
553
554        // applicant detail
555        self.applicantsubmit = function (f) {
556            self.applicantformerror = ko.validation.group(self.applicant(), {
557                deep: true
558            });
559
560            if (self.applicantformerror().length !== 0) {
561                self.applicantformerror.showAllMessages();
562            } else {
563                return true;
564            }
565        }
566        // applicant detail end
567
568        //company details
569
570        self.fetchCompany = function () {
571            var cn = document.getElementById('hdncname').value;
572            //alert(cn);
573            $.ajax({
574                type: "GET",
575                beforeSend: function () { self.ajxproc(true); },
576                complete: function () { self.ajxproc(false); },
577                url: "/api/SiteApi/GetCompanyDetails/",
578                contentType: "application/json",
579                success: function (d) {
580                    if (d.msg === "success") {
581                        var c = d.company;
582                        self.company([new companydetails(
583                            c.companyName, c.isNameReserve ? "yes" : "no", c.abn,
584                            c.companyPurpose, c.UseOfCompany, c.regState, c.decl,
585                            c.trustName, c.trustAbn, c.trustTfn, c.trustAddress,
586                            c.trustCountry, c.tid, c.AcnasName, c.UlimateHoldingCompany, c.ucompanyname, c.acnarbnabn, c.countryIcor, c.isproposeidentical, c.proposeidentical_before28may, c.proposeidentical_after28may,
587                            c.proposeidentical_before28may_previousbusinessno1, c.proposeidentical_before28may_previousstateteritory1, c.proposeidentical_after28may_abnnumber, c.proposeidentical_before28may_previousbusinessno2,
588                            c.proposeidentical_before28may_previousstateteritory2, c.proposeidentical_before28may_previousbusinessno3, c.proposeidentical_before28may_previousstateteritory3, c.proposeidentical_before28may_previousbusinessno4,
589                            c.proposeidentical_before28may_previousstateteritory4, c.proposeidentical_before28may_previousbusinessno4, c.proposeidentical_before28may_previousstateteritory5, c.proposeidentical_before28may_previousbusinessno6,
590                            c.proposeidentical_before28may_previousstateteritory6, c.proposeidentical_before28may_previousbusinessno7, c.proposeidentical_before28may_previousstateteritory7, c.proposeidentical_before28may_previousbusinessno8,
591                            c.proposeidentical_before28may_previousstateteritory8, c.proposeidentical_before28may_totalstate)]);
592                        if (c.UlimateHoldingCompany === "true" || c.UlimateHoldingCompany === "True") { self.someBoolProperty(true); self.pnlshowultimate(true); }
593                        else { self.pnlshowultimate(false); }
594                    } else if (d.msg === "null") {
595                        self.company([new companydetails(cn, "no", "", "", "", "", "true", "", "", "", "", "", 0, true, false, "", "", "","no","no","no","","","","","","","","","","","","","","","","","","0")]);
596                        self.pnlshowultimate(false);
597                    } else {
598                        toastr.error("Error occurred on server, please try again.");
599                    }
600                    self.tabbing(2);
601                    if (d.msg === "success" || d.msg === "null") {
602                        $.ajax({
603                            type: "GET",
604                            beforeSend: function () { self.ajxproc(true); },
605                            complete: function () { self.ajxproc(false); },
606                            url: "/api/SiteApi/GetCompanyAddress/",
607                            contentType: "application/json",
608                            success: function (d) {
609                                if (d.msg == "success") {
610                                    var a = d.regadd;
611                                    var p = d.principleadd;
612                                    if (a.sameadd == "no") {
613                                        self.paddpnl(true);
614                                    }
615                                    else {
616                                        self.paddpnl(false);
617                                    }
618
619                                    self.companyAddress(new companyaddressdetails(a.id, a.unit, a.street, a.state, a.suburb, a.postcode, a.sameadd));
620                                    self.companyPrincipalAddress(new companyaddressdetails(p.id, p.unit, p.street, p.state, p.suburb, p.postcode, ""));
621                                } else if (d.msg == "null") {
622                                    self.companyAddress(new companyaddressdetails(0, "", "", "", "", "", "yes"));
623                                    self.companyPrincipalAddress(new companyaddressdetails(0, "", "", "", "", "", "yes"));
624                                } else {
625                                    toastr.error("Error occured on server, please try again.");
626                                }
627                                self.tabbing(2);
628                            },
629                            error: function () {
630                                toastr.error("Server error");
631                            }
632                        });
633                    }
634                },
635                error: function () {
636                    toastr.error("Server error");
637                }
638            });
639        };
640
641        self.companysubmit = function (f) {
642            self.companyformerror = ko.validation.group(self.company(), {
643                deep: true
644            });
645
646            //console.log(self.companyformerror().length);
647            if (self.companyformerror().length !== 0) {
648                self.companyformerror.showAllMessages();
649            } else {
650                var c = self.company()[0];
651                var dt = JSON.stringify({
652                    companyName: c.companyName(),
653                    isNameReserve: c.reserve() === "yes",
654                    abn: c.companyABN(),
655                    companyPurpose: c.purpose(),
656                    UseOfCompany: c.companyuse(),
657                    regState: c.state(),
658                    decl: c.declaration(),
659                    trustName: c.trustname(),
660                    trustAbn: c.ABN(),
661                    trustTfn: c.TFN(),
662                    trustAddress: c.trustaddress(),
663                    trustCountry: c.trustcountry(),
664                    AcnasName: c.AcnasName(),
665                    UlimateHoldingCompany: c.UlimateHoldingCompany(),
666                    ucompanyname: c.ucompanyname(),
667                    acnarbnabn: c.acnarbnabn(),
668                    countryIcor: c.countryIcor(),
669
670                    isproposeidentical : c.isproposeidentical(),
671                    proposeidentical_before28may : c.proposeidentical_before28may(),
672                    proposeidentical_after28may : c.proposeidentical_after28may(),
673
674                    proposeidentical_before28may_previousbusinessno1 : c.proposeidentical_before28may_previousbusinessno1(),
675                    proposeidentical_before28may_previousstateteritory1 : c.proposeidentical_before28may_previousstateteritory1(),
676                    proposeidentical_after28may_abnnumber : c.proposeidentical_after28may_abnnumber(),
677                    proposeidentical_before28may_previousbusinessno2 : c.proposeidentical_before28may_previousbusinessno2(),
678                    proposeidentical_before28may_previousstateteritory2 : c.proposeidentical_before28may_previousstateteritory2(),
679                    proposeidentical_before28may_previousbusinessno3 : c.proposeidentical_before28may_previousbusinessno3(),
680                    proposeidentical_before28may_previousstateteritory3 : c.proposeidentical_before28may_previousstateteritory3(),
681                    proposeidentical_before28may_previousbusinessno4 : c.proposeidentical_before28may_previousbusinessno4(),
682                    proposeidentical_before28may_previousstateteritory4 : c.proposeidentical_before28may_previousstateteritory4(),
683                    proposeidentical_before28may_previousbusinessno5 : c.proposeidentical_before28may_previousbusinessno5(),
684                    proposeidentical_before28may_previousstateteritory5 : c.proposeidentical_before28may_previousstateteritory5(),
685                    proposeidentical_before28may_previousbusinessno6 : c.proposeidentical_before28may_previousbusinessno6(),
686                    proposeidentical_before28may_previousstateteritory6 : c.proposeidentical_before28may_previousstateteritory6(),
687                    proposeidentical_before28may_previousbusinessno7 : c.proposeidentical_before28may_previousbusinessno7(),
688                    proposeidentical_before28may_previousstateteritory7 : c.proposeidentical_before28may_previousstateteritory7(),
689                    proposeidentical_before28may_previousbusinessno8 : c.proposeidentical_before28may_previousbusinessno8(),
690                    proposeidentical_before28may_previousstateteritory8 : c.proposeidentical_before28may_previousstateteritory8(),
691                    proposeidentical_before28may_totalstate : c.proposeidentical_before28may_totalstate()
692
693                });
694
695                $.ajax({
696                    type: "POST",
697                    beforeSend: function () { self.ajxproc(true); },
698                    complete: function () { self.ajxproc(false); },
699                    url: "/api/SiteApi/AddCompany/",
700                    data: dt,
701                    contentType: "application/json",
702                    success: function (d) {
703                        if (d.msg == "success") {
704                            //toastr.success("Company added successfully");
705                            ////self.toggletab("3");
706
707                            //company address detail
708                            var isvalid = false;
709                            self.companyaddformerror = ko.validation.group(self.companyAddress(), {
710                                deep: true
711                            });
712                            self.principleadderror = ko.validation.group(self.companyPrincipalAddress(), {
713                                deep: true
714                            });
715                            if (self.companyaddformerror().length !== 0) {
716                                isvalid = false;
717                                self.companyaddformerror.showAllMessages();
718                            } else {
719                                isvalid = true;
720                            }
721
722                            if (document.getElementById('rdosamecompadd2').checked) {
723                                if (self.principleadderror().length !== 0) {
724                                    isvalid = false;
725                                    self.principleadderror.showAllMessages();
726                                } else {
727                                    isvalid = true;
728                                }
729                            }
730                            if (isvalid) {
731                                var a = self.companyAddress();
732                                var p = self.companyAddress().sameadd() == "yes" ? self.companyAddress() : self.companyPrincipalAddress();
733
734                                var dt = JSON.stringify([{
735                                    id: $.trim(a.id()),
736                                    unit: $.trim(a.unit()),
737                                    street: $.trim(a.street()),
738                                    state: $.trim(a.state()),
739                                    suburb: $.trim(a.suburb()),
740                                    postcode: $.trim(a.postcode()),
741                                    type: 'r',
742                                    sameadd: self.companyAddress().sameadd(),
743                                }, {
744                                    id: $.trim(p.id()),
745                                    unit: $.trim(p.unit()),
746                                    street: $.trim(p.street()),
747                                    state: $.trim(p.state()),
748                                    suburb: $.trim(p.suburb()),
749                                    postcode: $.trim(p.postcode()),
750                                    type: 'p',
751                                    sameadd: self.companyAddress().sameadd(),
752                                }]);
753
754                                $.ajax({
755                                    type: "POST",
756                                    beforeSend: function () { self.ajxproc(true); },
757                                    complete: function () { self.ajxproc(false); },
758                                    url: "/api/SiteApi/addcompanyaddress/",
759                                    data: dt,
760                                    contentType: "application/json",
761                                    success: function (d) {
762                                        if (d.msg == "success") {
763                                            //toastr.success("Company address added successfully");
764                                            ////self.toggletab(4);
765                                            toastr.success("Company added successfully");
766                                            self.toggletab("4");
767                                            $(window).scrollTop(0);
768                                        }
769                                        else if (d.msg == "Address not found") {
770                                            toastr.error("Address not found.");
771                                        }
772                                        else {
773                                            toastr.error("Error occured on server, please try again.");
774                                        }
775                                    },
776                                    error: function () {
777                                        toastr.error("Server error");
778                                    }
779                                });
780                            }
781                            //company address detail end
782
783                            
784                        } else {
785                            toastr.error("Error occured on server, please try again.");
786                        }
787                    },
788                    error: function () {
789                        toastr.error("Server error");
790                    }
791                });
792            }
793        };
794        //company detail end
795
796        //company address detail
797        self.fetchAddress = function () {
798            $.ajax({
799                type: "GET",
800                beforeSend: function () { self.ajxproc(true); },
801                complete: function () { self.ajxproc(false); },
802                url: "/api/SiteApi/GetCompanyAddress/",
803                contentType: "application/json",
804                success: function (d) {
805                    if (d.msg == "success") {
806                        var a = d.regadd;
807                        var p = d.principleadd;
808                        if (a.sameadd == "no") {
809                            self.paddpnl(true);
810                        }
811                        else {
812                            self.paddpnl(false);
813                        }
814
815                        self.companyAddress(new companyaddressdetails(a.id, a.unit, a.street, a.state, a.suburb, a.postcode, a.sameadd));
816                        self.companyPrincipalAddress(new companyaddressdetails(p.id, p.unit, p.street, p.state, p.suburb, p.postcode, ""));
817                    } else if (d.msg == "null") {
818                        self.companyAddress(new companyaddressdetails(0, "", "", "", "", "", "yes"));
819                        self.companyPrincipalAddress(new companyaddressdetails(0, "", "", "", "", "", "yes"));
820                    } else {
821                        toastr.error("Error occured on server, please try again.");
822                    }
823                    self.tabbing(3);
824                },
825                error: function () {
826                    toastr.error("Server error");
827                }
828            });
829        };
830
831        self.companyaddsubmit = function () {
832            var isvalid = false;
833            self.companyaddformerror = ko.validation.group(self.companyAddress(), {
834                deep: true
835            });
836            self.principleadderror = ko.validation.group(self.companyPrincipalAddress(), {
837                deep: true
838            });
839            if (self.companyaddformerror().length !== 0) {
840                isvalid = false;
841                self.companyaddformerror.showAllMessages();
842            } else {
843                isvalid = true;
844            }
845
846            if (document.getElementById('rdosamecompadd2').checked) {
847                if (self.principleadderror().length !== 0) {
848                    isvalid = false;
849                    self.principleadderror.showAllMessages();
850                } else {
851                    isvalid = true;
852                }
853            }
854            if (isvalid) {
855                var a = self.companyAddress();
856                var p = self.companyAddress().sameadd() == "yes" ? self.companyAddress() : self.companyPrincipalAddress();
857
858                var dt = JSON.stringify([{
859                    id: $.trim(a.id()),
860                    unit: $.trim(a.unit()),
861                    street: $.trim(a.street()),
862                    state: $.trim(a.state()),
863                    suburb: $.trim(a.suburb()),
864                    postcode: $.trim(a.postcode()),
865                    type: 'r',
866                    sameadd: self.companyAddress().sameadd(),
867                }, {
868                    id: $.trim(p.id()),
869                    unit: $.trim(p.unit()),
870                    street: $.trim(p.street()),
871                    state: $.trim(p.state()),
872                    suburb: $.trim(p.suburb()),
873                    postcode: $.trim(p.postcode()),
874                    type: 'p',
875                    sameadd: self.companyAddress().sameadd(),
876                }]);
877
878                $.ajax({
879                    type: "POST",
880                    beforeSend: function () { self.ajxproc(true); },
881                    complete: function () { self.ajxproc(false); },
882                    url: "/api/SiteApi/addcompanyaddress/",
883                    data: dt,
884                    contentType: "application/json",
885                    success: function (d) {
886                        if (d.msg == "success") {
887                            toastr.success("Company address added successfully");
888                            self.toggletab(4);
889                            $(window).scrollTop(0);
890                        }
891                        else if (d.msg == "Address not found") {
892                            toastr.error("Address not found.");
893                        }
894                        else {
895                            toastr.error("Error occured on server, please try again.");
896                        }
897                    },
898                    error: function () {
899                        toastr.error("Server error");
900                    }
901                });
902            }
903        };
904        //company address detail
905
906        // Company directors details
907
908        self.fetchDirector = function () {
909            $.ajax({
910                type: "GET",
911                beforeSend: function () { self.ajxproc(true); },
912                complete: function () { self.ajxproc(false); },
913                url: "/api/SiteApi/GetDirectors/",
914                contentType: "application/json",
915                success: function (d) {
916                    if (d.msg == "success") {
917                        self.directorsCounter(d.directors.length);
918                        var t = [];
919                        for (var i = 0; i < d.directors.length; i++) {
920                            var s = d.directors[i];
921                            t.push(new companyDiretors(s.id, s.designation, s.fname, s.mname, s.lname, s.dobday, s.dobmonth, s.dobyear, s.country, s.state, s.city, s.address, s.dirunit, s.dirstreet, s.dirsuburb, s.dirpostcode, s.dirstate, s.dircountry, s.isdirector, s.issecretary, s.isholdshare));
922                        }
923                        self.directors(t);
924                    } else if (d.msg == "null") {
925                        $.ajax({
926                            type: "GET",
927                            beforeSend: function () { self.ajxproc(true); },
928                            complete: function () { self.ajxproc(false); },
929                            url: "/api/SiteApi/GetCompanyAddress/",
930                            contentType: "application/json",
931                            success: function (d) {
932                                if (d.msg == "success") {
933                                    var a = d.regadd;
934                                    var p = d.principleadd;
935                                    //self.companyAddress(new companyaddressdetails(a.id, a.unit, a.street, a.state, a.suburb, a.postcode, a.sameadd));
936                                    //self.companyPrincipalAddress(new companyaddressdetails(p.id, p.unit, p.street, p.state, p.suburb, p.postcode, ""));
937                                    //comment by praveen
938                                    //self.directors([new companyDiretors(0,"director", "", "", "", "", "", "", "Australia", "", "", "", a.unit, a.street, a.suburb, a.postcode, a.state, "True", "False", "True")]);
939                                    self.directors([new companyDiretors(0, "director", "", "", "", "", "", "", "Australia", "", "", "", "", "", "", "","","Australia", "True", "False", "True")]);
940                                }
941                                else {
942                                    self.directors([new companyDiretors(0, "", "", "", "", "", "", "", "", "", "", "", "", "", "","","","","","","")]);
943                                }
944                            },
945                            error: function () {
946                                toastr.error("Server error");
947                            }
948                        });
949
950                        // self.directors([new companyDiretors(0, "", "", "", "", "", "", "", "", "","","","","","")]);
951                    } else {
952                        toastr.error("Error occured on server, please try again.");
953                    }
954                    self.tabbing(4);
955                },
956                error: function () {
957                    toastr.error("Server error");
958                }
959            });
960        };
961
962        self.directorsCounter.subscribe(function (n) {
963            var sl = self.directors().length;
964            if (n != "" && parseInt(n) != sl) {
965                if (parseInt(n) > sl) {
966                    var unit = "";
967                    var suburb = "";
968                    var street = "";
969                    var postcode = "";
970                    var state = "";
971                    $.ajax({
972                        type: "GET",
973                        beforeSend: function () { self.ajxproc(true); },
974                        complete: function () { self.ajxproc(false); },
975                        url: "/api/SiteApi/GetCompanyAddress/",
976                        contentType: "application/json",
977                        async: false,
978                        success: function (d) {
979                            if (d.msg == "success") {
980                                var a = d.regadd;
981                                var p = d.principleadd;
982                                //self.companyAddress(new companyaddressdetails(a.id, a.unit, a.street, a.state, a.suburb, a.postcode, a.sameadd));
983                                //self.companyPrincipalAddress(new companyaddressdetails(p.id, p.unit, p.street, p.state, p.suburb, p.postcode, ""));
984                                //self.directors([new companyDiretors(0, "", "", "", "", "Australia", "", "", "", "", a.unit, a.street, a.suburb, a.postcode, a.state)]);
985                                unit = a.unit;
986                                suburb = a.suburb;
987                                street = a.street;
988                                postcode = a.postcode;
989                                state = a.state;
990                            }
991                            else {
992                                // self.directors([new companyDiretors(0, "", "", "", "", "", "", "", "", "", "", "", "", "", "")]);
993                            }
994                        },
995                        error: function () {
996                            toastr.error("Server error");
997                        }
998                    });
999                    for (var i = sl; i < n; i++) {
1000                        //self.directors.push(new companyDiretors(0,"director", "", "", "", "", "", "", "Australia", "", "", "", unit, street, suburb, postcode, state,"True","False","True"));
1001                        self.directors.push(new companyDiretors(0, "director", "", "", "", "", "", "", "Australia", "", "", "", "", "", "", "", "","Australia", "True", "False", "True"));
1002                    }
1003                } else if (parseInt(n) < sl) {
1004                    for (var i = n; i < sl; i++) {
1005                        self.directors.pop();
1006                    }
1007                }
1008            } else if (!n) {
1009                self.directors([]);
1010            }
1011            //if (parseInt(n) > 0) {
1012            //    self.directors([]);
1013            //    for (var i = 0; i < parseInt(n) ; i++) {
1014            //        self.directors.push(new companyDiretors(0,"", "", "", "", "", "", "", "", ""));
1015            //    }
1016            //}
1017        });
1018
1019        self.directorsubmit = function () {
1020            //console.log(self.directors());
1021
1022            self.directorformerrors = ko.validation.group(self.directors(), {
1023                deep: true
1024            });
1025            if (self.directorformerrors().length !== 0) {
1026                self.directorformerrors.showAllMessages();
1027                //}
1028                //if (1== 0) {
1029                //    self.directorformerrors.showAllMessages();
1030            }
1031            else {
1032                //var r = [];
1033                //for (var a = 0; a < self.directors().length; a++)
1034                //{
1035                //    var n = self.directors()[a];
1036                //    r.push({
1037                //        id:n.id(),
1038                //        fname: n.fname(),
1039                //        lname: n.lname(),
1040                //        dobday: parseInt(n.dobday()),
1041                //        dobmonth: parseInt(n.dobmonth()),
1042                //        dobyear: parseInt(n.dobyear()),
1043                //        address: n.address(),
1044                //        city: n.city(),
1045                //        state: n.state(),
1046                //        country:n.country()
1047                //    });
1048                //}
1049
1050                var dt = JSON.stringify(ko.toJS(self.directors()));
1051
1052                $.ajax({
1053                    type: "POST",
1054                    beforeSend: function () { self.ajxproc(true); },
1055                    complete: function () { self.ajxproc(false); },
1056                    url: "/api/SiteApi/adddirectors/",
1057                    data: dt,
1058                    contentType: "application/json",
1059                    success: function (d) {
1060                        if (d.msg == "success") {
1061                            toastr.success("Company directors added successfully");
1062                            self.toggletab(5);                           
1063                            $(window).scrollTop(0);                            
1064                        }
1065                        else if (d.msg == "Address not found") {
1066                            toastr.error("Address not found.");
1067                        }
1068                        else if (d.msg == "Duplicate") {
1069                            toastr.error("Company director can not be duplicate.");
1070                        }
1071                        else if (d.msg == "LessAge") {
1072                            toastr.error("Company director should be greater than 18 year.");
1073                        }
1074                        else if (d.msg == "NonShareHolder") {
1075                            toastr.error("Please select one share holder.");
1076                        }
1077                        else {
1078                            toastr.error("Error occured on server, please try again.");
1079                        }
1080                    },
1081                    error: function () {
1082                        toastr.error("Server error");
1083                    }
1084                });
1085            }
1086        };
1087        // Company directors details end
1088
1089        // Share allocation
1090
1091        self.fetchShares = function () {
1092            $.ajax({
1093                type: "GET",
1094                beforeSend: function () { self.ajxproc(true); },
1095                complete: function () { self.ajxproc(false); },
1096                url: "/api/SiteApi/GetShare/",
1097                contentType: "application/json",
1098
1099                success: function (d) {
1100                    if (d.msg == "success") {
1101                        var t = [];
1102                        for (var i = 0; i < d.shares.length; i++) {
1103                            var s = d.shares[i];
1104                            t.push(new shareAllocation(s.Id, s.dirName, s.dId, s.ownername, s.shareclass, s.noofshare, s.sharecost, s.shareoption, s.sharedetailsnotheldanotherorg, s.isheldanotherorg));
1105                        }
1106                        self.shares([]);
1107                        self.shares(t);
1108
1109                        $.ajax({
1110                            type: "GET",
1111                            beforeSend: function () { self.ajxproc(true); },
1112                            complete: function () { self.ajxproc(false); },
1113                            url: "/api/SiteApi/GetIndShare/",
1114                            contentType: "application/json",
1115
1116                            success: function (d) {
1117                                if (d.msg == "success") {
1118                                    var t = [];
1119                                    var count = "";
1120                                    for (var i = 0; i < d.shares.length; i++) {
1121                                        var ss = d.shares[i]; count = ss.sharedirectorsCounter;
1122                                        if (ss.rdshare_individual == "true") {
1123                                            t.push(new IndivisualshareAllocation(ss.Id, "yes", ss.share_indname, ss.ind_dobday, ss.ind_dobmonth, ss.ind_dobyear, ss.share_placeofbirth, ss.shareaddunit, ss.shareaddstreet, ss.shareaddsuburb, ss.ddshareaddstate, ss.ddshareaddcountry, ss.shareaddpostcode, ss.share_indshareownername, ss.share_sharetype, ss.share_noofshare, ss.share_amountopaidshare, "", "", "", "", "", "", "", ss.ddsharecompcountry, "", ss.share_compsharetype, ss.share_noofcompshare, ss.share_amountopaidcompshare , "", ss.isheldanotherorg));
1124                                        }
1125                                        else if (ss.rdshare_company == "true") {
1126                                            t.push(new companyshareAllocation(ss.Id, "no", ss.share_compORtrtname, ss.share_compORtrtABN, ss.sharecompunit, ss.sharecompstreet, ss.sharecompsuburb, ss.ddsharecompstate, ss.ddsharecompcountry, ss.sharecomppostcode, ss.share_compsharetype, ss.share_noofcompshare, ss.share_amountopaidcompshare, ss.share_compshareownername, "", "", "", "", "", "", "", "", "", "", ss.ddshareaddcountry, "", "", "", "", "", ss.isheldanotherorg));
1127                                        }
1128                                    }
1129                                    self.sharedirectorsCounter(count);
1130                                    self.share_another([]);
1131                                    self.share_another(t);
1132                                    if (count == 0)
1133                                    { self.rdonewshare("no"); self.saddpnl(false); }
1134                                    else { self.rdonewshare("yes"); self.saddpnl(true); }
1135                                }
1136                                else if (d.msg == "null") {
1137                                    self.share_another([new IndivisualshareAllocation(0, "yes", "", "", "", "", "", "", "", "", "", "Australia", "", "", "ordinary", 1, 1, "", "", "", "", "", "", "", "Australia", "", "ordinary", 1, 1, "", "")]);
1138                                }
1139                                else {
1140                                    toastr.error("Error occured on server, please try again.");
1141                                }
1142                                self.tabbing(5);
1143                            },
1144                            error: function () {
1145                                toastr.error("Server error");
1146                            }
1147                        });
1148
1149                        $.ajax({
1150                            type: "GET",
1151                            beforeSend: function () { self.ajxproc(true); },
1152                            complete: function () { self.ajxproc(false); },
1153                            url: "/api/SiteApi/getConst/",
1154                            contentType: "application/json",
1155                            success: function (d1) {
1156                                var value = d1.split(",");
1157
1158                                if (value[0] == "yes") {
1159                                    self.rdogovcheck("yes");
1160                                }
1161                                else if (value[0] == "" || value[0] == "no") {
1162                                    self.rdogovcheck("no");
1163                                }
1164                                else {
1165                                    toastr.error("Error occured on server, please try again.");
1166                                }
1167
1168                                if (value[1] == "smsf") {
1169                                    self.ndaddpnl(false);// = false;
1170                                    self.saddpnl(false);
1171                                }
1172                                else {
1173                                    self.ndaddpnl(true);// = true;
1174                                }
1175                            },
1176                            error: function (error) {
1177                                toastr.error("Server error");
1178                            }
1179                        });
1180                    }
1181                    else if (d.msg == "null") {
1182                        self.shares([]);
1183
1184                        $.ajax({
1185                            type: "GET",
1186                            beforeSend: function () { self.ajxproc(true); },
1187                            complete: function () { self.ajxproc(false); },
1188                            url: "/api/SiteApi/GetIndShare/",
1189                            contentType: "application/json",
1190
1191                            success: function (d) {
1192                                if (d.msg == "success") {
1193                                    var t = [];
1194                                    var count = "";
1195                                    for (var i = 0; i < d.shares.length; i++) {
1196                                        var ss = d.shares[i]; count = ss.sharedirectorsCounter;
1197                                        if (ss.rdshare_individual == "true") {
1198                                            t.push(new IndivisualshareAllocation(ss.Id, "yes", ss.share_indname, ss.ind_dobday, ss.ind_dobmonth, ss.ind_dobyear, ss.share_placeofbirth, ss.shareaddunit, ss.shareaddstreet, ss.shareaddsuburb, ss.ddshareaddstate, ss.ddshareaddcountry, ss.shareaddpostcode, ss.share_indshareownername, ss.share_sharetype, ss.share_noofshare, ss.share_amountopaidshare, "", "", "", "", "", "", "", ss.ddsharecompcountry, "", ss.share_compsharetype, ss.share_noofcompshare, ss.share_amountopaidcompshare, "", ss.isheldanotherorg));
1199                                        }
1200                                        else if (ss.rdshare_company == "true") {
1201                                            t.push(new companyshareAllocation(ss.Id, "no", ss.share_compORtrtname, ss.share_compORtrtABN, ss.sharecompunit, ss.sharecompstreet, ss.sharecompsuburb, ss.ddsharecompstate, ss.ddsharecompcountry, ss.sharecomppostcode, ss.share_compsharetype, ss.share_noofcompshare, ss.share_amountopaidcompshare, ss.share_compshareownername, "", "", "", "", "", "", "", "", "", "", ss.ddshareaddcountry ,"", "", "", "", "", ss.isheldanotherorg));
1202                                        }
1203                                    }
1204                                    self.sharedirectorsCounter(count);
1205                                    self.share_another([]);
1206                                    self.share_another(t);
1207                                    if (count == 0) { self.rdonewshare("no"); self.saddpnl(false); }
1208                                    else { self.rdonewshare("yes"); self.saddpnl(true); }
1209                                }
1210                                else if (d.msg == "null") {
1211                                    self.share_another([new IndivisualshareAllocation(0, "yes", "", "", "", "", "", "", "", "", "", "Australia", "", "", "ordinary", 1, 1, "", "", "", "", "", "", "", "Australia", "", "ordinary", 1, 1, "", "")]);
1212                                }
1213                                else {
1214                                    toastr.error("Error occured on server, please try again.");
1215                                }
1216                                self.tabbing(5);
1217                            },
1218                            error: function () {
1219                                toastr.error("Server error");
1220                            }
1221                        });
1222
1223                        $.ajax({
1224                            type: "GET",
1225                            beforeSend: function () { self.ajxproc(true); },
1226                            complete: function () { self.ajxproc(false); },
1227                            url: "/api/SiteApi/getConst/",
1228                            contentType: "application/json",
1229                            success: function (d1) {
1230                                var value = d1.split(",");
1231
1232                                if (value[0] == "yes") {
1233                                    self.rdogovcheck("yes");
1234                                }
1235                                else if (value[0] == "" || value[0] == "no") {
1236                                    self.rdogovcheck("no");
1237                                }
1238                                else {
1239                                    toastr.error("Error occured on server, please try again.");
1240                                }
1241
1242                                if (value[1] == "smsf") {
1243                                    self.ndaddpnl(false);// = false;
1244                                    self.saddpnl(false);
1245                                }
1246                                else {
1247                                    self.ndaddpnl(true);// = true;
1248                                }
1249                            },
1250                            error: function (error) {
1251                                toastr.error("Server error");
1252                            }
1253                        });
1254                        //self.shares([new shareAllocation(0, "", "", "", "ordinary", 1, 1)]);
1255                    }
1256                    else {
1257                        toastr.error("Error occured on server, please try again.");
1258                    }
1259                    self.tabbing(5);
1260                },
1261                error: function () {
1262                    toastr.error("Server error");
1263                }
1264            });
1265
1266            // another share holder update by 25 april 2018
1267
1268            // another share holder end
1269        };
1270
1271        self.sharesubmit = function () {
1272            self.shareformerrors = ko.validation.group(self.shares(), {
1273                deep: true
1274            });
1275            if (self.shareformerrors().length !== 0) {
1276                self.shareformerrors.showAllMessages();
1277            }
1278            else {
1279                var r = [];
1280                for (var a = 0; a < self.shares().length; a++) {
1281                    var n = self.shares()[a];
1282                    r.push({
1283                        Id: n.Id(),
1284                        dirName: n.dirName(),
1285                        dId: n.did(),
1286                        shareclass: n.shareType(),
1287                        noofshare: n.noOfshare(),
1288                        sharecost: parseFloat(n.shareAmount()),
1289                        other: n.rdocheck(),
1290                        ownername: n.shareOwnerName(),
1291                        isheldanotherorg: n.rdocheck(),
1292
1293                        ///by praveen
1294                        sharedetailsnotheldanotherorg: n.sharedetailsnotheldanotherorg(),                       
1295                        shareoption: n.shareoption()
1296                    });
1297                }
1298
1299                var ns = [];
1300                for (var a = 0; a < self.share_another().length; a++) {
1301                    var n = self.share_another()[a];
1302                    ns.push({
1303                        Id: n.Id,
1304                        share_indname: n.share_indname(),
1305                        share_indORcompny: n.rdshare_individual() == "no" ? "company" : "individual",
1306                        share_ABN: n.share_ABN,
1307                        ind_dobday: n.ind_dobday(),
1308                        ind_dobmonth: n.ind_dobmonth(),
1309                        ind_dobyear: n.ind_dobyear(),
1310                        share_placeofbirth: n.share_placeofbirth(),
1311                        shareaddunit: n.shareaddunit(),
1312                        shareaddstreet: n.shareaddstreet(),
1313                        shareaddsuburb: n.shareaddsuburb(),
1314                        ddshareaddstate: n.ddshareaddstate(),
1315                        ddshareaddcountry: n.ddshareaddcountry(),
1316                        shareaddpostcode: n.shareaddpostcode(),
1317                        share_noofshare: n.share_noofshare(),
1318                        share_indshareownername: n.share_indshareownername(),
1319                        share_sharetype: n.share_sharetype(),
1320                        share_amountopaidshare: n.share_amountopaidshare(),
1321                        share_compORtrtname: n.share_compORtrtname(),
1322                        share_compORtrtABN: n.share_compORtrtABN(),
1323                        sharecompunit: n.sharecompunit(),
1324                        sharecompstreet: n.sharecompstreet(),
1325                        ddsharecompstate: n.ddsharecompstate(),
1326                        ddsharecompcountry: n.ddsharecompcountry(),
1327                        sharecompsuburb: n.sharecompsuburb(),
1328                        sharecomppostcode: n.sharecomppostcode(),
1329                        share_compsharetype: n.share_compsharetype(),
1330                        share_noofcompshare: n.share_noofcompshare(),
1331                        share_amountopaidcompshare: n.share_amountopaidcompshare(),
1332                        share_compshareownername: n.share_compshareownername(),
1333                        rdshare_individual: n.rdshare_individual() == "no" ? "n
1333o" : "yes",
1334                        rdshare_company: n.rdshare_individual() == "yes" ? "no" : "yes",
1335                        isheldanotherorg: n.rdshare_individual() == "no" ? n.rdocheckcomp() : n.rdocheckind() 
1336                    });
1337                }
1338
1339                //  var ga = self.share_const_gov();
1340                var sa = self.share_another();
1341                var dtr = JSON.stringify(r);
1342                var dtns = JSON.stringify(ns);
1343
1344                $.ajax({
1345                    type: "POST",
1346                    beforeSend: function () { self.ajxproc(true); },
1347                    complete: function () { self.ajxproc(false); },
1348                    url: "/api/SiteApi/addshare/",
1349                    data: dtr,
1350                    contentType: "application/json",
1351                    success: function (d) {
1352                        if (d.msg == "success") {
1353                            if (document.getElementById("rdoNewShare1").checked) {
1354                                $.ajax({
1355                                    type: "POST",
1356                                    url: "/api/SiteApi/addshare1/",
1357                                    data: dtns,
1358                                    async: false,
1359                                    contentType: "application/json",
1360                                    success: function (d) {
1361                                        if (d.msg == "success") {
1362                                            location.href = "/company-setup/summary";
1363                                        } else {
1364                                            toastr.error("Error occured on server, please try again.");
1365                                        }
1366                                    },
1367                                    error: function (error) {
1368                                        toastr.error("Server error");
1369                                    }
1370                                });
1371                            }
1372                            if (document.getElementById("rdoNewCon2").checked) {
1373                                var ncf = [{ constfee: "yes" }];
1374                                var dtncf = JSON.stringify(ncf);
1375                                $.ajax({
1376                                    type: "POST",
1377                                    url: "/api/SiteApi/updateConst/",
1378                                    // data: dttt,
1379                                    async: false,
1380                                    contentType: "application/json",
1381                                    success: function (d1) {
1382                                        if (d1.msg == "success") {
1383                                            location.href = "/company-setup/summary";
1384                                        }
1385                                        else {
1386                                            toastr.error("Error occured on server, please try again.");
1387                                        }
1388                                    },
1389                                    error: function (error) {
1390                                        toastr.error("Server error");
1391                                    }
1392                                });
1393                            }
1394                            else {
1395                                location.href = "/company-setup/summary";
1396                            }
1397                        } else {
1398                            toastr.error("Error occured on server, please try again.");
1399                        }
1400                    },
1401                    error: function () {
1402                        toastr.error("Server error");
1403                    }
1404                });
1405            }
1406        };
1407
1408        // share allocation end
1409
1410        // another share holder update by 25 april 2018
1411
1412        self.sharedirectorsCounter.subscribe(function (n) {
1413            var sl = self.share_another().length;
1414            if (n != "" && parseInt(n) != sl) {
1415                if (parseInt(n) > sl) {
1416                    for (var i = sl; i < n; i++) {                       
1417                        self.share_another.push(new IndivisualshareAllocation(i, "yes", "", "", "", "", "", "", "", "", "", "Australia", "", "", "ordinary", 1, 1, "", "", "", "", "", "", "", "Australia", "", "ordinary", 1, 1, "", ""));
1418                    }
1419                } else if (parseInt(n) < sl) {
1420                    for (var i = n; i < sl; i++) {
1421                        self.share_another.pop();
1422                    }
1423                }
1424            } else if (!n) {
1425                self.share_another([]);
1426            }
1427        });
1428
1429        // another share holder end
1430
1431        self.toggletab = function (i) {
1432            //alert(i);
1433            google.maps.event.addDomListener(window, 'load', initialize);
1434            initialize();
1435            var a = parseInt(i);
1436            switch (a) {
1437                case 2:
1438                    self.fetchCompany();
1439                    break;
1440                case 3:
1441                    self.fetchAddress();
1442                    break;
1443                case 4:
1444                    self.fetchDirector();
1445                    break;
1446                case 5:
1447                    self.fetchShares();
1448                    break;
1449                default:
1450                    self.tabbing(a);
1451                    break;
1452            }
1453        };
1454        self.toggletab(activepnl);
1455
1456        self.checkname = function (f) {
1457            //var self = this;
1458            // self.txtname = ko.observable().extend({ pattern: '^[a-zA-Z0-9.&].$' });
1459            var c = self.company()[0];
1460            if (Boolean(c.companyName())) {
1461                $.ajax({
1462                    type: "GET",
1463                    beforeSend: function () { },
1464                    complete: function () { },
1465                    url: "/api/SiteApi/CheckName/?name=" + encodeURIComponent(c.companyName()),
1466                    contentType: "application/json",
1467                    success: function (d) {
1468                        $.magnificPopup.open({
1469                            items: {
1470                                src: '#result-modal'
1471                            },
1472                            type: 'inline',
1473                            modal: true
1474                        });
1475                        self.stats(d.status);
1476                        self.desc(Boolean(d.msg) ? d.msg : "");
1477
1478                        if (d.status == "Available") {
1479                            $("#lnksetup").show();
1480                            self.resclass("notification success");
1481                            self.desc("'" + c.companyName() + "' is available to register.");
1482                            self.estatus(true);
1483                        } else if (d.status == "empty" || d.status == "error") {
1484                            self.resclass("notification error");
1485                        } else if (d.status == "Subject To Names Determination") {
1486                            $("#lnksetup").show();
1487                            self.resclass("notification warning");
1488                            self.desc("'" + c.companyName() + "' is available to register.");
1489                            self.estatus(true);
1490                        }
1491                        else {
1492                            self.resclass("notification warning");
1493                            self.estatus(false);
1494                            //var c = self.company()[0];
1495                            if (c.isproposeidentical() === "yes") {
1496                                self.estatus(true);
1497                            }
1498                            else if (c.isproposeidentical() === "no") {
1499                                var s = self.stats();
1500                                if (s === "Available" || s === "Subject To Names Determination") {
1501                                    self.estatus(true);
1502                                }
1503                                else {
1504                                    self.estatus(false);
1505                                }          
1506                            }
1507                        }
1508                        self.resultbinded(true);
1509                    },
1510                    error: function () {
1511                        alert("Server error !");
1512                    }
1513                });
1514            }
1515        };
1516        self.checkisproposeidentical = function (f) {
1517            var c = self.company()[0];
1518            if (c.isproposeidentical() === "yes") {
1519                self.estatus(true);
1520            }
1521            else if (c.isproposeidentical() === "no") { 
1522                var s = self.stats();
1523                if (s == "Available" || s == "Subject To Names Determination") {
1524                    self.estatus(true);
1525                }                
1526                else {
1527                    self.estatus(false);
1528                }
1529                    //$.ajax({
1530                    //    type: "GET",
1531                    //    beforeSend: function () { },
1532                    //    complete: function () { },
1533                    //    url: "/api/SiteApi/CheckName/?name=" + encodeURIComponent(c.companyName()),
1534                    //    contentType: "application/json",
1535                    //    success: function (d) {                            
1536                    //        //self.stats(d.status);                            
1537
1538                    //        if (d.status == "Available") {                                
1539                    //            self.estatus(true);
1540                    //        } 
1541                    //        else {                                
1542                    //            self.estatus(false);
1543                    //        }                            
1544                    //    },                        
1545                    //});                
1546            };
1547
1548        };
1549        self.closeModal = function () {
1550            $.magnificPopup.close();
1551        };
1552    };
1553    ko.applyBindings(binndviews(), document.getElementById("bindview"));
1554};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.