By filling in this form, you start the registration process of a foal with KWPN.
A number of data have already been entered for you, please check it and fill in the requested data, and if necessary, please adjust your (address) data in My Profile. If the foal is stabled in the Netherlands, your foal will be chipped by a KWPN passport consultant. If the foal is stabled abroad, you need to turn off the corresponding checkmark (chip by KWPN).
After saving this form, your foal will be registered and you will receive a confirmation email with more information about the following steps. By filling in this application for registration, the applicant commits to register this horse exclusively with the KWPN. The EC Regulation No. 2015/262 applies to the issue of a horse passport.
Important information for our UK Members
Due to Brexit, the European (EU) Breeding Regulation no longer applies in the United Kingdom. The Department of Environment, Food and Rural Affairs (Defra) has drawn up its own rules for studbook societies, breeding groups and their breeding programs. This means that for the time being no foreign studbook horses may be bred in England and that you are not allowed to register your KWPN foals with the KWPN.
What still remains possible is to obtain a studbookpaper of your foal. If you wish to receive this please send us a copy of the first page of the British passport (including the UELN-number / registrationnumber of your foal) and a hair-sample of your foal (please send several strands of mane - do not cut the mane but pull, we need to have the hairroots of the manes). DNA parentage testing is included in the price, we offer this for €112,40 incl. VAT.
As soon as there is more clarity about the (im)possibilities of KWPN foal registration in the UK, we will inform you about this. With regard to the rules for Identification & Registration, we recommend that you inquire with the authorities in the United Kingdom.
Error executing template "Designs/Kwpn/DataManagement/Forms/Form/FormRegisterFoal.cshtml" System.NullReferenceException: Object reference not set to an instance of an object. at CompiledRazorTemplates.Dynamic.RazorEngine_8ddcb449192f46be94bcb9ab6d57df03.Execute() in D:\inetpub\wwwroot\www.kwpn.nl\Files\Templates\Designs\Kwpn\DataManagement\Forms\Form\FormRegisterFoal.cshtml:line 12 at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @using Dynamicweb.Ecommerce.Products 2 @using Kwpn.Models.ApiModels 3 @using Kwpn.Models.Constants 4 @using Kwpn.Models.Enumerations 5 @using Kwpn.Repository.Repositories 6 @using Kwpn.Repository.Helpers 7 @using Kwpn.Core.Services.Abstract; 8 @using System.Web.Mvc; 9 10 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 11 @{ 12 var user = Kwpn.Repository.Repositories.KwpnUsers.CurrentUser().DwUser; 13 14 bool isLoggedIn = LoginHelper.CurrentUserIsLoggedIn(); 15 if (isLoggedIn) 16 { 17 // get culture 18 string culture = GetGlobalValue("Global:Area.LongLang"); 19 // get mare 20 string animalCode = System.Web.HttpContext.Current.Request.QueryString.Get(Translate("Horse", "Horse")); 21 if (string.IsNullOrEmpty(animalCode)) 22 { 23 animalCode = System.Web.HttpContext.Current.Request.Form.Get(Translate("Horse", "Horse")); 24 } 25 var showMemberContent = LoginHelper.HasAccessToExtendedHorseData(); // todo: KWPN-472 26 27 // try to get cached version if exists (database page caches the horse before calling the form data) else get minimal version 28 AnimalModel mare = HorseHelper.GetDatabasePageHorse(culture, animalCode, showMemberContent, true) ?? Horses.Get(animalCode, culture, false, false, false, false, false, false, false, false, false); 29 30 if (mare != null && HorseHelper.CheckIfMyHorse(animalCode) && !KwpnUsers.CurrentUser().IsBlocked) 31 { 32 // form date 33 DateTime currentDateTime = DateTime.Now; 34 35 // get user 36 var dwUser = KwpnUsers.CurrentUser().DwUser; 37 string membershipNumber = "", userId = "", userName = "", userEmail = "", authorizationName = "", authorizationResidence = ""; 38 membershipNumber = dwUser.UserName; 39 userId = dwUser.ID.ToString(); 40 userName = dwUser.Name; 41 userEmail = dwUser.Email; 42 authorizationName = dwUser.Name; 43 authorizationResidence = dwUser.City; 44 45 // get breeding 46 AnimalBreedingModel knownBreeding = null; 47 string actionIdParameter = "actionid"; 48 if (culture.Equals("nl-nl", System.StringComparison.InvariantCultureIgnoreCase)) 49 { 50 actionIdParameter = "actieid"; 51 } 52 string actionId = System.Web.HttpContext.Current.Request.QueryString.Get(actionIdParameter); 53 if (string.IsNullOrEmpty(actionId)) 54 { 55 actionId = System.Web.HttpContext.Current.Request.Form.Get(actionIdParameter); 56 } 57 if (!string.IsNullOrEmpty(actionId) && actionId.Contains("_")) 58 { 59 //actionid is expected in the format: date_studanimalcode 60 knownBreeding = HorseHelper.GetBreedingValues(culture, mare.AnimalCode, actionId); 61 62 } 63 bool isKnownBreeding = knownBreeding != null; 64 bool isUnknownBreeding = knownBreeding == null; 65 66 67 // mare info 68 string mareName = HorseHelper.GetHorseName(mare.SportsName, mare.AnimalName, null); 69 70 // breeding info 71 string studName = ""; 72 string studAnimalCode = ""; 73 string breedingDate = ""; 74 75 string buttonText = Translate("Pay", "Pay"); 76 77 // get product 78 Product registerFoalProduct = null; 79 var productService = new ProductService(); 80 var ecomLanguageId = Dynamicweb.Frontend.PageView.Current().Area.EcomLanguageId; 81 if (isKnownBreeding) 82 { 83 registerFoalProduct = productService.GetProductByNumber(StringConstants.ProductNumbers.RegisterFoalKnownBreeding, ecomLanguageId); 84 studName = knownBreeding.StallionName; 85 studAnimalCode = knownBreeding.AnimalcodeStallion; 86 breedingDate = knownBreeding.Date.ToShortDateString(); 87 } 88 else 89 { 90 registerFoalProduct = productService.GetProductByNumber(StringConstants.ProductNumbers.RegisterFoalUnknownBreeding, ecomLanguageId); 91 buttonText = Translate("Submit", "Submit"); 92 } 93 Product deceasedHorseProduct = productService.GetProductByNumber(StringConstants.ProductNumbers.RegisterDeceasedFoal, ecomLanguageId); 94 Product genomicBreedingValueResearchProduct = productService.GetProductByNumber(StringConstants.ProductNumbers.DNAResearch, ecomLanguageId); 95 Product wffsTestProduct = productService.GetProductByNumber(StringConstants.ProductNumbers.WFFSTest, ecomLanguageId); 96 Product wFFSTestWhenDNAResearchSelectedProduct = productService.GetProductByNumber(StringConstants.ProductNumbers.WFFSTestWhenDNAResearchSelected, ecomLanguageId); 97 if (wFFSTestWhenDNAResearchSelectedProduct == null) 98 { 99 wFFSTestWhenDNAResearchSelectedProduct = wffsTestProduct; 100 } 101 102 // product registerFoalPassportProduct removed: KWPN-1195 103 // product noChippingDiscountProduct removed: KWPN-1195 104 105 List<Kwpn.Repository.Kwpn_Colors> colors = HorseHelper.HorseColors(culture); 106 107 if (registerFoalProduct != null) 108 { 109 110 List<CountryModel> countries = Kwpn.Repository.EquisApi.Countries.GetCountries(); 111 112 var iban = Kwpn.Repository.Repositories.KwpnUsers.CurrentUser().IBAN; 113 var bic = Kwpn.Repository.Repositories.KwpnUsers.CurrentUser().BIC; 114 115 if (string.IsNullOrWhiteSpace(iban) && string.IsNullOrWhiteSpace(bic)) 116 { 117 var equisUser = UserHelper.GetEquisUser(); 118 iban = equisUser.Iban; 119 bic = equisUser.Bic; 120 } 121 122 <div class="w-section inverse"> 123 <div class="w-box sign-in-wr bg-5"> 124 <div id="FormRegisterHorse" class="form-body"> 125 @GetValue("Form.Start") 126 @GetValue("Form.Hidden") @*Hidden fields are filled with jquery*@ 127 128 @if (isKnownBreeding) 129 { 130 // add date unknown breeding fields as hidden, orelse the form will crash on post ... 131 <input type="hidden" id="Kwpn_Form_RegisterFoal_InseminationDate" name="Kwpn_Form_RegisterFoal_InseminationDate" value="" /> 132 <input type="hidden" id="Kwpn_Form_RegisterFoal_RinseDate" name="Kwpn_Form_RegisterFoal_RinseDate" value="" /> 133 <input type="hidden" id="Kwpn_Form_RegisterFoal_TransplantDate" name="Kwpn_Form_RegisterFoal_TransplantDate" value="" /> 134 } 135 136 <div class="col-xs-12"> 137 <p> 138 <i class="fa fa-asterisk" aria-hidden="true"></i> <small>@Translate("RequiredField", "Required field")</small> <i class="fa fa-asterisk" aria-hidden="true"></i><i class="fa fa-asterisk" aria-hidden="true"></i> <small>@Translate("RequiredFieldOfTwo", "At least one is required")</small> 139 </p> 140 </div> 141 142 <div class="row" id="breeding-data-panel"> 143 <div class="col-xs-12"> 144 <div id="Kwpn_Form_RegisterHorse_BreedingData"> 145 146 <h3>@Translate("FoalRegistrationBreedingData", "Breeding data")</h3> 147 148 @*MOTHER*@ 149 <div class="form-inline"> 150 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_MareName">@Translate("FoalMotherName", "Mare name")</label> 151 <input type="text" 152 class="form-control hide-hints" 153 id="Kwpn_Form_RegisterFoal_MareName" 154 name="Kwpn_Form_RegisterFoal_MareName" 155 value="@mareName" 156 maxlength="50" 157 required 158 readonly /> 159 </div> 160 161 @if (isUnknownBreeding) 162 { 163 <div class="form-inline"> 164 <label class="control-label col-sm-4" for="SearchFather">@Translate("SearchFather", "Search father")</label> 165 <div class="input-group form-control"> 166 <input type="text" id="SearchFather" name="SearchFather" placeholder="@Translate("SearchByNameOrLifenumber", "Search by name or lifenumber")" value="" required="required" /> 167 <span class="input-group-btn"> 168 <button class="btn btn-default" onclick="SearchAvailableStuds(); return false;" type="button"><i class="fa fa-search"></i></button> 169 </span> 170 <div id="StudSearchResults"></div> 171 </div> 172 <div id="StudSelected"></div> 173 </div> 174 175 <div id="addfathermanually"> 176 <div id="fatherinfo" class="hidden"> 177 178 @*Naam vader*@ 179 <div class="form-inline"> 180 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_StudAnimalName">@Translate("FoalFatherManualName", "Stud name")</label> 181 <input type="text" 182 class="form-control hide-hints" 183 id="Kwpn_Form_RegisterFoal_StudAnimalName" 184 name="Kwpn_Form_RegisterFoal_StudAnimalName" 185 maxlength="50" 186 value="" /> 187 </div> 188 189 @*Levensnummer vader -- is gewijzigd naar Afstamming vader via translations*@ 190 <div class="form-inline"> 191 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_StudLifeNumber">@Translate("FoalFatherLifenumber", "Stud life number")</label> 192 <input type="text" 193 class="form-control hide-hints" 194 id="Kwpn_Form_RegisterFoal_StudLifeNumber" 195 name="Kwpn_Form_RegisterFoal_StudLifeNumber" 196 maxlength="50" 197 value="" /> 198 </div> 199 200 @*Stamboek vader*@ 201 <div class="form-inline"> 202 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_FathersStudbook">@Translate("FoalFathersStudbook", "Fathers studbook")</label> 203 <input type="text" 204 class="form-control hide-hints" 205 id="Kwpn_Form_RegisterFoal_FathersStudbook" 206 name="Kwpn_Form_RegisterFoal_FathersStudbook" 207 maxlength="150" 208 value="" /> 209 </div> 210 211 </div> 212 </div> 213 214 <div id="extrafather"> 215 <div id="extrafatherinfo" class="hidden"> 216 217 @*Via dekstation/ hengstenhouder*@ 218 <div class="form-inline"> 219 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_ViaStation">@Translate("ViaStation", "Via station / stallionholder")</label> 220 <input type="text" 221 class="form-control hide-hints" 222 id="Kwpn_Form_RegisterFoal_ViaStation" 223 name="Kwpn_Form_RegisterFoal_ViaStation" 224 maxlength="50" 225 value="" /> 226 </div> 227 228 </div> 229 </div> 230 } 231 232 @if (isKnownBreeding) 233 { 234 @*FATHER*@ 235 <div class="form-inline"> 236 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_StudAnimalName">@Translate("FoalFatherName", "Stud name")</label> 237 <input type="text" 238 class="form-control hide-hints text-uppercase" 239 id="Kwpn_Form_RegisterFoal_StudAnimalName" 240 name="Kwpn_Form_RegisterFoal_StudAnimalName" 241 value="@studName" 242 maxlength="50" 243 @if (!string.IsNullOrEmpty(studName)) { <text> readonly="readonly" </text> } 244 required /> 245 </div> 246 247 @*BREEDING DATE*@ 248 <div class="form-inline"> 249 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_BreedingDate_Visible">@Translate("BreedingDate", "Breeding date")</label> 250 <input type="text" 251 class="form-control hide-hints" 252 id="Kwpn_Form_RegisterFoal_BreedingDate_Visible" 253 name="Kwpn_Form_RegisterFoal_BreedingDate_Visible" 254 value="@breedingDate" 255 maxlength="50" 256 disabled /> 257 </div> 258 } 259 260 <div id="GestationPeriodWarning" class="warning hidden"> 261 @Translate("GestationPeriodWarning", "Gestation period too long or too short") 262 </div> 263 264 <div class="col-xs-12 col-md-8 col-md-offset-4 navigation-next"> 265 <button class="panelbutton panelbutton--next" id="btn-next-breeding-data" type="button" defaultText="@Translate("FoalRegistration_BtnToRegistrationData", "To registration data").JsEncode()" disabled="disabled">@Translate("FoalRegistration_BtnToRegistrationData", "To registration data")</button> 266 </div> 267 268 </div> 269 </div> 270 </div> 271 272 <div class="row hidden" id="registration-data-panel"> 273 <div class="col-xs-12"> 274 275 <div id="Kwpn_Form_RegisterHorse_FoalData"> 276 277 <h3>@Translate("FoalRegistration", "Registration")</h3> 278 279 <div class="form-group"> 280 <div class="form-inline" id="birthDateInfo"> 281 <label class="control-label col-sm-4"> </label> 282 <label class="control-label">@Translate("FirstSelectADate", "First select a date of birth")</label> 283 </div> 284 @*DATE OF BIRTH*@ 285 <div class="form-inline"> 286 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_FoalDateOfBirth">@Translate("FoalDateOfBirth", "Date of birth")</label> 287 <input type="text" 288 class="form-control hide-hints" 289 id="Kwpn_Form_RegisterFoal_FoalDateOfBirth" 290 name="Kwpn_Form_RegisterFoal_FoalDateOfBirth" 291 value="" 292 required /> 293 </div> 294 <div id="form-content-base-info" class="hidden"> 295 296 @*DECEASED*@ 297 <div class="form-inline"> 298 <label class="control-label col-sm-4">@Translate("FoalDeceased", "Foal deceased")</label> 299 <input type="checkbox" 300 id="Kwpn_Form_RegisterFoal_FoalDeceased" 301 name="Kwpn_Form_RegisterFoal_FoalDeceased" 302 value="true" /> 303 <label class="normal" for="Kwpn_Form_RegisterFoal_FoalDeceased">@Translate("YesNo", "yes/no")</label> 304 </div> 305 306 @*MOTHER DECEASED*@ 307 <div class="form-inline"> 308 <label class="control-label col-sm-4">@Translate("MareDeceased", "Mare deceased")</label> 309 <input type="checkbox" 310 id="Kwpn_Form_RegisterFoal_MareDeceased" 311 name="Kwpn_Form_RegisterFoal_MareDeceased" 312 value="true" /> 313 <label class="normal" for="Kwpn_Form_RegisterFoal_MareDeceased">@Translate("YesNo", "yes/no")</label> 314 </div> 315 @*NAME*@ 316 <div class="form-inline"> 317 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_FoalName">@Translate("FoalName", "Foal name")</label> 318 <input type="text" 319 class="form-control hide-hints text-uppercase" 320 id="Kwpn_Form_RegisterFoal_FoalName" 321 name="Kwpn_Form_RegisterFoal_FoalName" 322 value="" 323 required 324 maxlength="35" /> 325 </div> 326 @*GENDER: Required for deceased foals*@ 327 <div class="form-inline"> 328 <label class="control-label col-sm-4">@Translate("FoalGender", "Foal gender")</label> 329 <div class="checkboxList"> 330 <input type="radio" 331 id="@string.Format("Kwpn_Form_RegisterFoal_FoalGender_{0}", Kwpn.Models.Enumerations.Gender.HENGST.ToString())" 332 name="Kwpn_Form_RegisterFoal_FoalGender" 333 value="@Kwpn.Models.Enumerations.Gender.HENGST.ToString()" 334 checked="checked" /> 335 <label class="normal radio-label" 336 for="@string.Format("Kwpn_Form_RegisterFoal_FoalGender_{0}", Kwpn.Models.Enumerations.Gender.HENGST.ToString())">@Translate("FoalGenderMale", "Male / Colt")</label> 337 <br /> 338 <input type="radio" 339 id="@string.Format("Kwpn_Form_RegisterFoal_FoalGender_{0}", Kwpn.Models.Enumerations.Gender.MERRIE.ToString())" 340 name="Kwpn_Form_RegisterFoal_FoalGender" 341 value="@Kwpn.Models.Enumerations.Gender.MERRIE.ToString()" /> 342 <label class="normal radio-label" 343 for="@string.Format("Kwpn_Form_RegisterFoal_FoalGender_{0}", Kwpn.Models.Enumerations.Gender.MERRIE.ToString())">@Translate("FoalGenderFemale", "Female / Filly")</label> 344 </div> 345 </div> 346 347 @if (isUnknownBreeding) 348 { 349 <div class="form-inline"> 350 <label class="control-label col-sm-4">@Translate("BreedingType", "Breeding type")</label> 351 <div class="radiodiv"> 352 <input type="radio" id="Kwpn_Form_RegisterFoal_BreedingType_None" name="Kwpn_Form_RegisterFoal_BreedingType" value='@Kwpn.Models.Enumerations.BreedingType.None.ToString("G")' checked="checked" /> 353 <label for="Kwpn_Form_RegisterFoal_BreedingType_None" class="radio-label">@Translate("BreedingType_None", "not applicable")</label> 354 <br /> 355 <input type="radio" id="Kwpn_Form_RegisterFoal_BreedingType_ET" name="Kwpn_Form_RegisterFoal_BreedingType" value='@Kwpn.Models.Enumerations.BreedingType.ET.ToString("G")' /> 356 <label for="Kwpn_Form_RegisterFoal_BreedingType_ET" class="radio-label">@Translate("BreedingType_ET", "ET")</label> 357 <br /> 358 <input type="radio" id="Kwpn_Form_RegisterFoal_BreedingType_ICSI" name="Kwpn_Form_RegisterFoal_BreedingType" value='@Kwpn.Models.Enumerations.BreedingType.ICSI.ToString("G")' /> 359 <label for="Kwpn_Form_RegisterFoal_BreedingType_ICSI" class="radio-label">@Translate("BreedingType_ICSI", "ICSI")</label> 360 </div> 361 </div> 362 } 363 364 </div> 365 366 @if (isUnknownBreeding) 367 { 368 <div id="breedingdata"> 369 <div id="breedinginfo-insemination" class="hidden"> 370 @*Datum insemineren*@ 371 <div class="form-inline"> 372 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_InseminationDate">@Translate("InseminationDate", "Insemination date")</label> 373 <input type="text" 374 class="form-control hide-hints" 375 id="Kwpn_Form_RegisterFoal_InseminationDate" 376 name="Kwpn_Form_RegisterFoal_InseminationDate" 377 value="" 378 required="required" /> 379 </div> 380 </div> 381 <div id="breedinginfo" class="hidden"> 382 @*Datum spoelen*@ 383 <div class="form-inline"> 384 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_RinseDate">@Translate("RinseDate", "Rinse date")</label> 385 <input type="text" 386 class="form-control hide-hints" 387 id="Kwpn_Form_RegisterFoal_RinseDate" 388 name="Kwpn_Form_RegisterFoal_RinseDate" 389 value="" 390 required="required" /> 391 </div> 392 393 @*Datum transplanteren*@ 394 <div class="form-inline"> 395 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_TransplantDate">@Translate("TransplantDate", "Transplant date")</label> 396 <input type="text" 397 class="form-control hide-hints" 398 id="Kwpn_Form_RegisterFoal_TransplantDate" 399 name="Kwpn_Form_RegisterFoal_TransplantDate" 400 value="" 401 required="required" /> 402 </div> 403 404 @*Draagmerrie*@ 405 <div class="form-inline"> 406 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_SurrogateMother">@Translate("SurrogateMother", "Surrogate mother")</label> 407 <input type="text" class="form-control hide-hints" id="Kwpn_Form_RegisterFoal_SurrogateMother" name="Kwpn_Form_RegisterFoal_SurrogateMother" value="" maxlength="50" required="required" /> 408 </div> 409 410 </div> 411 </div> 412 413 @*BREEDING DIRECTION*@ 414 <div class="form-inline hidden" id="unknown-breedingdirection"> 415 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_BreedingDirection">@Translate("BreedingDirection", "Breeding direction")</label> 416 <select class="form-control hide-hints unknown" id="Kwpn_Form_RegisterFoal_BreedingDirection" name="Kwpn_Form_RegisterFoal_BreedingDirection" required> 417 @*filled by javascript*@ 418 </select> 419 </div> 420 } 421 </div> 422 423 <div id="form-content-foal-deceased" class="hidden"> 424 <div class="form-group"> 425 @*DECEASED REASON *@ 426 <div class="form-inline"> 427 <label class="control-label col-sm-4">@Translate("FoalDeceasedReason", "Reason of death")</label> 428 <div class="checkboxList"> 429 @foreach (LoopItem f in GetLoop("Form.Fields").Where(f => f.GetString("Field.Systemname") == "Kwpn_Form_RegisterFoal_FoalDeceasedReason")) 430 { 431 foreach (LoopItem fo in f.GetLoop("FieldOptions")) 432 { 433 string id = string.Format("Kwpn_Form_RegisterFoal_FoalDeceasedReason_{0}", fo.GetString("Field.Option.Value")); 434 string value = Translate(string.Format("FoalDeceasedReason_Value_{0}", fo.GetString("Field.Option.Value")), fo.GetString("Field.Option.Value")); 435 string text = Translate(string.Format("FoalDeceasedReason_Text_{0}", fo.GetString("Field.Option.Text")), fo.GetString("Field.Option.Text")); 436 string checkedIndicator = ""; 437 if (fo.GetInteger("FieldOptions.LoopCounter") == 1) 438 { 439 checkedIndicator = "checked=\"checked\""; 440 } 441 <input type="radio" id="@id" name="Kwpn_Form_RegisterFoal_FoalDeceasedReason" value="@value" @checkedIndicator /> 442 <label for="@id" class="radio-label">@text</label> 443 <br /> 444 } 445 } 446 </div> 447 </div> 448 </div> 449 </div> 450 451 <div id="form-content-foal-alive" class="hidden"> 452 453 <div class="form-group"> 454 455 @*COLOR*@ 456 <div class="form-inline"> 457 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_FoalColor">@Translate("FoalColor", "Color")</label> 458 <select class="form-control hide-hints" 459 id="Kwpn_Form_RegisterFoal_FoalColor" 460 name="Kwpn_Form_RegisterFoal_FoalColor" 461 required> 462 <option value="">@Translate("Select", "Select")</option> 463 @foreach (Kwpn.Repository.Kwpn_Colors foalColor in colors) 464 { 465 <option value="@foalColor.ColorCode">@foalColor.Color</option> 466 } 467 </select> 468 @*todo: select with values from equis?*@ 469 </div> 470 471 @*CHIP*@ 472 <div class="form-inline"> 473 <label class="control-label col-sm-4">@Translate("ChipFoal", "Chip")</label> 474 <input type="checkbox" 475 id="Kwpn_Form_RegisterFoal_Chip" 476 name="Kwpn_Form_RegisterFoal_Chip" 477 value="true" checked="checked" /> 478 <label class="normal" for="Kwpn_Form_RegisterFoal_Chip">@Translate("YesNo", "yes/no")</label> 479 </div> 480 481 @*SEND PASSPORT TO STABLE OPTION FOR FOREIGN USERS*@ 482 @if (!string.Equals(dwUser.CountryCode, "NL") && !string.Equals(dwUser.Country, "NL")) 483 { 484 <div class="form-inline"> 485 <label class="control-label col-sm-4">@Translate("PassportViaStableAddress", "Passport via stable address")</label> 486 <input type="checkbox" 487 id="Kwpn_Form_RegisterFoal_PassportViaStabbleAddress" 488 name="Kwpn_Form_RegisterFoal_PassportViaStabbleAddress" 489 value="true" /> 490 <label class="normal" for="Kwpn_Form_RegisterFoal_PassportViaStabbleAddress">@Translate("YesNo", "yes/no")</label> 491 </div> 492 } 493 494 @if (isKnownBreeding) 495 { 496 @*BREEDING DIRECTION*@ 497 <div class="form-inline"> 498 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_BreedingDirection">@Translate("BreedingDirection", "Breeding direction")</label> 499 <select class="form-control hide-hints" id="Kwpn_Form_RegisterFoal_BreedingDirection" name="Kwpn_Form_RegisterFoal_BreedingDirection" required> 500 @*filled by javascript*@ 501 </select> 502 </div> 503 } 504 505 </div> 506 507 @*GENOMIC BREEDING VALUE RESEARCH*@ 508 <div class="genome-box"> 509 <div class="form-inline"> 510 511 <h3>@Translate("RegisterFoal_GenomicBreedingValueResearchHeader", "Request genome breeding value OC")</h3> 512 513 <p>@Translate("RegisterFoal_GenomicBreedingValueResearchInfoIntro", "")</p> 514 515 <label class="control-label col-sm-4 no-asterisk" for="Kwpn_Form_RegisterFoal_RequestForDnaResearch">@Translate("RegisterFoal_GenomicBreedingValueResearchLabel", "Request direct genome breeding value OC")</label> 516 517 <input type="checkbox" 518 id="Kwpn_Form_RegisterFoal_RequestForDnaResearch" 519 name="Kwpn_Form_RegisterFoal_RequestForDnaResearch" 520 value="true" /><div id="DisabledByBreedingType">@Translate("GenomeBreedingValueTest_DisabledText", "Genome breeding value OC is not available for Dressage- and Geldinghorses")</div> 521 </div> 522 </div> 523 524 @*WFFS-TEST*@ 525 <div class="wffs-box"> 526 <div class="form-inline"> 527 528 <h3>@Translate("RegisterFoal_WFFSTestHeader", "Request WFFS-test")</h3> 529 <p>@Translate("RegisterFoal_WFFSTestIntro", "")</p> 530 531 <label class="control-label col-sm-4 no-asterisk" for="Kwpn_Form_RegisterFoal_RequestWffsTest">@Translate("RegisterFoal_WFFSTestAcceptance", "Request WFFS-test")</label> 532 <input type="checkbox" 533 id="Kwpn_Form_RegisterFoal_RequestWffsTest" 534 name="Kwpn_Form_RegisterFoal_RequestWffsTest" 535 value="true" /> 536 </div> 537 </div> 538 539 @if (isKnownBreeding) 540 { 541 // unknown breeding > owner = breeder 542 543 <br /> 544 <h3>@Translate("BreederData", "Breeder data")</h3> 545 <div class="form-group"> 546 @*BREEDER MEMBERSHIP NUMBER*@ 547 <div class="form-inline"> 548 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_BreederMembershipNumber">@Translate("BreederMembershipNumber", "BreederMembershipNumber")</label> 549 <input type="text" 550 class="form-control hide-hints" 551 id="Kwpn_Form_RegisterFoal_BreederMembershipNumber" 552 name="Kwpn_Form_RegisterFoal_BreederMembershipNumber" 553 value="" 554 maxlength="50" 555 required /> 556 </div> 557 @*BREEDER NAME*@ 558 <div class="form-inline"> 559 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_BreederName">@Translate("BreederName", "Breeder name")</label> 560 <input type="text" 561 class="form-control hide-hints" 562 id="Kwpn_Form_RegisterFoal_BreederName" 563 name="Kwpn_Form_RegisterFoal_BreederName" 564 value="" 565 maxlength="50" 566 required /> 567 </div> 568 @*BREEDER NAME*@ 569 <div class="form-inline"> 570 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_CoBreederMembershipNumbers">@Translate("Co-Breeders", "Co-breeders")</label> 571 <input type="text" 572 class="form-control hide-hints" 573 id="Kwpn_Form_RegisterFoal_CoBreederMembershipNumbers" 574 name="Kwpn_Form_RegisterFoal_CoBreederMembershipNumbers" 575 value="" 576 maxlength="255" /> 577 </div> 578 </div> 579 } 580 581 </div> 582 </div> 583 584 <div class="col-xs-12 col-md-8 col-md-push-4 navigation-next"> 585 <button class="panelbutton panelbutton--next" id="btn-next-owner-data" type="button" defaultText="@Translate("FoalRegistration_BtnToOwnerData", "To registered info").JsEncode()" disabled="disabled">@Translate("FoalRegistration_BtnToOwnerData", "To registered info")</button> 586 </div> 587 <div class="col-xs-12 col-md-4 col-md-pull-8 navigation-prev"> 588 <button class="panelbutton panelbutton--previous" id="btn-prev-beeding-data" type="button" defaultText="@Translate("FoalRegistration_BtnBackToBreedingData", "Back").JsEncode()">@Translate("FoalRegistration_BtnBackToBreedingData", "Back")</button> 589 </div> 590 591 </div> 592 </div> 593 594 <div class="row hidden" id="owner-data-panel"> 595 <div class="col-xs-12"> 596 <h3>@Translate("OwnerData", "Owner data")</h3> 597 <div class="form-group"> 598 @*OWNER NAME*@ 599 <div class="form-inline"> 600 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerName">@Translate("OwnerName", "Owner name")</label> 601 <input type="text" 602 class="form-control hide-hints" 603 id="Kwpn_Form_RegisterFoal_OwnerName" 604 name="Kwpn_Form_RegisterFoal_OwnerName" 605 value="@KwpnUsers.CurrentUser().DwUser.Name" 606 maxlength="50" 607 required 608 @if (!string.IsNullOrWhiteSpace(KwpnUsers.CurrentUser().DwUser.Name)) { <text> readonly="readonly" </text> } /> 609 </div> 610 @*OWNER ADDRESS*@ 611 <div class="form-inline"> 612 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerAddress">@Translate("OwnerAddress", "Owner address")</label> 613 <input type="text" 614 class="form-control hide-hints" 615 id="Kwpn_Form_RegisterFoal_OwnerAddress" 616 name="Kwpn_Form_RegisterFoal_OwnerAddress" 617 value="@KwpnUsers.CurrentUser().DwUser.Address" 618 maxlength="50" 619 required 620 @if (!string.IsNullOrWhiteSpace(KwpnUsers.CurrentUser().DwUser.Address)) { <text> readonly="readonly" </text> } /> 621 </div> @*OWNER HOUSE NUMBER*@ 622 <div class="form-inline"> 623 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerHouseNumber">@Translate("OwnerHouseNumber", "Owner house number")</label> 624 <input type="text" 625 class="form-control hide-hints" 626 id="Kwpn_Form_RegisterFoal_OwnerHouseNumber" 627 name="Kwpn_Form_RegisterFoal_OwnerHouseNumber" 628 value="@KwpnUsers.CurrentUser().DwUser.HouseNumber" 629 maxlength="10" 630 @if (culture.Equals("nl-NL", StringComparison.InvariantCultureIgnoreCase)) { <text> required</text>} 631 @if (!string.IsNullOrWhiteSpace(KwpnUsers.CurrentUser().DwUser.HouseNumber)) { <text> readonly="readonly" </text> } /> 632 </div> 633 @*OWNER POSTAL CODE*@ 634 <div class="form-inline"> 635 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerPostalCode">@Translate("OwnerPostalCode", "Owner postal code")</label> 636 <input type="text" 637 class="form-control hide-hints" 638 id="Kwpn_Form_RegisterFoal_OwnerPostalCode" 639 name="Kwpn_Form_RegisterFoal_OwnerPostalCode" 640 value="@KwpnUsers.CurrentUser().DwUser.Zip" 641 maxlength="10" 642 required 643 @if (!string.IsNullOrWhiteSpace(KwpnUsers.CurrentUser().DwUser.Zip)) { <text> readonly="readonly" </text> } /> 644 </div> 645 @*OWNER CITY*@ 646 <div class="form-inline"> 647 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerCity">@Translate("OwnerCity", "Owner city")</label> 648 <input type="text" 649 class="form-control hide-hints" 650 id="Kwpn_Form_RegisterFoal_OwnerCity" 651 name="Kwpn_Form_RegisterFoal_OwnerCity" 652 value="@KwpnUsers.CurrentUser().DwUser.City" 653 maxlength="50" 654 required 655 @if (!string.IsNullOrWhiteSpace(KwpnUsers.CurrentUser().DwUser.City)) { <text> readonly="readonly" </text> } /> 656 </div> 657 @*OWNER COUNTRY*@ 658 <div class="form-inline"> 659 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerCountry">@Translate("OwnerCountry", "Owner country")</label> 660 @if (!string.IsNullOrWhiteSpace(KwpnUsers.CurrentUser().DwUser.Country)) 661 { 662 <input type="hidden" name="Kwpn_Form_RegisterFoal_OwnerCountry" id="Kwpn_Form_RegisterFoal_OwnerCountry" value="@KwpnUsers.CurrentUser().DwUser.Country" /> 663 <input type="text" class="form-control" readonly="readonly" name="Kwpn_Form_RegisterFoal_OwnerCountryVisible" id="Kwpn_Form_RegisterFoal_OwnerCountryVisible" value="@countries.FirstOrDefault(c => c.CountryCode.Equals(KwpnUsers.CurrentUser().DwUser.Country) || c.CountryName.Equals(KwpnUsers.CurrentUser().DwUser.Country)).CountryName" /> 664 } 665 else 666 { 667 <select class="form-control hide-hints capitalize" name="Kwpn_Form_RegisterFoal_OwnerCountry" id="Kwpn_Form_RegisterFoal_OwnerCountry" required> 668 <option value="" selected>@Translate("Select")</option> 669 @foreach (var country in countries.OrderBy(c => c.CountryName)) 670 { 671 <option value="@country.CountryCode" data-code="@country.CountryCode" class="capitalize" @if (KwpnUsers.CurrentUser().DwUser.Country.Equals(country.CountryCode, StringComparison.InvariantCultureIgnoreCase) || KwpnUsers.CurrentUser().DwUser.Country.Equals(country.CountryName, StringComparison.InvariantCultureIgnoreCase)) { <text> selected="selected" </text> }>@country.CountryName</option> 672 } 673 </select> 674 } 675 676 677 678 </div> @*OWNER EMAIL*@ 679 <div class="form-inline"> 680 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerEmailAddress">@Translate("OwnerEmail", "Owner email address")</label> 681 <input type="email" 682 class="form-control hide-hints" 683 id="Kwpn_Form_RegisterFoal_OwnerEmailAddress" 684 name="Kwpn_Form_RegisterFoal_OwnerEmailAddress" 685 value="@KwpnUsers.CurrentUser().DwUser.Email" 686 maxlength="255" 687 required 688 @if (!string.IsNullOrWhiteSpace(KwpnUsers.CurrentUser().DwUser.Email)) { <text> readonly="readonly" </text> } /> 689 </div> 690 @*OWNER PHONE1*@ 691 <div class="form-inline"> 692 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerPhone1">@Translate("OwnerPhone1", "Owner phone 1")<span class="fa fa-asterisk" aria-hidden="true"></span></label> 693 <input type="tel" 694 class="form-control hide-hints" 695 id="Kwpn_Form_RegisterFoal_OwnerPhone1" 696 name="Kwpn_Form_RegisterFoal_OwnerPhone1" 697 value="@KwpnUsers.CurrentUser().DwUser.Phone" 698 maxlength="50" 699 required 700 @if (!string.IsNullOrWhiteSpace(KwpnUsers.CurrentUser().DwUser.Phone)) { <text> readonly="readonly" </text> } 701 onchange="ValidatePanelOwnerData(this)" /> 702 </div> 703 704 @*OWNER PHONE2*@ 705 <div class="form-inline"> 706 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_OwnerPhone2">@Translate("OwnerPhone2", "Owner phone 2")</label> 707 <input type="tel" 708 class="form-control hide-hints" 709 id="Kwpn_Form_RegisterFoal_OwnerPhone2" 710 name="Kwpn_Form_RegisterFoal_OwnerPhone2" 711 value="@KwpnUsers.CurrentUser().DwUser.PhoneMobile" 712 maxlength="50" 713 required 714 onchange="ValidatePanelOwnerData(this)" /> 715 </div> 716 717 <div class="form-inline not-in-form"> 718 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers">@Translate("Co-Registered", "(Co-)Registered")</label> 719 <input type="hidden" id="Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers" name="Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers" value="" /> 720 <div class="radiodiv"> 721 <div id="selectedCoRegistered"></div> 722 <button id="btnAddCoRegistered"><i class="fa fa-plus"></i> @Translate("AddCoRegistered", "Add a co-registered")</button> 723 </div> 724 </div> 725 726 </div> 727 728 <div class="col-xs-12 col-md-8 col-md-push-4 navigation-next"> 729 <button class="panelbutton panelbutton--next" id="btn-next-barn-data" type="button" defaultText="@Translate("FoalRegistration_BtnToBarnData", "To stable info").JsEncode()" disabled="disabled">@Translate("FoalRegistration_BtnToBarnData", "To stable info")</button> 730 </div> 731 <div class="col-xs-12 col-md-4 col-md-pull-8 navigation-prev"> 732 <button class="panelbutton panelbutton--previous" id="btn-prev-registration-data" type="button" defaultText="@Translate("FoalRegistration_BtnBackToRegistrationData", "Back").JsEncode()">@Translate("FoalRegistration_BtnBackToRegistrationData", "Back")</button> 733 </div> 734 735 </div> 736 </div> 737 738 739 <div class="row hidden" id="barn-data-panel"> 740 <div class="col-xs-12"> 741 742 <h3>@Translate("StableData", "Stable data")</h3> 743 <div class="form-group"> 744 @*STABLE ADDRESS*@ 745 <div class="form-inline"> 746 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_StableAddress">@Translate("StableAddress", "Address")</label> 747 <input type="text" class="form-control hide-hints" id="Kwpn_Form_RegisterFoal_StableAddress" name="Kwpn_Form_RegisterFoal_StableAddress" value="" required /> 748 </div> 749 @*STABLE HOUSE NUMBER*@ 750 <div class="form-inline"> 751 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_StableHouseNumber">@Translate("StableHouseNumber", "House number")</label> 752 <input type="text" class="form-control hide-hints" maxlength="10" id="Kwpn_Form_RegisterFoal_StableHouseNumber" name="Kwpn_Form_RegisterFoal_StableHouseNumber" value="" @if (culture.Equals("nl-NL", StringComparison.InvariantCultureIgnoreCase)) { <text> required</text>} /> 753 </div> 754 @*STABLE POSTAL CODE*@ 755 <div class="form-inline"> 756 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_StablePostalCode">@Translate("StablePostalCode", "Postal code")</label> 757 <input type="text" class="form-control hide-hints" maxlength="10" id="Kwpn_Form_RegisterFoal_StablePostalCode" name="Kwpn_Form_RegisterFoal_StablePostalCode" value="" required /> 758 </div> 759 @*STABLE CITY*@ 760 <div class="form-inline"> 761 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_StableCity">@Translate("StableCity", "City")</label> 762 <input type="text" class="form-control hide-hints" id="Kwpn_Form_RegisterFoal_StableCity" name="Kwpn_Form_RegisterFoal_StableCity" value="" required /> 763 </div> 764 @*STABLE COUNTRY*@ 765 <div class="form-inline"> 766 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_StableCountry">@Translate("StableCountry", "Country")</label> 767 <select class="form-control hide-hints capitalize" name="Kwpn_Form_RegisterFoal_StableCountry" id="Kwpn_Form_RegisterFoal_StableCountry" onchange="ShowCountrySpecificFields($(this).val())" required> 768 <option value="" selected>@Translate("Select")</option> 769 @foreach (var country in countries.OrderBy(c => c.CountryName)) 770 { 771 <option value="@country.CountryCode" data-code="@country.CountryCode" class="capitalize" @if (KwpnUsers.CurrentUser().DwUser.Country.Equals(country.CountryCode, StringComparison.InvariantCultureIgnoreCase) || KwpnUsers.CurrentUser().DwUser.Country.Equals(country.CountryName, StringComparison.InvariantCultureIgnoreCase)) { <text> selected="selected" </text> }>@country.CountryName</option> 772 } 773 </select> 774 </div> 775 776 777 @* UBN Code *@ 778 779 <div id="panel-ubn-code" class="form-inline"> 780 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_UBNCode">@Translate("UbnCode", "UBN Code")<i class="fa fa-asterisk" aria-hidden="true"></i></label> 781 <input type="text" class="form-control hide-hints" id="Kwpn_Form_RegisterFoal_UBNCode" name="Kwpn_Form_RegisterFoal_UBNCode" value="" /> 782 783 <p> 784 @Translate("Kwpn_Form_RegisterFoal_UBNCode_Information", "Vanaf 1-1-2025 is het KWPN verplicht om tijdens de registratie van uw veulen, de UBN-nummer van het adres waarop uw veulen gestald is, bij de geboortemelding te melden naar het RVO (Rijksdienst voor Ondernemend Nederland). Zonder het UBN-nummer is het voor het KWPN niet mogelijk om een databasemelding bij het RVO te kunnen doen en mag er geen paspoort verstrekt worden voor uw veulen.") 785 </p> 786 787 788 </div> 789 790 @*EXTRA FOAL AMOUNT*@ 791 <div class="form-inline"> 792 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_ExtraAmountOfRegistrations">@Translate("ExtraFoalAmount", "Are there any more foals submitted for registration on this stable address?")</label> 793 <input type="number" class="form-control hide-hints" id="Kwpn_Form_RegisterFoal_ExtraAmountOfRegistrations" name="Kwpn_Form_RegisterFoal_ExtraAmountOfRegistrations" value="0" min="0" required /> 794 795 </div> 796 </div> 797 798 @if (!isKnownBreeding || ProductHelper.GetProductPrice(registerFoalProduct) > 0) 799 { 800 <br /><hr /> 801 } 802 803 @if (!isKnownBreeding) 804 { 805 <br /> 806 <h3>@Translate("Remarks", "Remarks")</h3> 807 <div class="form-group"> 808 @*REMARKS*@ 809 <div class="form-inline"> 810 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_Remarks">@Translate("YourRemarks", "Your remarks")</label> 811 <textarea class="form-control hide-hints" 812 id="Kwpn_Form_RegisterFoal_Remarks" 813 name="Kwpn_Form_RegisterFoal_Remarks"></textarea> 814 </div> 815 </div> 816 } 817 818 @if (ProductHelper.GetProductPrice(registerFoalProduct) > 0) 819 { 820 <div id="payment-data"> 821 <br /> 822 <h3>@Translate("PaymentData", "Payment data")</h3> 823 <div class="form-group"> 824 <div class="form-inline"> 825 <label class="control-label col-sm-4">@Translate("PaymentMethod", "Payment method")</label> 826 @foreach (var f in GetLoop("Form.Fields").Where(f => f.GetString("Field.Systemname") == "Kwpn_Form_RegisterFoal_PaymentMethod")) 827 { 828 var fieldOptions = f.GetLoop("FieldOptions"); 829 830 var checkedCounter = isKnownBreeding ? fieldOptions.Count : 1; // KWPN-1326 iDeal default bij known, per factuur bij unknown 831 832 // filter payment options 833 if (isUnknownBreeding) 834 { 835 fieldOptions = fieldOptions.Where(fo => fo.GetString("Field.Option.Value").Equals("OnAccount") || fo.GetString("Field.Option.Value").Equals("Authorization")).ToList(); 836 } 837 838 foreach (var fo in fieldOptions) 839 { 840 var id = string.Format("Kwpn_Form_RegisterFoal_PaymentMethod_{0}", fo.GetString("Field.Option.Value")); 841 var value = Translate(string.Format("PaymentMethod_Value_{0}", fo.GetString("Field.Option.Value")), fo.GetString("Field.Option.Value")); 842 var text = Translate(string.Format("PaymentMethod_Text_{0}", fo.GetString("Field.Option.Text")), fo.GetString("Field.Option.Text")); 843 var checkedIndicator = ""; 844 if (fo.GetInteger("FieldOptions.LoopCounter") == checkedCounter) 845 { 846 checkedIndicator = "checked=\"checked\""; 847 } 848 849 <input type="radio" id="@id" name="Kwpn_Form_RegisterFoal_PaymentMethod" value="@value" @checkedIndicator /> 850 <input type="hidden" id="@id" name="Kwpn_Form_RegisterFoal_PaymentMethod_FieldOptionId" value="@fo.GetInteger("Field.Option.ParentSystemname")" /> 851 <label for="@id" class="radio-label">@text</label> 852 } 853 } 854 </div> 855 </div> 856 857 <div class="row hidden" id="payment-container"> 858 <div class="col-xs-12"> 859 <div class="form-group"> 860 <br /> 861 <br /> 862 <h3>@Translate("AuthorizationData", "Authorization data")</h3> 863 <div class="form-inline"> 864 <label class="control-label col-sm-4">@Translate("Authorization", "Authorization")</label> 865 <input type="checkbox" id="Kwpn_Form_RegisterFoal_AgreedWithAuthorization" name="Kwpn_Form_RegisterFoal_AgreedWithAuthorization" required /> <label for="Kwpn_Form_RegisterFoal_AgreedWithAuthorization" class="checkbox-label no-asterisk">@Translate("AuthorizationApproved", "Approved")</label> 866 </div> 867 <div class="form-inline" id="iban-wrapper"> 868 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_IBAN">@Translate("IBAN", "IBAN")</label> 869 <input type="text" 870 class="form-control text-uppercase" 871 id="Kwpn_Form_RegisterFoal_IBAN" 872 name="Kwpn_Form_RegisterFoal_IBAN" 873 value="" 874 data-default="@iban" 875 title="@Translate("UseValidIBAN")" required /> 876 <br style="clear:both;" /> 877 <label class="control-label col-sm-4 hidden-xs no-asterisk"> </label> 878 <small class="nowrap">@Translate("IBAN_PatternInfo", "Pattern: NL12 BANK 3456 7890 12")</small> 879 </div> 880 <div class="form-inline"> 881 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_AuthorizationName">@Translate("AuthorizationName", "Name")</label> 882 <input type="text" class="form-control hide-hints" id="Kwpn_Form_RegisterFoal_AuthorizationName" name="Kwpn_Form_RegisterFoal_AuthorizationName" value="@authorizationName" required /> 883 </div> 884 <div class="form-inline"> 885 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_AuthorizationResidence">@Translate("AuthorizationResidence", "Residence")</label> 886 <input type="text" class="form-control hide-hints" id="Kwpn_Form_RegisterFoal_AuthorizationResidence" name="Kwpn_Form_RegisterFoal_AuthorizationResidence" value="@authorizationResidence" required /> 887 </div> 888 <div class="form-inline"> 889 <label class="control-label col-sm-4" for="Kwpn_Form_RegisterFoal_BIC">@Translate("BIC", "BIC")</label> 890 <div class="inner-addon right-addon col-sm-4"> 891 <i class="fa fa-question" id="bicinfo" data-toggle="tooltip" title="@Translate("BICTooltip", "Visitors from outside the Netherlands have to enter their Business Identifier Code (BIC)")"></i> 892 <input type="text" 893 class="form-control text-uppercase" 894 id="Kwpn_Form_RegisterFoal_BIC" 895 name="Kwpn_Form_RegisterFoal_BIC" 896 value="" 897 data-default="@bic" 898 pattern="([a-zA-Z]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?)" 899 title="@Translate("UseValidBIC")" /> 900 </div> 901 902 </div> 903 <br /> 904 <br /> 905 </div> 906 </div> 907 </div> 908 </div> 909 910 } 911 else 912 { 913 // no payment for foals of unknown breeding. 914 <input type="hidden" 915 name="Kwpn_Form_RegisterFoal_PaymentMethod" 916 id="Kwpn_Form_RegisterFoal_PaymentMethod" 917 value="@PaymentMethod.Unknown" /> 918 } 919 920 </div> 921 </div> 922 923 924 <button class="hidden" type="submit" id="kwpn_Form_RegisterFoal_FormSubmitter">@Translate("Submit", "Submit")</button> 925 926 <div class="row hidden" id="panel-order-overview"> 927 <div class="col-xs-12 form-order-overview"> 928 <h2>@Translate("OrderOverview", "Order overview")</h2> 929 <table> 930 <colgroup> 931 <col width="30" /> 932 <col /> 933 </colgroup> 934 <tr class="head"> 935 <th><i class="fa fa-info"></i></th> 936 <th>@Translate("Product", "Product")</th> 937 </tr> 938 <tr> 939 <td> </td> 940 <td><span id="foalRegisterOverviewProductName"></span></td> 941 </tr> 942 <tr class="head"> 943 <th><i class="fa fa-eur"></i></th> 944 <th>@Translate("Price", "Price")</th> 945 </tr> 946 <tr> 947 <td> </td> 948 <td><span id="foalRegisterOverviewProductPriceFormatted"></span></td> 949 </tr> 950 <tr class="conditions"> 951 <td><input type="checkbox" class="form-control agreement-checkbox" id="Kwpn_Form_RegisterFoal_AgreedWithConditions" name="Kwpn_Form_RegisterFoal_AgreedWithConditions" required="required" /></td> 952 <td><label for="Kwpn_Form_RegisterFoal_AgreedWithConditions">@FormHelper.GetAgreeWithConditionsText(Kwpn.Models.Enumerations.FormType.RegisterFoal)</label></td> 953 </tr> 954 <tr class="conditions"> 955 <td><input type="checkbox" class="form-control agreement-checkbox" id="Kwpn_Form_RegisterFoal_AgreedWithPrivacy" name="Kwpn_Form_RegisterFoal_AgreedWithPrivacy" required="required" /></td> 956 <td><label for="Kwpn_Form_RegisterFoal_AgreedWithPrivacy">@Translate("AgreeWithPrivacyStatement", "I agree with the conditions stated in the privacy statement page")</label></td> 957 </tr> 958 </table> 959 960 <div class="col-xs-12 navigation-next"> 961 <button class="submitBtn" type="button" defaultText="@buttonText.JsEncode()" disabled="disabled">@buttonText</button> 962 </div> 963 </div> 964 965 966 <div class="col-xs-12 navigation-prev"> 967 <button class="panelbutton panelbutton--previous" id="btn-prev-owner-data" type="button" defaultText="@Translate("FoalRegistration_BtnBackToOwnerData", "Back").JsEncode()">@Translate("FoalRegistration_BtnBackToOwnerData", "Back")</button> 968 </div> 969 </div> 970 971 @GetValue("Form.End") 972 973 </div> 974 </div> 975 </div> 976 977 @SnippetStart("JavascriptsBottom") 978 979 <div class="modal fade" id="select-co-registered" tabindex="-1" role="dialog" aria-labelledby="select-co-registered-modal" aria-hidden="true"> 980 <div class="modal-dialog"> 981 <div class="modal-content"> 982 <div class="modal-header"> 983 @Translate("FoalRegistration_SelectCoRegistered", "Select a co-registered") 984 </div> 985 <div class="modal-body"> 986 <form name="form-select-new-owner" class="form-body"> 987 <div class="form-group"> 988 <div class="form-inline"> 989 <label class="control-label col-sm-4" for="SearchCoRegisteredMemberNumber">@Translate("FoalRegistration_SearchCoRegisteredMemberNumber", "Membership number")</label> 990 <input type="text" class="form-control" maxlength="50" name="SearchCoRegisteredMemberNumber" id="SearchCoRegisteredMemberNumber" placeholder="@Translate("FoalRegistration_SearchCoRegisteredMemberNumberPlaceholder", "Membership number")" /> 991 </div> 992 <div class="form-inline"> 993 <label class="control-label col-sm-4" for="ButtonSearchCoRegistered"> </label> 994 <button class="btn btn-default" id="ButtonSearchCoRegistered" name="ButtonSearchCoRegistered">@Translate("FoalRegistration_SearchCoRegisteredButtonText", "Search")</button> 995 </div> 996 <div id="SearchCoRegisteredResult"></div> 997 </div> 998 </form> 999 </div> 1000 <div class="modal-footer"> 1001 <a class="orange_arrow_link" data-dismiss="modal" href="javascript:void(0);">@Translate("FoalRegistration_SearchCoRegisteredCancel", "Cancel")</a> 1002 <a class="orange_balloon_link modal-ok hidden" href="javascript:void(0);">@Translate("FoalRegistration_SearchCoRegisteredSelectCoRegistered", "Select co-registered")</a> 1003 </div> 1004 </div> 1005 </div> 1006 </div> 1007 1008 <script> 1009 var nameStartingLetters = ""; 1010 1011 1012 1013 @if (isUnknownBreeding) { 1014 <text> 1015 1016 function ShowOrHideEtIcsiBreedingInfoFields() { 1017 if ($("input[name=Kwpn_Form_RegisterFoal_BreedingType]").is(":visible")) { 1018 var selectedBreedingType = $("input[name=Kwpn_Form_RegisterFoal_BreedingType]:checked").val(); 1019 if (selectedBreedingType === '@Kwpn.Models.Enumerations.BreedingType.None.ToString("G")') { 1020 HideEtIcsiBreedingInfoFields(); 1021 ShowInseminationBreedingInfoFields(); 1022 } else { 1023 HideInseminationBreedingInfoFields(); 1024 ShowEtIcsiBreedingInfoFields(); 1025 } 1026 } else { 1027 HideEtIcsiBreedingInfoFields(); 1028 HideInseminationBreedingInfoFields(); 1029 } 1030 } 1031 1032 function HideInseminationBreedingInfoFields() { 1033 1034 // hide all breeding info fields 1035 $("#breedinginfo-insemination").addClass("hidden"); 1036 1037 // clear all breeding info fields 1038 // unrequire all breeding info fields 1039 $("#breedinginfo-insemination").find(":input").each(function () { 1040 $(this).val(""); 1041 $(this).removeAttr("required"); 1042 }); 1043 1044 SetAsterisken(); 1045 } 1046 1047 function ShowInseminationBreedingInfoFields() { 1048 1049 // show new fields form 1050 $("#breedinginfo-insemination").removeClass("hidden");// make fields required 1051 $("#Kwpn_Form_RegisterFoal_InseminationDate", "#breedinginfo-insemination").attr("required", "required"); 1052 SetAsterisken(); 1053 1054 $("input[name=Kwpn_Form_RegisterFoal_BreedingType]").off("change").on("change", function () { 1055 ShowOrHideEtIcsiBreedingInfoFields(); 1056 }); 1057 } 1058 1059 function HideEtIcsiBreedingInfoFields() { 1060 1061 // hide all breeding info fields 1062 $("#breedinginfo").addClass("hidden"); 1063 1064 // clear all breeding info fields 1065 // unrequire all breeding info fields 1066 $("#breedinginfo").find(":input").each(function () { 1067 $(this).val(""); 1068 $(this).removeAttr("required"); 1069 }); 1070 1071 SetAsterisken(); 1072 } 1073 1074 function ShowEtIcsiBreedingInfoFields() { 1075 1076 // show new fields form 1077 $("#breedinginfo").removeClass("hidden"); 1078 1079 // make fields required 1080 $("#Kwpn_Form_RegisterFoal_RinseDate", "#breedinginfo").attr("required", "required"); 1081 $("#Kwpn_Form_RegisterFoal_TransplantDate", "#breedinginfo").attr("required", "required"); 1082 $("#Kwpn_Form_RegisterFoal_SurrogateMother", "#breedinginfo").attr("required", "required"); 1083 $("#Kwpn_Form_RegisterFoal_BreedingDirection.unknown").attr("required", "required"); 1084 SetAsterisken(); 1085 1086 $("input[name=Kwpn_Form_RegisterFoal_BreedingType]").off("change").on("change", function () { 1087 ShowOrHideEtIcsiBreedingInfoFields(); 1088 }); 1089 1090 } 1091 1092 function HideAddFatherManuallyFields() { 1093 1094 // make father required 1095 $("#SearchFather").attr("required", "required"); 1096 1097 // hide all add father manually fields 1098 $("#fatherinfo").addClass("hidden"); 1099 1100 // clear all add father manually fields 1101 // unrequire all add father manually fields 1102 $("#addfathermanually").find(":input").each(function () { 1103 $(this).val(""); 1104 $(this).removeAttr("required"); 1105 }); 1106 1107 SetAsterisken(); 1108 } 1109 1110 function ShowAddFatherManuallyFields() { 1111 1112 // clear previous 1113 ClearPreviousStudResults() 1114 1115 $addfathermanually = $("#addfathermanually"); 1116 1117 // clear input 1118 $("#SearchFather").val(""); 1119 $("label[for=SearchFather]").find("i").remove(); 1120 1121 // show new fields form 1122 $("#fatherinfo").removeClass("hidden"); 1123 1124 // make father search unrequired and father fields required 1125 $("#SearchFather").removeAttr("required"); 1126 $("#Kwpn_Form_RegisterFoal_StudAnimalName", $addfathermanually).attr("required", "required"); 1127 $("#Kwpn_Form_RegisterFoal_StudLifeNumber", $addfathermanually).attr("required", "required"); 1128 SetAsterisken(); 1129 1130 // focus on first field 1131 $("#addfathermanually input:text").first().focus(); 1132 1133 ShowExtraFatherFields(); 1134 } 1135 1136 function HideExtraFatherFields() { 1137 // hide all add father manually fields 1138 $("#extrafatherinfo").addClass("hidden"); 1139 1140 // clear all add father manually fields 1141 // unrequire all add father manually fields 1142 $("#extrafather > input").each(function () { 1143 $(this).val(""); 1144 $(this).removeAttr("required"); 1145 }); 1146 } 1147 1148 function ShowExtraFatherFields() { 1149 $extrafather = $("#extrafather"); 1150 1151 // show new fields form 1152 $("#extrafatherinfo").removeClass("hidden"); 1153 1154 // make fields required 1155 $("#Kwpn_Form_RegisterFoal_ViaStation", $extrafather).attr("required", "required"); 1156 SetAsterisken(); 1157 } 1158 1159 function SearchAvailableStuds() { 1160 1161 // clear previous 1162 ClearPreviousStudResults() 1163 1164 // hide add father manually form fields 1165 HideAddFatherManuallyFields(); 1166 1167 1168 // Hide registration fields 1169 $("#Kwpn_Form_RegisterFoal_FoalDateOfBirth").val(""); 1170 HideRegistration(); 1171 1172 var searchValue = $("#SearchFather").val(); 1173 if (searchValue === "") { 1174 return; 1175 } 1176 1177 var spinner = $('span.input-group-btn i'); 1178 var resultContainer = $("#StudSearchResults"); 1179 1180 if (searchValue.length !== 0) spinner.removeClass('fa-search').addClass('fa-spinner fa-spin'); 1181 1182 var getStudsUrl = "/kwpnwebapi/horses/findfather/@culture/" + searchValue; 1183 $.getJSON(getStudsUrl).done(function (result) { 1184 1185 // clear previous 1186 ClearPreviousStudResults(); 1187 1188 var addNewStudOption = "<p><hr/>@Translate("Stud_CreateNewText", "If you can not find the stud, you can create a new one bij pushing the link below. Extra fields will appear in the form.")<br /><a href=\"javascript:void(0);\" onclick=\"javascript:ShowAddFatherManuallyFields();\" id=\"create-new-stud\">@Translate("Father_CreateNewButtonText", "Add father manually")</a></p>"; 1189 1190 if (result == null || result.Top100 == null || result.Top100.length == 0) { 1191 resultContainer.append("<p>@Translate("NoFatherFound", "No optional father found") @Translate("PleaseRefineYourSearch", "Please refine your search")</p>" + addNewStudOption); 1192 $('div.input-group.form-control').height(resultContainer.height() + 24); 1193 $("#SearchFather").val(""); 1194 spinner.removeClass('fa-spinner fa-spin').addClass('fa-search'); 1195 } else { 1196 var studs = result.Top100; 1197 if (studs.length == 1) { 1198 // immediate select 1199 var stud = studs[0]; 1200 var lifeNumber = (stud.LifenumberComplete !== "") ? stud.LifenumberComplete : stud.Lifenumber; 1201 SelectFather(stud.HorseCode, stud.AnimalName, lifeNumber); 1202 spinner.removeClass('fa-spinner fa-spin').addClass('fa-search'); 1203 ShowExtraFatherFields(); 1204 } else { 1205 // create list 1206 resultContainer.append('<b>@Translate("SelectFather", "Select the father")</b><br />'); 1207 $.each(studs, function (i, stud) { 1208 var lifeNumber = (stud.LifenumberComplete !== "") ? stud.LifenumberComplete : stud.Lifenumber; 1209 var approved = (stud.IsApprovedStud) ? "<div class='fa-approved-stud'></div> " : ""; 1210 resultContainer.append("<div class='studoption' data-horsecode='" + stud.HorseCode + "' data-lifenumber='" + lifeNumber + "'>" + approved + stud.AnimalName + " <span class='small'>(" + stud.Father + " x " + stud.MothersFather + ")</span></div>"); 1211 }); 1212 resultContainer.append(addNewStudOption); 1213 1214 $(".studoption").click(function () { 1215 SelectFather($(this).attr("data-horsecode"), $(this).text(), $(this).attr("data-lifenumber")); 1216 ShowExtraFatherFields(); 1217 ValidatePanelBreedingData(true); 1218 }); 1219 1220 $('div.input-group.form-control').height(resultContainer.height() + 24); 1221 spinner.removeClass('fa-spinner fa-spin').addClass('fa-search'); 1222 } 1223 } 1224 }).fail(function (jqxhr, textStatus, error) { 1225 1226 // clear previous 1227 ClearPreviousStudResults() 1228 1229 var err = textStatus + ", " + error; 1230 console.error("Request SearchAvailableStuds Failed: " + err); 1231 spinner.removeClass('fa-spinner fa-spin').addClass('fa-search'); 1232 1233 }); 1234 } 1235 1236 function ClearPreviousStudResults() { 1237 var resultContainer = $("#StudSearchResults"); 1238 var selectedFather = $("#StudSelected"); 1239 resultContainer.html(""); 1240 selectedFather.html(""); 1241 1242 // clear father code 1243 var selectedFatherCode = $("#Kwpn_Form_RegisterFoal_StudAnimalCode"); 1244 selectedFatherCode.val(""); 1245 1246 // clear father name 1247 var selectedFatherName = $("#Kwpn_Form_RegisterFoal_StudAnimalName"); 1248 selectedFatherName.val(""); 1249 1250 // clear father lifenumber 1251 var selectedFatherLifenumber = $("#Kwpn_Form_RegisterFoal_StudLifeNumber"); 1252 selectedFatherLifenumber.val(""); 1253 1254 $('div.input-group.form-control').css('height', '40px'); 1255 // make searchfield required required 1256 $("#SearchFather").attr("required", "required"); 1257 } 1258 1259 function SelectFather(animalCode, animalName, animalLifenumber) { 1260 1261 $('div.input-group.form-control').css('height', '40px'); 1262 // get selected value and fill hiddenfiled and person balloon 1263 1264 // fill father code 1265 var selectedFatherCode = $("#Kwpn_Form_RegisterFoal_StudAnimalCode"); 1266 selectedFatherCode.val(animalCode); 1267 1268 // fill father name 1269 var selectedFatherName = $("#Kwpn_Form_RegisterFoal_StudAnimalName"); 1270 selectedFatherName.val(animalName); 1271 1272 // fill father lifenumber 1273 var selectedFatherLifenumber = $("#Kwpn_Form_RegisterFoal_StudLifeNumber"); 1274 selectedFatherLifenumber.val(animalLifenumber); 1275 1276 var selectedFather = $("#StudSelected"); 1277 selectedFather.append("<div class='form-inline'><label class='control-label col-sm-4'>@Translate("SelectedFather", "Selected father")</label><div class='selectedFather'><i class='fa fa-close delete-selected-father'></i> " + animalName + " (" + animalLifenumber + ")</div></div>"); 1278 1279 $("#StudSearchResults").html(""); 1280 $("#SearchFather").val(""); 1281 $("label[for=SearchFather]").find("i").remove(); 1282 1283 $(".delete-selected-father").click(function () { 1284 ClearPreviousStudResults(); 1285 HideExtraFatherFields(); 1286 $("#Kwpn_Form_RegisterFoal_FoalDateOfBirth").val(""); 1287 HideRegistration(); 1288 ValidatePanelBreedingData(true); 1289 SetAsterisken(); 1290 }); 1291 1292 // unrequire the search field and focus 1293 $("#SearchFather").removeAttr("required"); 1294 $("#SearchFather").focus(); 1295 1296 } 1297 1298 </text> 1299 } 1300 1301 function ShowCountrySpecificFields(value) { 1302 1303 $("#Kwpn_Form_RegisterFoal_UBNCode").removeAttr("required"); 1304 $('#panel-ubn-code').hide(); 1305 1306 if (value === undefined || value === '') { 1307 value = '@KwpnUsers.CurrentUser().DwUser.Country'; 1308 } 1309 1310 if (value === 'NL') { 1311 $("#Kwpn_Form_RegisterFoal_UBNCode").attr("required", "required"); 1312 $('#panel-ubn-code').show(); 1313 } 1314 } 1315 1316 // check if form is valid 1317 function FormIsHtml5Valid() { 1318 return $("#FormRegisterHorse .form-control:invalid").length == 0; 1319 } 1320 1321 function ibanIsForeign(iban) { 1322 return !iban.toLowerCase().match("^nl"); 1323 } 1324 1325 function makeBicRequired() { 1326 $("#Kwpn_Form_RegisterFoal_BIC").prop("required", true); 1327 var asterisk = "<i class=\"fa fa-asterisk\" aria-hidden=\"true\"></i>"; 1328 $("#Kwpn_Form_RegisterFoal_BIC") 1329 .closest(".form-inline") 1330 .children("label") 1331 .not(":has(> i)") 1332 .append(asterisk); 1333 } 1334 1335 function makeBicUnRequired() { 1336 $("#Kwpn_Form_RegisterFoal_BIC").prop("required", false); 1337 $("#Kwpn_Form_RegisterFoal_BIC") 1338 .closest(".form-inline") 1339 .children("label") 1340 .find("i") 1341 .remove(); 1342 } 1343 1344 // Validate name 1345 function validateName() { 1346 var name = $("#Kwpn_Form_RegisterFoal_FoalName").val(); 1347 1348 // validate starting letter 1349 if (nameStartingLetters != "") { 1350 if (name != "") { 1351 if (!name.toUpperCase().match("^" + nameStartingLetters.toUpperCase())) { 1352 Swal.fire({ title: "@Translate("InvalidInputTitle", "Invalid input")" ,text: "@Translate("FoalNameValidation_StartingLetter", "De naam moet beginnen met") '" + nameStartingLetters.toUpperCase() + "'.", customClass: layout.notifyCopyrightMessageClass }); 1353 $("#Kwpn_Form_RegisterFoal_FoalName").val(""); 1354 } 1355 } 1356 } else { 1357 // wat dan? breeding info ophalen wellicht niet geslaagd ... 1358 } 1359 1360 // validate syntax 1361 name = $("#Kwpn_Form_RegisterFoal_FoalName").val(); 1362 if (name != "") { 1363 1364 // accepts alphanumeric (plus diacritics), spaces, dots, apostrophe 1365 var myReg = new RegExp("^[A-Za-zÀ-ÖØ-öø-ÿ0-9 .'&-]*$"); 1366 if (!myReg.test(name)) { 1367 Swal.fire({ title: "@Translate("InvalidInputTitle", "Invalid input")" ,text: "@Translate("FoalNameValidation_CharCheck", "De naam bevat ongeldige karakters. Alleen letters, cijfers en spaties zijn toegestaan.")", customClass: layout.notifyCopyrightMessageClass }); 1368 $("#Kwpn_Form_RegisterFoal_FoalName").val(""); 1369 } 1370 } 1371 1372 ValidatePanelRegistrationData(true); 1373 } 1374 1375 function equisOffline() { 1376 $(".modal-body", "#equis-offline") // set alert text 1377 .html('@Translate("EquisOffline_Modal_BodyText_RegisterFoal", "Our back office is currently unavailable.<br />Most of the website is viewable.<br/>For the parts we need to communicate with our back office, we ask you to try again soon.<br />Sorry for the inconvenience.")'); 1378 $("#equis-offline").modal("show"); // show alert to user by showing modal (in master) 1379 $(".submitBtn").text("@Translate("EquisOffline_FormButtonReplaceText", "Back office offline")"); // change button text 1380 $("#kwpn_Form_RegisterFoal_FormSubmitter").prop("disabled", true); // disable hidden button 1381 $("#FormRegisterHorse :input").prop("disabled", true); // disable all input/textarea/select/checkbox/radio/button 1382 } 1383 1384 function setCoRegistered(personCode, personInfo) { 1385 var coRegistered = "<span class='coregisterred' data-personcode='" + personCode + "'><a href='#' class='pull-right removecoregistered' data-personcode='" + personCode + "'><i class='fa fa-trash'></i></a><span>" + personInfo + "</span></span>"; 1386 if ($("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val().length > 1) { 1387 //add co-registered 1388 $("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val(function (idx, curr) { return curr + "," + personCode }); 1389 $("#selectedCoRegistered").html(function (idx, curr) { return curr + coRegistered }); 1390 } else { 1391 //set first co-registered 1392 $("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val(personCode); 1393 $("#selectedCoRegistered").html(coRegistered); 1394 } 1395 $("#SearchCoRegisteredResult").html(""); 1396 $("#select-co-registered").modal("hide"); 1397 1398 $(".removecoregistered") 1399 .off("click") 1400 .on("click", function (e) { 1401 1402 e.preventDefault(); 1403 var removePersonCode = $(this).attr("data-personcode"); 1404 1405 // remove from hidden field 1406 var currentCoRegistered = $("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val().split(','); 1407 var index = currentCoRegistered.indexOf(removePersonCode); 1408 if (index >= 0) { currentCoRegistered.splice(index, 1); } 1409 $("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val(currentCoRegistered.join(",")); 1410 1411 // remove from list 1412 $("span[data-personcode=" + removePersonCode + "]", "#selectedCoRegistered").remove(); 1413 1414 }); 1415 } 1416 1417 function GetExVat(incVat) { 1418 return incVat / 1.21; // extract 21% VAT 1419 } 1420 1421 // shows or hides the iban and bic fields based on payment method selection 1422 function ValidateAuthorizationFields() { 1423 var toggleDiv = $("#payment-container"); 1424 var selectedValue = $("input[name=Kwpn_Form_RegisterFoal_PaymentMethod]:checked").val(); 1425 if (selectedValue == '@Kwpn.Models.Enumerations.PaymentMethod.Authorization.ToString()') { 1426 // show 1427 var userIban = $("#Kwpn_Form_RegisterFoal_IBAN").attr("data-default"); 1428 var userBic = $("#Kwpn_Form_RegisterFoal_BIC").attr("data-default"); 1429 $("#Kwpn_Form_RegisterFoal_IBAN").val(userIban); 1430 $("#Kwpn_Form_RegisterFoal_AuthorizationName").val("@KwpnUsers.CurrentUser().DwUser.Name.JsEscapeDoubleQuotes().FixAutoInputStringValue(50)"); 1431 $("#Kwpn_Form_RegisterFoal_AuthorizationResidence").val("@KwpnUsers.CurrentUser().DwUser.City.JsEscapeDoubleQuotes().FixAutoInputStringValue(50)"); 1432 $("#Kwpn_Form_RegisterFoal_BIC").val(userBic); 1433 1434 if (ibanIsForeign(userIban)) { 1435 makeBicRequired(); 1436 } else { 1437 makeBicUnRequired(); 1438 } 1439 1440 toggleDiv.removeClass("hidden"); 1441 } else { 1442 // clear fields 1443 $("#Kwpn_Form_RegisterFoal_AgreedWithAuthorization").prop('checked', false); 1444 $("#Kwpn_Form_RegisterFoal_IBAN").val(""); 1445 $("#Kwpn_Form_RegisterFoal_AuthorizationName").val(""); 1446 $("#Kwpn_Form_RegisterFoal_AuthorizationResidence").val(""); 1447 $("#Kwpn_Form_RegisterFoal_BIC").val(""); 1448 makeBicUnRequired(); 1449 // hide 1450 if (!toggleDiv.hasClass("hidden")) {toggleDiv.addClass("hidden");} 1451 } 1452 SetRequiredFields(); 1453 ValidatePanelBarnData(true); 1454 } 1455 1456 function SetBreedingInfo(breedingInfo) { 1457 1458 var breedingCode = breedingInfo.BreedingCode; // DEK-0000000 1459 //var dioNumber = breedingInfo.Dionumber; // 0 1460 var breedingDate = breedingInfo.DateOfBreeding; // 2015-07-27T00:00:00 1461 //var mareCode = breedingInfo.MareCode; // P-000000 (is current animalcode) 1462 var studCode = breedingInfo.StallionCode; // P-000000 1463 var studNumber = breedingInfo.StallionNumber; // 1234567890 1464 var studName = breedingInfo.StallionName; // HENKIE 1465 var breedingDirectionAdvice = breedingInfo.AdvicedBreedingDirection; // FOKR-000000 - not used anymore. if more than 1 user needs to select manually 1466 var dnaMessage = breedingInfo.DNAMessage; // DRAAGTIJD LANG 1467 //var dnaNumberMare = breedingInfo.DNANumberMare; // VHL_ID 155916 1468 //var dnaNumberStud = breedingInfo.DnaNumberStallion; // VHL_ID 252047 1469 var startingLetters = breedingInfo.StartingLetters; // P 1470 //var breedingDirectionEnabled = breedingInfo.blnEnableBreedingDirection; // true, if false there should only be 1 required option 1471 var breedingDirections = breedingInfo.lstBreedingDirection; // array of string: FOKR-000000, FOKR-000000, FOKR-000000 1472 var breeders = breedingInfo.lstBreeder; // array of PersonModel 1473 var owners = breedingInfo.lstOwner; // array of PersonModel 1474 var fathersName = breedingInfo.FathersName; // HENKIE 1475 var formattedDateOfBreeding = breedingInfo.FormattedDateOfBreeding; // empty sting when unknown breeding, short date pattern is is known breeding 1476 1477 1478 //var stableName = ""; // not used 1479 var stableAddress = ""; 1480 var stableHouseNumber = ""; 1481 var stablePostalCode = ""; 1482 var stableCity = ""; 1483 var stableCountryCode = ""; 1484 1485 if (breedingInfo.StableaddressPlace != "" && breedingInfo.StableaddressPostalcode != "") { 1486 // use stable info 1487 // stableName = breedingInfo.Stablename; // not used 1488 stableAddress = breedingInfo.StableaddressStreetname; 1489 stableHouseNumber = breedingInfo.StableaddressHouseno; 1490 stablePostalCode = breedingInfo.StableaddressPostalcode; 1491 stableCity = breedingInfo.StableaddressPlace; 1492 stableCountryCode = breedingInfo.StableaddressCountrycode; 1493 } else { 1494 // use prio 1 owner info 1495 if (owners.length > 0) { 1496 var prio1Owner = owners[0]; 1497 stableAddress = prio1Owner.Streetname; 1498 stableHouseNumber = prio1Owner.Houseno; 1499 stablePostalCode = prio1Owner.Postalcode; 1500 stableCity = prio1Owner.Place; 1501 stableCountryCode = prio1Owner.Countrycode; 1502 } 1503 } 1504 1505 // update fathersName and dateofbreeding, is possible the selected breeding has changed depending on submitted birthdate 1506 if (formattedDateOfBreeding && formattedDateOfBreeding !== null && formattedDateOfBreeding.length !== 0) { 1507 $("#Kwpn_Form_RegisterFoal_BreedingDate_Visible").val(formattedDateOfBreeding); 1508 } 1509 if (breedingDate && breedingDate !== null && breedingDate.length !== 0) { 1510 $("#Kwpn_Form_RegisterFoal_BreedingDate").val(breedingDate); 1511 } 1512 if (fathersName && fathersName !== null && fathersName.length !== 0) { 1513 $("#Kwpn_Form_RegisterFoal_StudAnimalName").val(fathersName); 1514 } 1515 1516 @if (isKnownBreeding) { 1517 <text> 1518 if (studCode > '') { 1519 $("#Kwpn_Form_RegisterFoal_StudAnimalCode").val(studCode); 1520 } 1521 1522 // if dnaMessage = "DRAAGTIJD LANG" dan is de draagtijd te kort OF te lang, waarschuwing tonen 1523 if (dnaMessage === "DRAAGTIJD LANG") { 1524 $("#GestationPeriodWarning").removeClass("hidden"); 1525 } else { 1526 $("#GestationPeriodWarning").addClass("hidden"); 1527 } 1528 if (dnaMessage > "") { // als dnaMessage gevuld is dan meesturen 1529 $("#Kwpn_Form_RegisterFoal_GestationPeriodInfo").val(dnaMessage); 1530 } 1531 // fill breeding code? 1532 $("#Kwpn_Form_RegisterFoal_BreedingCode").val(breedingCode); 1533 </text> 1534 } else { 1535 <text> 1536 if (studCode > '' && studCode !== $("#Kwpn_Form_RegisterFoal_StudAnimalCode").val()) { 1537 var alertText = "@Translate("BreedingWarning", "Waarschuwing! Controleer de vader gegevens zorgvuldig. Er is bij ons een dekking met hengst {paardcode} bekend.")"; 1538 alertText = alertText.replace("{paardcode}", studName + " (" + studNumber + ")"); 1539 Swal.fire({ title: "@Translate("WarningTitle", "Watch out!")" ,text: alertText, customClass: layout.notifyCopyrightMessageClass }); 1540 1541 } 1542 </text> 1543 } 1544 1545 // set starting letter for horse name 1546 nameStartingLetters = startingLetters; 1547 1548 // fill breeding directions and set adviced breeding direction 1549 try { 1550 1551 // set breeding direction default 1552 $("#Kwpn_Form_RegisterFoal_BreedingDirection").find('option') 1553 .remove() 1554 .end() 1555 .append('<option value="">@Translate("Select")</option>') 1556 .append('<option value="FOKR-000001">@Translate("Fokrichting_DP", "Dressage horse")</option>') 1557 .append('<option value="FOKR-000002">@Translate("Fokrichting_GP", "Gelderlander")</option>') 1558 .append('<option value="FOKR-000006">@Translate("Fokrichting_SP", "Jumping horse")</option>') 1559 .append(' <option value="FOKR-000007">@Translate("Fokrichting_TP", "Harness horse")</option>') 1560 .val(''); 1561 1562 if (breedingDirections.length > 0) { 1563 1564 // remove options with value and value not in breedingDirections array 1565 $("#Kwpn_Form_RegisterFoal_BreedingDirection").find('option').each(function() { 1566 var option = $(this); 1567 var optionValue = option.val(); 1568 if (optionValue != "" && jQuery.inArray(optionValue, breedingDirections) === -1) { 1569 option.remove(); 1570 } 1571 }); 1572 1573 // if only 1 breeding direction option, preselect it - KWPN-1390 1574 var remainingOptions = $("#Kwpn_Form_RegisterFoal_BreedingDirection").find('option'); 1575 if (remainingOptions.length == 2) { // not 1 because the empty 'select' option is also present 1576 $('#Kwpn_Form_RegisterFoal_BreedingDirection option:last-child').prop('selected', true); 1577 } 1578 } 1579 } catch (err) { 1580 console.error("Fill breeding directions failed: " + err.message); 1581 } 1582 1583 // fill breeder data 1584 try { 1585 if (breeders.length > 0) { 1586 1587 // breeder 1588 var primaryBreeder = breeders[0]; 1589 $("#Kwpn_Form_RegisterFoal_BreederMembershipNumber").val(primaryBreeder.Personcode); 1590 $("#Kwpn_Form_RegisterFoal_BreederMembershipNumber").attr("readonly", "readonly"); // readonly 1591 $("#Kwpn_Form_RegisterFoal_BreederName").val(primaryBreeder.Personname); 1592 $("#Kwpn_Form_RegisterFoal_BreederName").attr("readonly", "readonly"); // readonly 1593 1594 // co-breeders 1595 var coBreeders = ""; 1596 if (breeders.length > 1) { 1597 1598 for (i = 0; i < breeders.length; i++) { 1599 if (i > 0) { 1600 if (coBreeders != "") { 1601 coBreeders += ","; 1602 } 1603 coBreeders += breeders[i].Personname; 1604 } 1605 } 1606 } 1607 $("#Kwpn_Form_RegisterFoal_CoBreederMembershipNumbers").val(coBreeders); 1608 $("#Kwpn_Form_RegisterFoal_CoBreederMembershipNumbers").attr("readonly", "readonly"); // readonly 1609 1610 // list of breeder personcodes 1611 } 1612 } catch (err) { 1613 console.error("Fill breeder data failed: " + err.message); 1614 } 1615 1616 // fill co registered data (doesn't get saved in the form) 1617 try { 1618 var coRegisteredList = ""; 1619 if (owners.length > 0) { 1620 $.each(owners, function(i, owner) { 1621 if (owner.Personcode.toLowerCase() !== '@KwpnUsers.CurrentUser().DwUser.UserName.ToLower()') { 1622 var personCode = owner.Personcode; 1623 var personInfo = owner.Personname; 1624 if (owner.Place !== "") { 1625 personInfo = "<b>" + personInfo + "</b>, " + owner.Place.toUpperCase(); 1626 } 1627 var coRegistered = "<span class='coregisterred' data-personcode='" + personCode + "'><span>" + personInfo + "</span></span>"; 1628 if ($("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val().length > 1) { 1629 //add co-registered 1630 $("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val(function(idx, curr) {return curr + "," + personCode}); 1631 $("#selectedCoRegistered").html(function (idx, curr) { return curr + coRegistered }); 1632 } else { 1633 //set first co-registered 1634 $("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val(personCode); 1635 $("#selectedCoRegistered").html(coRegistered); 1636 } 1637 } 1638 }); 1639 if (coRegisteredList !== "") { 1640 $("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val(coRegisteredList); 1641 } 1642 } 1643 } 1644 catch (err) { 1645 console.error("Fill co-registered data failed: " + err.message); 1646 } 1647 1648 // fill stable data 1649 try { 1650 $("#Kwpn_Form_RegisterFoal_StableAddress").val(stableAddress); 1651 $("#Kwpn_Form_RegisterFoal_StableHouseNumber").val(stableHouseNumber); 1652 $("#Kwpn_Form_RegisterFoal_StablePostalCode").val(stablePostalCode); 1653 $("#Kwpn_Form_RegisterFoal_StableCity").val(stableCity); 1654 $("#Kwpn_Form_RegisterFoal_StableCountry").val(stableCountryCode); 1655 $("#Kwpn_Form_RegisterFoal_UBNCode").val(""); 1656 } 1657 catch (err) { 1658 console.error("Fill stable data failed: " + err.message); 1659 } 1660 } 1661 1662 function FillHiddenFields() { 1663 // set hidden field values 1664 $("#Kwpn_Form_RegisterFoal_AccessUserID").val("@userId"); 1665 $("#Kwpn_Form_RegisterFoal_AccessUserUserName").val("@membershipNumber"); 1666 $("#Kwpn_Form_RegisterFoal_SubmitDateTime").val("@currentDateTime"); 1667 $("#Kwpn_Form_RegisterFoal_OrderStatus").val("@Kwpn.Models.Enumerations.FormOrderStatus.FormSubmitted.ToString()"); 1668 $("#Kwpn_Form_RegisterFoal_OrderStatusLastChanged").val("@currentDateTime"); 1669 $("#Kwpn_Form_RegisterFoal_ProductName").val("@registerFoalProduct.Name.FixAutoInputStringValue(150)"); 1670 $("#Kwpn_Form_RegisterFoal_ProductPrice").val("@ProductHelper.GetProductPrice(registerFoalProduct)"); 1671 $("#Kwpn_Form_RegisterFoal_Culture").val("@culture"); 1672 $("#Kwpn_Form_RegisterFoal_MareAnimalCode").val("@animalCode.ToUpper()"); 1673 @if (isKnownBreeding) 1674 { 1675 <text> 1676 $("#Kwpn_Form_RegisterFoal_StudAnimalCode").val("@studAnimalCode"); 1677 $("#Kwpn_Form_RegisterFoal_IsKnownBreeding").val('true'); 1678 $("#Kwpn_Form_RegisterFoal_BreedingDate").val("@breedingDate"); 1679 $("#Kwpn_Form_RegisterFoal_GestationPeriodInfo").val('EIGEN VERZOEK'); 1680 </text> 1681 } 1682 else 1683 { 1684 <text> 1685 $("#Kwpn_Form_RegisterFoal_IsKnownBreeding").val(''); // false/False/0 leveren True op in de db 1686 $("#Kwpn_Form_RegisterFoal_BreedingDate").val("1-1-1900"); // dw geeft date format error als deze niet wordt gevuld 1687 $("#Kwpn_Form_RegisterFoal_GestationPeriodInfo").val(''); 1688 </text> 1689 } 1690 } 1691 1692 function SetAsterisken() { 1693 var asterisk = "<i class=\"fa fa-asterisk\" aria-hidden=\"true\"></i>"; 1694 $('input,textarea,select') 1695 .filter('[required]:visible') 1696 .closest(".form-inline") 1697 .children("label") 1698 .not(".no-asterisk") 1699 .not(":has(> i)") 1700 .append(asterisk); 1701 } 1702 1703 function SetRequiredFields() { 1704 var deceasedValue = $("#Kwpn_Form_RegisterFoal_FoalDeceased:checked").length > 0; 1705 1706 1707 1708 if (deceasedValue) { 1709 $("#Kwpn_Form_RegisterFoal_FoalName").removeAttr("required"); 1710 $("#Kwpn_Form_RegisterFoal_FoalColor").removeAttr("required"); 1711 $("#Kwpn_Form_RegisterFoal_BreedingDirection").removeAttr("required"); 1712 $("#Kwpn_Form_RegisterFoal_BreederMembershipNumber").removeAttr("required"); 1713 $("#Kwpn_Form_RegisterFoal_BreederName").removeAttr("required"); 1714 $("#Kwpn_Form_RegisterFoal_OwnerName").removeAttr("required"); 1715 $("#Kwpn_Form_RegisterFoal_OwnerAddress").removeAttr("required"); 1716 @if (culture.Equals("nl-NL", StringComparison.InvariantCultureIgnoreCase)){<text>$("#Kwpn_Form_RegisterFoal_OwnerHouseNumber").removeAttr("required");</text>} 1717 $("#Kwpn_Form_RegisterFoal_OwnerPostalCode").removeAttr("required"); 1718 $("#Kwpn_Form_RegisterFoal_OwnerCity").removeAttr("required"); 1719 $("#Kwpn_Form_RegisterFoal_OwnerEmailAddress").removeAttr("required"); 1720 $("#Kwpn_Form_RegisterFoal_OwnerPhone1").removeAttr("required"); 1721 $("#Kwpn_Form_RegisterFoal_StableAddress").removeAttr("required"); 1722 @if (culture.Equals("nl-NL", StringComparison.InvariantCultureIgnoreCase)){<text>$("#Kwpn_Form_RegisterFoal_StableHouseNumber").removeAttr("required");</text>} 1723 $("#Kwpn_Form_RegisterFoal_StablePostalCode").removeAttr("required"); 1724 1725 $("#Kwpn_Form_RegisterFoal_StableCity").removeAttr("required"); 1726 $("#Kwpn_Form_RegisterFoal_StableCountry").removeAttr("required"); 1727 $("#Kwpn_Form_RegisterFoal_ExtraAmountOfRegistrations").removeAttr("required"); 1728 $("#Kwpn_Form_RegisterFoal_AgreedWithAuthorization").removeAttr("required"); 1729 $("#Kwpn_Form_RegisterFoal_IBAN").removeAttr("required"); 1730 $("#Kwpn_Form_RegisterFoal_AuthorizationName").removeAttr("required"); 1731 $("#Kwpn_Form_RegisterFoal_AuthorizationResidence").removeAttr("required"); 1732 } else { 1733 $("#Kwpn_Form_RegisterFoal_FoalName").attr("required", "required"); 1734 $("#Kwpn_Form_RegisterFoal_FoalColor").attr("required", "required"); 1735 $("#Kwpn_Form_RegisterFoal_BreedingDirection").attr("required", "required"); 1736 $("#Kwpn_Form_RegisterFoal_BreederMembershipNumber").attr("required", "required"); 1737 $("#Kwpn_Form_RegisterFoal_BreederName").attr("required", "required"); 1738 $("#Kwpn_Form_RegisterFoal_OwnerName").attr("required", "required"); 1739 $("#Kwpn_Form_RegisterFoal_OwnerAddress").attr("required", "required"); 1740 @if (culture.Equals("nl-NL", StringComparison.InvariantCultureIgnoreCase)){<text>$("#Kwpn_Form_RegisterFoal_OwnerHouseNumber").attr("required", "required");</text>} 1741 $("#Kwpn_Form_RegisterFoal_OwnerPostalCode").attr("required", "required"); 1742 $("#Kwpn_Form_RegisterFoal_OwnerCity").attr("required", "required"); 1743 $("#Kwpn_Form_RegisterFoal_OwnerEmailAddress").attr("required", "required"); 1744 $("#Kwpn_Form_RegisterFoal_OwnerPhone1").attr("required", "required"); 1745 $("#Kwpn_Form_RegisterFoal_StableAddress").attr("required", "required"); 1746 @if (culture.Equals("nl-NL", StringComparison.InvariantCultureIgnoreCase)){<text>$("#Kwpn_Form_RegisterFoal_StableHouseNumber").attr("required", "required");</text>} 1747 $("#Kwpn_Form_RegisterFoal_StablePostalCode").attr("required", "required"); 1748 $("#Kwpn_Form_RegisterFoal_StableCity").attr("required", "required"); 1749 1750 $("#Kwpn_Form_RegisterFoal_StableCountry").attr("required", "required"); 1751 $("#Kwpn_Form_RegisterFoal_ExtraAmountOfRegistrations").attr("required", "required"); 1752 var paymentMethod = $("input[name=Kwpn_Form_RegisterFoal_PaymentMethod]:checked").val(); 1753 if (paymentMethod == '@Kwpn.Models.Enumerations.PaymentMethod.Authorization.ToString()') { 1754 $("#Kwpn_Form_RegisterFoal_AgreedWithAuthorization").attr("required", "required"); 1755 $("#Kwpn_Form_RegisterFoal_IBAN").attr("required", "required"); 1756 $("#Kwpn_Form_RegisterFoal_AuthorizationName").attr("required", "required"); 1757 $("#Kwpn_Form_RegisterFoal_AuthorizationResidence").attr("required", "required"); 1758 } else { 1759 $("#Kwpn_Form_RegisterFoal_AgreedWithAuthorization").removeAttr("required"); 1760 $("#Kwpn_Form_RegisterFoal_IBAN").removeAttr("required"); 1761 $("#Kwpn_Form_RegisterFoal_AuthorizationName").removeAttr("required"); 1762 $("#Kwpn_Form_RegisterFoal_AuthorizationResidence").removeAttr("required"); 1763 } 1764 1765 // numbers only 1766 $("#Kwpn_Form_RegisterFoal_ExtraAmountOfRegistrations").numeric(); 1767 } 1768 SetAsterisken(); 1769 } 1770 1771 function SetProductInformation() { 1772 1773 var requestForGenomicBreedingValueResearch = $("#Kwpn_Form_RegisterFoal_RequestForDnaResearch:checked").length > 0; 1774 var requestForWffsTest = $("#Kwpn_Form_RegisterFoal_RequestWffsTest:checked").length > 0; 1775 1776 var isDeceased = $("#Kwpn_Form_RegisterFoal_FoalDeceased:checked").length > 0; 1777 if (isDeceased) { 1778 $(".submitBtn").text("@Translate("Submit", "Submit")"); 1779 $("#Kwpn_Form_RegisterFoal_ProductName").val("@deceasedHorseProduct.Name"); 1780 $("#Kwpn_Form_RegisterFoal_ProductPrice").val("@ProductHelper.GetProductPrice(deceasedHorseProduct)"); 1781 $("#foalRegisterOverviewProductName").html("@deceasedHorseProduct.Name"); 1782 $("#foalRegisterOverviewProductPriceFormatted").html("@ProductHelper.FormatPrice(ProductHelper.GetProductPrice(deceasedHorseProduct))"); 1783 $("#register-foal-product-name").html("@deceasedHorseProduct.Name"); 1784 $("#register-foal-product-price").html("@ProductHelper.FormatPrice(ProductHelper.GetProductPrice(deceasedHorseProduct))"); 1785 $("#payment-data").addClass("hidden"); 1786 } else { 1787 $(".submitBtn").text("@Translate("Pay", "Pay")"); 1788 var registrationPrice = parseFloat(@ProductHelper.GetProductPrice(registerFoalProduct).ToString().Replace(",", ".")); 1789 var genomicBreedingValueResearchProductPrice = parseFloat(@ProductHelper.GetProductPrice(genomicBreedingValueResearchProduct).ToString().Replace(",", ".")); 1790 var wffsTestProductPrice = parseFloat(@ProductHelper.GetProductPrice(wffsTestProduct).ToString().Replace(",", ".")); 1791 var wFFSTestWhenDNAResearchSelectedProductPrice = parseFloat(@ProductHelper.GetProductPrice(wFFSTestWhenDNAResearchSelectedProduct).ToString().Replace(",", ".")); 1792 var products = ""; 1793 var productDescription = ""; 1794 var totalPrice = parseFloat(0.0); 1795 1796 // core product 1797 productDescription = "@registerFoalProduct.Name"; 1798 products += "@StringConstants.ProductNumbers.RegisterFoalKnownBreeding"; 1799 totalPrice = totalPrice + registrationPrice; 1800 1801 var productDescriptionFooter = productDescription; 1802 var productDescriptionAside = productDescription; 1803 1804 // add price when more products are added 1805 if (requestForGenomicBreedingValueResearch || requestForWffsTest) { 1806 productDescriptionAside = productDescriptionAside + " (@ProductHelper.FormatPrice(ProductHelper.GetProductPrice(registerFoalProduct)))"; 1807 } 1808 1809 // if genomic breeding value research is requested, add the product 1810 if (requestForGenomicBreedingValueResearch) { 1811 productDescriptionFooter = productDescriptionFooter + "<br />@genomicBreedingValueResearchProduct.Name"; 1812 productDescriptionAside = productDescriptionAside + "<br />@genomicBreedingValueResearchProduct.Name (@ProductHelper.FormatPrice(ProductHelper.GetProductPrice(genomicBreedingValueResearchProduct)))"; 1813 products += ";@StringConstants.ProductNumbers.DNAResearch"; 1814 totalPrice = totalPrice + genomicBreedingValueResearchProductPrice; 1815 } 1816 1817 // if wffs-test is requested, add the product 1818 // when genomic breeding value research is also checked use a combo discount product 1819 if (requestForWffsTest && requestForGenomicBreedingValueResearch) { 1820 productDescriptionFooter = productDescriptionFooter + "<br />@wFFSTestWhenDNAResearchSelectedProduct.Name"; 1821 productDescriptionAside = productDescriptionAside + "<br />@wFFSTestWhenDNAResearchSelectedProduct.Name (@ProductHelper.FormatPrice(ProductHelper.GetProductPrice(wFFSTestWhenDNAResearchSelectedProduct)))"; 1822 products += ";@StringConstants.ProductNumbers.WFFSTestWhenDNAResearchSelected"; 1823 totalPrice = totalPrice + wFFSTestWhenDNAResearchSelectedProductPrice; 1824 } 1825 else if (requestForWffsTest) { 1826 productDescriptionFooter = productDescriptionFooter + "<br />@wffsTestProduct.Name"; 1827 productDescriptionAside = productDescriptionAside + "<br />@wffsTestProduct.Name (@ProductHelper.FormatPrice(ProductHelper.GetProductPrice(wffsTestProduct)))"; 1828 products += ";@StringConstants.ProductNumbers.WFFSTest"; 1829 totalPrice = totalPrice + wffsTestProductPrice; 1830 } 1831 1832 // hidden field productname and price 1833 $("#Kwpn_Form_RegisterFoal_ProductName").val(products); 1834 $("#Kwpn_Form_RegisterFoal_ProductPrice").val(totalPrice.toFixed(2).replace(".", ",")); 1835 1836 // footer description and price 1837 var footerPriceText = 1838 "€" + 1839 GetExVat(totalPrice).toFixed(2).replace(".", ",") + 1840 " (@Translate("VatExcluded", "VAT excluded"))<br />€" + 1841 totalPrice.toFixed(2).replace(".", ",") + 1842 " (@Translate("VatIncluded", "VAT included"))"; 1843 1844 $("#foalRegisterOverviewProductName").html(productDescriptionFooter); 1845 $("#foalRegisterOverviewProductPriceFormatted").html(footerPriceText); 1846 1847 // aside description and price 1848 $("#register-foal-product-name").html(productDescriptionAside); 1849 $("#register-foal-product-price").html("€" + totalPrice.toFixed(2).replace(".", ",")); 1850 $("#payment-data").removeClass("hidden"); 1851 } 1852 1853 } 1854 1855 function HideRegistration() { 1856 1857 var birthDateInfo = $("#birthDateInfo"); 1858 var baseInfo = $("#form-content-base-info"); 1859 var aliveContent = $("#form-content-foal-alive"); 1860 var deceasedContent = $("#form-content-foal-deceased"); 1861 1862 baseInfo.addClass("hidden"); 1863 @if (isUnknownBreeding) { 1864 <text> 1865 ShowOrHideEtIcsiBreedingInfoFields(); 1866 $("#unknown-breedingdirection").addClass("hidden"); 1867 </text> 1868 } 1869 aliveContent.addClass("hidden"); 1870 deceasedContent.addClass("hidden"); 1871 birthDateInfo.removeClass("hidden"); 1872 } 1873 1874 function ShowRegistration(deceasedValue) { 1875 1876 var birthDateInfo = $("#birthDateInfo"); 1877 var baseInfo = $("#form-content-base-info"); 1878 var aliveContent = $("#form-content-foal-alive"); 1879 var deceasedContent = $("#form-content-foal-deceased"); 1880 1881 baseInfo.removeClass("hidden"); 1882 @if (isUnknownBreeding) { 1883 <text> 1884 ShowOrHideEtIcsiBreedingInfoFields(); 1885 $("#unknown-breedingdirection").removeClass("hidden"); 1886 </text> 1887 } 1888 if (deceasedValue.length > 0) { 1889 aliveContent.addClass("hidden"); 1890 deceasedContent.removeClass("hidden"); 1891 } else { 1892 aliveContent.removeClass("hidden"); 1893 deceasedContent.addClass("hidden"); 1894 } 1895 birthDateInfo.addClass("hidden"); 1896 ValidatePanelRegistrationData(true); 1897 } 1898 1899 function FixDateFields() { 1900 var defaultDateValue = '1-1-1900'; 1901 var dateFields = [ 1902 "Kwpn_Form_RegisterFoal_SubmitDateTime", 1903 "Kwpn_Form_RegisterFoal_BreedingDate", 1904 "Kwpn_Form_RegisterFoal_OrderStatusLastChanged", 1905 "Kwpn_Form_RegisterFoal_FoalDateOfBirth", 1906 "Kwpn_Form_RegisterFoal_InseminationDate", 1907 "Kwpn_Form_RegisterFoal_RinseDate", 1908 "Kwpn_Form_RegisterFoal_TransplantDate"] 1909 1910 $.each(dateFields, function (i, val) { 1911 var $field = $("#" + val); 1912 if (!$field.length) { 1913 console.error("field #" + val + " does not exist"); 1914 } 1915 else if ($field.val() === "") { 1916 $field.val(defaultDateValue); 1917 } else { 1918 //console.log("already filled with " + $field.val()); 1919 } 1920 }); 1921 } 1922 1923 function AfterBreedingDirectionSelection() { 1924 1925 var selectedValue = $("#Kwpn_Form_RegisterFoal_BreedingDirection").val(); 1926 1927 // als selectie is TUIGPAARD of GELDERSPAARD dan OC aanvragen disablen 1928 var $genomeBox = $(".genome-box"); 1929 if (selectedValue === "FOKR-000007" || selectedValue === "FOKR-000002") { 1930 $("#Kwpn_Form_RegisterFoal_RequestForDnaResearch").prop('checked', false); 1931 SetProductInformation(); 1932 SetRequiredFields(); 1933 $genomeBox.addClass("disabled"); 1934 $("#Kwpn_Form_RegisterFoal_RequestForDnaResearch").prop('disabled', true); 1935 } else { 1936 $genomeBox.removeClass("disabled"); 1937 $("#Kwpn_Form_RegisterFoal_RequestForDnaResearch").prop('disabled', false); 1938 } 1939 1940 ValidatePanelRegistrationData(true); 1941 } 1942 1943 function ValidatePanelBreedingData(handleButton) { 1944 1945 var breedingDataIdValid = true; 1946 1947 // check if stud data is available and no manual input is being entered 1948 if ($("#Kwpn_Form_RegisterFoal_StudAnimalCode").val() === "" && $("#fatherinfo").is(":hidden")) breedingDataIdValid = false; 1949 1950 // check required fields 1951 if (breedingDataIdValid) { 1952 $("#breeding-data-panel :input[required]:visible").each(function () { 1953 if ($(this).attr("type") === "checkbox" && $(this).prop("checked") === false) { 1954 breedingDataIdValid = false; 1955 } else if ($(this).val() === "") { 1956 breedingDataIdValid = false; 1957 } 1958 }); 1959 } 1960 1961 // set button 1962 if (handleButton) { 1963 $("#btn-next-breeding-data").prop("disabled", !breedingDataIdValid); 1964 } 1965 1966 return breedingDataIdValid; 1967 } 1968 1969 function ValidatePanelRegistrationData(handleButton) { 1970 1971 var registrationDataIdValid = true; 1972 1973 // check required fields 1974 $("#registration-data-panel :input[required]:visible").each(function () { 1975 if ($(this).attr("type") === "checkbox" && $(this).prop("checked") === false) { 1976 registrationDataIdValid = false; 1977 } else if ($(this).val() === "") { 1978 registrationDataIdValid = false; 1979 } 1980 }); 1981 1982 // set button 1983 if (handleButton) { 1984 $("#btn-next-owner-data").prop("disabled", !registrationDataIdValid); 1985 } 1986 1987 return registrationDataIdValid; 1988 } 1989 1990 function ValidatePanelOwnerData(handleButton) { 1991 1992 var ownerDataIdValid = true; 1993 1994 // phone 1 or phone 2 should contain a value, set them both to required in order to vaidate again 1995 $('#Kwpn_Form_RegisterFoal_OwnerPhone1, input[name=Kwpn_Form_RegisterFoal_OwnerPhone2]:visible').prop('required', true); 1996 $('#Kwpn_Form_RegisterFoal_OwnerPhone1, input[name=Kwpn_Form_RegisterFoal_OwnerPhone2]:visible').css('border', ''); 1997 1998 if ($('#Kwpn_Form_RegisterFoal_OwnerPhone1').val() || $('input[name=Kwpn_Form_RegisterFoal_OwnerPhone2]:visible').val()) { 1999 // if one of them has a value, remove the required attribute from both input fields 2000 $('#Kwpn_Form_RegisterFoal_OwnerPhone1, input[name=Kwpn_Form_RegisterFoal_OwnerPhone2]:visible').removeAttr('required'); 2001 } else { 2002 // add red border class when input fields are empty 2003 $('#Kwpn_Form_RegisterFoal_OwnerPhone1, input[name=Kwpn_Form_RegisterFoal_OwnerPhone2]:visible').css('border', '1px solid red'); 2004 } 2005 2006 // check required fields 2007 $("#owner-data-panel :input[required]:visible").each(function () { 2008 if ($(this).attr("type") === "checkbox" && $(this).prop("checked") === false) { 2009 ownerDataIdValid = false; 2010 } else if ($(this).val() === "") { 2011 ownerDataIdValid = false; 2012 } 2013 }); 2014 2015 // set button 2016 if (handleButton) { 2017 $("#btn-next-barn-data").prop("disabled", !ownerDataIdValid); 2018 } 2019 2020 return ownerDataIdValid; 2021 } 2022 2023 function ValidatePanelBarnData(handleButton) { 2024 2025 var barnDataIdValid = true; 2026 2027 // check required fields 2028 $("#barn-data-panel :input[required]:visible").each(function () { 2029 if ($(this).attr("type") === "checkbox" && $(this).prop("checked") === false) { 2030 barnDataIdValid = false; 2031 } else if ($(this).val() === "") { 2032 barnDataIdValid = false; 2033 } 2034 }); 2035 2036 // check overview required fields 2037 $("#panel-order-overview :input[required]:visible").each(function () { 2038 if ($(this).attr("type") === "checkbox" && $(this).prop("checked") === false) { 2039 barnDataIdValid = false; 2040 } else if ($(this).val() === "") { 2041 barnDataIdValid = false; 2042 } 2043 }); 2044 2045 // set button 2046 if (handleButton) { 2047 $(".submitBtn").prop("disabled", !barnDataIdValid); 2048 } 2049 2050 return barnDataIdValid; 2051 } 2052 2053 function ScrollToTop() { 2054 $('html, body').animate({ 2055 scrollTop: $("#FormRegisterHorse").offset().top 2056 }, 1000); 2057 } 2058 2059 $(document).ready(function() { 2060 2061 ShowCountrySpecificFields(); 2062 2063 // check if Equis is online 2064 equis.IsOnline(equisOffline); 2065 2066 // Fill hidden input fields 2067 FillHiddenFields(); 2068 2069 // Make foal name field alphanumeric only, allowing spaces, dots and apostrophes 2070 $("#Kwpn_Form_RegisterFoal_FoalName").alphanumeric({ nchars: '_', allow: ' .\'-&' }); 2071 2072 // Product info 2073 SetProductInformation(); 2074 2075 // set country read only when filled 2076 if ($("#Kwpn_Form_RegisterFoal_OwnerCountry").val() !== "") { 2077 $("#Kwpn_Form_RegisterFoal_OwnerCountry").attr("readonly", "readonly"); 2078 } 2079 2080 // panelvalidation 2081 $("#breeding-data-panel :input").off("change").on("change", function () { 2082 ValidatePanelBreedingData(true); 2083 }); 2084 $("#btn-next-breeding-data").off("click").on("click", function () { 2085 2086 if (ValidatePanelBreedingData(false)) { 2087 $("#breeding-data-panel").addClass("hidden"); 2088 $("#registration-data-panel").removeClass("hidden"); 2089 $("#panel-order-overview").addClass("hidden"); 2090 $(".paragraphText").addClass("hidden"); 2091 ValidatePanelRegistrationData(true); 2092 ScrollToTop(); 2093 2094 $("#btn-prev-beeding-data").off("click").on("click", function () { 2095 $("#registration-data-panel").addClass("hidden"); 2096 $("#breeding-data-panel").removeClass("hidden"); 2097 $("#panel-order-overview").addClass("hidden"); 2098 $(".paragraphText").removeClass("hidden"); 2099 ScrollToTop(); 2100 }); 2101 } 2102 }); 2103 $("#registration-data-panel :input").off("change").on("change", function () { 2104 ValidatePanelRegistrationData(true); 2105 }); 2106 $("#btn-next-owner-data").off("click").on("click", function () { 2107 2108 if (ValidatePanelRegistrationData(false)) { 2109 $("#registration-data-panel").addClass("hidden"); 2110 $("#owner-data-panel").removeClass("hidden"); 2111 $("#panel-order-overview").addClass("hidden"); 2112 ValidatePanelOwnerData(true); 2113 ScrollToTop(); 2114 SetAsterisken(); 2115 2116 $("#btn-prev-registration-data").off("click").on("click", function () { 2117 $("#owner-data-panel").addClass("hidden"); 2118 $("#registration-data-panel").removeClass("hidden"); 2119 $("#panel-order-overview").addClass("hidden"); 2120 ScrollToTop(); 2121 }); 2122 } 2123 }); 2124 $("#owner-data-panel :input").off("change").on("change", function () { 2125 ValidatePanelOwnerData(true); 2126 }); 2127 $("#btn-next-barn-data").off("click").on("click", function () { 2128 2129 if (ValidatePanelOwnerData(false)) { 2130 $("#owner-data-panel").addClass("hidden"); 2131 $("#barn-data-panel").removeClass("hidden"); 2132 $("#panel-order-overview").removeClass("hidden"); 2133 ValidatePanelBarnData(true); 2134 ScrollToTop(); 2135 2136 $("#btn-prev-owner-data").off("click").on("click", function () { 2137 $("#barn-data-panel").addClass("hidden"); 2138 $("#owner-data-panel").removeClass("hidden"); 2139 $("#panel-order-overview").addClass("hidden"); 2140 ScrollToTop(); 2141 SetAsterisken(); 2142 }); 2143 } 2144 }); 2145 $("#barn-data-panel :input").off("change").on("change", function () { 2146 ValidatePanelBarnData(true); 2147 }); 2148 $("#panel-order-overview :input").off("change").on("change", function () { 2149 ValidatePanelBarnData(true); 2150 }); 2151 ValidatePanelBreedingData(true); 2152 2153 2154 @if (isUnknownBreeding) { 2155 <text> 2156 2157 // handle on-enter for father search 2158 $("#SearchFather").keypress(function (e) { 2159 var code = e.keyCode || e.which; 2160 if (code === 13) { 2161 // 13 = enter 2162 SearchAvailableStuds(); 2163 e.preventDefault(); 2164 return false; 2165 } 2166 return true; 2167 }); 2168 2169 // inseminiation date datepicker, date should always be in current or past year 2170 // rinse date datepicker, date should always be in current or past year 2171 // transplant date datepicker, date should always be in current or past year 2172 $("#Kwpn_Form_RegisterFoal_InseminationDate").datepicker({ 2173 minDate: '-2y', 2174 maxDate: 'today', 2175 }); 2176 $("#Kwpn_Form_RegisterFoal_RinseDate").datepicker({ 2177 minDate: '-2y', 2178 maxDate: 'today', 2179 }); 2180 $("#Kwpn_Form_RegisterFoal_TransplantDate").datepicker({ 2181 minDate: '-2y', 2182 maxDate: 'today', 2183 }); 2184 $.datepicker.setDefaults($.datepicker.regional["@culture"]); 2185 </text> 2186 } 2187 2188 $("#Kwpn_Form_RegisterFoal_BreedingDirection").off("change").on("change", function () { 2189 AfterBreedingDirectionSelection(); 2190 }); 2191 2192 $("input[name=Kwpn_Form_RegisterFoal_BreedingType]").off("change").on("change", function () { 2193 ShowOrHideEtIcsiBreedingInfoFields(); 2194 }); 2195 2196 // submit 2197 $("#kwpn_Form_RegisterFoal_FormSubmitter").click(function () { 2198 $(".hide-hints").removeClass("hide-hints"); 2199 if (!FormIsHtml5Valid()) { 2200 // reset spinner 2201 FormHelper.SubmitButtonReset(".submitBtn"); 2202 } else { 2203 // fix date fields if empty or dw will crash 2204 FixDateFields(); 2205 } 2206 }); 2207 2208 $(".submitBtn").click(function () { 2209 // spinner 2210 FormHelper.SubmitButtonClick(".submitBtn"); 2211 2212 // check name 2213 validateName(); 2214 2215 // check email 2216 var ownerEmailField = $("#Kwpn_Form_RegisterFoal_OwnerEmailAddress"); 2217 if (ownerEmailField[0]) { 2218 if (ownerEmailField.val() == "") { 2219 ownerEmailField.val("@KwpnUsers.CurrentUser().DwUser.Email"); 2220 } 2221 } else { 2222 // should not happen 2223 var newField = "<input type=\"hidden\" name=\"Kwpn_Form_RegisterFoal_OwnerEmailAddress\" id=\"Kwpn_Form_RegisterFoal_OwnerEmailAddress\" value=\"@KwpnUsers.CurrentUser().DwUser.Email\" />"; 2224 $("#FormRegisterHorse > form").append(newField); 2225 } 2226 2227 $("#kwpn_Form_RegisterFoal_FormSubmitter").click(); 2228 return false; 2229 }); 2230 2231 // add co-registered 2232 $("#btnAddCoRegistered") 2233 .off("click") 2234 .on("click", function() { 2235 $("#select-co-registered").modal("show"); 2236 return false; 2237 }); 2238 2239 2240 // search in equis for name 2241 $("#ButtonSearchCoRegistered") 2242 .off("click") 2243 .on("click", function(e) { 2244 2245 e.preventDefault(); 2246 2247 // add loading icon to button and disable 2248 var clickedButtonResetValue = $("#ButtonSearchCoRegistered").html(); 2249 $("#ButtonSearchCoRegistered").html(clickedButtonResetValue + " <i class='fa fa-spinner fa-spin'></i>"); 2250 $("#ButtonSearchCoRegistered").prop('disabled', true); 2251 2252 var personCode = $("#SearchCoRegisteredMemberNumber").val(); 2253 if (personCode == "") { 2254 personCode = "none"; 2255 } 2256 2257 var peopleSearchApi = "/kwpnwebapi/forms/getpersoninfo/" + personCode; 2258 var resultcontainer = $("#SearchCoRegisteredResult"); 2259 resultcontainer.html(""); 2260 $.getJSON(peopleSearchApi).done(function(data) { 2261 if (data != null) { 2262 2263 var personInfo = "<b>" + data.m_Item1 + "</b>"; 2264 var personAddress = data.m_Item2; 2265 if (personAddress !== "") { 2266 personInfo += ", "; 2267 personInfo += personAddress; 2268 } 2269 2270 var isSelected = false; 2271 var currentSelected = $("#Kwpn_Form_RegisterFoal_CoOwnerMembershipNumbers").val().split(',') 2272 if (currentSelected.indexOf(personCode) !== -1) { 2273 isSelected = true; 2274 } 2275 2276 if (isSelected || personCode === "@KwpnUsers.CurrentUser().DwUser.UserName") { 2277 resultcontainer.append("<span class='SearchCoRegisteredResultItem me'>" + personInfo.replace(data.m_Item1, "<b>" + data.m_Item1.toUpperCase() + "</b>") + "</span>"); 2278 } else { 2279 resultcontainer.append("<a href=\"#\" class=\"SearchCoRegisteredResultItem\" data-personcode=\"" + personCode + "\" data-personname=\"" + personInfo + "\" >" + personInfo.replace(data.m_Item1, "<b>" + data.m_Item1.toUpperCase() + "</b>") + "</a>"); 2280 } 2281 2282 $(".SearchCoRegisteredResultItem:not(.me)").click(function () { 2283 var clickedValue = $(this).attr("data-personcode"); 2284 var clickedName = $(this).attr("data-personname"); 2285 setCoRegistered(clickedValue, clickedName); 2286 return false; 2287 }); 2288 } else { 2289 resultcontainer.html("@Translate("FoalRegistration_SearchCoRegisteredNoResults", "No results")"); 2290 } 2291 }).fail(function (jqxhr, textStatus, error) { 2292 resultcontainer.html("@Translate("FoalRegistration_SearchCoRegisteredError", "An error occurred")"); 2293 var err = textStatus + ", " + error; 2294 console.error("Request People Search Failed: " + err); 2295 }).always(function () { 2296 $("#SearchCoRegisteredMemberNumber").val(""); 2297 $("#ButtonSearchCoRegistered").html(clickedButtonResetValue); // remove loading icon from button 2298 $("#ButtonSearchCoRegistered").prop('disabled', false); // enable button 2299 }); 2300 2301 }); 2302 2303 SetAsterisken(); 2304 2305 // show/hide payment shizzle on payment method change 2306 $("input[name=Kwpn_Form_RegisterFoal_PaymentMethod]").change(function () { 2307 ValidateAuthorizationFields(); 2308 }); 2309 ValidateAuthorizationFields(); 2310 2311 $("#Kwpn_Form_RegisterFoal_FoalDateOfBirth").change(function () { 2312 2313 @if (isUnknownBreeding) { 2314 <text> 2315 //validate if father fields are filled 2316 var fatherCode = $("#Kwpn_Form_RegisterFoal_StudAnimalCode").val(); 2317 var fatherName = $("#Kwpn_Form_RegisterFoal_StudAnimalName").val(); 2318 var fatherLifeNumber = $("#Kwpn_Form_RegisterFoal_StudLifeNumber").val(); 2319 if (fatherCode.length <= 0 && (fatherLifeNumber.length <= 0 || fatherName.length <= 0)) { 2320 Swal.fire({ title: "@Translate("ErrorTitle", "Error message")" ,text: "@Translate("FirstEnterFatherInfo", "First enter father info!")", customClass: layout.notifyCopyrightMessageClass }); 2321 $(this).val(""); 2322 return; 2323 } 2324 </text> 2325 } 2326 2327 $(this).parent().removeClass("error"); 2328 2329 // validate input and show/hide registration fields 2330 var foalDateOfBirth = FormHelper.GetJsDate($(this).val(), '@culture'); 2331 if (foalDateOfBirth === null) { 2332 HideRegistration(); 2333 return; 2334 } 2335 ShowRegistration($("#Kwpn_Form_RegisterFoal_FoalDeceased:checked")); 2336 2337 // get breedinginfo 2338 var breedingInfoUrl = ""; 2339 @if (isKnownBreeding) 2340 { 2341 <text> 2342 breedingInfoUrl = "/kwpnwebapi/horses/getbreedinginfo/@culture/@animalCode/" + foalDateOfBirth.getFullYear() + "/" + (foalDateOfBirth.getMonth() + 1) + "/" + foalDateOfBirth.getDate(); 2343 </text> 2344 } 2345 @if (isUnknownBreeding) 2346 { 2347 <text> 2348 var fatherCode = $("#Kwpn_Form_RegisterFoal_StudAnimalCode").val(); 2349 breedingInfoUrl = "/kwpnwebapi/horses/getfoalinfo/@culture/" + foalDateOfBirth.getFullYear() + "/" + (foalDateOfBirth.getMonth() + 1) + "/" + foalDateOfBirth.getDate() + "/@animalCode/" + fatherCode; 2350 </text> 2351 } 2352 if (breedingInfoUrl !== "") { 2353 $.getJSON(breedingInfoUrl).done(function (result) { 2354 if (result != null) { 2355 SetBreedingInfo(result); 2356 validateName(); 2357 } 2358 }).fail(function (jqxhr, textStatus, error) { 2359 var err = textStatus + ", " + error; 2360 console.error("Request BreedingInfo Failed: " + err); 2361 }); 2362 } 2363 2364 SetRequiredFields(); 2365 }); 2366 2367 $("#Kwpn_Form_RegisterFoal_FoalDeceased").change(function () { 2368 var aliveContent = $("#form-content-foal-alive"); 2369 var deceasedContent = $("#form-content-foal-deceased"); 2370 var deceasedValue = $("#Kwpn_Form_RegisterFoal_FoalDeceased:checked").length > 0; 2371 var paymentContent = $("#payment-container"); 2372 var birthDate = $("#Kwpn_Form_RegisterFoal_FoalDateOfBirth").val(); 2373 if (birthDate != "") { 2374 if (deceasedValue) { 2375 aliveContent.addClass("hidden"); 2376 paymentContent.addClass("hidden"); 2377 deceasedContent.removeClass("hidden"); 2378 } else { 2379 aliveContent.removeClass("hidden"); 2380 paymentContent.removeClass("hidden"); 2381 deceasedContent.addClass("hidden"); 2382 } 2383 } 2384 2385 SetProductInformation(); 2386 SetRequiredFields(); 2387 }); 2388 2389 $("#Kwpn_Form_RegisterFoal_Chip").change(function () { 2390 SetProductInformation(); 2391 }); 2392 2393 $("#Kwpn_Form_RegisterFoal_RequestForDnaResearch").change(function () { 2394 SetProductInformation(); 2395 SetRequiredFields(); 2396 }); 2397 2398 $("#Kwpn_Form_RegisterFoal_RequestWffsTest").change(function () { 2399 SetProductInformation(); 2400 SetRequiredFields(); 2401 }); 2402 2403 // date of birth date datepicker, date should always be in current year 2404 $("#Kwpn_Form_RegisterFoal_FoalDateOfBirth").datepicker({ 2405 minDate: @(1-DateTime.Now.DayOfYear), 2406 maxDate: 'today', 2407 }); 2408 $.datepicker.setDefaults($.datepicker.regional["@culture"]); 2409 2410 $("#Kwpn_Form_RegisterFoal_FoalName").change(function() { 2411 validateName(); 2412 }); 2413 2414 // Validate iban 2415 $("#Kwpn_Form_RegisterFoal_IBAN").change(function () { 2416 var errorContainer = $("#iban-wrapper"); 2417 2418 //remove possible error 2419 $("#validateIbanError").remove(); 2420 errorContainer.removeClass("error"); 2421 2422 //get value 2423 var iban = $(this).val(); 2424 2425 // validate 2426 if (iban !== "") { 2427 2428 var validateIbanUrl = "/kwpnwebapi/forms/checkbankaccount/" + iban; 2429 $.getJSON(validateIbanUrl).done(function (isValid) { 2430 if (!isValid) { 2431 2432 //show error and clear field 2433 errorContainer.addClass("error"); 2434 var error = "<div id=\"validateIbanError\" class=\"errortext col-sm-4 col-sm-offset-4 small uppercase\">@Translate("IbanError", "Not a valid IBAN"): " + iban + "</div>"; 2435 errorContainer.append(error); 2436 $("#Kwpn_Form_RegisterFoal_IBAN").val(""); 2437 } else { 2438 // make bic required if iban is not dutch 2439 if (ibanIsForeign(iban)) { 2440 makeBicRequired(); 2441 } else { 2442 makeBicUnRequired(); 2443 } 2444 } 2445 }).fail(function(jqxhr, textStatus, error) { 2446 var err = textStatus + ", " + error; 2447 console.error("Request Validate IBAN Failed: " + err); 2448 }); 2449 2450 } 2451 2452 }); 2453 2454 // only allow alphanumeric characters for bic field 2455 $("#Kwpn_Form_RegisterFoal_BIC").alphanumeric(); 2456 2457 }); 2458 </script> 2459 @SnippetEnd("JavascriptsBottom") 2460 } 2461 2462 } 2463 } 2464 }