(function(){"use strict";function n(n,t,i,r,u,f,e){function p(n){return n.mode==="day"&&moment(n.date).date()!=1}function s(n){var t=moment(n).utcOffset(0,!0).toDate();return isNaN(t.getTime())?n:t}function h(n){n.returnValue=""}function w(){o.addApplicant();n.addUnloadEvent()}function l(t,i){switch(t){case 0:n.form.applicantEmail0&&n.form.applicantEmail0.$setValidity("emailunique",i);break;case 1:n.form.applicantEmail1&&n.form.applicantEmail1.$setValidity("emailunique",i);break;case 2:n.form.applicantEmail2&&n.form.applicantEmail2.$setValidity("emailunique",i);break;case 3:n.form.applicantGuardianEmail0&&n.form.applicantGuardianEmail0.$setValidity("emailunique",i);break;case 4:n.form.applicantGuardianEmail1&&n.form.applicantGuardianEmail1.$setValidity("emailunique",i);break;case 5:n.form.applicantGuardianEmail2&&n.form.applicantGuardianEmail2.$setValidity("emailunique",i)}}var o=this,a=0,v=100,c=230,y;o.title="asumisoikeudensiirto";o.applicationSent=!1;o.sendIsDisabled=!1;n.hoasApartmentStatus=!1;o.birthMinDate=moment("1900-01-01T00:00:00");o.birthMaxDate=moment().subtract(15,"years").endOf("day");o.guardianBirthMaxDate=moment().subtract(18,"years").endOf("day");o.childBirthMinDate=moment().subtract(18,"years").startOf("day");o.childBirthMaxDate=moment().endOf("day");o.applicationAcceptanceDateMin=moment().startOf("month");o.applicationAcceptanceDateMax=moment().startOf("month").add(4,"months");o.applicationMinExpectDate=moment().startOf("day");o.applicationMaxExpectDate=moment().add(12,"months").endOf("day");o.countries=t.getCountries();o.countryDefault=_.find(o.countries,function(n){return n.value=="Suomi"||n.value=="Finland"});o.maximumApplicants=function(){return o.applicationApartmentGroup==3?o.applicant1WithRoommate&&(o.applicationChildGroup[0]||o.applicationChildGroup[1])?3:1:o.applicationApartmentGroup==2?o.applicant1WithRoommate&&(o.applicationChildGroup[0]||o.applicationChildGroup[1])?3:1:o.applicationApartmentGroup==1?2:1};o.maximumChildren=10;o.applicants=[];o.children=[];o.transferType=null;o.transferReason=null;o.applicationType=null;o.applicationReason=null;o.applicationApartmentType=[];o.applicationApartmentSize=a;o.applicationApartmentMaximumRent=c;o.applicationApartmentGroup=3;o.applicationSpecialRequirements=[];o.applicationAcceptanceDate=null;o.applicationConfirmation=null;o.applicationAdditionalInformation=null;o.applicationPets=null;o.applicantRoommateAdditionalInformation=[];o.applicant1WithRoommate=!1;o.applicantDetailsForRoomieApartment=[];o.inputMaxlength=2048;o.applicationApartmentSizeSlider={floor:a,ceil:v,showSelectionBarEnd:!0,translate:function(n){return n+" m<sup>2<\/sup>"}};o.schools=function(n){return f.getSchools(n)};n.dateOptions={formatYear:"yyyy",minDate:o.applicationAcceptanceDateMin,maxDate:o.applicationAcceptanceDateMax,startingDay:1,dateDisabled:p};o.checkFirstDateLimit=function(n){return n==null?!0:moment(n).date()==1};o.checkMinDateLimit=function(n,t){return n==null?!0:n>=t};o.checkMaxDateLimit=function(n,t){return n==null||t==null?!0:n<=t};o.checkIfApplicantOtherSex=function(n){return n!="Muu"&&n!="Other"};o.checkIfPositiveNumber=function(n){return n==null?!0:(n=n.replace(",","."),n=parseFloat(n),n>=0)};o.checkIfHoasApartment=function(){for(var t=0;t<o.applicants.length;++t)if(o.applicants[t].applicantCurrentAccomodationType==="Hoas-asunto"||o.applicants[t].applicantCurrentAccomodationType==="Hoas bostad"||o.applicants[t].applicantCurrentAccomodationType==="Hoas apartment")return n.hoasApartmentStatus||(o.applicationReason=""),n.hoasApartmentStatus=!0,!0;return n.hoasApartmentStatus&&(n.hoasApartmentStatus=!1,o.applicationReason=""),!1};o.checkIfPostGraduate=function(){for(var n=0;n<o.applicants.length;++n)if(o.applicants[n].applicantDegree==="Jatkotutkinto"||o.applicants[n].applicantDegree==="Postgraduate degree"||o.applicants[n].applicantDegree==="Påbyggnadsexamen")return!0;return!1};n.applicantHasSSN=[];n.childHasSSN=[];n.guardianHasSSN=[];o.resetSsnIfFinland=function(t,i,r){var f=t==="Suomi"||t==="Finland",u;r==="applicant"?(u=o.applicants[i],u.applicantPersonalIdentityNumber="",n.applicantHasSSN[i]=f):r==="child"?(u=o.children[i],u.childPersonalIdentityNumber="",n.childHasSSN[i]=f):r==="guardian"&&(u=o.applicants[i],u.applicantGuardianPersonalIdentityNumber="",n.guardianHasSSN[i]=f)};n.open1=function(){n.popup1.opened=!0};n.hideApplicationAcceptanceDatePopup=function(){setTimeout(function(){n.popup1.opened=!1;n.$apply()},100)};n.popup1={opened:!1};n.applicantPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:o.birthMinDate,maxDate:o.birthMaxDate};n.applicantPersonalIdentityNumberPopup={};n.applicantPersonalIdentityNumberOpenPopup=function(t){n.applicantPersonalIdentityNumberPopup["idx"+t]=!0};o.applicantDateOptionsMinStartDate=(new moment).set("year",1990).set("month",0).set("date",1).startOf("day");o.applicantDateOptionsMaxStartDate=moment().month()>=1&&moment().month()<=4?moment().subtract(moment().month(),"months").add(9,"months").endOf("month"):moment().add(5,"months").endOf("month");o.applicantDateOptionsMinEndDate=(new moment).startOf("day");o.applicantDateOptionsMaxEndDate=(new moment).add(15,"year").endOf("day");n.applicantDateOptions={formatYear:"yyyy",minDate:o.applicantDateOptionsMinStartDate,maxDate:o.applicantDateOptionsMaxStartDate,startingDay:1};n.applicantEndDateOptions={formatYear:"yyyy",minDate:o.applicantDateOptionsMinEndDate,maxDate:o.applicantDateOptionsMaxEndDate,startingDay:1};n.applicantStartdatePopup={};n.applicantEnddatePopup={};n.applicantOpenStartdatePopup=function(t){n.applicantStartdatePopup["idx"+t]=!0};n.applicantOpenEnddatePopup=function(t){n.applicantEnddatePopup["idx"+t]=!0};n.hideApplicantOpenStartdatePopup=function(t){setTimeout(function(){n.applicantStartdatePopup["idx"+t]=!1;n.$apply()},100)};n.hideApplicantOpenEnddatePopup=function(t){setTimeout(function(){n.applicantEnddatePopup["idx"+t]=!1;n.$apply()},100)};o.applicationApartmentMaximumRentSlider={floor:c,ceil:1500,step:5,showSelectionBar:!0,translate:function(n){return n+" €"}};o.isApartmentTypeAllowed=function(n){var t=o.applicationApartmentGroup;switch(n){case 0:return o.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!o.applicants[0].applicantMovingWithChildren&&!o.applicants[0].applicantExpectChild;case 1:return(t==3||t==2)&&!o.applicants[0].applicantMovingWithChildren&&!o.applicants[0].applicantExpectChild;case 2:return o.checkIfPostGraduate()&&!o.applicants[0].applicantMovingWithChildren&&!o.applicants[0].applicantExpectChild&&t!=1?!1:!((t==3||t==2)&&(o.applicants[0].applicantMovingWithChildren||o.applicants[0].applicantExpectChild)&&o.applicant1WithRoommate);case 3:return o.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!o.applicants[0].applicantMovingWithChildren&&!o.applicants[0].applicantExpectChild&&!o.checkIfPostGraduate();case 4:return(t==3||t==2)&&!o.applicants[0].applicantMovingWithChildren&&!o.applicants[0].applicantExpectChild&&!o.checkIfPostGraduate();case 5:return o.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!o.applicants[0].applicantMovingWithChildren&&!o.applicants[0].applicantExpectChild&&!o.checkIfPostGraduate();case 6:return o.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!o.applicants[0].applicantMovingWithChildren&&!o.applicants[0].applicantExpectChild&&!o.checkIfPostGraduate();case 7:return(t==3||t==2)&&!o.applicants[0].applicantMovingWithChildren&&!o.applicants[0].applicantExpectChild;case 8:return t==1||o.applicants[0].applicantMovingWithChildren||o.applicants[0].applicantExpectChild;case 9:return t==1||o.applicants[0].applicantMovingWithChildren||o.applicants[0].applicantExpectChild;case 10:return t==1||o.applicants[0].applicantMovingWithChildren||o.applicants[0].applicantExpectChild}};n.$watch("vm.applicationApartmentGroup",function(n){n==1&&(o.applicationType="Haen perheasuntoa");n==2&&(o.applicationType="Haen asuntoa kaverin kanssa",o.applicant1WithRoommate=!0);n==3&&(o.applicationType="Haen asuntoa yksin");o.checkMaximumApplicants()});n.$watchCollection("vm.applicationApartmentGroup",function(){o.clearDisabledHousings();o.applicationApartmentGroup==1&&(o.applicant1WithRoommate=!1,o.clearRoommateData())});n.$watchCollection("vm.applicationApartmentType",function(){var t=c,i=v,n=o.applicationApartmentType,r=o.applicationApartmentGroup!=1&&!o.applicationChildGroup[1]&&!o.applicationChildGroup[0];n[0]&&(t=250);n[1]&&(t=300);n[7]&&(t=450);n[2]&&r&&(t=450);n[4]&&(t=510);n[3]&&(t=520);n[5]&&(t=520);n[6]&&(t=530);n[2]&&!r&&(t=550);n[8]&&(t=550);n[9]&&(t=700);n[10]&&(t=800);o.applicationApartmentMaximumRentSlider.floor=t;(n[0]||n[1])&&(i=20);n[3]&&(i=28);(n[4]||n[6])&&(i=29);n[5]&&(i=31);n[2]&&o.applicationApartmentGroup==3&&(i=46);n[7]&&(i=53);n[2]&&(o.applicationApartmentGroup==2||o.applicationApartmentGroup==1)&&(i=60);n[9]&&(i=84);n[8]&&(i=87);n[10]&&(i=96);o.applicationApartmentSizeSlider.ceil=i;o.applicationApartmentMaximumRent<o.applicationApartmentMaximumRentSlider.floor&&(o.applicationApartmentMaximumRent=o.applicationApartmentMaximumRentSlider.floor)});o.isTransferTypeSelected=function(){return o.transferType?!0:!1};o.isTransferReasonSelected=function(){return o.applicationReason?!0:!1};o.isApplicantNationalityFinnish=function(n){var t=o.applicants[n];return t&&t.applicantNationality&&(t.applicantNationality=="Suomi"||t.applicantNationality=="Finland")};o.isApplicantNationalitySelected=function(n){var t=o.applicants[n];return t&&t.applicantNationality};o.isApplicantCountrySelected=function(n){var t=o.applicants[n];return t&&t.applicantCountry};o.isApplicantGenderSelected=function(n){var t=o.applicants[n];return t&&t.applicantGender};o.isApplicantCurrentAccomodationTypeSelected=function(n){var t=o.applicants[n];return t&&t.applicantGender};o.isApplicantServiceLanguageSelected=function(n){var t=o.applicants[n];return t&&t.applicantServiceLanguage};o.addApplicant=function(){o.canAddApplicant()&&o.applicants.push(r.createApplicant(o.countryDefault))};o.canAddApplicant=function(){return o.maximumApplicants()>o.applicants.length};o.removeApplicant=function(n){o.canRemoveApplicant(n)&&(o.applicants.splice(n,1),window.scrollTo(0,0))};o.canRemoveApplicant=function(n){return o.applicants[n]?n>=0&&n!=0:!1};o.checkIfFamilyapplicantIsAlone=function(){return o.applicationApartmentGroup!=1?!1:!(o.applicationApartmentGroup==1&&(o.applicants[0].applicantMovingWithChildren||o.applicants[0].applicantExpectChild||o.applicants.length>1))};o.submitForm=function(t,r){if(r||(r="fi"),t.$valid&&!o.checkIfFamilyapplicantIsAlone()){o.disableSendButton();n.removeUnloadEvent();var u=angular.fromJson(angular.toJson(o));u.countries=null;$.each(u.applicants,function(n,t){t.applicantStudyStartDate=s(t.applicantStudyStartDate);t.applicantEstimatedCompletionDate=s(t.applicantEstimatedCompletionDate);t.applicantGuardianPersonalIdentityNumber=s(t.applicantGuardianPersonalIdentityNumber);t.applicantPersonalIdentityNumber=s(t.applicantPersonalIdentityNumber);t.applicantExpectedDate=s(t.applicantExpectedDate)});$.each(u.children,function(n,t){t.childPersonalIdentityNumber=s(t.childPersonalIdentityNumber)});u.applicationAcceptanceDate=s(u.applicationAcceptanceDate);i.submitData(e+"/api/Transfer",u,r,o)}else console.log(o),angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200)};o.applicationChildGroup=[];n.childPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:o.childBirthMinDate,maxDate:o.childBirthMaxDate};n.childPersonalIdentityNumberPopup={};n.childPersonalIdentityNumberOpenPopup=function(t){n.childPersonalIdentityNumberPopup["idx"+t]=!0};n.applicantExpectDateOpen=function(){n.applicantExpectDatePopup.opened=!0};n.applicantExpectDatePopup={opened:!1};n.applicantExpectDateOptions={formatYear:"yyyy",startingDay:1,minDate:o.applicationMinExpectDate,maxDate:o.applicationMaxExpectDate};n.$watchCollection("vm.applicationChildGroup",function(){o.applicants[0].applicantMovingWithChildren=o.applicationChildGroup[0]?!0:!1;o.applicants[0].applicantExpectChild=o.applicationChildGroup[1]?!0:!1;o.clearDisabledHousings();o.checkMaximumApplicants();o.applicants[0].applicantMovingWithChildren&&o.children.length==0&&o.addChild()});o.isChildNationalityFinnish=function(n){var t=o.children[n];return t&&t.childNationality&&(t.childNationality=="Suomi"||t.childNationality=="Finland")};o.isChildNationalitySelected=function(n){var t=o.children[n];return t&&t.childNationality};o.addChild=function(){o.canAddChild()&&o.children.push(u.createChild(o.countryDefault))};o.canAddChild=function(){return o.maximumChildren>o.children.length};o.removeChild=function(n){o.canRemoveChild(n)&&o.children.splice(n,1)};o.canRemoveChild=function(n){return o.children[n]?n>=0&&n!=0:!1};o.isApplicantAdultSSN=function(n){var u=FinnishSSN.validate(n),r,i,t;return u?(r=FinnishSSN.parse(n),i=new Date(r.dateOfBirth),i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),t=moment().startOf("day").subtract(18,"years"),t=new Date(t),t=new Date(t.getTime()-t.getTimezoneOffset()*6e4),i>t?!1:!0):null};o.isApplicantAdultDate=function(n){if(!n)return null;var t=new Date(n),i=moment().subtract(18,"years").startOf("day");return t<=i};n.applicantGuardianIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:o.birthMinDate,maxDate:o.guardianBirthMaxDate};n.applicantGuardianIdentityNumberPopup={};n.applicantGuardianIdentityNumberOpenPopup=function(t){n.applicantGuardianIdentityNumberPopup["idx"+t]=!0};o.isApplicantGuardianNationalitySelected=function(n){var t=o.applicants[n];return t&&t.applicantGuardianNationality};o.isApplicantGuardianNationalityFinnish=function(n){var t=o.applicants[n];return t&&t.applicantGuardianNationality&&(t.applicantGuardianNationality=="Suomi"||t.applicantGuardianNationality=="Finland")};n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",h):window.attachEvent("onbeforeunload",h)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",h):window.detachEvent("onbeforeunload",h)};w();o.checkChildSSNs=function(n,t){for(var i=0;i<o.children.length;++i)if(i===t)continue;else if((o.children[i].childNationality==="Suomi"||o.children[i].childNationality==="Finland")&&o.children[i].childPersonalIdentityNumber===n)return!1;return!0};o.checkChildSSNs=function(n){for(var t=0;t<o.children.length;++t)if((o.children[t].childNationality==="Suomi"||o.children[t].childNationality==="Finland")&&o.children[t].childPersonalIdentityNumber===n)return!1;return!0};o.checkChildSSNversusApplicants=function(n){for(var t=0;t<o.applicants.length;++t)if((o.applicants[t].applicantNationality==="Suomi"||o.applicants[t].applicantNationality==="Finland")&&o.applicants[t].applicantPersonalIdentityNumber===n)return!1;return!0};o.checkApplicantsSSNs=function(n,t){for(var i=0;i<o.applicants.length;++i)if(i===t)continue;else if((o.applicants[i].applicantNationality==="Suomi"||o.applicants[i].applicantNationality==="Finland")&&o.applicants[i].applicantPersonalIdentityNumber===n)return!1;return!0};o.checkDuplicatePassports=function(n,t){if(n==null)return!0;for(var i=0;i<o.applicants.length;++i)if(i===t)continue;else if(o.applicants[i].applicantNationality!=="Suomi"&&o.applicants[i].applicantNationality!=="Finland"&&o.applicants[i].applicantPassportNumber===n)return!1;return!0};o.checkDuplicateIDNumbers=function(n,t){if(n==null)return!0;for(var i=0;i<o.applicants.length;++i)if(i===t)continue;else if(o.applicants[i].applicantNationality!=="Suomi"&&o.applicants[i].applicantNationality!=="Finland"&&o.applicants[i].applicantIDCardNumber===n)return!1;return!0};o.checkDuplicateChildsLastname=function(n,t){if(o.children[t].childNationality==="Suomi"||o.children[t].childNationality==="Finland")return!0;for(var i=0;i<o.children.length;++i)if(i===t||o.children[i].childNationality==="Suomi"||o.children[i].childNationality==="Finland")continue;else if(o.children[i].childPersonalIdentityNumber!=null&&o.children[t].childPersonalIdentityNumber!=null&&o.children[i].childPersonalIdentityNumber.getTime()===o.children[t].childPersonalIdentityNumber.getTime()&&o.children[i].childLastName===n&&o.children[i].childFirstNames===o.children[t].childFirstNames)return!1;return!0};o.checkDuplicateChildsFirstnames=function(n,t){if(o.children[t].childNationality==="Suomi"||o.children[t].childNationality==="Finland")return!0;for(var i=0;i<o.children.length;++i)if(i===t||o.children[i].childNationality==="Suomi"||o.children[i].childNationality==="Finland")continue;else if(o.children[i].childPersonalIdentityNumber!=null&&o.children[t].childPersonalIdentityNumber!=null&&o.children[i].childPersonalIdentityNumber.getTime()===o.children[t].childPersonalIdentityNumber.getTime()&&o.children[i].childLastName===o.children[t].childLastName&&o.children[i].childFirstNames===n)return!1;return!0};o.checkDuplicateChildsBirthday=function(n,t){if(o.children[t].childNationality==="Suomi"||o.children[t].childNationality==="Finland")return!0;for(var i=0;i<o.children.length;++i)if(i===t||o.children[i].childNationality==="Suomi"||o.children[i].childNationality==="Finland")continue;else if(o.children[i].childPersonalIdentityNumber!=null&&n!=null&&o.children[i].childPersonalIdentityNumber.getTime()===n.getTime()&&o.children[i].childLastName===o.children[t].childLastName&&o.children[i].childFirstNames===o.children[t].childFirstNames)return!1;return!0};o.generateRoommateId=function(){for(var n,i="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=String((new Date).getFullYear()),u="",f=0;f<10;f++)i+=t.charAt(Math.floor(Math.random()*t.length));for(n=0;n<r.length;n++)u+=t.charAt(parseInt(r.charAt(n)));return u+i};o.clearRoommateData=function(){o.applicant1FirstOfRoommates="";o.applicantRoommateCount="";o.applicant1RoommateId="";o.applicantRoommateAdditionalInformation=[]};o.isApartmentTypeSelected=function(){for(var n=0;n<11;++n)if(o.applicationApartmentType[n]!==undefined&&o.applicationApartmentType[n]!==null&&o.applicationApartmentType[n]!==!1&&o.applicationApartmentType[n]!=="")return!0;return!1};o.isTwoWithoutChildCondition=function(){return o.applicant1WithRoommate&&!o.applicationChildGroup[0]&&!o.applicationChildGroup[1]};n.$watchGroup(["vm.applicant1WithRoommate","vm.applicationChildGroup[0]","vm.applicationChildGroup[1]"],function(){o.applicationApartmentType[1]=o.isTwoWithoutChildCondition()?"Kämppisasunto":null});o.checkMaximumApplicants=function(){var t=o.maximumApplicants(),n;if(o.applicants.length>t)for(n=o.applicants.length;n>t;n--)n!=0&&o.applicants.splice(n-1,1)};o.checkFamilyStudyFields=function(n){return n===0||o.applicationApartmentGroup!=1?!1:!0};o.clearDisabledHousings=function(){for(var n=0;n<11;++n)o.isApartmentTypeAllowed(n)||(o.applicationApartmentType[n]=!1)};o.arePetsAllowed=function(){for(var n=0;n<11;n++)if((n==0||n==3||n==5||n==6)&&o.applicationApartmentType[n]!==undefined&&o.applicationApartmentType[n]!==null&&o.applicationApartmentType[n]!==!1&&o.applicationApartmentType[n]!=="")return o.applicationSpecialRequirements[1]=!1,!0;return!1};o.isApplicantOver15SSN=function(n){var i=FinnishSSN.validate(n),t;return i?(t=FinnishSSN.parse(n),t.ageInYears<15?!1:!0):null};o.disableSendButton=function(){o.sendIsDisabled=!0};n.$watchGroup(["vm.applicants[0].applicantStudyStartDate","vm.applicants[0].applicantEstimatedCompletionDate","vm.applicationAcceptanceDate"],function(t){var u=t[0],r=t[1],i=t[2];u===undefined&&n.form.applicantStudyStartDate0.$validate();r===undefined&&n.form.applicantEstimatedCompletionDate0.$validate();i===undefined&&n.form.applicationAcceptanceDate.$validate();i!=null&&(u!=null&&o.applicationAcceptanceDateMin>i?n.form.applicationAcceptanceDate.$setValidity("studyStartDate",!1):n.form.applicationAcceptanceDate.$setValidity("studyStartDate",!0),r!=null&&r<i?n.form.applicationAcceptanceDate.$setValidity("studyEndDate",!1):n.form.applicationAcceptanceDate.$setValidity("studyEndDate",!0))});n.$watch("vm.applicants[0].applicantStudyStartDate",function(n){var u=null,i=null,e=o.applicationAcceptanceDate,f=n,r,t;f!=null&&(r=f.getMonth(),t=f.getFullYear(),r===0?(i=new Date(t,0,1,0,0,0,0),u=new Date(t-1,8,1,0,0,0,0)):r===1?(i=new Date(t,1,1,0,0,0,0),u=new Date(t-1,9,1,0,0,0,0)):r===2?(i=new Date(t,2,1,0,0,0,0),u=new Date(t-1,10,1,0,0,0,0)):r===3?(i=new Date(t,3,1,0,0,0,0),u=new Date(t-1,11,1,0,0,0,0)):r===4?(i=new Date(t,4,1,0,0,0,0),u=new Date(t,0,1,0,0,0,0)):r===5||r===6||r===7||r===8?(i=new Date(t,5,1,0,0,0,0),u=new Date(t,1,1,0,0,0,0)):r===9?(i=new Date(t,9,1,0,0,0,0),u=new Date(t,5,1,0,0,0,0)):r===10?(i=new Date(t,10,1,0,0,0,0),u=new Date(t,6,1,0,0,0,0)):r===11&&(i=new Date(t,11,1,0,0,0,0),u=new Date(t,7,1,0,0,0,0)),i&&(i<moment().startOf("month")&&(i=moment().startOf("month")),o.applicationAcceptanceDateMin=i),u&&(o.sendIsDisabled=moment()<u))});y=["vm.applicants[0].applicantEmail","vm.applicants[1].applicantEmail","vm.applicants[2].applicantEmail","vm.applicants[0].applicantGuardianEmail","vm.applicants[1].applicantGuardianEmail","vm.applicants[2].applicantGuardianEmail"];n.$watchGroup(y,function(n){for(var r,i,t=0;t<n.length;++t)n[t]&&l(t,!0);for(r=!1,t=0;!r&&t<n.length-1;++t)for(i=t+1;!r&&i<n.length;++i)r=n[t]&&n[i]&&n[t]==n[i],r&&(l(t,!1),l(i,!1))});o.downloadPdf=function(){i.downloadPdf("confirmation",o.formSnapshot)}}angular.module("app").controller("asumisoikeudensiirto",n);n.$inject=["$scope","countryService","apiService","applicantFactory","childFactory","schoolService","apiAddress"]})(),function(){"use strict";function n(n,t,i,r,u,f,e,o,s){function vt(n){return n.mode==="day"&&moment(n.date).date()!=1}function ft(n){n=n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var r=new RegExp("[\\?&]"+n+"=([^&#]*)"),i=r.exec(t.$$absUrl);return i===null?"":decodeURIComponent(i[1])}function yt(){return h.apartmentAdditionalParametersFromQueryString===undefined||h.apartmentAdditionalParametersFromQueryString===""?!1:h.apartmentAdditionalParametersFromQueryString.indexOf("room")!==-1||h.apartmentAdditionalParametersFromQueryString.indexOf("huone")!==-1||h.apartmentAdditionalParametersFromQueryString.indexOf("rum")!==-1?!0:void 0}function l(n){var t=moment(n).utcOffset(0,!0).toDate();return isNaN(t.getTime())?n:t}function y(n){n.returnValue=""}function kt(){h.addApplicant();var t=moment().startOf("month");n.addUnloadEvent()}function k(t,i){switch(t){case 0:n.form.applicantEmail0&&n.form.applicantEmail0.$setValidity("emailunique",i);break;case 1:n.form.applicantEmail1&&n.form.applicantEmail1.$setValidity("emailunique",i);break;case 2:n.form.applicantEmail2&&n.form.applicantEmail2.$setValidity("emailunique",i);break;case 3:n.form.applicantGuardianEmail0&&n.form.applicantGuardianEmail0.$setValidity("emailunique",i);break;case 4:n.form.applicantGuardianEmail1&&n.form.applicantGuardianEmail1.$setValidity("emailunique",i);break;case 5:n.form.applicantGuardianEmail2&&n.form.applicantGuardianEmail2.$setValidity("emailunique",i)}}var h=this,nt,ut,c,v,et;h.title="normaalihakemus";h.applicationSent=!1;h.sendIsDisabled=!1;h.housingRequest=ft("k");h.freeApartmentRequest=ft("r");n.hoasApartmentStatus=!1;var d=0,g=230;$("#squareMeterCounter").handleCounter();nt=$("#squareMeterCounter > input");$("#rentCounter").handleCounter();var a=$("#rentCounter > input"),ot=$("#rentCounter > .counter-plus"),p=$("#rentCounter > .counter-minus"),tt="Soluhuone",w="Kämppisasunto",st="Kaksio yhdelle",b="Yksiö",ht="Yksiö minikeittiöllä",it="Yksiö yhteiskeittiöllä",rt="Kalustettu yksiö yhteiskeittiöllä",ct="Kaksio",lt="Kolmio",at="Neliö";h.birthMinDate=moment("1900-01-01T00:00:00");h.birthMaxDate=moment().subtract(15,"years").endOf("day");h.guardianBirthMaxDate=moment().subtract(18,"years").endOf("day");h.childBirthMinDate=moment().subtract(18,"years").startOf("day");h.childBirthMaxDate=moment().endOf("day");h.applicationAcceptanceDateMin=moment().startOf("month");h.applicationAcceptanceDateMax=moment().startOf("month").add(4,"months");h.applicationMinExpectDate=moment().startOf("day");h.applicationMaxExpectDate=moment().add(12,"months").endOf("day");h.countries=r.getCountries();h.countryDefault=_.find(h.countries,function(n){return n.value=="Suomi"||n.value=="Finland"});h.maximumApplicants=function(){return h.applicationTypeSelection==3?1:h.applicationTypeSelection==2?1:h.applicationTypeSelection==1?2:1};h.maximumChildren=10;h.applicants=[];h.children=[];h.applicationTypeSelection=3;h.applicationType=null;h.applicationReason=null;h.applicationApartmentType=[];h.apartmentRequestList=[1];h.isRoomieApartmentTypeSelected=!1;h.applicationApartmentSize=d;h.applicationApartmentMaximumRent=g;yt()&&(h.applicationApartmentType[0]="Huone jaetussa asunnossa");h.regions=[];h.regionRequests=[];ut=o.getRegions();ut.then(function(n){h.regions=n.data});h.getSchoolRegions=function(n,t){var i=e.getAllSchools();h.clearRegionRequests();i.then(function(i){for(var u,f,o=i.data,s=o.filter(function(t){return t.degree==n}),c=s.filter(function(n){return n.value==t}),e=c.map(function(n){return n.associatedRegions}),r=0;r<h.regions.length;r++)for(u=0;u<e.length;u++)for(f=0;f<e[u].length;f++)e[u][f]===h.regions[r].id&&(h.regions[r].isChecked=!0,h.regionRequests.push(h.regions[r]));h.regionRequests=h.regionRequests.filter(function(n,t){return h.regionRequests.indexOf(n)==t})})};h.applicationChildGroup=[];h.applicationSpecialRequirements=[];h.applicantRoommateAdditionalInformation=[];h.applicationAcceptanceDate=null;h.applicationAdditionalInformation=null;h.applicationConfirmation=!1;h.applicant1WithRoommate=!1;h.applicantDetailsForRoomieApartment=[];h.inputMaxlength=2048;h.applicationApartmentSizeSlider={floor:d,ceil:100,showSelectionBarEnd:!0,translate:function(n){return n+" m<sup>2<\/sup>"}};h.applicationApartmentMaximumRentSlider={floor:g,ceil:1500,step:5,showSelectionBar:!0,translate:function(n){return n+" €"}};h.isApartmentTypeAllowed=function(n){var t=h.applicationTypeSelection;switch(n){case 0:return h.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!h.applicants[0].applicantMovingWithChildren&&!h.applicants[0].applicantExpectChild;case 1:return(t==3||t==2)&&!h.applicants[0].applicantMovingWithChildren&&!h.applicants[0].applicantExpectChild;case 2:return h.checkIfPostGraduate()&&!h.applicants[0].applicantMovingWithChildren&&!h.applicants[0].applicantExpectChild&&t!=1?!1:!((t==3||t==2)&&(h.applicants[0].applicantMovingWithChildren||h.applicants[0].applicantExpectChild)&&h.applicant1WithRoommate);case 3:return h.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!h.applicants[0].applicantMovingWithChildren&&!h.applicants[0].applicantExpectChild&&!h.checkIfPostGraduate();case 4:return(t==3||t==2)&&!h.applicants[0].applicantMovingWithChildren&&!h.applicants[0].applicantExpectChild&&!h.checkIfPostGraduate();case 5:return h.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!h.applicants[0].applicantMovingWithChildren&&!h.applicants[0].applicantExpectChild&&!h.checkIfPostGraduate();case 7:return(t==3||t==2)&&!h.applicants[0].applicantMovingWithChildren&&!h.applicants[0].applicantExpectChild;case 8:return t==1||h.applicants[0].applicantMovingWithChildren||h.applicants[0].applicantExpectChild;case 9:return t==1||h.applicants[0].applicantMovingWithChildren||h.applicants[0].applicantExpectChild;case 10:return t==1||h.applicants[0].applicantMovingWithChildren||h.applicants[0].applicantExpectChild}};h.schools=function(n){return e.getSchools(n)};h.confirmRegions=function(){angular.forEach(h.regions,function(n){var t=h.regionRequests.indexOf(n);n.isChecked&&t==-1&&h.regionRequests.push(n);!n.isChecked&&t>-1&&h.regionRequests.splice(t,1)});h.regionRequests.sort(function(n,t){return n.title>t.title?1:n.title<t.title?-1:0})};h.cancelRegionRequests=function(){angular.forEach(h.regions,function(n){n.isChecked=h.regionRequests.indexOf(n)>-1?!0:!1})};h.removeRegionRequest=function(n){var t=h.regionRequests.indexOf(n);h.regionRequests.splice(t,1);n.isChecked=!1};h.clearRegionRequests=function(){h.regionRequests=[];angular.forEach(h.regions,function(n){n.isChecked=!1})};n.dateOptions={formatYear:"yyyy",minDate:h.applicationAcceptanceDateMin,maxDate:h.applicationAcceptanceDateMax,startingDay:1,dateDisabled:vt};h.checkFirstDateLimit=function(n){return n==null?!0:moment(n).date()==1};h.checkMinDateLimit=function(n,t){return n==null?!0:n>=t};h.checkMaxDateLimit=function(n,t){return n==null||t==null?!0:n<=t};h.checkIfApplicantOtherSex=function(n){return n!="Muu"&&n!="Other"};h.checkIfPositiveNumber=function(n){return n==null?!0:(n=n.replace(",","."),n=parseFloat(n),n>=0)};h.checkIfHoasApartment=function(){for(var t=0;t<h.applicants.length;++t)if(h.applicants[t].applicantCurrentAccomodationType==="Hoas-asunto"||h.applicants[t].applicantCurrentAccomodationType==="Hoas bostad"||h.applicants[t].applicantCurrentAccomodationType==="Hoas apartment")return n.hoasApartmentStatus||(h.applicationReason=""),n.hoasApartmentStatus=!0,!0;return n.hoasApartmentStatus&&(n.hoasApartmentStatus=!1,h.applicationReason=""),!1};h.checkIfPostGraduate=function(){for(var n=0;n<h.applicants.length;++n)if(h.applicants[n].applicantDegree==="Jatkotutkinto"||h.applicants[n].applicantDegree==="Postgraduate degree"||h.applicants[n].applicantDegree==="Påbyggnadsexamen")return!0;return!1};n.applicantHasSSN=[];n.childHasSSN=[];n.guardianHasSSN=[];h.resetSsnIfFinland=function(t,i,r){var f=t==="Suomi"||t==="Finland",u;r==="applicant"?(u=h.applicants[i],u.applicantPersonalIdentityNumber="",n.applicantHasSSN[i]=f):r==="child"?(u=h.children[i],u.childPersonalIdentityNumber="",n.childHasSSN[i]=f):r==="guardian"&&(u=h.applicants[i],u.applicantGuardianPersonalIdentityNumber="",n.guardianHasSSN[i]=f)};n.open1=function(){n.popup1.opened=!0};n.popup1={opened:!1};n.applicantExpectDateOpen=function(){n.applicantExpectDatePopup.opened=!0};n.applicantExpectDatePopup={opened:!1};n.applicantExpectDateOptions={formatYear:"yyyy",startingDay:1,minDate:h.applicationMinExpectDate,maxDate:h.applicationMaxExpectDate};h.applicantDateOptionsMinStartDate=(new moment).set("year",1990).set("month",0).set("date",1).startOf("day");h.applicantDateOptionsMaxStartDate=moment().month()>=1&&moment().month()<=4?moment().subtract(moment().month(),"months").add(9,"months").endOf("month"):moment().add(5,"months").endOf("month");h.applicantDateOptionsMinEndDate=(new moment).startOf("day");h.applicantDateOptionsMaxEndDate=(new moment).add(15,"year").endOf("day");n.applicantDateOptions={formatYear:"yyyy",minDate:h.applicantDateOptionsMinStartDate,maxDate:h.applicantDateOptionsMaxStartDate,startingDay:1};n.applicantEndDateOptions={formatYear:"yyyy",minDate:h.applicantDateOptionsMinEndDate,maxDate:h.applicantDateOptionsMaxEndDate,startingDay:1};n.applicantStartdatePopup={};n.applicantEnddatePopup={};n.applicantOpenStartdatePopup=function(t){n.applicantStartdatePopup["idx"+t]=!0};n.applicantOpenEnddatePopup=function(t){n.applicantEnddatePopup["idx"+t]=!0};n.applicantPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:h.birthMinDate,maxDate:h.birthMaxDate};n.applicantPersonalIdentityNumberPopup={};n.applicantPersonalIdentityNumberOpenPopup=function(t){n.applicantPersonalIdentityNumberPopup["idx"+t]=!0};n.childPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:h.childBirthMinDate,maxDate:h.childBirthMaxDate};n.childPersonalIdentityNumberPopup={};n.childPersonalIdentityNumberOpenPopup=function(t){n.childPersonalIdentityNumberPopup["idx"+t]=!0};n.$watch("vm.applicationTypeSelection",function(n){n==1&&(h.applicationType="Haen perheasuntoa",h.applicant1WithRoommate=!1,h.clearRoommateData());n==2&&(h.applicationType="Haen asuntoa kaverin kanssa",h.applicant1WithRoommate=!0);n==3&&(h.applicationType="Haen asuntoa yksin",h.applicant1WithRoommate=!1);v();h.checkMaximumApplicants();h.apartmentRequestList=[1]});n.$watch("vm.applicant1WithRoommate",function(){h.applicationApartmentType[0]=!h.applicant1WithRoommate||h.applicants[0].applicantMovingWithChildren&&h.applicants[0].applicantExpectChild?"":w});n.$watchCollection("vm.applicationChildGroup",function(){h.applicants[0].applicantMovingWithChildren=h.applicationChildGroup[0]?!0:!1;h.applicants[0].applicantExpectChild=h.applicationChildGroup[1]?!0:!1;h.checkMaximumApplicants();h.applicants[0].applicantMovingWithChildren&&h.children.length==0?h.addChild():h.applicationTypeSelection==2&&(h.applicationApartmentType[0]=h.applicants[0].applicantMovingWithChildren||h.applicants[0].applicantExpectChild?"":w);h.applicationChildGroup[0]||(h.children=[]);v()});c=function(n){a.attr({min:n});a.val()<n?(a.val(n),p.prop("disabled",!0),ot.prop("disabled",!1)):a.val()==a.attr("min")?p.prop("disabled",!0):p.prop("disabled",!1)};v=function(){var n=250;n=h.applicationTypeSelection===3||h.applicationTypeSelection===2?h.applicationChildGroup[0]||h.applicationChildGroup[1]?800:h.applicationSpecialRequirements[1]?550:560:800;c(n)};n.$watch("vm.applicationSpecialRequirements[1]",function(){h.applicationTypeSelection!==3&&h.applicationTypeSelection!==2||h.applicationChildGroup[0]||h.applicationChildGroup[1]||(h.applicationSpecialRequirements[1]&&h.applicationApartmentType.indexOf("")>-1||h.applicationApartmentType.indexOf(null)>-1?c(550):(h.applicationApartmentType.indexOf("")>-1||h.applicationApartmentType.indexOf(null)>-1)&&c(560))});n.$watchCollection("vm.applicationApartmentType",function(){var n=h.applicationApartmentType,t;h.isRoomieApartmentTypeSelected=n.indexOf("Kämppisasunto")>-1?!0:!1;t=h.applicationTypeSelection!=1&&!h.applicationChildGroup[1]&&!h.applicationChildGroup[0];n.indexOf(tt)>-1&&c(270);n.indexOf(w)>-1&&c(320);n.indexOf(st)>-1&&c(500);n.indexOf(b)>-1&&t&&c(500);n.indexOf(ht)>-1&&c(550);n.indexOf(it)>-1&&c(550);n.indexOf(rt)>-1&&c(560);n.indexOf(b)>-1&&!t&&c(580);n.indexOf(ct)>-1&&c(580);n.indexOf(lt)>-1&&c(700);n.indexOf(at)>-1&&c(800);(n.indexOf("")>-1||n.indexOf(null)>-1)&&v()});h.isChildNationalityFinnish=function(n){var t=h.children[n];return t&&t.childNationality&&(t.childNationality=="Suomi"||t.childNationality=="Finland")};h.isChildNationalitySelected=function(n){var t=h.children[n];return t&&t.childNationality};h.isApplicantNationalityFinnish=function(n){var t=h.applicants[n];return t&&t.applicantNationality&&(t.applicantNationality=="Suomi"||t.applicantNationality=="Finland")};h.isApplicantNationalitySelected=function(n){var t=h.applicants[n];return t&&t.applicantNationality};h.isApplicantCountrySelected=function(n){var t=h.applicants[n];return t&&t.applicantCountry};h.isApplicantGenderSelected=function(n){var t=h.applicants[n];return t&&t.applicantGender};h.isApplicantCurrentAccomodationTypeSelected=function(n){var t=h.applicants[n];return t&&t.applicantGender};h.isApplicantServiceLanguageSelected=function(n){var t=h.applicants[n];return t&&t.applicantServiceLanguage};h.isApplicantSchoolSelected=function(n){var t=h.applicants[n];return t&&t.applicantSchool};h.isApplicationReasonSelected=function(){return h.applicationReason?!0:!1};h.addApplicant=function(){h.canAddApplicant()&&h.applicants.push(u.createApplicant(h.countryDefault))};h.addChild=function(){h.canAddChild()&&(h.children.push(f.createChild(h.countryDefault)),h.applicationChildGroup[0]=!0,h.applicants[0].applicantMovingWithChildren=!0)};h.addApartmentRequest=function(){h.apartmentRequestList.push(h.apartmentRequestList.length+1)};h.changeApartmentRequests=function(n,t){h.applicationApartmentType.splice(t,1,n)};h.removeApartmentRequest=function(n){h.applicationApartmentType.splice(n,1);h.apartmentRequestList.pop()};h.canAddApplicant=function(){return h.maximumApplicants()>h.applicants.length};h.canAddChild=function(){return h.maximumChildren>h.children.length};h.removeApplicant=function(n){h.canRemoveApplicant(n)&&(h.applicants.splice(n,1),window.scrollTo(0,0))};h.removeChild=function(n){h.children.splice(n,1);h.children.length==0&&(h.applicants[0].applicantMovingWithChildren=!1)};h.canRemoveApplicant=function(n){return h.applicants[n]?n>=0&&n!=0:!1};h.canRemoveChild=function(n){return h.children[n]?n>=0&&n!=0:!1};h.checkChildSSNs=function(n,t){for(var i=0;i<h.children.length;++i)if(i===t)continue;else if((h.children[i].childNationality==="Suomi"||h.children[i].childNationality==="Finland")&&h.children[i].childPersonalIdentityNumber===n)return!1;return!0};h.checkChildSSNs=function(n){for(var t=0;t<h.children.length;++t)if((h.children[t].childNationality==="Suomi"||h.children[t].childNationality==="Finland")&&h.children[t].childPersonalIdentityNumber===n)return!1;return!0};h.checkChildSSNversusApplicants=function(n){for(var t=0;t<h.applicants.length;++t)if((h.applicants[t].applicantNationality==="Suomi"||h.applicants[t].applicantNationality==="Finland")&&h.applicants[t].applicantPersonalIdentityNumber===n)return!1;return!0};h.checkApplicantsSSNs=function(n,t){for(var i=0;i<h.applicants.length;++i)if(i===t)continue;else if((h.applicants[i].applicantNationality==="Suomi"||h.applicants[i].applicantNationality==="Finland")&&h.applicants[i].applicantPersonalIdentityNumber===n)return!1;return!0};h.checkDuplicateChildsLastname=function(n,t){if(h.children[t].childNationality==="Suomi"||h.children[t].childNationality==="Finland")return!0;for(var i=0;i<h.children.length;++i)if(i===t||h.children[i].childNationality==="Suomi"||h.children[i].childNationality==="Finland")continue;else if(h.children[i].childPersonalIdentityNumber!=null&&h.children[t].childPersonalIdentityNumber!=null&&h.children[i].childPersonalIdentityNumber.getTime()===h.children[t].childPersonalIdentityNumber.getTime()&&h.children[i].childLastName===n&&h.children[i].childFirstNames===h.children[t].childFirstNames)return!1;return!0};h.checkDuplicateChildsFirstnames=function(n,t){if(h.children[t].childNationality==="Suomi"||h.children[t].childNationality==="Finland")return!0;for(var i=0;i<h.children.length;++i)if(i===t||h.children[i].childNationality==="Suomi"||h.children[i].childNationality==="Finland")continue;else if(h.children[i].childPersonalIdentityNumber!=null&&h.children[t].childPersonalIdentityNumber!=null&&h.children[i].childPersonalIdentityNumber.getTime()===h.children[t].childPersonalIdentityNumber.getTime()&&h.children[i].childLastName===h.children[t].childLastName&&h.children[i].childFirstNames===n)return!1;return!0};h.checkDuplicateChildsBirthday=function(n,t){if(h.children[t].childNationality==="Suomi"||h.children[t].childNationality==="Finland")return!0;for(var i=0;i<h.children.length;++i)if(i===t||h.children[i].childNationality==="Suomi"||h.children[i].childNationality==="Finland")continue;else if(h.children[i].childPersonalIdentityNumber!=null&&n!=null&&h.children[i].childPersonalIdentityNumber.getTime()===n.getTime()&&h.children[i].childLastName===h.children[t].childLastName&&h.children[i].childFirstNames===h.children[t].childFirstNames)return!1;return!0};h.generateRoommateId=function(){for(var n,i="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=String((new Date).getFullYear()),u="",f=0;f<10;f++)i+=t.charAt(Math.floor(Math.random()*t.length));for(n=0;n<r.length;n++)u+=t.charAt(parseInt(r.charAt(n)));return u+i};h.clearRoommateData=function(){h.applicant1FirstOfRoommates="";h.applicantRoommateCount="";h.applicant1RoommateId="";h.applicantRoommateAdditionalInformation=[]};h.checkIfSingleRoom=function(n){return h.applicationApartmentType[n]===b?!0:!1};h.isTwoWithoutChildCondition=function(){return h.applicant1WithRoommate&&!h.applicationChildGroup[0]&&!h.applicationChildGroup[1]};h.checkMaximumApplicants=function(){var t=h.maximumApplicants(),n;if(h.applicants.length>t)for(n=h.applicants.length;n>t;n--)n!=0&&h.applicants.splice(n-1,1)};h.checkFamilyStudyFields=function(n){return n===0||h.applicationTypeSelection!=1?!1:!0};h.arePetsAllowed=function(){var n=h.applicationApartmentType;return n.indexOf(tt)>-1||n.indexOf(it)>-1||n.indexOf(rt)>-1?(h.applicationSpecialRequirements[1]=!1,!0):!1};h.checkIfFamilyapplicantIsAlone=function(){return h.applicationTypeSelection!=1?!1:!(h.applicationTypeSelection==1&&(h.applicants[0].applicantMovingWithChildren||h.applicants[0].applicantExpectChild||h.applicants.length>1))};var pt=function(){h.anyArea?h.regionRequests=["Mikä tahansa alue käy"]:(h.regionRequests!=null||h.regionRequests.length!=0)&&(h.regionRequests=_.map(h.regionRequests,function(n){return n.title+", "+n.city}))},wt=function(){if(h.applicationApartmentType.indexOf("")>-1){var n=$(".apartment-request-selection").find("option");angular.forEach(n,function(n){n.value!=""&&n.value!=null&&n.value!=undefined&&h.applicationApartmentType.push(n.value)})}},bt=function(){(h.children.length>0&&h.applicants[0].applicantMovingWithChildren||h.applicants[0].applicantExpectChild)&&(h.applicationType="Haen perheasuntoa")};h.submitForm=function(t,r){if(r||(r="fi"),t.$valid&&!h.checkIfFamilyapplicantIsAlone()){h.disableSendButton();n.removeUnloadEvent();wt();pt();bt();h.applicationApartmentMaximumRent=a.val();h.applicationApartmentSize=nt.val();var u=angular.fromJson(angular.toJson(h));u.countries=null;$.each(u.applicants,function(n,t){t.applicantStudyStartDate=l(t.applicantStudyStartDate);t.applicantEstimatedCompletionDate=l(t.applicantEstimatedCompletionDate);t.applicantGuardianPersonalIdentityNumber=l(t.applicantGuardianPersonalIdentityNumber);t.applicantPersonalIdentityNumber=l(t.applicantPersonalIdentityNumber);t.applicantExpectedDate=l(t.applicantExpectedDate)});$.each(u.children,function(n,t){t.childPersonalIdentityNumber=l(t.childPersonalIdentityNumber)});u.applicationAcceptanceDate=l(u.applicationAcceptanceDate);console.log(u);i.submitData(s+"/api/HousingApplication",u,r,h)}else console.log(h),angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200)};h.isApplicantAdultSSN=function(n){var u=FinnishSSN.validate(n),r,i,t;return u?(r=FinnishSSN.parse(n),i=new Date(r.dateOfBirth),i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),t=moment().startOf("day").subtract(18,"years"),t=new Date(t),t=new Date(t.getTime()-t.getTimezoneOffset()*6e4),i>t?!1:!0):null};h.isApplicantOver15SSN=function(n){var i=FinnishSSN.validate(n),t;return i?(t=FinnishSSN.parse(n),t.ageInYears<15?!1:!0):null};h.isApplicantAdultDate=function(n){if(!n)return null;var t=new Date(n),i=moment().subtract(18,"years").startOf("day");return t<=i};n.applicantGuardianIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:h.birthMinDate,maxDate:h.guardianBirthMaxDate};n.applicantGuardianIdentityNumberPopup={};n.applicantGuardianIdentityNumberOpenPopup=function(t){n.applicantGuardianIdentityNumberPopup["idx"+t]=!0};h.isApplicantGuardianNationalitySelected=function(n){var t=h.applicants[n];return t&&t.applicantGuardianNationality};h.isApplicantGuardianNationalityFinnish=function(n){var t=h.applicants[n];return t&&t.applicantGuardianNationality&&(t.applicantGuardianNationality=="Suomi"||t.applicantGuardianNationality=="Finland")};n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",y):window.attachEvent("onbeforeunload",y)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",y):window.detachEvent("onbeforeunload",y)};angular.element(document).ready(function(){v(!1)});kt();h.disableSendButton=function(){h.sendIsDisabled=!0};h.checkDuplicatePassports=function(n,t){if(n==null)return!0;for(var i=0;i<h.applicants.length;++i)if(i===t)continue;else if(h.applicants[i].applicantNationality!=="Suomi"&&h.applicants[i].applicantNationality!=="Finland"&&h.applicants[i].applicantPassportNumber===n)return!1;return!0};h.checkDuplicateIDNumbers=function(n,t){if(n==null)return!0;for(var i=0;i<h.applicants.length;++i)if(i===t)continue;else if(h.applicants[i].applicantNationality!=="Suomi"&&h.applicants[i].applicantNationality!=="Finland"&&h.applicants[i].applicantIDCardNumber===n)return!1;return!0};n.$watchGroup(["vm.applicants[0].applicantStudyStartDate","vm.applicants[0].applicantEstimatedCompletionDate","vm.applicationAcceptanceDate"],function(t){var u=t[0],r=t[1],i=t[2];u===undefined&&n.form.applicantStudyStartDate0.$validate();r===undefined&&n.form.applicantEstimatedCompletionDate0.$validate();i===undefined&&n.form.applicationAcceptanceDate.$validate();i!=null&&(u!=null&&h.applicationAcceptanceDateMin>i?n.form.applicationAcceptanceDate.$setValidity("studyStartDate",!1):n.form.applicationAcceptanceDate.$setValidity("studyStartDate",!0),r!=null&&r<i?n.form.applicationAcceptanceDate.$setValidity("studyEndDate",!1):n.form.applicationAcceptanceDate.$setValidity("studyEndDate",!0))});n.$watch("vm.applicants[0].applicantStudyStartDate",function(n){var u=null,i=null,e=h.applicationAcceptanceDate,f=n,r,t;f!=null&&(r=f.getMonth(),t=f.getFullYear(),r===0?(i=new Date(t,0,1,0,0,0,0),u=new Date(t-1,8,1,0,0,0,0)):r===1?(i=new Date(t,1,1,0,0,0,0),u=new Date(t-1,9,1,0,0,0,0)):r===2?(i=new Date(t,2,1,0,0,0,0),u=new Date(t-1,10,1,0,0,0,0)):r===3?(i=new Date(t,3,1,0,0,0,0),u=new Date(t-1,11,1,0,0,0,0)):r===4?(i=new Date(t,4,1,0,0,0,0),u=new Date(t,0,1,0,0,0,0)):r===5||r===6||r===7||r===8?(i=new Date(t,5,1,0,0,0,0),u=new Date(t,1,1,0,0,0,0)):r===9?(i=new Date(t,9,1,0,0,0,0),u=new Date(t,5,1,0,0,0,0)):r===10?(i=new Date(t,10,1,0,0,0,0),u=new Date(t,6,1,0,0,0,0)):r===11&&(i=new Date(t,11,1,0,0,0,0),u=new Date(t,7,1,0,0,0,0)),i&&(i<moment().startOf("month")&&(i=moment().startOf("month")),h.applicationAcceptanceDateMin=i),u&&(h.sendIsDisabled=moment()<u))});et=["vm.applicants[0].applicantEmail","vm.applicants[1].applicantEmail","vm.applicants[2].applicantEmail","vm.applicants[0].applicantGuardianEmail","vm.applicants[1].applicantGuardianEmail","vm.applicants[2].applicantGuardianEmail"];n.$watchGroup(et,function(n){for(var r,i,t=0;t<n.length;++t)n[t]&&k(t,!0);for(r=!1,t=0;!r&&t<n.length-1;++t)for(i=t+1;!r&&i<n.length;++i)r=n[t]&&n[i]&&n[t]==n[i],r&&(k(t,!1),k(i,!1))});h.downloadPdf=function(){i.downloadPdf("confirmation",h.formSnapshot)}}angular.module("app").controller("asuntohakemus",n);n.$inject=["$scope","$location","apiService","countryService","applicantFactory","childFactory","schoolService","regionService","apiAddress"]}(),function(){"use strict";function n(n,t,i,r){function f(n){n.returnValue=""}function e(){n.addUnloadEvent()}var u=this;u.title="autopaikka";u.applicationSent=!1;u.sendIsDisabled=!1;u.applicantEmail=null;u.firstName=null;u.lastName=null;u.description=null;u.queue=!0;u.street=null;u.apartmentNumber=null;u.roomNumber=null;u.registerNumber=null;u.model=[];u.autopaikat=[{label:r.resources.UnequippedParking,value:r.resources.UnequippedParking_FI,priority:null},{label:r.resources.HeatingParking,value:r.resources.HeatingParking_FI,priority:null},{label:r.resources.SpaceUnderCoverParking,value:r.resources.SpaceUnderCoverParking_FI,priority:null},{label:r.resources.GarageParking,value:r.resources.GarageParking_FI,priority:null},{label:r.resources.GarageRoofParking,value:r.resources.GarageRoofParking_FI,priority:null},{label:r.resources.GarageSpaceParking,value:r.resources.GarageSpaceParking_FI,priority:null},{label:r.resources.CarparkParking,value:r.resources.CarparkParking_FI,priority:null},{label:r.resources.MotorcycleParking,value:r.resources.MotorcycleParking_FI,priority:null}];n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",f):window.attachEvent("onbeforeunload",f)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",f):window.detachEvent("onbeforeunload",f)};e();u.toivoAutopaikkaa=function(n,t){u.autopaikat=_.map(u.autopaikat,function(i){return i.label==n.label&&(i.priority=t),i})};u.isPrioritySelected=function(n){return _.findIndex(u.autopaikat,function(t){return t.priority==n})>-1};u.atLeastOneSelected=function(){return _.some(u.autopaikat,function(n){return n.priority!=null&&n.priority!=""})};u.submitForm=function(r,f){f||(f="fi");r.$valid?(u.disableSendButton(),n.removeUnloadEvent(),u.model={FormIdentifier:u.title,title:u.title,applicantEmail:u.applicantEmail,firstName:u.firstName,lastName:u.lastName,street:u.street,apartmentNumber:u.apartmentNumber,roomNumber:u.roomNumber,description:u.description,registerNumber:u.registerNumber,queue:u.queue,sendIsDisabled:u.sendIsDisabled,applicationSent:u.applicationSent,autopaikat:_.filter(u.autopaikat,function(n){return n.priority!=null&&n.priority!=""}),captchaInstance:u.captchaInstance,captchaResponse:u.captchaResponse},t.submitData(i+"/api/EmailSender",u.model,f,u)):(angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200))};n.open2=function(){n.popup2.opened=!0};n.popup2={opened:!1};u.disableSendButton=function(){u.sendIsDisabled=!0};u.downloadPdf=function(){t.downloadPdf("confirmation",u.formSnapshot)}}angular.module("app").controller("autopaikka",n);n.$inject=["$scope","apiService","apiAddress","$window"]}(),function(){"use strict";function n(n,t,i,r,u){function h(n){var r=n.date,u=n.mode,t,i;return u==="day"?(t=new Date(r).setHours(0,0,0,0),i=moment(t).startOf("month"),t==i?!1:!0):!1}function e(n){n.returnValue=""}function c(){f.applicantNationality=f.countryDefault.value;n.addUnloadEvent()}var f=this,o,s;f.title="hakemuksenpaivitys";f.applicationSent=!1;f.sendIsDisabled=!1;n.hoasApartmentStatus=!1;f.inputMaxlength=2048;f.birthMinDate=moment("1900-01-01T00:00:00");f.birthMaxDate=moment().subtract(15,"years").endOf("day");f.applicationAcceptanceDateMin=moment().startOf("month");f.applicationAcceptanceDateMax=moment().add(4,"months").endOf("day");o=230;s=1500;f.applicationRentLimitsSlider={floor:o,ceil:s,step:5,showSelectionBar:!0,translate:function(n){return n+" €"}};f.applicationUpdateTypeSelection=1;f.applicationUpdateType=null;f.applicantFirstNames=null;f.applicantLastName=null;f.applicantNationality=null;f.identificationNumber=null;f.applicantPersonalIdentityNumber=null;f.applicantPhone=null;f.applicantEmail=null;f.applicantPassportNumber=null;f.applicationStreetAddress=null;f.applicationPostalNumber=null;f.applicationCity=null;f.applicationRentLimits=null;f.applicationCurrentAccomodationType=null;f.applicationReason=null;f.applicationAcceptanceDate=null;f.additionalInformation=null;f.applicant1RoommateId=null;f.applicantWantsMoreRoomsInShared=null;f.applicationCancellationReason=null;f.countries=i.getCountries();f.countryDefault=_.find(f.countries,function(n){return n.value=="Suomi"||n.value=="Finland"});n.$watch("vm.applicationUpdateTypeSelection",function(n){n==1&&(f.applicationUpdateType="Uusin hakemukseni",f.clearApartmentFields(),f.additionalInformation=null,f.applicationRentLimits=null);n==2&&(f.applicationUpdateType="Muokkaan hakemukseni tietoja",f.applicationRentLimits=0);n==3&&(f.applicationUpdateType="Peruutan hakemukseni",f.clearApartmentFields(),f.applicationRentLimits=null)});n.dateOptions={formatYear:"yyyy",minDate:f.applicationAcceptanceDateMin,maxDate:f.applicationAcceptanceDateMax,startingDay:1,dateDisabled:h};f.checkFirstDateLimit=function(n){if(n==null)return!0;var i=new Date(n),t=moment(new Date(n.toUTCString())).add(1,"day").startOf("month").toDate();return t=new Date(t.getTime()-t.getTimezoneOffset()*6e4),Date.parse(i)==Date.parse(t)};f.checkMinDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),i>=t};f.checkMaxDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),i<=t};n.open1=function(){n.popup1.opened=!0};n.popup1={opened:!1};n.applicantPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:f.birthMinDate,maxDate:f.birthMaxDate};n.applicantPersonalIdentityNumberPopup={};n.applicantPersonalIdentityNumberOpenPopup=function(t){n.applicantPersonalIdentityNumberPopup["idx"+t]=!0};n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",e):window.attachEvent("onbeforeunload",e)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",e):window.detachEvent("onbeforeunload",e)};c();n.applicationCurrentAccomodationTypeTable=applicationCurrentAccomodationTypeTable;n.applicationReasonTable=applicationReasonTable;n.applicationReason2Table=applicationReason2Table;f.isApplicantNationalityFinnish=function(){return f.applicantNationality!=null&&(f.applicantNationality=="Suomi"||f.applicantNationality=="Finland")};f.isApplicantNationalitySelected=function(){return f.applicantNationality!=null&&f.applicantNationality!=""};f.isApplicationCurrentAccomodationTypeSelected=function(){return f.applicationCurrentAccomodationType!=null&&f.applicationCurrentAccomodationType!=""};f.isApplicationReasonSelected=function(){return f.applicationReason!=null&&f.applicationReason!=""};f.isHetuValid=function(n){var t=FinnishSSN.parse(n);return t.valid&&(t.sex==f.sex||t.sex=="other")};f.childBirthMinDate=moment().subtract(18,"years");f.childBirthMaxDate=moment();f.applicationMinExpectDate=moment();f.applicationMaxExpectDate=moment().add(11,"months");f.applicationChildGroup=[];f.children=[];f.maximumChildren=10;n.childPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:f.childBirthMinDate,maxDate:f.childBirthMaxDate};n.childPersonalIdentityNumberPopup={};n.childPersonalIdentityNumberOpenPopup=function(t){n.childPersonalIdentityNumberPopup["idx"+t]=!0};n.applicantExpectDateOpen=function(){n.applicantExpectDatePopup.opened=!0};n.applicantExpectDatePopup={opened:!1};n.applicantExpectDateOptions={formatYear:"yyyy",startingDay:1,minDate:f.applicationMinExpectDate,maxDate:f.applicationMaxExpectDate};n.$watchCollection("vm.applicationChildGroup",function(){f.applicantMovingWithChildren=f.applicationChildGroup[0]?!0:!1;f.applicantExpectChild=f.applicationChildGroup[1]?!0:!1;f.applicantMovingWithChildren&&f.children.length==0&&f.addChild()});f.isChildNationalityFinnish=function(n){var t=f.children[n];return t&&t.childNationality&&(t.childNationality=="Suomi"||t.childNationality=="Finland")};f.isChildNationalitySelected=function(n){var t=f.children[n];return t&&t.childNationality};f.addChild=function(){f.canAddChild()&&f.children.push(r.createChild(f.countryDefault))};f.canAddChild=function(){return f.maximumChildren>f.children.length};f.removeChild=function(n){f.canRemoveChild(n)&&f.children.splice(n,1)};f.canRemoveChild=function(n){return f.children[n]?n>=0&&n!=0:!1};f.isApplicantAdultSSN=function(n){var u=FinnishSSN.validate(n),r,i,t;return u?(r=FinnishSSN.parse(n),i=new Date(r.dateOfBirth),i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),t=moment().startOf("day").subtract(18,"years"),t=new Date(t),t=new Date(t.getTime()-t.getTimezoneOffset()*6e4),i>t?!1:!0):null};f.isApplicantAdultDate=function(n){if(!n)return null;var t=new Date(n),i=moment().subtract(18,"years").startOf("day");return t<=i};n.applicantGuardianIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:f.birthMinDate,maxDate:f.birthMaxDate};n.applicantGuardianIdentityNumberPopup={opened:!1};n.applicantGuardianIdentityNumberOpenPopup=function(){n.applicantGuardianIdentityNumberPopup.opened=!0};f.isApplicantGuardianNationalitySelected=function(){return f.applicant.applicantGuardianNationality?!0:!1};f.isApplicantGuardianNationalityFinnish=function(){return f.applicant.applicantGuardianNationality&&(f.applicant.applicantGuardianNationality=="Suomi"||f.applicant.applicantGuardianNationality=="Finland")};f.submitForm=function(i,r){r||(r="fi");i.$valid?(f.disableSendButton(),n.removeUnloadEvent(),t.submitData(u+"/api/ApplicationUpdate",f,r)):(console.log(f),angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200))};f.checkChildSSNs=function(n,t){for(var i=0;i<f.children.length;++i)if(i!==t&&(f.children[i].childNationality==="Suomi"||f.children[i].childNationality==="Finland")&&f.children[i].childPersonalIdentityNumber===n)return!1;return!0};f.checkDuplicateChildsLastname=function(n,t){if(f.children[t].childNationality==="Suomi"||f.children[t].childNationality==="Finland")return!0;for(var i=0;i<f.children.length;++i)if(i===t||f.children[i].childNationality==="Suomi"||f.children[i].childNationality==="Finland")continue;else if(f.children[i].childPersonalIdentityNumber!=null&&f.children[t].childPersonalIdentityNumber!=null&&f.children[i].childPersonalIdentityNumber.getTime()===f.children[t].childPersonalIdentityNumber.getTime()&&f.children[i].childLastName===n&&f.children[i].childFirstNames===f.children[t].childFirstNames)return!1;return!0};f.checkDuplicateChildsFirstnames=function(n,t){if(f.children[t].childNationality==="Suomi"||f.children[t].childNationality==="Finland")return!0;for(var i=0;i<f.children.length;++i)if(i===t||f.children[i].childNationality==="Suomi"||f.children[i].childNationality==="Finland")continue;else if(f.children[i].childPersonalIdentityNumber!=null&&f.children[t].childPersonalIdentityNumber!=null&&f.children[i].childPersonalIdentityNumber.getTime()===f.children[t].childPersonalIdentityNumber.getTime()&&f.children[i].childLastName===f.children[t].childLastName&&f.children[i].childFirstNames===n)return!1;return!0};f.checkDuplicateChildsBirthday=function(n,t){if(f.children[t].childNationality==="Suomi"||f.children[t].childNationality==="Finland")return!0;for(var i=0;i<f.children.length;++i)if(i===t||f.children[i].childNationality==="Suomi"||f.children[i].childNationality==="Finland")continue;else if(f.children[i].childPersonalIdentityNumber!=null&&n!=null&&f.children[i].childPersonalIdentityNumber.getTime()===n.getTime()&&f.children[i].childLastName===f.children[t].childLastName&&f.children[i].childFirstNames===f.children[t].childFirstNames)return!1;return!0};f.generateRoommateId=function(){for(var n,i="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=String((new Date).getFullYear()),u="",f=0;f<10;f++)i+=t.charAt(Math.floor(Math.random()*t.length));for(n=0;n<r.length;n++)u+=t.charAt(parseInt(r.charAt(n)));return u+i};f.clearRoommateData=function(){f.applicant1FirstOfRoommates="";f.applicantRoommateCount="";f.applicant1RoommateId="";f.applicantRoommateAdditionalInformation=[]};f.isApartmentTypeSelected=function(){for(var n=0;n<11;++n)if(f.housingPreferences[n]!==undefined&&f.housingPreferences[n]!==null&&f.housingPreferences[n]!==!1&&f.housingPreferences[n]!=="")return!0;return!1};f.checkIfApplicantOtherSex=function(n){return n!="Muu"&&n!="Other"};f.checkIfPostGraduate=function(){for(var n=0;n<f.applicants.length;++n)if(f.applicants[n].applicantDegree==="Jatkotutkinto")return!0;return!1};n.applicantHasSSN=[];f.resetSsnIfFinland=function(t,i,r){var u=t==="Suomi"||t==="Finland";r==="applicant"&&(f.applicantPersonalIdentityNumber="",n.applicantHasSSN[0]=u)};f.clearDisabledHousings=function(){for(var n=0;n<3;++n)f.isApartmentTypeAllowed(n)||(f.housingPreferences[n]=!1)};f.clearApartmentFields=function(){f.applicationStreetAddress=null;f.applicationPostalNumber=null;f.applicationCity=null;f.applicationCurrentAccomodationType=null;f.applicationReason=null;f.applicationAcceptanceDate=null};f.checkIfHoasApartment=function(){return f.applicationCurrentAccomodationType==="Hoas-asunto"?(n.hoasApartmentStatus||(f.applicationReason=""),n.hoasApartmentStatus=!0,!0):(n.hoasApartmentStatus&&(n.hoasApartmentStatus=!1,f.applicationReason=""),!1)};f.checkIfApartmentDataChanged=function(){return f.applicationStreetAddress!=null&&f.applicationStreetAddress!=""||f.applicationPostalNumber!=null&&f.applicationPostalNumber!=""||f.applicationCity!=null&&f.applicationCity!=""||f.applicant1RoommateId!=null&&f.applicant1RoommateId!=""||f.applicationCurrentAccomodationType!=null&&f.applicationCurrentAccomodationType!=""||f.applicationReason!=null&&f.applicationReason!=""||f.applicationAcceptanceDate!=null&&f.applicationAcceptanceDate!=""||f.applicationRentLimits!=null&&f.applicationRentLimits!=0||f.applicantWantsMoreRoomsInShared=="Kyllä"};f.disableSendButton=function(){f.sendIsDisabled=!0};f.isApplicantOver15SSN=function(n){var i=FinnishSSN.validate(n),t;return i?(t=FinnishSSN.parse(n),t.ageInYears<15?!1:!0):null};f.downloadPdf=function(){t.downloadPdf("confirmation",f.formSnapshot)}}angular.module("app").controller("hakemuksenpaivitys",n);n.$inject=["$scope","apiService","countryService","childFactory","apiAddress"]}(),function(){"use strict";function n(n,t,i,r){function f(n){n.returnValue=""}function o(){var n=window.location.search.split("returnUrl=");return n.length===2?n[1]:""}function e(n){for(var i,u=window.location.search.substring(1),r=u.split("&"),t=0;t<r.length;t++)if(i=r[t].split("="),decodeURIComponent(i[0])===n)return decodeURIComponent(i[1])}function s(){n.addUnloadEvent()}var u=this;u.apartmentAddress=e("apartment");u.apartmenRegion=e("region");u.returnUrl=o();u.title="housingevaluation";u.applicationSent=!1;u.sendIsDisabled=!1;u.reviewText=null;u.rentalPeriod=null;u.apartmentType=null;u.selectedRating=0;u.ratingState=[{position:1,isSelected:!1},{position:2,isSelected:!1},{position:3,isSelected:!1},{position:4,isSelected:!1},{position:5,isSelected:!1}];n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",f):window.attachEvent("onbeforeunload",f)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",f):window.detachEvent("onbeforeunload",f)};s();u.IsApartmentTypeSelected=function(){return u.apartmentType!==undefined&&u.apartmentType!==null&&u.apartmentType!==""};u.IsRentalPeriodSelected=function(){return u.rentalPeriod!==undefined&&u.rentalPeriod!==null&&u.rentalPeriod!==""};u.setStarRating=function(n){u.ratingState=_.map(u.ratingState,function(t){return t.position===n.position&&(u.selectedRating=t.position),t});for(var t=0;t<u.ratingState.length;t++)u.ratingState[t].isSelected=u.selectedRating>=u.ratingState[t].position?!0:!1};u.disableSendButton=function(){u.sendIsDisabled=!0};u.returnMeBack=function(){setTimeout(function(){r.location.href=u.returnUrl},100)};u.submitForm=function(i,r){r||(r="fi");i.$valid?(u.disableSendButton(),n.removeUnloadEvent(),u.model={title:u.title,language:r,apartmentAddress:u.apartmentAddress,apartmenRegion:u.apartmenRegion,selectedRating:u.selectedRating,reviewText:u.reviewText,rentalPeriod:u.rentalPeriod,apartmentType:u.apartmentType,sendIsDisabled:u.sendIsDisabled,applicationSent:u.applicationSent,captchaInstance:u.captchaInstance,captchaResponse:u.captchaResponse},t.submitData("/HousingEvaluation/EvaluateApartment",u.model,r,u)):(angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200))}}angular.module("app").controller("housingevaluation",n);n.$inject=["$scope","apiService","apiAddress","$window","$location"]}(),function(){"use strict";function n(n){var t=this,r,i;t.title="housingsearch";r=230;i=1500;t.applicationRentLimitsSlider={floor:r,ceil:i,step:5,showSelectionBar:!0,translate:function(n){return n+" €"}};t.maxRent=i;t.initRent=function(n){t.maxRent=n};angular.element(document).ready(function(){n.$broadcast("rzSliderForceRender")})}angular.module("app").controller("housingsearch",n);n.$inject=["$scope"]}(),function(){"use strict";function n(n,t,i,r,u){function h(n){var r=n.date,u=n.mode,t,i;return u==="day"?(t=new Date(r).setHours(0,0,0,0),i=moment(t).endOf("month").startOf("day"),t==i?!1:!0):!1}function e(n){n.returnValue=""}function c(){n.addUnloadEvent();f.addTerminating()}function o(t,i){switch(t){case 0:n.form.terminatingEmail0&&n.form.terminatingEmail0.$setValidity("emailunique",i);break;case 1:n.form.terminatingEmail1&&n.form.terminatingEmail1.$setValidity("emailunique",i);break;case 2:n.form.terminatingEmail2&&n.form.terminatingEmail2.$setValidity("emailunique",i);break;case 3:n.form.terminatingEmail3&&n.form.terminatingEmail3.$setValidity("emailunique",i)}}var f=this,s;f.title="irtisanominen";f.applicationSent=!1;f.sendIsDisabled=!1;f.inputMaxlength=2048;f.birthMinDate=moment("1900-01-01T00:00:00");f.birthMaxDate=moment().subtract(15,"years").endOf("day");f.contractMinEndDate=moment().startOf("month").add(2,"month").add(-1,"day");f.terminatingPersonCount=null;f.terminatingStreetAddress=null;f.terminatingStaircase=null;f.terminatingApartmentNumber=null;f.terminatingApartmentCellNumber=null;f.terminatingContractEndDate=null;f.terminatingHoasNetStatus=null;f.terminatingReason=null;f.terminatingApartmentInspectorInfo=[];f.terminatingPetType=null;f.terminatingOtherInformation=null;f.applicationConfirmation=null;f.countries=t.getCountries();f.countryDefault=_.find(f.countries,function(n){return n.value=="Suomi"||n.value=="Finland"});f.availableApartments=function(){return t.getAvailableApartments()};f.staircases="ABCDEFGHIJKLMNOPQRSTUVWXY".split("");f.maximumTerminating=4;f.terminating=[];n.terminatingReasonOtherInformation=[];n.terminatingOtherInformation=null;n.dateOptions={formatYear:"yyyy",minDate:f.contractMinEndDate,startingDay:1,dateDisabled:h};f.checkDateLimits=function(n){var t=moment.utc(n),i=t.clone().endOf("month").startOf("day");return t.isSame(i)?(t.local(),t.add(-t.utcOffset(),"minutes"),t.isSameOrAfter(f.contractMinEndDate)):!1};n.terminatingPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:f.birthMinDate,maxDate:f.birthMaxDate};n.terminatingPersonalIdentityNumberPopup={};n.terminatingPersonalIdentityNumberOpenPopup=function(t){n.terminatingPersonalIdentityNumberPopup["idx"+t]=!0};n.applicantHasSSN=[];f.resetSsnIfFinland=function(t,i){var r=t==="Suomi"||t==="Finland",u=f.terminating[i];u.terminatingPersonalIdentityNumber="";n.applicantHasSSN[i]=r};n.open1=function(){n.popup1.opened=!0};n.popup1={opened:!1};n.$watchCollection("vm.terminating",function(){f.terminatingPersonCount=f.terminating.length});f.isTerminatingNationalityFinnish=function(n){var t=f.terminating[n];return t&&t.terminatingNationality&&(t.terminatingNationality=="Suomi"||t.terminatingNationality=="Finland")};f.isTerminatingNationalitySelected=function(n){var t=f.terminating[n];return t&&t.terminatingNationality};f.canAddTerminating=function(){return f.maximumTerminating>f.terminating.length};f.addTerminating=function(){f.canAddTerminating()&&f.terminating.push(i.createTerminating(f.countryDefault))};f.canShowContact=function(n){return n===0?!0:f.terminating[n].terminatingNewContactSame=="Kyllä"?(f.terminating[n].terminatingNewStreetAddress="",f.terminating[n].terminatingNewPostalCode="",f.terminating[n].terminatingNewCity="",f.terminating[n].terminatingNewAddressUnknown="",!1):!0};f.canRemoveTerminating=function(n){return f.terminating[n]?n>=0&&n!=0:!1};f.removeTerminating=function(n){f.canRemoveTerminating(n)&&(f.terminating.splice(n,1),window.scrollTo(0,0))};f.submitForm=function(t,i){i||(i="fi");t.$valid?(f.disableSendButton(),n.removeUnloadEvent(),f.terminatingStreetAddress+=f.terminatingStaircase,f.terminatingOtherInformation=f.terminatingReason=="Muu syy, mikä?"&&n.terminatingReasonOtherInformation[0]?n.terminatingReasonOtherInformation[0]+"\n\n"+n.terminatingOtherInformation:n.terminatingOtherInformation,r.submitData(u+"/api/termination",f,i)):(console.log(f),angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200))};n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",e):window.attachEvent("onbeforeunload",e)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",e):window.detachEvent("onbeforeunload",e)};c();f.checkIfApplicantsAddressIsRequired=function(n){var t=f.terminating[n];if(n===0){if(t.terminatingNewAddressUnknown=="Kyllä")return!1}else if(t.terminatingNewContactSame=="Kyllä"||t.terminatingNewAddressUnknown=="Kyllä")return!1;return!0};f.checkMinDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i>=t};f.checkMaxDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i<=t};f.checkApplicantsSSNs=function(n,t){for(var i=0;i<f.terminating.length;++i)if(i===t)continue;else if((f.terminating[i].terminatingNationality==="Suomi"||f.terminating[i].terminatingNationality==="Finland")&&f.terminating[i].terminatingPersonalIdentityNumber===n)return!1;return!0};f.disableSendButton=function(){f.sendIsDisabled=!0};f.checkDuplicatePassports=function(n,t){if(n==null)return!0;for(var i=0;i<f.terminating.length;++i)if(i===t)continue;else if(f.terminating[i].terminatingNationality!=="Suomi"&&f.terminating[i].terminatingNationality!=="Finland"&&f.terminating[i].terminatingPassportNumber===n)return!1;return!0};f.checkDuplicateIDNumbers=function(n,t){if(n==null)return!0;for(var i=0;i<f.terminating.length;++i)if(i===t)continue;else if(f.terminating[i].terminatingNationality!=="Suomi"&&f.terminating[i].terminatingNationality!=="Finland"&&f.terminating[i].terminatingIDCardNumber===n)return!1;return!0};f.isApplicantOver15SSN=function(n){var i=FinnishSSN.validate(n),t;return i?(t=FinnishSSN.parse(n),t.ageInYears<15?!1:!0):null};s=["vm.terminating[0].terminatingEmail","vm.terminating[1].terminatingEmail","vm.terminating[2].terminatingEmail","vm.terminating[3].terminatingEmail"];n.$watchGroup(s,function(n){for(var r,i,t=0;t<n.length;++t)n[t]&&o(t,!0);for(r=!1,t=0;!r&&t<n.length-1;++t)for(i=t+1;!r&&i<n.length;++i)r=n[t]&&n[i]&&n[t]==n[i],r&&(o(t,!1),o(i,!1))});f.downloadPdf=function(){r.downloadPdf("confirmation",f.formSnapshot)}}angular.module("app").controller("irtisanominen",n);n.$inject=["$scope","countryService","terminatingFactory","apiService","apiAddress"]}(),function(){"use strict";function n(n,t,i,r,u,f){function a(n){var r=n.date,u=n.mode,t,i;return u==="day"?(t=new Date(r).setHours(0,0,0,0),i=moment(t).startOf("month"),t==i?!1:!0):!1}function v(n){var r=n.date,u=n.mode,t,i;return u==="day"?(t=new Date(r).setHours(0,0,0,0),i=moment(t).endOf("month").startOf("day"),t==i?!1:!0):!1}function o(n){n.returnValue=""}function p(){n.addUnloadEvent();e.addApplicant();var t=moment().startOf("month");e.applicationAcceptanceDate=t;w()}function w(){moment().month()<=4?(e.accomodationMinStartDate=moment().startOf("month"),e.accomodationMaxStartDate=moment().startOf("year").month(4)):(e.accomodationMinStartDate=moment().startOf("year").add(1,"year"),e.accomodationMaxStartDate=moment.min(moment().startOf("month").add(4,"month"),moment().startOf("year").add(1,"year").month(4)));e.accomodationMinEndDate=moment(e.accomodationMinStartDate).add(1,"month").add(-1,"day");e.accomodationMaxEndDate=moment(e.accomodationMaxStartDate).startOf("year").month(4).date(31);n.startDateOptions.minDate=e.accomodationMinStartDate;n.startDateOptions.maxDate=e.accomodationMaxStartDate;n.startDateOptions.initDate=moment(e.accomodationMinStartDate).toDate();n.endDateOptions.minDate=e.accomodationMinEndDate;n.endDateOptions.maxDate=e.accomodationMaxEndDate;n.endDateOptions.initDate=moment(e.accomodationMinEndDate).toDate();moment().month()==11?(e.accomodationMinStartDate2=moment().startOf("year").add(1,"year").month(3),e.accomodationMaxStartDate2=moment().startOf("year").add(1,"year").month(3)):(e.accomodationMinStartDate2=moment.max(moment().startOf("month"),moment().startOf("month").month(3)),e.accomodationMaxStartDate2=moment.min(moment().startOf("month").add(4,"month"),moment().startOf("month").month(6)));e.accomodationMinEndDate2=moment(e.accomodationMinStartDate2).add(1,"month").add(-1,"day");e.accomodationMaxEndDate2=moment(e.accomodationMaxStartDate2).startOf("year").month(7).date(31);n.startDateOptions2.minDate=e.accomodationMinStartDate2;n.startDateOptions2.maxDate=e.accomodationMaxStartDate2;n.startDateOptions2.initDate=moment(e.accomodationMinStartDate2).toDate();n.endDateOptions2.minDate=e.accomodationMinEndDate2;n.endDateOptions2.maxDate=e.accomodationMaxEndDate2;n.endDateOptions2.initDate=moment(e.accomodationMinEndDate2).toDate()}function h(t,i){switch(t){case 0:n.form.applicantEmail0&&n.form.applicantEmail0.$setValidity("emailunique",i);break;case 1:n.form.applicantEmail1&&n.form.applicantEmail1.$setValidity("emailunique",i);break;case 2:n.form.applicantEmail2&&n.form.applicantEmail2.$setValidity("emailunique",i);break;case 3:n.form.applicantGuardianEmail0&&n.form.applicantGuardianEmail0.$setValidity("emailunique",i);break;case 4:n.form.applicantGuardianEmail1&&n.form.applicantGuardianEmail1.$setValidity("emailunique",i);break;case 5:n.form.applicantGuardianEmail2&&n.form.applicantGuardianEmail2.$setValidity("emailunique",i)}}var e=this,y;e.title="kesaasunto";e.applicationSent=!1;e.inputMaxlength=2048;e.sendIsDisabled=!1;var c=0,l=100,s=230;e.birthMinDate=moment("1900-01-01T00:00:00");e.birthMaxDate=moment().subtract(15,"years").endOf("day");e.guardianBirthMaxDate=moment().subtract(18,"years").endOf("day");e.childBirthMinDate=moment().subtract(18,"years").startOf("day");e.childBirthMaxDate=moment().endOf("day");e.applicationAcceptanceDateMin=moment().startOf("month");e.applicationAcceptanceDateMax=moment().add(4,"months");e.applicationMinExpectDate=moment().startOf("day");e.applicationMaxExpectDate=moment().add(12,"months").endOf("day");e.countries=i.getCountries();e.countryDefault=_.find(e.countries,function(n){return n.value=="Suomi"||n.value=="Finland"});e.maximumApplicants=function(){return e.applicationApartmentGroup==3?e.applicant1WithRoommate&&e.applicationFurnishingStatus==0&&(e.applicationChildGroup[0]||e.applicationChildGroup[1])?3:e.applicant1WithRoommate&&e.applicationFurnishingStatus==1&&(e.applicationChildGroup[0]||e.applicationChildGroup[1])?2:1:e.applicationApartmentGroup==2?e.applicant1WithRoommate&&e.applicationFurnishingStatus==0&&(e.applicationChildGroup[0]||e.applicationChildGroup[1])?3:e.applicant1WithRoommate&&e.applicationFurnishingStatus==1&&(e.applicationChildGroup[0]||e.applicationChildGroup[1])?2:1:e.applicationApartmentGroup==1?2:1};e.maximumChildren=10;e.applicants=[];e.children=[];e.applicationType=null;e.applicationApartmentGroup=3;e.applicationFurnishingStatus=1;e.accomodationStartDate=null;e.accomodationEndDate=null;e.applicationReason=null;e.applicationChildGroup=[];e.applicationApartmentType=[];e.applicationApartmentSize=c;e.applicationApartmentMaximumRent=s;e.applicationAdditionalInformation=null;e.applicationConfirmation=null;e.applicationSpecialRequirements=[];e.applicantRoommateAdditionalInformation=[];e.applicantDetailsForRoomieApartment=[];e.applicationApartmentSizeSlider={floor:c,ceil:l,showSelectionBarEnd:!0,translate:function(n){return n+" m<sup>2<\/sup>"}};e.applicationApartmentMaximumRentSlider={floor:s,ceil:1500,step:5,showSelectionBar:!0,translate:function(n){return n+" €"}};e.isApartmentTypeAllowed=function(n){if(e.applicationFurnishingStatus==1&&e.applicationSpecialRequirements[1])return!1;var t=e.applicationApartmentGroup;switch(n){case 0:return e.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!e.applicants[0].applicantMovingWithChildren&&!e.applicants[0].applicantExpectChild;case 1:return(t==3||t==2)&&!e.applicants[0].applicantMovingWithChildren&&!e.applicants[0].applicantExpectChild;case 2:if(!e.checkIfPostGraduate()||e.applicants[0].applicantMovingWithChildren||e.applicants[0].applicantExpectChild||t==1){if(e.applicants.length>1&&t==1)return!1}else return!1;return!((t==3||t==2)&&(e.applicants[0].applicantMovingWithChildren||e.applicants[0].applicantExpectChild)&&e.applicant1WithRoommate);case 3:return e.applicationSpecialRequirements[1]?!1:!e.applicants[0].applicantMovingWithChildren&&!e.applicants[0].applicantExpectChild;case 4:return(t==3||t==2)&&!e.applicants[0].applicantMovingWithChildren&&!e.applicants[0].applicantExpectChild&&!e.checkIfPostGraduate();case 5:return e.applicationSpecialRequirements[1]?!1:t==3&&!e.applicant1WithRoommate&&(e.applicants[0].applicantMovingWithChildren||e.applicants[0].applicantExpectChild)?!1:!0;case 6:return e.applicationSpecialRequirements[1]?!1:(t==3||t==2)&&!e.applicants[0].applicantMovingWithChildren&&!e.applicants[0].applicantExpectChild&&!e.checkIfPostGraduate();case 7:return(t==3||t==2)&&!e.applicants[0].applicantMovingWithChildren&&!e.applicants[0].applicantExpectChild;case 8:return t==1||e.applicants[0].applicantMovingWithChildren||e.applicants[0].applicantExpectChild;case 9:return t==1||e.applicants[0].applicantMovingWithChildren||e.applicants[0].applicantExpectChild;case 10:return t==1||e.applicants[0].applicantMovingWithChildren||e.applicants[0].applicantExpectChild}};n.$watch("vm.applicationApartmentGroup",function(n){n==1&&(e.applicationType="Haen perheasuntoa");n==2&&(e.applicationType="Haen asuntoa kaverin kanssa",e.applicant1WithRoommate=!0);n==3&&(e.applicationType="Haen asuntoa yksin");e.checkMaximumApplicants()});e.setValidityAccomodationStartEnd=function(t){n.form.accomodationStartDate!==undefined&&n.form.accomodationStartDate.$setValidity("max",t);n.form.accomodationStartDate2!==undefined&&n.form.accomodationStartDate2.$setValidity("max",t);n.form.accomodationEndDate!==undefined&&n.form.accomodationEndDate.$setValidity("min",t);n.form.accomodationEndDate2!==undefined&&n.form.accomodationEndDate2.$setValidity("min",t)};e.checkStartDateLimits=function(n,t,i){var r=moment.utc(n),u=r.clone().startOf("month");return r.isSame(u)?(r.local(),r.add(-r.utcOffset(),"minutes"),e.setValidityAccomodationStartEnd(e.accomodationEndDate==null||r.isSameOrBefore(e.accomodationEndDate)),r.isSameOrAfter(t)&&r.isSameOrBefore(i)):!1};e.checkEndDateLimits=function(n,t,i){var r=moment.utc(n),u=r.clone().endOf("month").startOf("day");return r.isSame(u)?(r.local(),r.add(-r.utcOffset(),"minutes"),e.setValidityAccomodationStartEnd(e.accomodationStartDate==null||r.isSameOrAfter(e.accomodationStartDate)),r.isSameOrAfter(t)&&r.isSameOrBefore(i)):!1};n.startDateOptions={formatYear:"yyyy",startingDay:1,dateDisabled:a};n.endDateOptions={formatYear:"yyyy",startingDay:1,dateDisabled:v};n.startDateOptions2={formatYear:"yyyy",startingDay:1,dateDisabled:a};n.endDateOptions2={formatYear:"yyyy",startingDay:1,dateDisabled:v};n.clearDates=function(){e.accomodationStartDate=null;e.accomodationEndDate=null};n.clearApartments=function(){for(var n=0;n<11;n++)e.applicationApartmentType[n]=null;e.applicationApartmentType[1]=e.isTwoWithoutChildCondition()?"Kämppisasunto":null};n.hidePopup=function(t){setTimeout(function(){t.opened=!1;n.$apply()},100)};n.open1=function(){n.popup1.opened=!0};n.popup1={opened:!1};n.open2=function(){n.popup2.opened=!0};n.popup2={opened:!1};n.open3=function(){n.popup3.opened=!0};n.popup3={opened:!1};n.open4=function(){n.popup4.opened=!0};n.popup4={opened:!1};n.applicantExpectDateOpen=function(){n.applicantExpectDatePopup.opened=!0};n.applicantExpectDatePopup={opened:!1};n.applicantExpectDateOptions={formatYear:"yyyy",startingDay:1,minDate:e.applicationMinExpectDate,maxDate:e.applicationMaxExpectDate};n.applicantPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:e.birthMinDate,maxDate:e.birthMaxDate};n.applicantPersonalIdentityNumberPopup={};n.applicantPersonalIdentityNumberOpenPopup=function(t){n.applicantPersonalIdentityNumberPopup["idx"+t]=!0};n.childPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:e.childBirthMinDate,maxDate:e.childBirthMaxDate};n.childPersonalIdentityNumberPopup={};n.childPersonalIdentityNumberOpenPopup=function(t){n.childPersonalIdentityNumberPopup["idx"+t]=!0};n.$watchCollection("vm.applicationChildGroup",function(){e.applicants[0].applicantMovingWithChildren=e.applicationChildGroup[0]?!0:!1;e.applicants[0].applicantExpectChild=e.applicationChildGroup[1]?!0:!1;e.clearDisabledHousings();e.checkMaximumApplicants();e.applicants[0].applicantMovingWithChildren&&e.children.length==0&&e.addChild()});n.$watchCollection("vm.applicationApartmentGroup",function(){e.clearDisabledHousings();e.applicationApartmentGroup==1&&(e.applicant1WithRoommate=!1,e.clearRoommateData())});n.$watchCollection("vm.applicationApartmentType",function(){var t=s,i=l,n=e.applicationApartmentType;(n[0]||n[1])&&(t=230);n[0]&&e.applicationFurnishingStatus!=1&&(t=250);n[1]&&e.applicationFurnishingStatus!=1&&(t=300);n[5]&&(t=355);n[2]&&e.applicationApartmentGroup!=1&&(t=400);n[0]&&e.applicationFurnishingStatus==1&&(t=405);(n[3]||n[7]||n[2]&&e.applicationApartmentGroup==1)&&(t=450);n[2]&&e.applicationFurnishingStatus==1&&(t=480);n[8]&&(t=550);(n[4]||n[6])&&(t=510);n[9]&&(t=700);n[10]&&(t=800);e.applicationApartmentMaximumRentSlider.floor=t;(n[0]||n[1])&&(i=20);n[3]&&(i=28);(n[4]||n[6])&&(i=29);n[5]&&(i=31);n[2]&&e.applicationApartmentGroup==3&&(i=46);n[7]&&(i=53);n[2]&&(e.applicationApartmentGroup==2||e.applicationApartmentGroup==1)&&(i=60);n[9]&&(i=84);n[8]&&(i=87);n[10]&&(i=96);e.applicationApartmentSizeSlider.ceil=i;e.applicationApartmentMaximumRent<e.applicationApartmentMaximumRentSlider.floor&&(e.applicationApartmentMaximumRent=e.applicationApartmentMaximumRentSlider.floor)});e.isChildNationalityFinnish=function(n){var t=e.children[n];return t&&t.childNationality&&(t.childNationality=="Suomi"||t.childNationality=="Finland")};e.isChildNationalitySelected=function(n){var t=e.children[n];return t&&t.childNationality};e.isApplicantNationalityFinnish=function(n){var t=e.applicants[n];return t&&t.applicantNationality&&(t.applicantNationality=="Suomi"||t.applicantNationality=="Finland")};e.isApplicantNationalitySelected=function(n){var t=e.applicants[n];return t&&t.applicantNationality};e.isApplicantCountrySelected=function(n){var t=e.applicants[n];return t&&t.applicantCountry};e.isApplicantGenderSelected=function(n){var t=e.applicants[n];return t&&t.applicantGender};e.isApplicantCurrentAccomodationTypeSelected=function(n){var t=e.applicants[n];return t&&t.applicantGender};e.isApplicantServiceLanguageSelected=function(n){var t=e.applicants[n];return t&&t.applicantServiceLanguage};e.addApplicant=function(){if(e.canAddApplicant()){e.applicants.push(r.createApplicant(e.countryDefault));var n=e.applicants.length-1;e.applicants[n].applicantStudentStatus="Olen opiskelija"}};e.addChild=function(){e.canAddChild()&&e.children.push(u.createChild(e.countryDefault))};e.canAddApplicant=function(){return e.maximumApplicants()>e.applicants.length};e.canAddChild=function(){return e.maximumChildren>e.children.length};e.removeApplicant=function(n){e.canRemoveApplicant(n)&&(e.applicants.splice(n,1),window.scrollTo(0,0))};e.removeChild=function(n){e.canRemoveChild(n)&&e.children.splice(n,1)};e.canRemoveApplicant=function(n){return e.applicants[n]?n>=0&&n!=0:!1};e.canRemoveChild=function(n){return e.children[n]?n>=0&&n!=0:!1};e.isApplicantAdultSSN=function(n){var u=FinnishSSN.validate(n),r,i,t;return u?(r=FinnishSSN.parse(n),i=new Date(r.dateOfBirth),i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),t=moment().startOf("day").subtract(18,"years"),t=new Date(t),t=new Date(t.getTime()-t.getTimezoneOffset()*6e4),i>t?!1:!0):null};e.isApplicantOver15SSN=function(n){var i=FinnishSSN.validate(n),t;return i?(t=FinnishSSN.parse(n),t.ageInYears<15?!1:!0):null};e.isApplicantAdultDate=function(n){if(!n)return null;var t=new Date(n),i=moment().subtract(18,"years").startOf("day");return t<=i};n.applicantGuardianIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:e.birthMinDate,maxDate:e.birthMaxDate};n.applicantGuardianIdentityNumberPopup={};n.applicantGuardianIdentityNumberOpenPopup=function(t){n.applicantGuardianIdentityNumberPopup["idx"+t]=!0};e.isApplicantGuardianNationalitySelected=function(n){var t=e.applicants[n];return t&&t.applicantGuardianNationality};e.isApplicantGuardianNationalityFinnish=function(n){var t=e.applicants[n];return t&&t.applicantGuardianNationality&&(t.applicantGuardianNationality=="Suomi"||t.applicantGuardianNationality=="Finland")};e.disableSendButton=function(){e.sendIsDisabled=!0};e.checkIfFamilyapplicantIsAlone=function(){return e.applicationApartmentGroup!=1?!1:!(e.applicationApartmentGroup==1&&(e.applicants[0].applicantMovingWithChildren||e.applicants[0].applicantExpectChild||e.applicants.length>1))};e.submitForm=function(i,r){r||(r="fi");i.$valid&&!e.checkIfFamilyapplicantIsAlone()?(e.disableSendButton(),n.removeUnloadEvent(),t.submitData(f+"/api/summerapplication",e,r)):(console.log(e),angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200))};n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",o):window.attachEvent("onbeforeunload",o)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",o):window.detachEvent("onbeforeunload",o)};p();e.checkMinDateLimit=function(n,t){if(n==null)return!0;var i=moment(n);return i.add(-i.utcOffset(),"minutes"),i.isSameOrAfter(t)};e.checkMaxDateLimit=function(n,t){if(n==null)return!0;var i=moment(n);return i.add(-i.utcOffset(),"minutes"),i.isSameOrBefore(t)};e.checkIfApplicantOtherSex=function(n){return n!="Muu"&&n!="Other"};e.checkIfPositiveNumber=function(n){return n==null?!0:(n=n.replace(",","."),n=parseFloat(n),n>=0)};e.checkIfHoasApartment=function(){for(var t=0;t<e.applicants.length;++t)if(e.applicants[t].applicantCurrentAccomodationType==="Hoas-asunto")return n.hoasApartmentStatus||(e.applicationReason=""),n.hoasApartmentStatus=!0,!0;return n.hoasApartmentStatus&&(n.hoasApartmentStatus=!1,e.applicationReason=""),!1};e.checkIfPostGraduate=function(){for(var n=0;n<e.applicants.length;++n)if(e.applicants[n].applicantDegree==="Jatkotutkinto"||e.applicants[n].applicantDegree==="Postgraduate degree")return!0;return!1};n.applicantHasSSN=[];n.childHasSSN=[];n.guardianHasSSN=[];e.resetSsnIfFinland=function(t,i,r){var f=t==="Suomi"||t==="Finland",u;r==="applicant"?(u=e.applicants[i],u.applicantPersonalIdentityNumber="",n.applicantHasSSN[i]=f):r==="child"?(u=e.children[i],u.childPersonalIdentityNumber="",n.childHasSSN[i]=f):r==="guardian"&&(u=e.applicants[i],u.applicantGuardianPersonalIdentityNumber="",n.guardianHasSSN[i]=f)};e.checkChildSSNs=function(n,t){for(var i=0;i<e.children.length;++i)if(i===t)continue;else if((e.children[i].childNationality==="Suomi"||e.children[i].childNationality==="Finland")&&e.children[i].childPersonalIdentityNumber===n)return!1;return!0};e.checkChildSSNs=function(n){for(var t=0;t<e.children.length;++t)if((e.children[t].childNationality==="Suomi"||e.children[t].childNationality==="Finland")&&e.children[t].childPersonalIdentityNumber===n)return!1;return!0};e.checkChildSSNversusApplicants=function(n){for(var t=0;t<e.applicants.length;++t)if((e.applicants[t].applicantNationality==="Suomi"||e.applicants[t].applicantNationality==="Finland")&&e.applicants[t].applicantPersonalIdentityNumber===n)return!1;return!0};e.checkApplicantsSSNs=function(n,t){for(var i=0;i<e.applicants.length;++i)if(i===t)continue;else if((e.applicants[i].applicantNationality==="Suomi"||e.applicants[i].applicantNationality==="Finland")&&e.applicants[i].applicantPersonalIdentityNumber===n)return!1;return!0};e.checkDuplicateChildsLastname=function(n,t){if(e.children[t].childNationality==="Suomi"||e.children[t].childNationality==="Finland")return!0;for(var i=0;i<e.children.length;++i)if(i===t||e.children[i].childNationality==="Suomi"||e.children[i].childNationality==="Finland")continue;else if(e.children[i].childPersonalIdentityNumber!=null&&e.children[t].childPersonalIdentityNumber!=null&&e.children[i].childPersonalIdentityNumber.getTime()===e.children[t].childPersonalIdentityNumber.getTime()&&e.children[i].childLastName===n&&e.children[i].childFirstNames===e.children[t].childFirstNames)return!1;return!0};e.checkDuplicateChildsFirstnames=function(n,t){if(e.children[t].childNationality==="Suomi"||e.children[t].childNationality==="Finland")return!0;for(var i=0;i<e.children.length;++i)if(i===t||e.children[i].childNationality==="Suomi"||e.children[i].childNationality==="Finland")continue;else if(e.children[i].childPersonalIdentityNumber!=null&&e.children[t].childPersonalIdentityNumber!=null&&e.children[i].childPersonalIdentityNumber.getTime()===e.children[t].childPersonalIdentityNumber.getTime()&&e.children[i].childLastName===e.children[t].childLastName&&e.children[i].childFirstNames===n)return!1;return!0};e.checkDuplicateChildsBirthday=function(n,t){if(e.children[t].childNationality==="Suomi"||e.children[t].childNationality==="Finland")return!0;for(var i=0;i<e.children.length;++i)if(i===t||e.children[i].childNationality==="Suomi"||e.children[i].childNationality==="Finland")continue;else if(e.children[i].childPersonalIdentityNumber!=null&&n!=null&&e.children[i].childPersonalIdentityNumber.getTime()===n.getTime()&&e.children[i].childLastName===e.children[t].childLastName&&e.children[i].childFirstNames===e.children[t].childFirstNames)return!1;return!0};e.generateRoommateId=function(){for(var n,i="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=String((new Date).getFullYear()),u="",f=0;f<10;f++)i+=t.charAt(Math.floor(Math.random()*t.length));for(n=0;n<r.length;n++)u+=t.charAt(parseInt(r.charAt(n)));return u+i};e.clearRoommateData=function(){e.applicant1FirstOfRoommates="";e.applicantRoommateCount="";e.applicant1RoommateId="";e.applicantRoommateAdditionalInformation=[]};e.isApartmentTypeSelected=function(){for(var n=0;n<11;++n)if(e.applicationApartmentType[n]!==undefined&&e.applicationApartmentType[n]!==null&&e.applicationApartmentType[n]!==!1&&e.applicationApartmentType[n]!=="")return!0;return!1};e.isTwoWithoutChildCondition=function(){return e.applicant1WithRoommate&&!e.applicationChildGroup[0]&&!e.applicationChildGroup[1]&&e.applicationFurnishingStatus==0};n.$watchGroup(["vm.applicant1WithRoommate","vm.applicationChildGroup[0]","vm.applicationChildGroup[1]","vm.applicationFurnishingStatus"],function(){e.applicationApartmentType[1]=e.isTwoWithoutChildCondition()?"Kämppisasunto":null});e.checkMaximumApplicants=function(){var t=e.maximumApplicants(),n;if(e.applicants.length>t)for(n=e.applicants.length;n>t;n--)n!=0&&e.applicants.splice(n-1,1)};e.checkFamilyStudyFields=function(n){return n===0||e.applicationApartmentGroup!=1?!1:!0};e.clearDisabledHousings=function(){for(var n=0;n<11;++n)e.isApartmentTypeAllowed(n)||(e.applicationApartmentType[n]=!1)};e.arePetsAllowed=function(){for(var n=0;n<11;n++)if((n==0||n==2||n==3||n==5||n==6)&&e.applicationApartmentType[n]!==undefined&&e.applicationApartmentType[n]!==null&&e.applicationApartmentType[n]!==!1&&e.applicationApartmentType[n]!=="")return e.applicationSpecialRequirements[1]=!1,!0;return!1};e.clearStudioApartments=function(){e.applicationApartmentType[2]="";e.applicationApartmentType[3]="";e.applicationApartmentType[4]="";e.applicationApartmentType[5]="";e.applicationApartmentType[6]=""};y=["vm.applicants[0].applicantEmail","vm.applicants[1].applicantEmail","vm.applicants[2].applicantEmail","vm.applicants[0].applicantGuardianEmail","vm.applicants[1].applicantGuardianEmail","vm.applicants[2].applicantGuardianEmail"];n.$watchGroup(y,function(n){for(var r,i,t=0;t<n.length;++t)n[t]&&h(t,!0);for(r=!1,t=0;!r&&t<n.length-1;++t)for(i=t+1;!r&&i<n.length;++i)r=n[t]&&n[i]&&n[t]==n[i],r&&(h(t,!1),h(i,!1))});e.downloadPdf=function(){t.downloadPdf("confirmation",e.formSnapshot)}}angular.module("app").controller("kesaasunto",n);n.$inject=["$scope","apiService","countryService","applicantFactory","childFactory","apiAddress"]}(),function(){"use strict";function n(n,t){function r(){}var i=this;i.title="quicksearch";i.searchBarVisible=!1;i.searchBusy=!1;i.cookiesApproved=!1;i.clearSearch=function(){i.searchStr=null;i.searchResultSet=null;i.searchSuggestions=null;i.searchBarVisible&&window.setTimeout(function(){$("#popup-search-input").focus()},0)};i.toggleSearchBar=function(){i.cookiesApproved&&(i.searchBarVisible=!i.searchBarVisible,i.searchBarVisible?($("#square-search").attr("aria-expanded","true"),$("#popup-search-bar").attr("aria-expanded","true"),window.setTimeout(function(){$("#popup-search-input").focus()},0)):($("#square-search").attr("aria-expanded","false"),$("#popup-search-bar").attr("aria-expanded","false"),i.clearSearch()))};n.$watch("vm.searchStr",function(n){if(!n||n.length==0)return 0;i.searchBarVisible=!0;n===i.searchStr&&(i.searchSuggestions=null,t.get("/data/searchforsuggestions/?query="+encodeURI(n)+"&lang="+currentPageLanguage).then(function(n){i.debugText=JSON.stringify(n.data,null,"  ");i.searchSuggestions=n.data}))});i.search=function(){n.$watch("vm.searchStr",function(n){if(!n||n.length==0)return 0;i.searchBarVisible=!0;n===i.searchStr&&(i.searchResultSet=null,i.searchBusy=!0,$("body").css("cursor","wait"),t.get("/data/search2/?query="+encodeURI(n)+"&lang="+currentPageLanguage).then(function(n){n.data.query===i.searchStr&&(i.debugText=JSON.stringify(n.data,null,"  "),i.searchBusy=!1,i.searchResultSet=n.data,location.href=n.data.urlForMoreResults)}))})};i.updateCookiesApproved=function(){i.cookiesApproved=Cookies.get("_isHoasCookieBarHidden")!=="true"?!1:!0};i.updateCookiesApproved();window.quickSearchController=i;window.quickSearchScope=n;r()}angular.module("app").controller("quicksearch",n);n.$inject=["$scope","$http"]}(),function(){"use strict";function n(n,t,i,r,u){function o(n){var r=n.date,u=n.mode,t,i;return u==="day"?(t=new Date(r).setHours(0,0,0,0),i=moment(t).startOf("month"),t==i?!1:!0):!1}function e(n){n.returnValue=""}function s(){n.addUnloadEvent();f.applicant=r.createApplicant(f.countryDefault)}var f=this;f.form=null;f.title="tarjouksenperuutus";f.applicationSent=!1;f.sendIsDisabled=!1;f.inputMaxlength=2048;f.birthMinDate=moment("1900-01-01T00:00:00");f.birthMaxDate=moment().subtract(15,"years").endOf("day");f.applicationAcceptanceDateMin=moment().startOf("month");f.applicationAcceptanceDateMax=moment().add(4,"months").endOf("day");f.applicant=null;f.countries=i.getCountries();f.countryDefault=_.find(f.countries,function(n){return n.value=="Suomi"||n.value=="Finland"});f.applicationCancelOffer=null;f.reservedApartmentStreetAddress=null;f.reservedApartmentNumber=null;f.reservedApartmentCellNumber=null;f.applicationStatus=null;f.applicationAcceptanceDate=null;f.applicationCancelReason=null;f.applicationCancelAdditionalInformation=null;n.dateOptions={formatYear:"yyyy",minDate:f.applicationAcceptanceDateMin,maxDate:f.applicationAcceptanceDateMax,startingDay:1,dateDisabled:o};f.checkFirstDateLimit=function(n){if(n==null)return!0;var i=new Date(n),t=moment(new Date(n.toUTCString())).add(1,"day").startOf("month").toDate();return t=new Date(t.getTime()-t.getTimezoneOffset()*6e4),Date.parse(i)==Date.parse(t)};f.checkMinDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),i>=t};f.checkMaxDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),i<=t};n.open1=function(){n.popup1.opened=!0};n.popup1={opened:!1};n.applicantPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:f.birthMinDate,maxDate:f.birthMaxDate};n.open2=function(){n.popup2.opened=!0};n.popup2={opened:!1};f.isApplicantNationalityFinnish=function(){return f.applicant.applicantNationality&&(f.applicant.applicantNationality=="Suomi"||f.applicant.applicantNationality=="Finland")};f.isApplicantNationalitySelected=function(){return f.applicant.applicantNationality?!0:!1};f.isApplicantCancelReasonOther=function(){return f.applicationCancelReason=="Muu syy, mikä?"?!0:!1};f.submitForm=function(i,r,e){r||(r="fi");i.$valid?(f.form=e,e=="TarjPeruOppilaitos"&&(f.title="tarjouksenperuutusoppilaitos"),f.disableSendButton(),n.removeUnloadEvent(),t.submitData(u+"/api/reservationcancel",f,r)):(console.log(f),angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200))};n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",e):window.attachEvent("onbeforeunload",e)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",e):window.detachEvent("onbeforeunload",e)};s();f.disableSendButton=function(){f.sendIsDisabled=!0};n.applicantHasSSN=[];f.resetSsnIfFinland=function(t){var i=t==="Suomi"||t==="Finland";f.applicantPersonalIdentityNumber="";n.applicantHasSSN[0]=i};f.isApplicantOver15SSN=function(n){var i=FinnishSSN.validate(n),t;return i?(t=FinnishSSN.parse(n),t.ageInYears<15?!1:!0):null};f.downloadPdf=function(){t.downloadPdf("confirmation",f.formSnapshot)}}angular.module("app").controller("tarjouksenperuutus",n);n.$inject=["$scope","apiService","countryService","applicantFactory","apiAddress"]}(),function(){"use strict";function n(n,t,i,r,u){function e(n){n.returnValue=""}function o(){var i,t;n.addUnloadEvent();i=_.find(f.countries,function(n){return n.value=="Suomi"||n=="Finland"});f.tenantNationality=i.value;f.depositRecipientCountry=i.value;f.depositRecipientBankCountry=i.value;f.tenantCustomerNumber="H";t=u.get();t.length>0&&(console.log(t),t[0].terminatingLastName!=null&&(f.tenantLastName=t[0].terminatingLastName),t[0].terminatingFirstNames!=null&&(f.tenantFirstNames=t[0].terminatingFirstNames),t[0].terminatingNationality!=null&&(f.tenantNationality=t[0].terminatingNationality),t[0].terminatingPhone!=null&&(f.tenantPhone=t[0].terminatingPhone),t[0].terminatingPassportNumber!=null&&(f.tenantPassportNumber=t[0].terminatingPassportNumber),t[0].terminatingEmail!=null&&(f.tenantEmail=t[0].terminatingEmail),t[0].terminatingIDCardNumber!=null&&(f.tenantIDCardNumber=t[0].terminatingIDCardNumber),t[0].terminatingPersonalIdentityNumber!=null&&(f.tenantPersonalIdentityNumber=t[0].terminatingNationality!="Suomi"&&t[0].terminatingNationality!="Finland"?new Date(t[0].terminatingPersonalIdentityNumber):t[0].terminatingPersonalIdentityNumber),u.empty())}var f=this;f.title="tilitiedot";f.applicationSent=!1;f.sendIsDisabled=!1;f.inputMaxlength=2048;f.birthMinDate=moment("1900-01-01T00:00:00");f.birthMaxDate=moment().subtract(15,"years").endOf("day");f.childBirthMinDate=moment().subtract(18,"years").startOf("day");f.childBirthMaxDate=moment().endOf("day");f.countries=i.getCountries();f.useSameContact=!1;f.tenantLastName=null;f.tenantFirstNames=null;f.tenantNationality=null;f.tenantPersonalIdentityNumber=null;f.tenantPhone=null;f.tenantEmail=null;f.tenantCustomerNumber=null;f.tenantPassportNumber=null;f.tenantIDCardNumber=null;f.depositRecipientLastName=null;f.depositRecipientFirstNames=null;f.depositRecipientStreetAddress=null;f.depositRecipientPostalNumber=null;f.depositRecipientCity=null;f.depositRecipientCountry=null;f.depositRecipientAccountNumber=null;f.depositRecipientSWIFTBIC=null;f.depositRecipientIsSepaCountry=null;f.depositRecipientBankName=null;f.depositRecipientBankStreetAddress=null;f.depositRecipientBankPostalNumber=null;f.depositRecipientBankCity=null;f.depositRecipientBankCountry=null;f.depositRecipientBankRoutingCode=null;f.depositRecipientIsAustralia=!1;f.depositRecipientIsCanada=!1;f.depositRecipientIsUnitedStates=!1;f.depositRecipientIsMexico=!1;f.depositRecipientIsRussia=!1;n.$watch("vm.depositRecipientBankCountry",function(n){f.depositRecipientIsSepaCountry=i.isCountryInSepa(n);f.depositRecipientIsAustralia=n=="Australia"||n=="Australien";f.depositRecipientIsCanada=n=="Kanada"||n=="Canada";f.depositRecipientIsUnitedStates=n=="Yhdysvallat (USA)"||n=="United States"||n=="Förenta Staterna (USA)";f.depositRecipientIsMexico=n=="Meksiko"||n=="Mexico"||n=="Mexiko";f.depositRecipientIsRussia=n=="Venäjä"||n=="Russian Federation"||n=="Ryssland"});n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",e):window.attachEvent("onbeforeunload",e)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",e):window.detachEvent("onbeforeunload",e)};o();f.isTenantNationalityFinnish=function(){return f.tenantNationality!=null&&(f.tenantNationality=="Suomi"||f.tenantNationality=="Finland")};f.isTenantNationalitySelected=function(){return f.tenantNationality!=null&&f.tenantNationality!=""};n.applicantHasSSN=[];f.resetSsnIfFinland=function(t){var i=t==="Suomi"||t==="Finland";f.tenantPersonalIdentityNumber="";n.applicantHasSSN[0]=i};f.isDepositRecipientCountrySelected=function(){return f.depositRecipientCountry!=null&&f.depositRecipientCountry!=""};f.isDepositRecipientBankCountrySelected=function(){return f.depositRecipientBankCountry!=null&&f.depositRecipientBankCountry!=""};n.applicantPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:f.birthMinDate,maxDate:f.birthMaxDate};n.open1=function(){n.popup1.opened=!0};n.popup1={opened:!1};f.submitForm=function(i,u){u||(u="fi");i.$valid?(f.disableSendButton(),n.removeUnloadEvent(),f.useSameContact&&(f.depositRecipientFirstNames=f.tenantFirstNames,f.depositRecipientLastName=f.tenantLastName),f.depositRecipientAccountNumber=f.depositRecipientAccountNumber.replace(/[\s-]+/g,""),t.submitData(r+"/api/DepositReturn",f,u)):(console.log(f),angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200))};f.checkMinDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i>=t};f.checkMaxDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i<=t};f.disableSendButton=function(){f.sendIsDisabled=!0};f.clearBankDetails=function(){f.depositRecipientAccountNumber="";f.depositRecipientSWIFTBIC="";f.depositRecipientAccountNumber="";f.depositRecipientBankName="";f.depositRecipientBankStreetAddress="";f.depositRecipientBankPostalNumber="";f.depositRecipientBankCity="";f.depositRecipientBankRoutingCode=""};f.isApplicantOver15SSN=function(n){var i=FinnishSSN.validate(n),t;return i?(t=FinnishSSN.parse(n),t.ageInYears<15?!1:!0):null};f.downloadPdf=function(){t.downloadPdf("confirmation",f.formSnapshot)}}angular.module("app").controller("tilitiedot",n);n.$inject=["$scope","apiService","countryService","apiAddress","transferdataService"]}(),function(){"use strict";function n(n,t,i,r,u,f,e){function h(n){n.returnValue=""}function y(){n.addUnloadEvent();o.applicant=i.createApplicant(o.countryDefault);o.applicant.applicantNationality=null;o.applicant.applicantGuardianNationality=null}function l(t,i){switch(t){case 0:n.form.applicantEmail&&n.form.applicantEmail.$setValidity("emailunique",i);break;case 1:n.form.applicantGuardianEmail&&n.form.applicantGuardianEmail.$setValidity("emailunique",i)}}var o=this,s,a,c,v;o.title="vaihtoopiskelijahakemus";o.applicationSent=!1;o.inputMaxlength=2048;o.sendIsDisabled=!1;o.applicant1WithRoommate=!1;s=240;a=1500;o.housingPreferences=[];o.applicationRentLimitsSlider={floor:s,ceil:a,step:5,showSelectionBar:!0,translate:function(n){return n+" €"}};o.birthMinDate=moment("1900-01-01T00:00:00");o.birthMaxDate=moment().subtract(15,"years").endOf("day");o.studyStartMinDate=(new moment).set("year",1990).set("month",0).set("date",1).startOf("day");o.studyStartMaxDate=moment().add(8,"months").endOf("day");o.studyEndMinDate=moment().startOf("day");o.studyEndMaxDate=moment().add(15,"years").endOf("day");o.exchangeStudyStartDate=null;o.exchangeStudyEndDate=null;o.applicationAdditionalInformation=null;o.applicationDisabledHousing=null;o.applicationApartmentMaximumRent=s;o.housingPreferences=[];o.applicantRoommateAdditionalInformation=[];o.applicationTypeSelection=3;o.applicationType=null;o.isIntlDegreeStudent=function(){return o.applicant.applicantSchoolInFinland=="Kansainvälinen tutkinto-opiskelija"};o.isExchangeStudent=function(){return o.applicant.applicantSchoolInFinland=="Vaihto-opiskelu"};o.isApartmentTypeAllowed=function(n){if(o.isIntlDegreeStudent()&&!(n==0||n==3))return!1;var t=o.applicationTypeSelection,i=o.applicationChildGroup[0]||o.applicationChildGroup[1]?!0:!1;switch(n){case 0:return(t==3||(t==3||t==2||t==1)&&o.applicant1WithRoommate)&&!i;case 1:return(t==3||(t==3||t==2||t==1)&&o.applicant1WithRoommate)&&!i;case 2:return!(t==3&&i&&!o.applicant1WithRoommate);case 3:return!0}};c=function(){var n=s,t=o.housingPreferences;t[1]&&(n=245);t[1]&&o.isExchangeStudent()&&(n=280);t[2]&&(n=335);t[2]&&o.isExchangeStudent()&&(n=340);t[0]&&o.isIntlDegreeStudent()&&(n=350);t[0]&&!o.isIntlDegreeStudent()&&(n=405);t[0]&&o.isExchangeStudent()&&(n=420);t[3]&&(n=480);t[3]&&o.isIntlDegreeStudent()&&(n=500);t[3]&&o.isExchangeStudent()&&(n=575);o.applicationRentLimitsSlider.floor=n;o.applicationApartmentMaximumRent<o.applicationRentLimitsSlider.floor&&(o.applicationApartmentMaximumRent=o.applicationRentLimitsSlider.floor)};n.$watch("vm.applicant1RoommateId",function(n){n.length&&(o.housingPreferences[0]=o.housingPreferences[3]=!1)});n.$watch("vm.applicant.applicantSchoolInFinland",function(n){n=="Kansainvälinen tutkinto-opiskelija"&&(o.housingPreferences[1]=o.housingPreferences[2]=!1);c()});n.$watch("vm.applicationTypeSelection",function(n){n==1&&(o.applicationType="Haen perheasuntoa",o.applicant1WithRoommate=!0);n==2&&(o.applicationType="Haen asuntoa kaverin kanssa",o.applicant1WithRoommate=!0);n==3&&(o.applicationType="Haen asuntoa yksin",o.applicant1WithRoommate=!1);o.clearDisabledHousings()});n.$watchCollection("vm.housingPreferences",c);n.exchangeStudyStartDateOptions={formatYear:"yyyy",startingDay:1,minDate:o.studyStartMinDate,maxDate:o.studyStartMaxDate};n.exchangeStudyStartDatePopup={};n.exchangeStudyStartDateOpenPopup=function(t){n.exchangeStudyStartDatePopup["idx"+t]=!0};n.exchangeStudyEndDateOptions={formatYear:"yyyy",startingDay:1,minDate:o.studyEndMinDate,maxDate:o.studyEndMaxDate};n.exchangeStudyEndDatePopup={};n.exchangeStudyEndDateOpenPopup=function(t){n.exchangeStudyEndDatePopup["idx"+t]=!0};n.applicantPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:o.birthMinDate,maxDate:o.birthMaxDate};n.applicantPersonalIdentityNumberPopup={};n.applicantPersonalIdentityNumberOpenPopup=function(t){n.applicantPersonalIdentityNumberPopup["idx"+t]=!0};n.childPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:o.childBirthMinDate,maxDate:o.childBirthMaxDate};o.applicant=null;o.degreeSchools=function(){return o.applicant.applicantSchoolInFinland=="Vaihto-opiskelu"?r.getExchangeFaculties():r.getInternationalFaculties()};o.countries=t.getCountries();o.countryDefault=_.find(o.countries,function(n){return n.value=="Suomi"||n.value=="Finland"});o.isApplicantNationalityFinnish=function(){return o.applicant.applicantNationality&&(o.applicant.applicantNationality=="Suomi"||o.applicant.applicantNationality=="Finland")};o.isApplicantNationalitySelected=function(){return o.applicant.applicantNationality?!0:!1};o.isApplicantGenderSelected=function(){return o.applicant.applicantGender?!0:!1};o.isApplicantServiceLanguageSelected=function(){return o.applicant.applicantServiceLanguage?!0:!1};o.childBirthMinDate=moment().subtract(18,"years").startOf("day");o.childBirthMaxDate=moment().endOf("day");o.applicationMinExpectDate=moment().startOf("day");o.applicationMaxExpectDate=moment().add(11,"months").endOf("day");o.applicationChildGroup=[];o.children=[];o.maximumChildren=10;n.childPersonalIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:o.childBirthMinDate,maxDate:o.childBirthMaxDate};n.childPersonalIdentityNumberPopup={};n.childPersonalIdentityNumberOpenPopup=function(t){n.childPersonalIdentityNumberPopup["idx"+t]=!0};n.applicantExpectDateOpen=function(){n.applicantExpectDatePopup.opened=!0};n.applicantExpectDatePopup={opened:!1};n.applicantExpectDateOptions={formatYear:"yyyy",startingDay:1,minDate:o.applicationMinExpectDate,maxDate:o.applicationMaxExpectDate};n.$watchCollection("vm.applicationChildGroup",function(){o.applicant.applicantMovingWithChildren=o.applicationChildGroup[0]?!0:!1;o.applicant.applicantExpectChild=o.applicationChildGroup[1]?!0:!1;o.applicant.applicantMovingWithChildren&&o.children.length==0&&o.addChild();o.clearDisabledHousings()});o.isChildNationalityFinnish=function(n){var t=o.children[n];return t&&t.childNationality&&(t.childNationality=="Suomi"||t.childNationality=="Finland")};o.isChildNationalitySelected=function(n){var t=o.children[n];return t&&t.childNationality};o.addChild=function(){if(o.canAddChild()){var n=f.createChild(o.countryDefault);n.childNationality=null;o.children.push(n)}};o.canAddChild=function(){return o.maximumChildren>o.children.length};o.removeChild=function(n){o.canRemoveChild(n)&&o.children.splice(n,1)};o.canRemoveChild=function(n){return o.children[n]?n>=0&&n!=0:!1};o.isApplicantAdultSSN=function(n){var u=FinnishSSN.validate(n),r,i,t;return u?(r=FinnishSSN.parse(n),i=new Date(r.dateOfBirth),i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),t=moment().startOf("day").subtract(18,"years"),t=new Date(t),t=new Date(t.getTime()-t.getTimezoneOffset()*6e4),i>t?!1:!0):null};o.isApplicantAdultDate=function(n){if(!n)return null;var t=new Date(n),i=moment().subtract(18,"years").startOf("day");return t<=i};n.applicantGuardianIdentityNumberOptions={formatYear:"yyyy",startingDay:1,minDate:o.birthMinDate,maxDate:o.birthMaxDate};n.applicantGuardianIdentityNumberPopup={opened:!1};n.applicantGuardianIdentityNumberOpenPopup=function(){n.applicantGuardianIdentityNumberPopup.opened=!0};o.isApplicantGuardianNationalitySelected=function(){return o.applicant.applicantGuardianNationality?!0:!1};o.isApplicantGuardianNationalityFinnish=function(){return o.applicant.applicantGuardianNationality&&(o.applicant.applicantGuardianNationality=="Suomi"||o.applicant.applicantGuardianNationality=="Finland")};o.submitForm=function(t,i){i||(i="fi");t.$valid&&!o.checkIfFamilyapplicantIsAlone()?(o.disableSendButton(),n.removeUnloadEvent(),u.submitData(e+"/api/ExchangeStudents",o,i)):(console.log(o),angular.element("input.ng-invalid, select.ng-invalid").first().focus(),window.scrollBy(0,-200))};n.addUnloadEvent=function(){window.addEventListener?window.addEventListener("beforeunload",h):window.attachEvent("onbeforeunload",h)};n.removeUnloadEvent=function(){window.removeEventListener?window.removeEventListener("beforeunload",h):window.detachEvent("onbeforeunload",h)};y();o.checkMinDateLimit=function(n,t){if(n==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),i>=t};o.checkMaxDateLimit=function(n,t){if(n==null||t==null)return!0;var i=new Date(n);return i.setHours(0,0,0),i=new Date(i.getTime()-i.getTimezoneOffset()*6e4),i<=t};o.checkChildSSNs=function(n,t){for(var i=0;i<o.children.length;++i)if(i!==t&&(o.children[i].childNationality==="Suomi"||o.children[i].childNationality==="Finland")&&o.children[i].childPersonalIdentityNumber===n)return!1;return!0};o.checkChildSSNs=function(n){for(var t=0;t<o.children.length;++t)if((o.children[t].childNationality==="Suomi"||o.children[t].childNationality==="Finland")&&o.children[t].childPersonalIdentityNumber===n)return!1;return!0};o.checkChildSSNversusApplicants=function(n){return(o.applicant.applicantNationality==="Suomi"||o.applicant.applicantNationality==="Finland")&&o.applicant.applicantPersonalIdentityNumber===n?!1:!0};o.checkDuplicateChildsLastname=function(n,t){if(o.children[t].childNationality==="Suomi"||o.children[t].childNationality==="Finland")return!0;for(var i=0;i<o.children.length;++i)if(i===t||o.children[i].childNationality==="Suomi"||o.children[i].childNationality==="Finland")continue;else if(o.children[i].childPersonalIdentityNumber!=null&&o.children[t].childPersonalIdentityNumber!=null&&o.children[i].childPersonalIdentityNumber.getTime()===o.children[t].childPersonalIdentityNumber.getTime()&&o.children[i].childLastName===n&&o.children[i].childFirstNames===o.children[t].childFirstNames)return!1;return!0};o.checkDuplicateChildsFirstnames=function(n,t){if(o.children[t].childNationality==="Suomi"||o.children[t].childNationality==="Finland")return!0;for(var i=0;i<o.children.length;++i)if(i===t||o.children[i].childNationality==="Suomi"||o.children[i].childNationality==="Finland")continue;else if(o.children[i].childPersonalIdentityNumber!=null&&o.children[t].childPersonalIdentityNumber!=null&&o.children[i].childPersonalIdentityNumber.getTime()===o.children[t].childPersonalIdentityNumber.getTime()&&o.children[i].childLastName===o.children[t].childLastName&&o.children[i].childFirstNames===n)return!1;return!0};o.checkDuplicateChildsBirthday=function(n,t){if(o.children[t].childNationality==="Suomi"||o.children[t].childNationality==="Finland")return!0;for(var i=0;i<o.children.length;++i)if(i===t||o.children[i].childNationality==="Suomi"||o.children[i].childNationality==="Finland")continue;else if(o.children[i].childPersonalIdentityNumber!=null&&n!=null&&o.children[i].childPersonalIdentityNumber.getTime()===n.getTime()&&o.children[i].childLastName===o.children[t].childLastName&&o.children[i].childFirstNames===o.children[t].childFirstNames)return!1;return!0};o.generateRoommateId=function(){for(var n,i="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=String((new Date).getFullYear()),u="",f=0;f<10;f++)i+=t.charAt(Math.floor(Math.random()*t.length));for(n=0;n<r.length;n++)u+=t.charAt(parseInt(r.charAt(n)));return u+i};o.clearRoommateData=function(){o.applicant1FirstOfRoommates="";o.applicantRoommateCount="";o.applicant1RoommateId="";o.applicantRoommateAdditionalInformation=[]};o.isApartmentTypeSelected=function(){for(var n=0;n<11;++n)if(o.housingPreferences[n]!==undefined&&o.housingPreferences[n]!==null&&o.housingPreferences[n]!==!1&&o.housingPreferences[n]!=="")return!0;return!1};o.isRoommateApartmentTypeSelected=function(){return!o.applicant1WithRoommate||o.housingPreferences[1]||o.housingPreferences[2]};o.checkIfApplicantOtherSex=function(n){return n!="Muu"&&n!="Other"};o.checkIfPostGraduate=function(){return o.applicant.applicantDegree==="Jatkotutkinto"?!0:!1};n.applicantHasSSN=[];n.childHasSSN=[];n.guardianHasSSN=[];o.resetSsnIfFinland=function(t,i,r){var u=t==="Suomi"||t==="Finland",f;r==="applicant"?(o.applicantPersonalIdentityNumber="",n.applicantHasSSN[0]=u):r==="child"?(f=o.children[i],f.childPersonalIdentityNumber="",n.childHasSSN[i]=u):r==="guardian"&&(o.applicant.applicantGuardianPersonalIdentityNumber="",n.guardianHasSSN[0]=u)};o.clearDisabledHousings=function(){for(var n=0;n<3;++n)o.isApartmentTypeAllowed(n)||(o.housingPreferences[n]=!1)};o.checkIfPositiveNumber=function(n){return n==null?!0:(n=n.replace(",","."),n=parseFloat(n),n>=0)};o.checkIfCheckboxTrue=function(n){return n=="Kyllä"||n==!0};o.checkIfFamilyapplicantIsAlone=function(){return o.applicationTypeSelection!=1?!1:!(o.applicationTypeSelection==1&&(o.applicant.applicantMovingWithChildren||o.applicant.applicantExpectChild||o.applicant1WithRoommate))};o.disableSendButton=function(){o.sendIsDisabled=!0};o.isApplicantOver15SSN=function(n){var i=FinnishSSN.validate(n),t;return i?(t=FinnishSSN.parse(n),t.ageInYears<15?!1:!0):null};v=["vm.applicantEmail","vm.applicant.applicantGuardianEmail"];n.$watchGroup(v,function(n){for(var r,i,t=0;t<n.length;++t)n[t]&&l(t,!0);for(r=!1,t=0;!r&&t<n.length-1;++t)for(i=t+1;!r&&i<n.length;++i)r=n[t]&&n[i]&&n[t]==n[i],r&&(l(t,!1),l(i,!1))});o.downloadPdf=function(){u.downloadPdf("confirmation",o.formSnapshot)}}angular.module("app").controller("vaihtoopiskelijahakemus",n);n.$inject=["$scope","countryService","applicantFactory","schoolService","apiService","childFactory","apiAddress"]}()