extensions/net.sf.basedb.reggie/trunk/resources/personal/consentform.js

Code
Comments
Other
Rev Date Author Line
2599 25 Aug 14 nicklas 1 var Consent = function()
2599 25 Aug 14 nicklas 2 {
2599 25 Aug 14 nicklas 3   var consent = {};
2599 25 Aug 14 nicklas 4   var consentToId = { "Yes": "consent.yes", "No" : "consent.no", "Not asked": "consent.notAsked" };
2599 25 Aug 14 nicklas 5   var patientInfo;
2656 11 Sep 14 nicklas 6   var debug = 0;
2599 25 Aug 14 nicklas 7   
2599 25 Aug 14 nicklas 8   consent.initPage = function()
2599 25 Aug 14 nicklas 9   {
2599 25 Aug 14 nicklas 10     
2599 25 Aug 14 nicklas 11     // Step 1
2599 25 Aug 14 nicklas 12     Events.addEventHandler('step-1', 'wizard-validate', consent.validateStep1);
2599 25 Aug 14 nicklas 13     Events.addEventHandler('caseName', 'keypress', Wizard.goNextOnTabOrEnter);
2599 25 Aug 14 nicklas 14     
2599 25 Aug 14 nicklas 15     // Step 2
2599 25 Aug 14 nicklas 16     Events.addEventHandler('step-2', 'wizard-initialize', consent.initializeStep2);
2599 25 Aug 14 nicklas 17     Events.addEventHandler('step-2', 'wizard-validate', consent.validateStep2);
2599 25 Aug 14 nicklas 18     Events.addEventHandler('consentDate', 'blur', Wizard.validateDate);
2599 25 Aug 14 nicklas 19     
2599 25 Aug 14 nicklas 20     Events.addEventHandler('consent.yes', 'change', consent.consentOnChange);
2599 25 Aug 14 nicklas 21     Events.addEventHandler('consent.no', 'change', consent.consentOnChange);
2599 25 Aug 14 nicklas 22     Events.addEventHandler('consent.notAsked', 'change', consent.consentOnChange);
2599 25 Aug 14 nicklas 23     Events.addEventHandler('otherReasonIfNotAsked', 'focus', consent.onOtherReasonFocus);
2599 25 Aug 14 nicklas 24     
2599 25 Aug 14 nicklas 25     // Navigation
2599 25 Aug 14 nicklas 26     Buttons.addClickHandler('gocancel', Wizard.cancelWizard);
2599 25 Aug 14 nicklas 27     Buttons.addClickHandler('gorestart', Wizard.restartWizard);
2599 25 Aug 14 nicklas 28     Buttons.addClickHandler('gonext', Wizard.goNextOnClick);
2599 25 Aug 14 nicklas 29     Buttons.addClickHandler('goregister', Wizard.goRegister);
2599 25 Aug 14 nicklas 30     
2599 25 Aug 14 nicklas 31     // Final registration
2599 25 Aug 14 nicklas 32     Events.addEventHandler('wizard', 'wizard-submit', consent.submit);
2599 25 Aug 14 nicklas 33     
2599 25 Aug 14 nicklas 34     Doc.show('step-1');
2599 25 Aug 14 nicklas 35     Doc.show('gonext');
2599 25 Aug 14 nicklas 36   }
2599 25 Aug 14 nicklas 37   
2599 25 Aug 14 nicklas 38   /**
2599 25 Aug 14 nicklas 39     Check that the case number is valid.
2599 25 Aug 14 nicklas 40   */
2599 25 Aug 14 nicklas 41   consent.validateStep1 = function(event)
2599 25 Aug 14 nicklas 42   {
2599 25 Aug 14 nicklas 43     var frm = document.forms['reggie'];
2599 25 Aug 14 nicklas 44     
2599 25 Aug 14 nicklas 45     var caseName = frm.caseName.value;
2599 25 Aug 14 nicklas 46     var caseIsValid = false;
2599 25 Aug 14 nicklas 47     Wizard.setInputStatus('caseName');
2599 25 Aug 14 nicklas 48     if (caseName == '')
2599 25 Aug 14 nicklas 49     {
2599 25 Aug 14 nicklas 50       Wizard.setInputStatus('caseName', 'invalid', 'Missing');
2599 25 Aug 14 nicklas 51       frm.caseName.focus();
2599 25 Aug 14 nicklas 52     }
2599 25 Aug 14 nicklas 53     else if (!Reggie.isValidCaseName(caseName, false)) // 'C' suffix is not used
2599 25 Aug 14 nicklas 54     {
2599 25 Aug 14 nicklas 55       Wizard.setInputStatus('caseName', 'invalid', 'Only 7-digits name is allowed .');
2599 25 Aug 14 nicklas 56       frm.caseName.focus();
2599 25 Aug 14 nicklas 57     }
2599 25 Aug 14 nicklas 58     else
2599 25 Aug 14 nicklas 59     {
2599 25 Aug 14 nicklas 60       Wizard.setInputStatus('caseName', 'valid');
2599 25 Aug 14 nicklas 61       caseIsValid = true;
2599 25 Aug 14 nicklas 62     }
2599 25 Aug 14 nicklas 63     
2599 25 Aug 14 nicklas 64     // If not valid, we prevent the wizard from moving to the next step
2599 25 Aug 14 nicklas 65     if (!caseIsValid) event.preventDefault();
2599 25 Aug 14 nicklas 66   }
2599 25 Aug 14 nicklas 67   
2599 25 Aug 14 nicklas 68   // Check that the date is valid
2599 25 Aug 14 nicklas 69   consent.validateStep2 = function(event)
2599 25 Aug 14 nicklas 70   {
2599 25 Aug 14 nicklas 71     var consentDateIsValid = Wizard.isValid('consentDate');
2599 25 Aug 14 nicklas 72     if (!consentDateIsValid) event.preventDefault();
2599 25 Aug 14 nicklas 73   }
2599 25 Aug 14 nicklas 74   
2599 25 Aug 14 nicklas 75   /**
2599 25 Aug 14 nicklas 76     Load information about the given case.
2599 25 Aug 14 nicklas 77   */
6824 30 Aug 22 nicklas 78   consent.initializeStep2 = function()
2599 25 Aug 14 nicklas 79   {
2599 25 Aug 14 nicklas 80     var frm = document.forms['reggie'];
2599 25 Aug 14 nicklas 81     var caseName = frm.caseName.value;
2599 25 Aug 14 nicklas 82
2599 25 Aug 14 nicklas 83     var url = '../ConsentForm.servlet?ID='+App.getSessionId();
2599 25 Aug 14 nicklas 84     url += '&cmd=GetCaseInfo&caseName=' + encodeURIComponent(caseName);
2599 25 Aug 14 nicklas 85     
2599 25 Aug 14 nicklas 86     Wizard.showLoadingAnimation('Loading case information...');
2599 25 Aug 14 nicklas 87     Wizard.asyncJsonRequest(url, consent.caseInfoLoaded);
2599 25 Aug 14 nicklas 88   }
2599 25 Aug 14 nicklas 89   
2599 25 Aug 14 nicklas 90   /**
2599 25 Aug 14 nicklas 91     Initalize the second step based on the information we have about the case.
2599 25 Aug 14 nicklas 92   */
2599 25 Aug 14 nicklas 93   consent.caseInfoLoaded = function(response)
2599 25 Aug 14 nicklas 94   {
2599 25 Aug 14 nicklas 95     var frm = document.forms['reggie'];
2599 25 Aug 14 nicklas 96     var caseName = frm.caseName.value;
2599 25 Aug 14 nicklas 97     patientInfo = response.patientInfo;
2599 25 Aug 14 nicklas 98     var caseInfo = response.caseInfo;
2599 25 Aug 14 nicklas 99     var specimenInfo = response.specimenInfo;
2599 25 Aug 14 nicklas 100
2599 25 Aug 14 nicklas 101     if (patientInfo)
2599 25 Aug 14 nicklas 102     {
2599 25 Aug 14 nicklas 103       var moreCasesHtml = '';
2599 25 Aug 14 nicklas 104       var numMissing = 0;
5058 29 Oct 18 nicklas 105       var notYesConsent = null;
2599 25 Aug 14 nicklas 106       if (patientInfo.allCases)
2599 25 Aug 14 nicklas 107       {
2599 25 Aug 14 nicklas 108         for (var i = 0; i < patientInfo.allCases.length; i++)
2599 25 Aug 14 nicklas 109         {
2599 25 Aug 14 nicklas 110           var c = patientInfo.allCases[i];
4929 22 Aug 18 nicklas 111           var moreInfo = [];
4929 22 Aug 18 nicklas 112           if (c.laterality) moreInfo[moreInfo.length] = c.laterality;
4929 22 Aug 18 nicklas 113           if (c.consentDate) moreInfo[moreInfo.length] = Reggie.reformatDate(c.consentDate);
4929 22 Aug 18 nicklas 114           var info = moreInfo.length == 0 ? '' : ' (' + moreInfo.join(', ') + ')';
2599 25 Aug 14 nicklas 115           var checked = '';
2599 25 Aug 14 nicklas 116           if (!c.consent)
2599 25 Aug 14 nicklas 117           {
2599 25 Aug 14 nicklas 118             checked = 'checked';
2599 25 Aug 14 nicklas 119             numMissing++;
2599 25 Aug 14 nicklas 120           }
5058 29 Oct 18 nicklas 121           else if (c.consent != 'Yes')
5058 29 Oct 18 nicklas 122           {
5058 29 Oct 18 nicklas 123             notYesConsent = c.consent;
5058 29 Oct 18 nicklas 124           }
2599 25 Aug 14 nicklas 125           if (c.name == caseName && c.consentDate)
2599 25 Aug 14 nicklas 126           {
2599 25 Aug 14 nicklas 127             frm.consentDate.value = c.consentDate;
4929 22 Aug 18 nicklas 128             checked = 'checked';
2599 25 Aug 14 nicklas 129           }
2599 25 Aug 14 nicklas 130           moreCasesHtml += '<input type="checkbox" name="case.'+c.id+'" id="case.'+c.id+'" ' + checked +'>';
4929 22 Aug 18 nicklas 131           moreCasesHtml += '<label for="case.'+c.id+'">Case: ' + Strings.encodeTags(c.name + info) + '</label><br>';
2599 25 Aug 14 nicklas 132         }
2599 25 Aug 14 nicklas 133       }
2599 25 Aug 14 nicklas 134       
2599 25 Aug 14 nicklas 135       if (patientInfo.allBlood)
2599 25 Aug 14 nicklas 136       {
2599 25 Aug 14 nicklas 137         for (var i = 0; i < patientInfo.allBlood.length; i++)
2599 25 Aug 14 nicklas 138         {
2599 25 Aug 14 nicklas 139           var c = patientInfo.allBlood[i];
4929 22 Aug 18 nicklas 140           var moreInfo = [];
4929 22 Aug 18 nicklas 141           if (c.consentDate) moreInfo[moreInfo.length] = Reggie.reformatDate(c.consentDate);
4929 22 Aug 18 nicklas 142           var info = moreInfo.length == 0 ? '' : ' (' + moreInfo.join(', ') + ')';
2599 25 Aug 14 nicklas 143           var checked = '';
2599 25 Aug 14 nicklas 144           if (!c.consent)
2599 25 Aug 14 nicklas 145           {
2599 25 Aug 14 nicklas 146             checked = 'checked';
2599 25 Aug 14 nicklas 147             numMissing++;
2599 25 Aug 14 nicklas 148           }
5058 29 Oct 18 nicklas 149           else if (c.consent != 'Yes')
5058 29 Oct 18 nicklas 150           {
5058 29 Oct 18 nicklas 151             notYesConsent = c.consent;
5058 29 Oct 18 nicklas 152           }
2599 25 Aug 14 nicklas 153           if (c.name.indexOf(caseName) == 0 && c.consentDate)
2599 25 Aug 14 nicklas 154           {
2599 25 Aug 14 nicklas 155             frm.consentDate.value = c.consentDate;
4929 22 Aug 18 nicklas 156             checked = 'checked';
2599 25 Aug 14 nicklas 157           }
2599 25 Aug 14 nicklas 158           moreCasesHtml += '<input type="checkbox" name="blood.'+ c.id + '" id="blood.'+c.id+'" ' + checked +'>';
4929 22 Aug 18 nicklas 159           moreCasesHtml += '<label for="blood.'+c.id+'">Blood: ' + Strings.encodeTags(c.name + info) + '</label><br>';
2599 25 Aug 14 nicklas 160         }
2599 25 Aug 14 nicklas 161       }
2599 25 Aug 14 nicklas 162
5058 29 Oct 18 nicklas 163       if (notYesConsent)
2599 25 Aug 14 nicklas 164       {
5058 29 Oct 18 nicklas 165         consent.enableConsentOption(consentToId[notYesConsent], true);
5058 29 Oct 18 nicklas 166         Doc.element('moreCasesNo').innerHTML = moreCasesHtml;
5058 29 Oct 18 nicklas 167         Doc.show('moreCasesSectionNo');
5058 29 Oct 18 nicklas 168         Wizard.setInputStatus('consent', 'valid', '"' + notYesConsent + '" has already been registered for this case. It is not possible to change with this wizard.');
5058 29 Oct 18 nicklas 169         Doc.show('gorestart');
5058 29 Oct 18 nicklas 170         Wizard.setNoConfirm(true);
2599 25 Aug 14 nicklas 171       }
2599 25 Aug 14 nicklas 172       else
2599 25 Aug 14 nicklas 173       {
5058 29 Oct 18 nicklas 174         consent.enableConsentOption('consent.yes', true);
5058 29 Oct 18 nicklas 175         Doc.element('moreCases').innerHTML = moreCasesHtml;
5058 29 Oct 18 nicklas 176         Doc.show('moreCasesSection');
5058 29 Oct 18 nicklas 177         if (numMissing > 0)
5058 29 Oct 18 nicklas 178         {
5058 29 Oct 18 nicklas 179           Wizard.setInputStatus('consent', 'valid', 'This patient already exists and has at least one case or blood sample with missing consent.');
5058 29 Oct 18 nicklas 180         }
5058 29 Oct 18 nicklas 181         else
5058 29 Oct 18 nicklas 182         {
5058 29 Oct 18 nicklas 183           Wizard.setInputStatus('consent', 'valid', '"Yes" has already been registered for all case and blood samples for this patient.');
5058 29 Oct 18 nicklas 184         }
5058 29 Oct 18 nicklas 185         Doc.show('morehelp.multiple', 'inline');
5058 29 Oct 18 nicklas 186         Doc.show('morehelp.yesonly', 'inline');
5058 29 Oct 18 nicklas 187         Doc.show('gocancel');
5058 29 Oct 18 nicklas 188         Doc.show('goregister');
2599 25 Aug 14 nicklas 189       }
2599 25 Aug 14 nicklas 190     }
2599 25 Aug 14 nicklas 191     else if (caseInfo)
2599 25 Aug 14 nicklas 192     {
2599 25 Aug 14 nicklas 193       // A consent has already been registered for this case
2599 25 Aug 14 nicklas 194       // We do not support updating this
2599 25 Aug 14 nicklas 195       consent.enableConsentOption(consentToId[caseInfo.consent], true);
2599 25 Aug 14 nicklas 196       Wizard.setInputStatus('consent', '', '"' + caseInfo.consent + '" has already been registered for this case. It is not possible to change with this wizard.');
2599 25 Aug 14 nicklas 197       Doc.show('gorestart');
5058 29 Oct 18 nicklas 198       Wizard.setNoConfirm(true);
2599 25 Aug 14 nicklas 199       if (caseInfo.consentDate)
2599 25 Aug 14 nicklas 200       {
2599 25 Aug 14 nicklas 201         frm.consentDate.value = caseInfo.consentDate;
2599 25 Aug 14 nicklas 202       }
2599 25 Aug 14 nicklas 203       frm.consentDate.disabled = true;
2599 25 Aug 14 nicklas 204     }
2599 25 Aug 14 nicklas 205     else if (specimenInfo)
2599 25 Aug 14 nicklas 206     {
2599 25 Aug 14 nicklas 207       // There is no existing case but there are specimen related to it
2599 25 Aug 14 nicklas 208       // This wizard will only allow 'Yes' option on the consent form
2599 25 Aug 14 nicklas 209       consent.enableConsentOption('consent.yes', true);
2599 25 Aug 14 nicklas 210       Wizard.setInputStatus('consent', 'valid', 'Specimen tubes for this case already exists.');
2599 25 Aug 14 nicklas 211       Doc.show('morehelp.yesonly', 'inline');
2599 25 Aug 14 nicklas 212       Doc.show('gocancel');
2599 25 Aug 14 nicklas 213       Doc.show('goregister');
2599 25 Aug 14 nicklas 214     }
2599 25 Aug 14 nicklas 215     else
2599 25 Aug 14 nicklas 216     {
2599 25 Aug 14 nicklas 217       // We have no information about this case -- but allow a consent to be registered in any case
2599 25 Aug 14 nicklas 218       consent.enableConsentOption('consent.no', true);
2599 25 Aug 14 nicklas 219       consent.enableConsentOption('consent.notAsked');
2599 25 Aug 14 nicklas 220       consent.enableConsentOption('consent.yes');
2599 25 Aug 14 nicklas 221       Doc.show('morehelp.any', 'inline');
2599 25 Aug 14 nicklas 222       Doc.show('gocancel');
2599 25 Aug 14 nicklas 223       Doc.show('goregister');
2599 25 Aug 14 nicklas 224     }
2599 25 Aug 14 nicklas 225
2599 25 Aug 14 nicklas 226     Wizard.setCurrentStep(2);
2599 25 Aug 14 nicklas 227     if (!frm.consentDate.disabled) frm.consentDate.focus();
2599 25 Aug 14 nicklas 228     
2599 25 Aug 14 nicklas 229   }
2599 25 Aug 14 nicklas 230   
2599 25 Aug 14 nicklas 231   
2599 25 Aug 14 nicklas 232   consent.submit = function()
2599 25 Aug 14 nicklas 233   {
2599 25 Aug 14 nicklas 234     
2599 25 Aug 14 nicklas 235     var frm = document.forms['reggie'];
2599 25 Aug 14 nicklas 236
2599 25 Aug 14 nicklas 237     var consentInfo = {};
2599 25 Aug 14 nicklas 238     consentInfo.caseName = frm.caseName.value;
2599 25 Aug 14 nicklas 239     consentInfo.consentDate = frm.consentDate.value;
2599 25 Aug 14 nicklas 240     consentInfo.consent = Forms.getCheckedRadio(frm.consent).value;
2599 25 Aug 14 nicklas 241     if (consentInfo.consent == 'Not asked')
2599 25 Aug 14 nicklas 242     {
2599 25 Aug 14 nicklas 243       var reasonIfNotAsked = '';
2599 25 Aug 14 nicklas 244       for (var i = 0; i < frm.reasonIfNotAsked.length; i++)
2599 25 Aug 14 nicklas 245       {
2599 25 Aug 14 nicklas 246         var option = frm.reasonIfNotAsked[i];
2599 25 Aug 14 nicklas 247         if (option.checked)
2599 25 Aug 14 nicklas 248         {
2599 25 Aug 14 nicklas 249           if (option.id == 'notAsked.other')
2599 25 Aug 14 nicklas 250           {
2599 25 Aug 14 nicklas 251             reasonIfNotAsked += frm.otherReasonIfNotAsked.value;
2599 25 Aug 14 nicklas 252           }
2599 25 Aug 14 nicklas 253           else
2599 25 Aug 14 nicklas 254           {
2599 25 Aug 14 nicklas 255             var label = Doc.element(option.id + '.label');
2599 25 Aug 14 nicklas 256             reasonIfNotAsked += label.innerHTML + '\n';
2599 25 Aug 14 nicklas 257           }
2599 25 Aug 14 nicklas 258         }
2599 25 Aug 14 nicklas 259       }
2599 25 Aug 14 nicklas 260       consentInfo.reasonIfNotAsked = reasonIfNotAsked;
2599 25 Aug 14 nicklas 261     }
2599 25 Aug 14 nicklas 262     
2599 25 Aug 14 nicklas 263     if (patientInfo)
2599 25 Aug 14 nicklas 264     {
2599 25 Aug 14 nicklas 265       var selectedSamples = [];
2599 25 Aug 14 nicklas 266       if (patientInfo.allCases)
2599 25 Aug 14 nicklas 267       {
2599 25 Aug 14 nicklas 268         for (var i = 0; i < patientInfo.allCases.length; i++)
2599 25 Aug 14 nicklas 269         {
2599 25 Aug 14 nicklas 270           var c = patientInfo.allCases[i];
2599 25 Aug 14 nicklas 271           var chk = frm['case.'+c.id];
2599 25 Aug 14 nicklas 272           if (chk.checked) selectedSamples.push(c.id);
2599 25 Aug 14 nicklas 273         }
2599 25 Aug 14 nicklas 274       }
2599 25 Aug 14 nicklas 275       
2599 25 Aug 14 nicklas 276       if (patientInfo.allBlood)
2599 25 Aug 14 nicklas 277       {
2599 25 Aug 14 nicklas 278         for (var i = 0; i < patientInfo.allBlood.length; i++)
2599 25 Aug 14 nicklas 279         {
2599 25 Aug 14 nicklas 280           var c = patientInfo.allBlood[i];
2599 25 Aug 14 nicklas 281           var chk = frm['blood.'+c.id];
2599 25 Aug 14 nicklas 282           if (chk.checked) selectedSamples.push(c.id);
2599 25 Aug 14 nicklas 283         }
2599 25 Aug 14 nicklas 284       }
2599 25 Aug 14 nicklas 285       consentInfo.selectedSamples = selectedSamples;
2599 25 Aug 14 nicklas 286     }
2599 25 Aug 14 nicklas 287
2599 25 Aug 14 nicklas 288     var submitInfo = {};
2599 25 Aug 14 nicklas 289     submitInfo.consentInfo = consentInfo;
2599 25 Aug 14 nicklas 290     
2599 25 Aug 14 nicklas 291     var url = '../ConsentForm.servlet?ID=' + App.getSessionId();
2599 25 Aug 14 nicklas 292     url += '&cmd=RegisterConsent';
2599 25 Aug 14 nicklas 293     
2602 27 Aug 14 nicklas 294     Wizard.showLoadingAnimation('Registering consent information...');
2599 25 Aug 14 nicklas 295     Wizard.asyncJsonRequest(url, consent.submissionResults, 'POST', JSON.stringify(submitInfo));
2599 25 Aug 14 nicklas 296   }
2599 25 Aug 14 nicklas 297
2599 25 Aug 14 nicklas 298   
2599 25 Aug 14 nicklas 299   consent.submissionResults = function(response)
2599 25 Aug 14 nicklas 300   {
2599 25 Aug 14 nicklas 301     Wizard.showFinalMessage(response.messages);
2599 25 Aug 14 nicklas 302     Doc.show('gorestart');
2599 25 Aug 14 nicklas 303   }
2599 25 Aug 14 nicklas 304
2599 25 Aug 14 nicklas 305   consent.enableConsentOption = function(option, checkIt)
2599 25 Aug 14 nicklas 306   {
2599 25 Aug 14 nicklas 307     option = Doc.element(option); // The radio button
2599 25 Aug 14 nicklas 308     option.disabled = false;
2599 25 Aug 14 nicklas 309     if (checkIt) option.checked = true;
2599 25 Aug 14 nicklas 310     
2599 25 Aug 14 nicklas 311     var label = Doc.element(option.id + '.label'); // The label
2599 25 Aug 14 nicklas 312     Doc.removeClass(label, 'disabled');
2599 25 Aug 14 nicklas 313   }
2599 25 Aug 14 nicklas 314
2599 25 Aug 14 nicklas 315
2599 25 Aug 14 nicklas 316
2599 25 Aug 14 nicklas 317   consent.consentOnChange = function()
2599 25 Aug 14 nicklas 318   {
2599 25 Aug 14 nicklas 319     // If "Not asked" is selected we must enable the second question
2599 25 Aug 14 nicklas 320     var isAsked = !Doc.element('consent.notAsked').checked;
2599 25 Aug 14 nicklas 321     
2599 25 Aug 14 nicklas 322     var frm = document.forms['reggie'];
2599 25 Aug 14 nicklas 323     var reasonIfNotAsked = frm.reasonIfNotAsked;
2599 25 Aug 14 nicklas 324     for (var i = 0; i < reasonIfNotAsked.length; i++)
2599 25 Aug 14 nicklas 325     {
2599 25 Aug 14 nicklas 326       reasonIfNotAsked[i].disabled = isAsked;
2599 25 Aug 14 nicklas 327       Doc.addOrRemoveClass(reasonIfNotAsked[i].id + '.label', 'disabled', isAsked);
2599 25 Aug 14 nicklas 328     }
2599 25 Aug 14 nicklas 329     frm.otherReasonIfNotAsked.disabled = isAsked;    
2599 25 Aug 14 nicklas 330   }
2599 25 Aug 14 nicklas 331   
2599 25 Aug 14 nicklas 332   consent.onOtherReasonFocus = function()
2599 25 Aug 14 nicklas 333   {
2599 25 Aug 14 nicklas 334     Doc.element('notAsked.other').checked = true;
2599 25 Aug 14 nicklas 335   }
2599 25 Aug 14 nicklas 336
2599 25 Aug 14 nicklas 337   return consent;
2599 25 Aug 14 nicklas 338 }();
2599 25 Aug 14 nicklas 339
2599 25 Aug 14 nicklas 340 Doc.onLoad(Consent.initPage);
2599 25 Aug 14 nicklas 341