Registrazione Step 1 Registrazione Step 1

Angular Portlet Angular Portlet

An error occurred while processing the template.
Expression traduzioni['LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO'] is undefined on line 27, column 147 in 20154#20194#210909.
1<#assign theme_images_path = request["theme-display"]["path-theme-images"] /> 
2<#assign formMessagesPath = request["theme-display"]["path-theme-images"]?replace("/images", "/html/form-messages.html") /> 
3 
4<#assign traduzioni = {} /> 
5<#if Campo.getSiblings()?has_content> 
6	<#list Campo.getSiblings() as cur_Campo> 
7		<#if cur_Campo.getData()?has_content && cur_Campo.Etichetta.getData()?has_content> 
8			<#assign traduzioni = traduzioni + {cur_Campo.getData(), cur_Campo.Etichetta.getData()} /> 
9		</#if> 
10	</#list> 
11</#if> 
12 
13<div id="greyLayout" class="affiGlassPane text-center" ng-show="submitting"> 
14 <i class="fa fa-spinner fa-spin fa-3x"> </i> 
15</div> 
16 
17<div id="ptl-registrazione-step-1" class="hidden"> 
18	 
19	<h2 class="title-view registra">${traduzioni['LBL_TITOLO']}</h2> 
20	<h2 ng-show="!utenzaNuovaTrovata" class="title-view conferma hidden">${traduzioni['LBL_TITOLO_CONFERMA']}</h2> 
21	<h2 ng-show="utenzaNuovaTrovata" class="title-view conferma hidden">${traduzioni['LBL_TITOLO_AVVISO_UNISCI_UTENZE']}</h2> 
22	<div id="LBL_ERRORE_INTERNO" class="portlet-msg-error" ng-show="LBL_ERRORE_INTERNO">${traduzioni['LBL_ERRORE_INTERNO']}</div> 
23	<div id="LBL_MAIL_NOT_VALID" class="portlet-msg-error" ng-show="LBL_MAIL_NOT_VALID">${traduzioni['LBL_MAIL_NOT_VALID']}</div> 
24	<div id="LBL_ERRORE_UTENTE_PRESENTE" class="portlet-msg-error" ng-show="LBL_ERRORE_UTENTE_PRESENTE">${traduzioni['LBL_ERRORE_UTENTE_PRESENTE']}</div> 
25	<div id="LBL_ERRORE_RECUPERO_BENEFICIARIO" class="portlet-msg-error" ng-show="LBL_ERRORE_RECUPERO_BENEFICIARIO">${traduzioni['LBL_ERRORE_RECUPERO_BENEFICIARIO']}</div> 
26	<div id="LBL_ERRORE_PRODOTTO_REGISTRED" class="portlet-msg-error" ng-show="LBL_ERRORE_PRODOTTO_REGISTRED">${traduzioni['LBL_ERRORE_PRODOTTO_REGISTRED']}</div> 
27	<div id="LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO" class="portlet-msg-error" ng-show="LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO">${traduzioni['LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO']}</div> 
28	<div id="LBL_ERRORE_UTENTE_NON_CONFERMATO" class="portlet-msg-info" ng-show="LBL_ERRORE_UTENTE_NON_CONFERMATO">${traduzioni['LBL_ERRORE_UTENTE_NON_CONFERMATO']}</div> 
29	<div id="LBL_ERRORE_CODICE_FISCALE" class="portlet-msg-error" ng-show="LBL_ERRORE_CODICE_FISCALE">${traduzioni['LBL_ERRORE_CODICE_FISCALE']}</div> 
30	<div class="alert alert-error" ng-show="LBL_PASSWORD_NO_MATCH">${traduzioni['LBL_PASSWORD_NO_MATCH']}</div> 
31	<div id="LBL_SUCCESSO_FORM" class="portlet-msg-info alert alert-success" ng-show="LBL_SUCCESSO_FORM">${traduzioni['LBL_SUCCESSO_FORM']}</div> 
32	 
33	<div ng-show="!LBL_SUCCESSO_FORM&&!LBL_ERRORE_UTENTE_NON_CONFERMATO"> 
34		 
35		<div class="row registra"> 
36			<div class="col-sm-12"> 
37				<div class="alert alert-success"> 
38					<p>${traduzioni['LBL_VECCHIE_CREDENZIALI']}</p> 
39					<div class="row"> 
40						<div class="col-sm-4 buttons pull-right"> 
41							<a type="button" class="btn btn-primary" href="/login">${traduzioni['LBL_ACCEDI']}</a> 
42						</div> 
43					</div> 
44				</div> 
45			</div> 
46		</div> 
47			 
48		<div class="row registra"> 
49			<div class="col-sm-12"> 
50				<p>${traduzioni['LBL_DESCRIZIONE']}</p> 
51			</div> 
52		</div> 
53		 
54		<div ng-show="!utenzaNuovaTrovata" class="row conferma hidden"> 
55			<div class="col-sm-12"> 
56				<p>${traduzioni['LBL_DESCRIZIONE_CONFERMA']}</p> 
57			</div> 
58		</div> 
59		 
60		<#-- <div class="row registra"> 
61			<div class="social-logins"> 
62				<div class="col-sm-3 social-login fb"> 
63					<a href="#"> 
64						<img class="pull-left" alt="" src="${theme_images_path}/social-icons/fb-icon.svg" />				 
65						<p class="ralewayregular">${traduzioni['LBL_FACEBOOK']}</p> 
66					</a> 
67				</div> 
68				<div class="col-sm-3 social-login tw"> 
69					<a href="#"> 
70						<img class="pull-left alt="" src="${theme_images_path}/social-icons/tw-icon.svg" />				 
71						<p class="ralewayregular">${traduzioni['LBL_TWITTER']}</p> 
72					</a> 
73				</div> 
74				<div class="col-sm-3 social-login gp"> 
75					<a href="#">				 
76						<img class="pull-left alt="" src="${theme_images_path}/social-icons/gp-icon.svg" />				 
77						<p class="ralewayregular">${traduzioni['LBL_GOOGLEPLUS']}</p> 
78					</a> 
79				</div> 
80				<div class="col-sm-3 social-login in"> 
81					<a href="#"> 
82						<img class="pull-left alt="" src="${theme_images_path}/social-icons/in-icon.svg" />			 
83						<p class="ralewayregular">${traduzioni['LBL_LINKEDIN']}</p> 
84					</a> 
85				</div> 
86			</div> 
87		</div> --> 
88		 
89				 
90		<div>	 
91			 
92			<div class="row conferma" ng-show="utenzaNuovaTrovata"> 
93				<div class="col-sm-12"> 
94					<h5 class="section-title">${traduzioni['LBL_TITOLO_AVVISO_UNISCI_UTENZE_1']}</h5>						 
95					<p>${traduzioni['LBL_AVVISO_UNISCI_UTENZE']} <b>{{ email }} ${traduzioni['LBL_AVVISO_UNISCI_UTENZE_2']}</b> ${traduzioni['LBL_AVVISO_UNISCI_UTENZE_3']}</p> 
96					<p><b>${traduzioni['LBL_AVVISO_UNISCI_UTENZE_4']}</b> ${traduzioni['LBL_AVVISO_UNISCI_UTENZE_5']}</p> 
97				</div> 
98			</div> 
99			 
100			<#-- <h5 class="section-title">${traduzioni['LBL_SEZIONE_ACCESSO']}</h5> --> 
101		 
102			<div class="row conferma" ng-show="!utenzaNuovaTrovata"> 
103				<div class="col-sm-12"> 
104					<div class="alert alert-success"> 
105						<p>${traduzioni['LBL_PROSSIMO_ACCESSO']}</p> 
106						<p><span class="ralewaybold">${traduzioni['LBL_AVVISO_EMAIL']}</span></p> 
107					</div> 
108				</div> 
109			</div> 
110			 
111			<div class="row"> 
112				<div class="col-sm-12"> 
113					<div class="form-group" ng-class="{ 'has-error' : userForm.email.$invalid && (!userForm.email.$pristine || submitted) }"> 
114						<label for="email"> 
115							${traduzioni['LBL_EMAIL']} 
116							<span class="asterisk" ng-show="!utenzaNuovaTrovata"> *</span> 
117						</label> 
118						<input type="email" class="form-control" id="email" name="email" ng-model="email" ng-maxlength="75" required ng-readonly="utenzaNuovaTrovata" <#-- ng-blur="conferma == 1 && !utenzaNuovaTrovata && checkEsistenzaUtenza($event)" -->> 
119						<div class="help-block" ng-messages="userForm.email.$error" ng-if="submitted && !userForm.email.$pristine"> 
120							<div ng-messages-include="${formMessagesPath}"></div> 
121						</div> 
122					</div>   
123				</div> 
124			</div> 
125			 
126			<div class="row hidden"> 
127				<div class="col-sm-1"> 
128					<div class="form-group" ng-class="{ 'has-error' : userForm.unisciutenze.$invalid && (!userForm.unisciutenze.$pristine || submitted) }"> 
129						<#-- <label for="unisciutenze"> 
130							${traduzioni['LBL_UNISCI_UTENZE']} 
131							<span class="asterisk"> *</span> 
132						</label> --> 
133						<input type="checkbox" class="form-control" id="unisciutenze" name="unisciutenze" ng-model="utenzaNuovaTrovata" ng-required="utenzaNuovaTrovata" readonly> 
134						<div class="help-block" ng-messages="userForm.unisciutenze.$error" ng-if="submitted && !userForm.unisciutenze.$pristine"> 
135							<div ng-messages-include="${formMessagesPath}"></div> 
136						</div> 
137					</div>   
138				</div> 
139			</div> 
140			 
141			<div class="row conferma" ng-show="!utenzaNuovaTrovata"> 
142				<div class="col-sm-12"> 
143					<div class="alert alert-success"> 
144						<p>${traduzioni['LBL_AVVISO_PASSWORD']} <span class="ralewaybold">${traduzioni['LBL_AVVISO_PASSWORD_2']}</span></p> 
145					</div> 
146				</div> 
147			</div> 
148			 
149			<div class="row"> 
150				<div ng-class="{ 'col-sm-6' : !utenzaNuovaTrovata , 'col-sm-12' : utenzaNuovaTrovata }" ng-show="!utenzaNuovaTrovata"> 
151					<div class="form-group" ng-class="{ 'has-error' : userForm.password.$invalid && !userForm.password.$pristine }"> 
152						<label for="password"> 
153							${traduzioni['LBL_PASSWORD']} 
154							<i class="fa fa-info-circle" ng-show="!utenzaNuovaTrovata" title="${traduzioni['LBL_INFO_PASSWORD']}" data-toggle="tooltip" tooltip></i> 
155							<i class="fa fa-info-circle" ng-show="utenzaNuovaTrovata" title="${traduzioni['LBL_INFO_PASSWORD_TITOLARI']}" data-toggle="tooltip" tooltip></i> 
156							<span class="asterisk"> *</span> 
157						</label> 
158						<input type="password" class="form-control" id="password" name="password" ng-model="password" ng-minlength="{{ !utenzaNuovaTrovata ? 8 : 1 }}" ng-maxlength="20" <#-- ng-pattern="/^(?=.*\d)(?=.*[a-z]).{8,20}$/i" --> <#-- c -->rpattern="/^(?=.{8,})(?!.*[\s])(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[_.!@$*=\-?]).*$/" <#-- condition="{{ !utenzaNuovaTrovata }}" --> ng-required="!utenzaNuovaTrovata"> 
159						<div class="help-block" ng-messages="userForm.password.$error" ng-if="submitted && !userForm.password.$pristine"> 
160							<div ng-messages-include="${formMessagesPath}"></div> 
161						</div> 
162					</div>   
163				</div> 
164				<div class="col-sm-6" ng-show="!utenzaNuovaTrovata"> 
165					<div class="form-group" ng-class="{ 'has-error' : userForm.confermapassword.$invalid && !userForm.confermapassword.$pristine }"> 
166						<label for="conferma-password"> 
167							${traduzioni['LBL_RIPETI_PASSWORD']} 
168							<i class="fa fa-info-circle" title="${traduzioni['LBL_INFO_PASSWORD']}" data-toggle="tooltip" tooltip></i> 
169							<span class="asterisk"> *</span> 
170						</label> 
171						<input type="password" class="form-control" id="confermapassword" name="confermapassword" ng-model="confermaPassword" ng-disabled="userForm.password.$invalid" compare-to="password"  ng-required="!utenzaNuovaTrovata"> 
172						<div class="help-block" ng-messages="userForm.confermapassword.$error" ng-if="submitted && userForm.password.$valid && !userForm.confermapassword.$pristine"> 
173							<div ng-messages-include="${formMessagesPath}"></div> 
174						</div> 
175					</div>   
176				</div> 
177				<div class="col-sm-12" ng-show="utenzaNuovaTrovata"> 
178					<div class="form-group" ng-class="{ 'has-error' : userForm.passwordunisci.$invalid && !userForm.passwordunisci.$pristine }"> 
179						<label for="password-unisci"> 
180							${traduzioni['LBL_PASSWORD']} 
181							<i class="fa fa-info-circle" title="${traduzioni['LBL_INFO_PASSWORD_TITOLARI']}" data-toggle="tooltip" tooltip></i> 
182							<#-- <span class="asterisk"> *</span> --> 
183						</label> 
184						<input type="password" class="form-control" id="passwordunisci" name="passwordunisci" ng-model="passwordunisci" ng-required="utenzaNuovaTrovata" readonly> 
185						<div class="help-block" ng-messages="userForm.passwordunisci.$error" ng-if="submitted && userForm.password.$valid && !userForm.passwordunisci.$pristine"> 
186							<div ng-messages-include="${formMessagesPath}"></div> 
187						</div> 
188					</div>   
189				</div> 
190			</div>	 
191			<div class="row"> 
192				<div class="col-sm-12" ng-show="!utenzaNuovaTrovata">		 
193					<em>${traduzioni['LBL_INFO_PASSWORD_SHORT']}</em> 
194				</div> 
195				<div class="col-sm-12 text-right" ng-show="utenzaNuovaTrovata">		 
196					<em>${traduzioni['LBL_FORGOT_PASSWORD']}<#--  <a href="/login?p_p_id=58&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=2&_58_struts_action=%2Flogin%2Fforgot_password">${traduzioni['LBL_FORGOT_PASSWORD_2']}</a> --></em> 
197				</div> 
198			</div>	 
199			 
200			<br> 
201			 
202			<div class="sezione-dati" ng-show="!utenzaNuovaTrovata"> 
203			 
204				<h5 class="section-title">${traduzioni['LBL_SEZIONE_DATI']}</h5> 
205			 
206				<div class="row"> 
207					<div class="col-sm-6"> 
208						<div class="form-group" ng-class="{ 'has-error' : userForm.nome.$invalid }"> 
209							<label for="nome"> 
210								${traduzioni['LBL_NOME']} 
211								<span class="asterisk"> *</span> 
212							</label> 
213							<input type="text" class="form-control" id="nome" name="nome" ng-model="nome" ng-maxlength="50" rpattern="/^[a-zA-ZÀ-ÿ ']+(?: +[A-ZÀ-ÿa-z ']+)*$/" ng-required="!utenzaNuovaTrovata"> 
214							<div class="help-block" ng-messages="userForm.nome.$error" ng-if="submitted"> 
215								<div ng-messages-include="${formMessagesPath}"></div> 
216							</div> 
217						</div>   
218					</div> 
219					<div class="col-sm-6"> 
220						<div class="form-group" ng-class="{ 'has-error' : userForm.cognome.$invalid }"> 
221							<label for="cognome"> 
222								${traduzioni['LBL_COGNOME']} 
223								<span class="asterisk"> *</span> 
224							</label> 
225							<input type="text" class="form-control" id="cognome" name="cognome" ng-model="cognome" ng-maxlength="50" rpattern="/^[a-zA-ZÀ-ÿ ']+(?: +[A-ZÀ-ÿa-z ']+)*$/" ng-required="!utenzaNuovaTrovata"> 
226							<div class="help-block" ng-messages="userForm.cognome.$error" ng-if="submitted"> 
227								<div ng-messages-include="${formMessagesPath}"></div> 
228							</div> 
229						</div>   
230					</div> 
231				</div>	 
232				<#-- <div class="row"> 
233					<div class="col-sm-6"> 
234						<div class="form-group" ng-class="{ 'has-error' : userForm.cellulare.$invalid }"> 
235							<label for="cellulare">${traduzioni['LBL_CELLULARE']} 
236								## <span class="asterisk"> *</span> 
237							</label> 
238							<input type="text" class="form-control" id="cellulare" name="cellulare" ng-model="cellulare" maxlength="16" ng-maxlength="16" input-telefono> 
239							<div class="help-block" ng-messages="userForm.cellulare.$error" ng-if="submitted"> 
240								<div ng-messages-include="${formMessagesPath}"></div> 
241							</div> 
242						</div>   
243					</div> 
244					<div class="col-sm-6"> 
245						<div class="form-group" ng-class="{ 'has-error' : userForm.telefono.$invalid }"> 
246							<label for="telefono">${traduzioni['LBL_TELEFONO']} 
247							</label> 
248							<input type="tel" class="form-control" id="telefono" name="telefono" ng-model="telefono" maxlength="16" ng-maxlength="16" input-telefono> 
249							<div class="help-block" ng-messages="userForm.telefono.$error" ng-if="submitted"> 
250								<div ng-messages-include="${formMessagesPath}"></div> 
251							</div> 
252						</div>   
253					</div>	 
254				</div> 
255				<div class="row"> 
256					<div class="col-sm-12"> 
257						<div class="form-group" ng-class="{ 'has-error' : userForm.azienda.$invalid }"> 
258							<label for="azienda">${traduzioni['LBL_AZIENDA']}</label> 
259							<input type="text" class="form-control" id="azienda" name="azienda" ng-model="azienda" ng-maxlength="200"> 
260							<div class="help-block" ng-messages="userForm.azienda.$error" ng-if="submitted"> 
261								<div ng-messages-include="${formMessagesPath}"></div> 
262							</div> 
263						</div>   
264					</div> 
265				</div> --> 
266				<div class="row"> 
267					<div class="col-sm-6"> 
268						<div class="form-group" ng-class="{ 'has-error' : userForm.codicefiscale.$invalid }"> 
269							<label for="codice-fiscale">${traduzioni['LBL_CODICE_FISCALE']} 
270								<#-- <i class="fa fa-info-circle" title="${traduzioni['LBL_INFO_CODICE_FISCALE']}" data-toggle="tooltip" tooltip></i> --> 
271								<span class="asterisk" <#-- ng-if="indirizzoNascita.citta" -->> *</span> 
272							</label> 
273							<input type="text" class="form-control" id="codicefiscale" name="codicefiscale" ng-model="codiceFiscale" <#-- ng-pattern="/^[a-z]{6}\d{2}[abcdehlmprst]\d{2}[a-z]\d{3}[a-z]$/i" --> ng-minlength="16" ng-maxlength="16" maxlength="16" <#-- ng-required="indirizzoNascita.citta" --> ng-required="!utenzaNuovaTrovata"> 
274							<div class="help-block" ng-messages="userForm.codicefiscale.$error" ng-if="submitted"> 
275								<div ng-messages-include="${formMessagesPath}"></div> 
276							</div> 
277						</div>   
278					</div> 
279					<div class="col-sm-6"> 
280						<div class="form-group" ng-class="{ 'has-error' : userForm.sesso.$invalid }"> 
281							<label for="sesso">${traduzioni['LBL_SESSO']} 
282								<span class="asterisk"> *</span> 
283							</label> 
284							<select class="form-control" id="sesso" name="sesso" ng-model="sesso" ng-required="!utenzaNuovaTrovata"> 
285								<option value="M">${traduzioni['LBL_MASCHIO']}</option> 
286								<option value="F">${traduzioni['LBL_FEMMINA']}</option> 
287							</select> 
288							<div class="help-block" ng-messages="userForm.sesso.$error" ng-if="submitted"> 
289								<div ng-messages-include="${formMessagesPath}"></div> 
290							</div> 
291						</div>   
292					</div> 
293				</div>	 
294				<div class="row"> 
295					<div class="col-sm-6"> 
296						<div class="form-group" ng-class="{ 'has-error' : userForm.datanascita.$invalid }"> 
297							<label for="data-nascita">${traduzioni['LBL_DATA_NASCITA']} 
298								<span class="asterisk" <#-- ng-if="codiceFiscale" -->> *</span> 
299							</label> 
300							<div class="input-group date"> 
301								<input type="text" class="form-control" id="datanascita" name="datanascita" ng-model="dataNascita" placeholder="gg/mm/aaaa" datepicker 
302								ng-pattern="/(0[1-9]|[12][0-9]|3[01])[\/](0[1-9]|1[012])[\/](19|20)\d\d/" data-mask="99/99/9999" <#-- ng-required="codiceFiscale" --> ng-required="!utenzaNuovaTrovata"> 
303								<span class="input-group-addon"> 
304									<img title="..." alt="..." src="${theme_images_path}/calendar.png"> 
305									<i class="icon-calendar-empty"></i> 
306								</span> 
307							</div>	 
308							<div class="help-block" ng-messages="userForm.datanascita.$error" ng-if="submitted"> 
309								<div ng-messages-include="${formMessagesPath}"></div> 
310							</div> 
311						</div>   
312					</div> 
313					<div class="col-sm-6"> 
314						<div class="form-group" ng-class="{ 'has-error' : userForm.nazionenascita.$invalid }"> 
315							<label for="nazione-nascita">${traduzioni['LBL_NAZIONE_NASCITA']} 
316								<span class="asterisk" <#-- ng-if="codiceFiscale" -->> *</span> 
317							</label> 
318							<select class="form-control" id="nazionenascita" name="nazionenascita" ng-model="selectedNazioneNascita" ng-options="nazione.nazione for nazione in nazioni track by nazione.codiceStato" <#-- ng-required="codiceFiscale" --> ng-required="!utenzaNuovaTrovata" ng-change="svuotaNazione(selectedNazioneNascita,indirizzoNascita)"> 
319							<option value=""></option> 
320						</select> 
321							<div class="help-block" ng-messages="userForm.nazionenascita.$error" ng-if="submitted"> 
322								<div ng-messages-include="${formMessagesPath}"></div> 
323							</div> 
324						</div>   
325					</div> 
326				</div> 
327				<div class="row"> 
328					<div class="col-sm-6"> 
329						<div class="form-group" ng-class="{ 'has-error' : userForm.provincianascita.$invalid }"> 
330							<label for="provincia-nascita">${traduzioni['LBL_PROVINCIA_NASCITA']} 
331								<span class="asterisk" ng-if="<#-- codiceFiscale && --> selectedNazioneNascita.codiceStato == 'ITL'"> *</span> 
332							</label> 
333							<select class="form-control" id="provincianascita" name="provincianascita" ng-model="selectedProvinciaNascita" ng-disabled="selectedNazioneNascita.codiceStato != 'ITL'" ng-options="provincia.denominazioneProvincia for provincia in province track by provincia.codiceProvincia" ng-required="!utenzaNuovaTrovata && <#-- codiceFiscale && --> selectedNazioneNascita.codiceStato == 'ITL'"> 
334								<option value=""></option> 
335							</select> 
336							<input class="hidden" name="codiceprovincia" value="{{selectedProvinciaNascita.codiceProvincia}}"/> 
337							<input class="hidden" name="descprovincia" value="{{selectedProvinciaNascita.denominazioneProvincia}}"/> 
338							<div class="help-block" ng-messages="userForm.provincianascita.$error" ng-if="submitted"> 
339								<div ng-messages-include="${formMessagesPath}"></div> 
340							</div> 
341						</div>   
342					</div> 
343					<div class="col-sm-6"> 
344						<div class="form-group" ng-class="{ 'has-error' : userForm.comunenascita.$invalid && !userForm.comunenascita.$pristine }"> 
345							<label for="comune-nascita">${traduzioni['LBL_COMUNE_NASCITA']} 
346								<#-- <i class="fa fa-info-circle" title="${traduzioni['LBL_INFO_COMUNE']}" data-toggle="tooltip" tooltip></i> --> 
347								<span class="asterisk" ng-if="<#-- codiceFiscale && --> selectedNazioneNascita.codiceStato == 'ITL'"> *</span> 
348							</label> 
349							<input type="text" class="form-control" id="comunenascita" name="comunenascita" ng-model="indirizzoNascita.cittaIntera" ng-disabled="selectedNazioneNascita.codiceStato != 'ITL'" autocomplete="off" ng-required="!utenzaNuovaTrovata && <#-- codiceFiscale && --> selectedNazioneNascita.codiceStato == 'ITL'"/> 
350							<div class="help-block" ng-messages="userForm.comunenascita.$error" ng-if="submitted && !userForm.comunenascita.$pristine"> 
351								<div ng-messages-include="${formMessagesPath}"></div> 
352							</div> 
353						</div>    
354					</div> 
355				</div> 
356				<div class="row"> 
357					<div class="col-sm-6"> 
358						<div class="form-group" ng-class="{ 'has-error' : userForm.cellulare.$invalid }"> 
359							<label for="cellulare">${traduzioni['LBL_CELLULARE']} 
360								<#-- <span class="asterisk"> *</span> --> 
361							</label> 
362							<input type="text" class="form-control" id="cellulare" name="cellulare" ng-model="cellulare" maxlength="16" ng-maxlength="16" input-telefono> 
363							<div class="help-block" ng-messages="userForm.cellulare.$error" ng-if="submitted"> 
364								<div ng-messages-include="${formMessagesPath}"></div> 
365							</div> 
366						</div>   
367					</div> 
368					<#-- <div class="col-sm-6"> 
369						<div class="form-group" ng-class="{ 'has-error' : userForm.telefono.$invalid }"> 
370							<label for="telefono">${traduzioni['LBL_TELEFONO']} 
371							</label> 
372							<input type="tel" class="form-control" id="telefono" name="telefono" ng-model="telefono" maxlength="16" ng-maxlength="16" input-telefono> 
373							<div class="help-block" ng-messages="userForm.telefono.$error" ng-if="submitted"> 
374								<div ng-messages-include="${formMessagesPath}"></div> 
375							</div> 
376						</div>   
377					</div> -->	 
378				</div> 
379				 
380				<h5 class="section-title">${traduzioni['LBL_SEZIONE_INDIRIZZI']}</h5> 
381				 
382				<div class="row"> 
383					<div class="col-sm-6"> 
384						<div class="form-group" ng-class="{ 'has-error' : userForm.nazionecorrispondenza.$invalid && !userForm.nazionecorrispondenza.$pristine }"> 
385							<label for="nazione-corrispondenza">${traduzioni['LBL_NAZIONE_CORRISPONDENZA']} 
386								<span class="asterisk" <#-- ng-if="codiceFiscale" -->> *</span> 
387							</label> 
388							<select class="form-control" id="nazionecorrispondenza" name="nazionecorrispondenza" ng-model="selectedNazioneCorrispondenza" ng-options="nazione.nazione for nazione in nazioni track by nazione.codiceStato" <#-- ng-required="codiceFiscale" --> ng-required="!utenzaNuovaTrovata" ng-change="svuotaNazione(selectedNazioneCorrispondenza,indirizzoCorrispondenza)"> 
389							<option value=""></option> 
390						</select> 
391							<div class="help-block" ng-messages="userForm.nazionecorrispondenza.$error" ng-if="submitted && !userForm.nazionecorrispondenza.$pristine"> 
392								<div ng-messages-include="${formMessagesPath}"></div> 
393							</div> 
394						</div>   
395					</div> 
396					<div class="col-sm-6"> 
397						<div class="form-group" ng-class="{ 'has-error' : userForm.provinciacorrispondenza.$invalid && !userForm.provinciacorrispondenza.$pristine }"> 
398							<label for="provincia-corrispondenza">${traduzioni['LBL_PROVINCIA_CORRISPONDENZA']} 
399								<span class="asterisk" ng-if="selectedNazioneCorrispondenza.codiceStato == 'ITL'"> *</span> 
400							</label> 
401							<select class="form-control" id="provinciacorrispondenza" name="provinciacorrispondenza" ng-model="selectedProvinciaCorrispondenza" ng-disabled="selectedNazioneCorrispondenza.codiceStato != 'ITL'" ng-options="provincia.denominazioneProvincia for provincia in province track by provincia.codiceProvincia" ng-required="!utenzaNuovaTrovata && selectedNazioneCorrispondenza.codiceStato == 'ITL'"> 
402								<option value=""></option> 
403							</select> 
404							<input class="hidden" name="codiceprovincia" value="{{selectedProvinciaCorrispondenza.codiceProvincia}}"/> 
405							<input class="hidden" name="descprovincia" value="{{selectedProvinciaCorrispondenza.denominazioneProvincia}}"/> 
406							<div class="help-block" ng-messages="userForm.provinciacorrispondenza.$error" ng-if="submitted && !userForm.provinciacorrispondenza.$pristine"> 
407								<div ng-messages-include="${formMessagesPath}"></div> 
408							</div> 
409						</div>   
410					</div> 
411				</div> 
412				<div class="row">	 
413					<div class="col-sm-6"> 
414						<div class="form-group" ng-class="{ 'has-error' : userForm.comunecorrispondenza.$invalid && !userForm.comunecorrispondenza.$pristine }"> 
415							<label for="comune-corrispondenza">${traduzioni['LBL_COMUNE_CORRISPONDENZA']} 
416								<span class="asterisk" ng-if="selectedNazioneCorrispondenza.codiceStato == 'ITL'"> *</span> 
417							</label> 
418							<input type="text" class="form-control" id="comunecorrispondenza" name="comunecorrispondenza" ng-model="indirizzoCorrispondenza.cittaIntera" ng-disabled="selectedNazioneCorrispondenza.codiceStato != 'ITL'" autocomplete="off" ng-required="!utenzaNuovaTrovata && selectedNazioneCorrispondenza.codiceStato == 'ITL'"/> 
419							<div class="help-block" ng-messages="userForm.comunecorrispondenza.$error" ng-if="submitted && !userForm.comunecorrispondenza.$pristine"> 
420								<div ng-messages-include="${formMessagesPath}"></div> 
421							</div> 
422						</div>    
423					</div> 
424					<div class="col-sm-6"> 
425						<div class="form-group" ng-class="{ 'has-error' : userForm.capcorrispondenza.$invalid && !userForm.capcorrispondenza.$pristine }"> 
426							<label for="cap-corrispondenza">${traduzioni['LBL_CAP_CORRISPONDENZA']} 
427								<span class="asterisk" ng-if="selectedNazioneCorrispondenza.codiceStato == 'ITL'"> *</span> 
428							</label> 
429							<input type="text" class="form-control" id="capcorrispondenza" name="capcorrispondenza" ng-model="indirizzoCorrispondenza.cap" ng-disabled="selectedNazioneCorrispondenza.codiceStato != 'ITL'" ng-maxlength="10" autocomplete="off" ng-required="!utenzaNuovaTrovata && selectedNazioneCorrispondenza.codiceStato == 'ITL'"/> 
430							<div class="help-block" ng-messages="userForm.capcorrispondenza.$error" ng-if="submitted && !userForm.capcorrispondenza.$pristine"> 
431								<div ng-messages-include="${formMessagesPath}"></div> 
432							</div> 
433						</div>    
434					</div> 
435				</div> 
436				<div class="row">	 
437					<div class="col-sm-8"> 
438						<div class="form-group" ng-class="{ 'has-error' : userForm.indirizzocorrispondenza.$invalid && !userForm.indirizzocorrispondenza.$pristine }"> 
439							<label for="indirizzo-corrispondenza">${traduzioni['LBL_INDIRIZZO_CORRISPONDENZA']} 
440								<#-- <span class="asterisk" ng-if="#*codiceFiscale && *# selectedNazioneCorrispondenza.codiceStato == 'ITL'"> *</span> --> 
441							</label> 
442							<input type="text" class="form-control" id="indirizzocorrispondenza" name="indirizzocorrispondenza" ng-model="indirizzoCorrispondenza.indirizzo" ng-disabled="selectedNazioneCorrispondenza.codiceStato != 'ITL' && !indirizzoCorrispondenza.cittaIntera" ng-maxlength="200" autocomplete="off" <#-- ng-required="selectedNazioneCorrispondenza.codiceStato == 'ITL'" -->/> 
443							<i id="indirizzocorrispondenza-spinner" class="fa fa-spinner fa-spin indirizzo-spinner" style="display:none;"></i> 
444							<div class="help-block" ng-messages="userForm.indirizzocorrispondenza.$error" ng-if="submitted && !userForm.indirizzocorrispondenza.$pristine"> 
445								<div ng-messages-include="${formMessagesPath}"></div> 
446							</div> 
447						</div>    
448					</div> 
449					<div class="col-sm-4"> 
450						<div class="form-group" ng-class="{ 'has-error' : userForm.civicocorrispondenza.$invalid && !userForm.civicocorrispondenza.$pristine }"> 
451							<label for="civicocorrispondenza">${traduzioni['LBL_CIVICO_CORRISPONDENZA']}</label> 
452							<input type="text" class="form-control" id="civicocorrispondenza" name="civicocorrispondenza"  ng-model="indirizzoCorrispondenza.civico"  ng-maxlength="10" autocomplete="off" ng-disabled="!indirizzoCorrispondenza.indirizzo" > 
453							<div class="help-block" ng-messages="userForm.civicocorrispondenza.$error" ng-if="submitted && !userForm.civicocorrispondenza.$pristine"> 
454								<div ng-messages-include="${formMessagesPath}"></div> 
455							</div> 
456						</div>   
457					</div> 
458				</div> 
459				 
460				<div class="row"> 
461					<div class="col-sm-12"> 
462						<#-- <p>Dopo aver visionato integralmente l'informativa ex art. 13 d.lgs. 196/2003 visibile al link privacy presente nella home page del sito internet www.edenred.it, autorizzo Edenred Spa al trattamento dei miei dati personali.</p> --> 
463						<p class="ralewaybold">${traduzioni['LBL_DECRETO']}</p> 
464						<#-- <p>${traduzioni['LBL_INFORMATIVA']} <a href="http://www.edenred.it/informativa-beneficiari" target="_blank">${traduzioni['LBL_PRIVACY_LINK']}</a>.</p> 
465						<p>${traduzioni['LBL_INFORMATIVA_PUNTI']}</p> 
466						<ul class="container-fluid"> 
467							<li>${traduzioni['LBL_INFORMATIVA_PUNTO_1']}</li> 
468							<li>${traduzioni['LBL_INFORMATIVA_PUNTO_2']}</li> 
469						</ul> 
470						<p>${traduzioni['LBL_LIBERATORIA']}</p> --> 
471					</div> 
472				</div> 
473				 
474				<div class="row"> 
475					<div class="col-sm-12"> 
476						<div class="form-group" ng-class="{ 'has-error' : userForm.liberatoria.$invalid }"> 
477							<div class="checkbox">	 
478								<label for="liberatoria-si"> 
479									<input type="checkbox" id="liberatoria-si" value="1" name="liberatoria" ng-model="liberatoria" ng-required="!utenzaNuovaTrovata"> 
480									${traduzioni['LBL_DICHIARAZIONE_1']} <span class="ralewaybold"><a href="http://www.edenred.it/informativa-beneficiari" target="_blank">${traduzioni['LBL_PRIVACY_LINK']}</a></span> ${traduzioni['LBL_DICHIARAZIONE_2']} 
481								</label> 
482							</div>	 
483							<#-- <div class="radio"> 
484								<label for="liberatoria-no"> 
485									<input type="radio" id="liberatoria-no" value="0" name="liberatoria" ng-model="liberatoria" required> 
486									<span class="ralewaybold">${traduzioni['LBL_NO']}</span>${traduzioni['LBL_NO_ESTESO']} 
487								</label> 
488							</div> --> 
489							<div class="help-block" ng-messages="userForm.liberatoria.$error" ng-if="!userForm.liberatoria.$pristine"> 
490								<div ng-messages-include="${formMessagesPath}"></div> 
491							</div> 
492						</div>   
493					</div> 
494				</div> 
495				 
496				<div class="row"> 
497					<div class="col-sm-12"> 
498						<p class="ralewaybold">${traduzioni['LBL_LIBERATORIA_CONFERMA']}</p> 
499					</div> 
500				</div> 
501				 
502				<div class="row"> 
503					<div class="col-sm-12"> 
504						<p>${traduzioni['LBL_LIBERATORIA_STATISTICHE']}</p> 
505					</div> 
506				</div> 
507				 
508				<div class="row"> 
509					<div class="col-sm-12"> 
510						<div class="form-group" ng-class="{ 'has-error' : userForm.statistiche.$invalid && !userForm.statistiche.$pristine }"> 
511							<div class="radio">	 
512								<label for="statistiche-si"> 
513									<input type="radio" id="statistiche-si" value="1" name="statistiche" ng-model="statistiche" ng-required="!utenzaNuovaTrovata"> 
514									<span class="ralewaybold">${traduzioni['LBL_SI']}</span>${traduzioni['LBL_SI_ESTESO']} 
515								</label> 
516							</div>	 
517							<div class="radio"> 
518								<label for="statistiche-no"> 
519									<input type="radio" id="statistiche-no" value="0" name="statistiche" ng-model="statistiche" ng-required="!utenzaNuovaTrovata"> 
520									<span class="ralewaybold">${traduzioni['LBL_NO']}</span>${traduzioni['LBL_NO_ESTESO']} 
521								</label> 
522							</div> 
523							<div class="help-block" ng-messages="userForm.statistiche.$error" ng-if="!userForm.statistiche.$pristine"> 
524								<div ng-messages-include="${formMessagesPath}"></div> 
525							</div> 
526						</div>   
527					</div> 
528				</div> 
529				 
530				<div class="row"> 
531					<div class="col-sm-12"> 
532						<p>${traduzioni['LBL_LIBERATORIA_PROFILAZIONE']}</p> 
533					</div> 
534				</div> 
535				 
536				<div class="row"> 
537					<div class="col-sm-12"> 
538						<div class="form-group" ng-class="{ 'has-error' : userForm.profilazione.$invalid && !userForm.profilazione.$pristine }"> 
539							<div class="radio">	 
540								<label for="profilazione-si"> 
541									<input type="radio" id="profilazione-si" value="1" name="profilazione" ng-model="profilazione" ng-required="!utenzaNuovaTrovata"> 
542									<span class="ralewaybold">${traduzioni['LBL_SI']}</span>${traduzioni['LBL_SI_ESTESO']} 
543								</label> 
544							</div>	 
545							<div class="radio"> 
546								<label for="profilazione-no"> 
547									<input type="radio" id="profilazione-no" value="0" name="profilazione" ng-model="profilazione" ng-required="!utenzaNuovaTrovata"> 
548									<span class="ralewaybold">${traduzioni['LBL_NO']}</span>${traduzioni['LBL_NO_ESTESO']} 
549								</label> 
550							</div> 
551							<div class="help-block" ng-messages="userForm.profilazione.$error" ng-if="!userForm.profilazione.$pristine"> 
552								<div ng-messages-include="${formMessagesPath}"></div> 
553							</div> 
554						</div>   
555					</div> 
556				</div> 
557				 
558				<div class="row"> 
559					<div class="col-sm-12 save-user registra"> 
560						<button type="button" class="btn btn-primary pull-right" ng-click="submitted=true;submitForm(userForm.$valid)" <#-- ng-show="liberatoria==1" ng-disabled="liberatoria!=1" -->>${traduzioni['LBL_REGISTRATI']}</button> 
561					</div> 
562				</div>	 
563			 
564			</div> 
565			 
566				<div class="row"> 
567				<div class="col-sm-7 save-user conferma hidden"> 
568					<#-- <button type="button" class="btn btn-secondary btn-block" ng-show="utenzaNuovaTrovata" ng-click="LBL_PASSWORD_NO_MATCH = false; email = ''; password = ''; confermaPassword = ''; utenzaNuovaTrovata = false">${traduzioni['LBL_ANNULLA_UNISCI_UTENZE']}</button> --> 
569				</div> 
570				<div class="col-sm-offset-1 col-sm-4 save-user conferma hidden"> 
571					<button type="button" class="btn btn-primary btn-block" ng-click="submitted=true;submitForm(userForm.$valid)" <#-- ng-show="liberatoria==1" ng-disabled="liberatoria!=1" -->>{{ utenzaNuovaTrovata ? "${traduzioni['LBL_CONFERMA_ACCEDI']}" : "${traduzioni['LBL_CONFERMA']}" }}</button> 
572				</div> 
573			</div>	 
574			 
575 
576			<br> 
577			<div id="error_message" class="alert alert-error hidden">${traduzioni['LBL_ERRORE_FORM']}</div> 
578			<div id="success_message" class="alert alert-success hidden">${traduzioni['LBL_SUCCESSO_FORM']}</div> 
579			<div id="info_message" class="alert alert-success hidden"></div> 
580				 
581			 
582			<#-- <div class="row"> 
583				<div class="col-sm-4 buttons"> 
584					<button type="button" class="btn btn-secondary" ng-click="switchFormView()">Registra/Conferma</button> 
585				</div> 
586			</div> --> 
587			 
588		<!-- 
589 
590						<div type="text" id="comuni-suggestion" auto-complete url="comuniFromProvincia"   placeholder="Comune" /> 
591		 -->	 
592		 
593		</div> 
594	</div> 
595</div> 
596 
597 
598<script> 
599if (typeof beneficiarioJsonFromPortlet == 'undefined') { 
600	var beneficiarioJsonFromPortlet='{}'; 
601
602var jsonObj = beneficiarioJsonFromPortlet; 
603 
604var app = angular.module('registrazione-step-1', ['ngMessages']); 
605 
606 
607 
608app.directive('compareTo', [function () { 
609return { 
610  require: 'ngModel', 
611  link: function (scope, elem, attrs, ctrl) { 
612	var firstPassword = "#" + attrs.compareTo; 
613	console.log("firstPassword", firstPassword); 
614	elem.add(firstPassword).on('keyup', function () { 
615	  scope.$apply(function () { 
616		console.log(scope); 
617		var v = elem.val()===$(firstPassword).val(); 
618		console.log("elem.val()", elem.val()); 
619		console.log("$(firstPassword).val()", $(firstPassword).val()); 
620		console.log("v", v); 
621		ctrl.$setValidity('compareTo', v); 
622	  }); 
623	}); 
624
625
626}]); 
627 
628 
629app.directive('datepicker', function() { 
630    return { 
631        restrict: 'A', 
632        require : 'ngModel', 
633        link : function (scope, element, attrs, ngModel) { 
634		 
635			if (!ngModel) return; 
636 
637			ngModel.$render = function() { 
638			   element.parent().datepicker('update', ngModel.$viewValue || ''); 
639			}; 
640 
641			var localId = "${locale}"; 
642			element.parent().datepicker({ 
643					format: "dd/mm/yyyy", 
644					endDate: "0d", 
645					maxViewMode: 2, 
646					language: localId.substr(0, 2), 
647					forceParse: false, 
648					autoclose: true, 
649					defaultViewDate: { year: 1980, month: 0, day: 1 }, 
650					startView: 2 
651				}).on("changeDate",function(event){ 
652				scope.$apply(function() { 
653				   ngModel.$setViewValue(event.date); 
654				}); 
655			}) 
656
657
658}); 
659 
660 
661app.directive('inputTelefono', function () { 
662    return { 
663        require: 'ngModel', 
664        link: function (scope, element, attr, ngModelCtrl) { 
665            function fromUser(text) { 
666                if (text) { 
667                    var transformedInput = text.replace(/[^-0-9+ .]/g, ''); 
668 
669                    if (transformedInput !== text) { 
670                        ngModelCtrl.$setViewValue(transformedInput); 
671                        ngModelCtrl.$render(); 
672
673                    return transformedInput; 
674
675				//return undefined; 
676                return ""; 
677            }             
678            ngModelCtrl.$parsers.push(fromUser); 
679
680    }; 
681}); 
682 
683 
684app.directive("select", function() { 
685    return { 
686      restrict: "E", 
687      require: "?ngModel", 
688      scope: false, 
689      link: function (scope, element, attrs, ngModel) { 
690        if (!ngModel) { 
691          return; 
692
693        element.bind("keyup", function() { 
694          element.triggerHandler("change"); 
695        }) 
696
697
698}); 
699 
700 
701 
702app.controller('PBEN-Ctrl-registrazione-step-1', ['$scope', '$q', 'migrazioneService', function ($scope, $q, migrazioneService) { 
703 
704	$scope.username = ""; 
705	$scope.email = ""; 
706	$scope.password = ""; 
707	$scope.confermaPassword = ""; 
708	$scope.nome = ""; 
709	$scope.cognome = ""; 
710	$scope.telefono = ""; 
711	$scope.cellulare = ""; 
712	$scope.azienda = ""; 
713	$scope.codiceFiscale = ""; 
714	$scope.sesso = ""; 
715	$scope.dataNascita = ""; 
716	$scope.nazioni = []; 
717	$scope.province = []; 
718	$scope.indirizzoNascita = { 
719		"citta":"", 
720		"cittaIntera":"", 
721		"provincia":"", 
722		"nazione":"", 
723		"codComune": "", 
724		"codProvincia": "", 
725		"codNazione":"" 
726	}; 
727	$scope.selectedNazioneNascita; 
728	$scope.selectedProvinciaNascita; 
729	$scope.indirizzoCorrispondenza = { 
730		citta:"", 
731		cittaIntera:"", 
732		provincia:"", 
733		nazione:"", 
734		codComune: "", 
735		codProvincia: "", 
736		codNazione:"" 
737	}; 
738	$scope.selectedNazioneCorrispondenza; 
739	$scope.selectedProvinciaCorrispondenza; 
740	$scope.liberatoria = ""; 
741	$scope.statistiche = ""; 
742	$scope.profilazione = ""; 
743	$scope.conferma = "0"; 
744	$scope.utenzaNuovaTrovata = false; 
745	$scope.passwordunisci = "xxxxxxxx"; 
746	$scope.isSubmitting = false; 
747	 
748	$scope.submittedCion = false; 
749	$scope.submitting = false; 
750 
751	<#--  MANNAGGIA - URGE REFACTOR --> 
752	$scope.LBL_SUCCESSO_FORM=false; 
753	$scope.LBL_ERRORE_CODICE_FISCALE=false; 
754	$scope.LBL_ERRORE_UTENTE_NON_CONFERMATO=false; 
755	$scope.LBL_ERRORE_UTENTE_PRESENTE=false; 
756	$scope.LBL_ERRORE_INTERNO=false; 
757	$scope.LBL_MAIL_NOT_VALID=false; 
758	$scope.LBL_ERRORE_RECUPERO_BENEFICIARIO=false; 
759	$scope.LBL_ERRORE_PRODOTTO_REGISTRED=false; 
760	$scope.LBL_ERRORE_PRODOTTO_REGISTRED_ALTRO_CIRCUITO=false; 
761	 
762	 
763	$scope.checkEsistenzaUtenza = checkEsistenzaUtenza; 
764	 
765	$scope.portletNamespace 
766	$scope.resourceUrl; 
767	 
768	 
769	function checkEsistenzaUtenza() { 
770		if(!$scope.userForm.email.$pristine && !$scope.userForm.email.$invalid){ 
771			$scope.submitting = true; 
772			return migrazioneService.checkBeneficiarioExist($scope.resourceUrl, $scope.portletNamespace, $scope.email) 
773			.then(function(data) { 
774				console.log("checkEsistenzaUtenza", data); 
775				if(data != null && data != "undefined" && data != "" && data["code"] == '200' ){ 
776					console.log("if", data["message"]); 
777					$scope.utenzaNuovaTrovata = data["message"] == "true" ? true : false; 
778					if ($scope.utenzaNuovaTrovata) { 
779						$scope.password = ""; 
780
781
782				else { 
783					console.log("else", false); 
784					$scope.utenzaNuovaTrovata = false; 
785
786			}).catch(function(data) { 
787				console.log("catch", false); 
788				$scope.utenzaNuovaTrovata = false; 
789			}).finally(function() { 
790				$scope.submitting = false; 
791			}); 
792
793
794 
795 
796	$scope.selectNazione = function(indirizzo) { 
797		for (var nazioneIndex in this.nazioni) { 
798			if (indirizzo && 
799				indirizzo.codNazione && 
800				this.nazioni[nazioneIndex].codiceStato == indirizzo.codNazione) { 
801					switch(indirizzo) { 
802						case this.indirizzoNascita: 
803							$scope.selectedNazioneNascita = this.nazioni[nazioneIndex]; 
804						break; 
805						case this.indirizzoCorrispondenza: 
806							$scope.selectedNazioneCorrispondenza = this.nazioni[nazioneIndex]; 
807						break; 
808						case this.indirizzoResidenza: 
809							$scope.selectedNazioneResidenza = this.nazioni[nazioneIndex]; 
810						break; 
811
812
813
814		$scope.$apply(); 
815
816	 
817	 
818	$scope.selectProvincia = function(indirizzo) { 
819		for (var provinciaIndex in this.province) { 
820			if (indirizzo && 
821				indirizzo.codProvincia && 
822				this.province[provinciaIndex].codiceProvincia == indirizzo.codProvincia) { 
823					switch(indirizzo) { 
824						case this.indirizzoNascita: 
825							$scope.selectedProvinciaNascita = this.province[provinciaIndex]; 
826						break; 
827						case this.indirizzoCorrispondenza: 
828							$scope.selectedProvinciaCorrispondenza = this.province[provinciaIndex]; 
829						break; 
830						case this.indirizzoResidenza: 
831							$scope.selectedProvinciaResidenza = this.province[provinciaIndex]; 
832						break; 
833
834
835
836		$scope.$apply(); 
837
838	 
839	 
840	$scope.submitForm = function(isValid) { 
841		$scope.submitting = true; 
842		if(!$scope.submittedCion){ 
843			if (isValid) { 
844				jQuery('#error_message').addClass("hidden"); 
845				$scope.submitted = true; 
846				$scope.submittedCion = true; 
847				$('form#datiRegistrazioneBeneficiario').submit(); 
848
849			else { 
850				angular.forEach($scope.userForm.$error.required, function(field) { 
851					jQuery('#error_message').removeClass("hidden"); 
852					field.$setDirty();	 
853				});	 
854				$scope.submitting = false; 
855
856
857	}; 
858	 
859    
860    $scope.svuotaNazione = function(selectedNazione, indirizzo) { 
861		//alert("svuotaNazione"); 
862		if(selectedNazione == undefined || selectedNazione.codiceStato != 'ITL') 
863
864			indirizzo.citta = ""; 
865			indirizzo.cittaIntera = ""; 
866			indirizzo.cap = ""; 
867			indirizzo.codComune = ""; 
868			indirizzo.codProvincia = ""; 
869			indirizzo.codNazione = ""; 
870			indirizzo.civico = ""; 
871			indirizzo.indirizzo = ""; 
872			 
873			switch(indirizzo) { 
874						case this.indirizzoNascita: 
875							$scope.selectedProvinciaNascita = undefined; 
876						break; 
877						case this.indirizzoCorrispondenza: 
878							$scope.selectedProvinciaCorrispondenza = undefined; 
879						break; 
880						case this.indirizzoResidenza: 
881							$scope.selectedProvinciaResidenza = undefined; 
882						break; 
883					}	 
884
885
886	 
887	 
888	$scope.switchForm = function(value) { 
889		if(value == 1){ 
890			$(".conferma").removeClass("hidden").fadeIn();  
891			$(".registra").addClass("hidden").fadeIn();  
892
893		else if(value == 0){ 
894			$(".registra").removeClass("hidden").fadeIn();  
895			$(".conferma").addClass("hidden").fadeIn();  
896
897
898	 
899	 
900	$scope.switchFormView = function() { 
901		$(".registra, .conferma").toggleClass("hidden").fadeIn(); 
902		$(document).scrollTop( $("#header").offset().top );   
903
904	 
905	 
906	$scope.updateComune = function(indirizzo, codComune, codProvincia, callback, flgVisibilita) { 
907		var _indirizzo = indirizzo; 
908		var _scope = this; 
909		getComuniFromStradarioPortlet(codProvincia, flgVisibilita, 
910			function(listaComuni) { 
911				//alert("Update bello "+flgVisibilita); 
912				var comune; 
913				//console.log(JSON.stringify(listaComuni) + " codComune: " + codComune);				 
914				for (var comuneId in listaComuni) { 
915					if (listaComuni[comuneId].codiceComune == codComune) { 
916						//console.log(" codComune: " + codComune);	 
917						comune = listaComuni[comuneId]; 
918						//console.log(listaComuni[comuneId].denominazioneAbbreviataComune);	 
919						_indirizzo.citta = listaComuni[comuneId].denominazioneAbbreviataComune; 
920						_indirizzo.cittaIntera = listaComuni[comuneId].denominazioneComune; 
921						//_indirizzo.codComune = listaComuni[comuneId].codiceComune;		 
922						//console.log("updated comune"); 
923						$scope.$apply(); 
924						//console.log($scope.indirizzoNascita); 
925						break; 
926
927
928 
929				if ( callback) { 
930					callback(_scope); 
931
932			}  
933		); 
934	}; 
935	 
936	 
937	$scope.updateNazioni = function(nazioniList) { 
938		this.nazioni = nazioniList; 
939        <#-- this.selectedNazioneNascita = {nazione:'ITALY', codiceStato:'ITL'}; --> 
940		<#-- this.selectedNazioneCorrispondenza = {nazione:'ITALY', codiceStato:'ITL'}; --> 
941
942	 
943	 
944	$scope.updateProvince = function(provinceList) { 
945		this.province = provinceList; 
946
947	 
948	 
949	$scope.updateStrada = function(indirizzo, codStrada, cap, callback) { 
950		var _indirizzo = indirizzo; 
951		getStradeByCapFromStradarioPortlet(cap, 
952			function(stradeResult) { 
953				var via; 
954				for (var stradaIndex in stradeResult) { 
955					if (stradeResult[stradaIndex].codice == codStrada) { 
956						_indirizzo.via = stradeResult[stradaIndex].descBreveComposta; 
957						//console.log("updated strada"); 
958						$scope.$apply(); 
959						$("#greyLayout").hide(); 
960						break; 
961
962
963				if ( callback ) { 
964					callback(); 
965				}		 
966
967		); 
968	}; 
969	 
970	 
971	$scope.updateUserData = function(userObject, callback) { 
972		<#-- console.log("updateUserData", userObject); --> 
973		 
974		this.utenzaNuovaTrovata = utenzaNuovaTrovata; 
975		 
976		this.username = userObject.username; 
977		<#-- this.password = userObject.password; --> 
978		<#-- this.confermaPassword = userObject.password; --> 
979		this.nome = userObject.nome; 
980		this.cognome = userObject.cognome; 
981		this.dataNascita = userObject.dataNascita ? jQuery.datepicker.formatDate('dd/mm/yy', new Date(userObject.dataNascita)) : "";			 
982		this.sesso = userObject.sesso; 
983		this.codiceFiscale = userObject.codFiscale; 
984		this.azienda = userObject.azienda; 
985		this.funzioneAziendale = userObject.funzAziendale; 
986		this.email = userObject.email; 
987		this.telefono = userObject.telefono; 
988		this.cellulare = userObject.cellulare; 
989		this.liberatoria = !!userObject.consensoDati; 
990		this.statistiche = userObject.consensoMarketing; 
991		this.profilazione = userObject.consensoProfilazione; 
992		 
993	 
994		<#-- for (var nazioneIndex in this.nazioni) { 
995			if (this.nazioni[nazioneIndex].codiceStato == userObject.nascitaNazione) { 
996					this.selectedNazioneNascita = this.nazioni[nazioneIndex]; 
997					break; 
998
999
1000		if(userObject.nascitaProvincia){ 
1001			for (var provinciaIndex in this.province) { 
1002				if (this.province[provinciaIndex].codiceProvincia == userObject.nascitaProvincia) { 
1003						this.selectedProvinciaNascita = this.province[provinciaIndex]; 
1004						break; 
1005
1006
1007
1008		for (var nazioneIndex in this.nazioni) { 
1009			if (this.nazioni[nazioneIndex].codiceStato == userObject.domicNazione) { 
1010					this.selectedNazioneCorrispondenza = this.nazioni[nazioneIndex]; 
1011					break; 
1012
1013
1014		if(userObject.domicProvincia){ 
1015			for (var provinciaIndex in this.province) { 
1016				if (this.province[provinciaIndex].codiceProvincia == userObject.domicProvincia) { 
1017						this.selectedProvinciaCorrispondenza = this.province[provinciaIndex]; 
1018						break; 
1019
1020
1021
1022		$scope.$apply(); --> 
1023		 
1024		 
1025		this.indirizzoNascita = {	 
1026			"codNazione": userObject.nascitaNazione, 
1027			"codProvincia": userObject.nascitaProvincia, 
1028			"codComune": userObject.nascitaComune, 
1029		}; 
1030 
1031		var _codComuneNascita = userObject.nascitaComune; 
1032		var _codProvinciaNascita = userObject.nascitaProvincia; 
1033		var _codNazioneNascita = userObject.nascitaNazione; 
1034		 
1035		this.indirizzoCorrispondenza = { 
1036			"codNazione": userObject.domicNazione, 
1037			"codProvincia": userObject.domicProvincia, 
1038			"codComune": userObject.domicComune, 
1039			"cap": userObject.domicCap, 
1040			"indirizzo": userObject.domicIndirizzo, 
1041			"civico": userObject.domicCivico 
1042		}; 
1043 
1044		var _codComuneCorrispondenza = userObject.domicComune; 
1045		var _codProvinciaCorrispondenza = userObject.domicProvincia; 
1046		var _codNazioneCorrispondenza = userObject.domicNazione; 
1047		 
1048		var clb = function(angularScope) { 
1049			var _codStradaCorrispondenza = userObject.domicStrada; 
1050			var _capCorrispondenza = userObject.domicCap; 
1051 
1052			var clb1 = function() { 
1053				$scope.$apply(); 
1054 
1055				if (callback) { 
1056					callback(); 
1057
1058 
1059			}; 
1060			 
1061			clb1(); 
1062
1063		if (userObject.nascitaProvincia && userObject.nascitaComune) { 
1064			<#-- console.log("updating comune Nascita with code -> " + _codComuneNascita + " and codProvinciaNascita -> " + _codProvinciaNascita); --> 
1065			<#-- console.log($scope.indirizzoNascita); --> 
1066			$scope.updateComune($scope.indirizzoNascita, _codComuneNascita, _codProvinciaNascita, clb, "TUTTI"); 
1067		} else { 
1068		   clb(); 
1069
1070		if (userObject.domicProvincia && userObject.domicComune) { 
1071			<#-- console.log("updating comune Corrispondenza with code -> " + _codComuneCorrispondenza + " and codProvinciaCorrispondenza -> " + _codProvinciaCorrispondenza); --> 
1072			$scope.updateComune($scope.indirizzoCorrispondenza, _codComuneCorrispondenza, _codProvinciaCorrispondenza, clb, "VISIBILE"); 
1073		} else { 
1074		   clb(); 
1075
1076	}; 
1077	 
1078}]); 
1079 
1080 
1081var Globali = {}; 
1082Globali.path_images = "${theme_images_path}";  
1083 
1084function getDatiConferma(username, success, failure) { 
1085	success(jsonObj["anagrafica"]); 
1086
1087 
1088AUI().ready( function(){ 
1089	angular.bootstrap(document.getElementById("datiRegistrazioneBeneficiario"),['registrazione-step-1']);	 
1090	 
1091	var angularScope = angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope();  
1092	 
1093	angularScope.resourceUrl = getRegioniResourceUrl; 
1094	angularScope.portletNamespace = portletNamespace; 
1095	<#-- angularScope.checkEsistenzaUtenza(); --> 
1096	 
1097	var messageId = $('#message-register-user').text(); 
1098	if(messageId){ 
1099		angularScope[messageId]=true; 
1100		angularScope.$apply(); 
1101
1102	<#-- $('#'+messageId).removeClass("hidden"); --> 
1103 
1104	if(jsonObj && jsonObj["anagrafica"] && jsonObj["anagrafica"].circCd != "0000") 
1105		angularScope.conferma = "1"; 
1106	 
1107	 
1108	<#--  Controllo disabilitato per permettere il salvataggio dei dati inseriti --> 
1109	<#-- if(angularScope.conferma != "1") { --> 
1110		var beneficiarioValues = $('#user-field-values').text(); 
1111		if (beneficiarioValues && beneficiarioValues != "null") { 
1112			jsonObj = jQuery.parseJSON(beneficiarioValues); 
1113			<#-- json.dataNascita = json.dataNascita ? jQuery.datepicker.formatDate('dd/mm/yy', new Date(json.dataNascita)) : ""; --> 
1114			<#-- console.log("json", jsonObj); --> 
1115			angularScope.updateUserData(jsonObj,""); 
1116			if (jsonObj.nascitaComune) 
1117				$('#comunenascita').removeAttr("readonly"); 
1118			if (jsonObj.domicComune) 
1119				$('#comunecorrispondenza').removeAttr("readonly"); 
1120
1121	<#-- } --> 
1122	 
1123	<#-- if(jsonObj) { --> 
1124		 
1125		<#-- var username = jsonObj["anagrafica"].username; --> 
1126	 
1127		doExecuteFunctionWithTimeout(10000,false, 
1128			 
1129	 
1130			function(checkIfCanProceed){ 
1131	 
1132	 
1133				<#-- getDatiConferma( 
1134					username, 
1135					function(userObject){ --> 
1136						if ( checkIfCanProceed() ) { 
1137							<#-- console.log("checkIfCanProceed"); --> 
1138							var angularScope = angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope();  
1139							var clb = function(){ 
1140								getNazioniFromStradarioPortlet(function(listaNazioni){           
1141									<#-- console.log("getNazioniFromStradarioPortlet", listaNazioni); --> 
1142                                    angularScope.updateNazioni(listaNazioni); 
1143                                    angularScope.selectNazione(angularScope.indirizzoNascita); 
1144									angularScope.selectNazione(angularScope.indirizzoCorrispondenza); 
1145                                     
1146                                    getProvinceFromStradarioPortlet(function(listaProvince){							 
1147										angularScope.updateProvince(listaProvince); 
1148										angularScope.selectProvincia(angularScope.indirizzoNascita); 
1149										doEnhanceStradarioPortlet(angularScope,"provincianascita","capnascita","comunenascita","indirizzonascitaX","indirizzonascita-spinnerX","civiconascitaX",{ 
1150											getIndirizzo: function() { return angularScope.indirizzoNascita; }, 
1151											getSelectedProvincia: function() { return angularScope.selectedProvinciaNascita; } 
1152										}, "TUTTI"); 
1153										angularScope.selectProvincia(angularScope.indirizzoCorrispondenza); 
1154										doEnhanceStradarioPortlet(angularScope,"provinciacorrispondenza","capcorrispondenza","comunecorrispondenza","indirizzocorrispondenzaX","indirizzocorrispondenza-spinnerX","civicocorrispondenzaX",{ 
1155											getIndirizzo: function() { return angularScope.indirizzoCorrispondenza; }, 
1156											getSelectedProvincia: function() { return angularScope.selectedProvinciaCorrispondenza; } 
1157										}, "VISIBILE"); 
1158									}); 
1159                                });						 
1160							}; 
1161							<#-- console.log("angularScope", jsonObj && jsonObj["anagrafica"]); --> 
1162							if(jsonObj && jsonObj["anagrafica"]) 
1163								angularScope.updateUserData(jsonObj["anagrafica"],clb); 
1164							else 
1165								clb(); 
1166	 
1167	 
1168						}<#--  
1169					}, function(resCode) { 
1170						if ( checkIfCanProceed() ){ 
1171							console.log("ERROR: getDatiConferma resultCode -> " + resCode); 
1172							angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope().selectProvincia(this.indirizzoNascita); 
1173							angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope().selectProvincia(this.indirizzoCorrispondenza); 
1174                             
1175							angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope().selectNazione(this.indirizzoNascita); 
1176							angular.element(document.getElementById('datiRegistrazioneBeneficiario')).scope().selectNazione(this.indirizzoCorrispondenza); 
1177
1178
1179				); --> 
1180	 
1181	 
1182			}, 
1183	 
1184			function(){  
1185				 
1186				jQuery('#datiRegistrazioneBeneficiario').hide(); 
1187				alert("Il server non ha risposto nei tempi massimi previsti. Aggiornare la pagina e in caso di persistenza di questo messaggio avvertire l'assistenza",false,true); 
1188				 
1189	 
1190			}); 
1191	 
1192	<#-- } --> 
1193	<#-- else{ 
1194		getNazioniFromStradarioPortlet(function(listaNazioni){  
1195			console.log("getNazioniFromStradarioPortlet", listaNazioni); 
1196			angularScope.updateNazioni(listaNazioni); 
1197			angularScope.selectNazione(angularScope.indirizzoNascita); 
1198			angularScope.selectNazione(angularScope.indirizzoCorrispondenza); 
1199			 
1200			getProvinceFromStradarioPortlet(function(listaProvince){			 
1201				console.log("getProvinceFromStradarioPortlet", listaProvince); 
1202				angularScope.updateProvince(listaProvince); 
1203				angularScope.selectProvincia(angularScope.indirizzoNascita); 
1204				doEnhanceStradarioPortlet(angularScope,"provincianascita","capnascita","comunenascita","indirizzonascitaX","indirizzonascita-spinnerX","civiconascitaX",{ 
1205					getIndirizzo: function() { return angularScope.indirizzoNascita; }, 
1206					getSelectedProvincia: function() { return angularScope.selectedProvinciaNascita; } 
1207				}, "TUTTI"); 
1208				angularScope.selectProvincia(angularScope.indirizzoCorrispondenza); 
1209				doEnhanceStradarioPortlet(angularScope,"provinciacorrispondenza","capcorrispondenza","comunecorrispondenza","indirizzocorrispondenzaX","indirizzocorrispondenza-spinnerX","civicocorrispondenzaX",{ 
1210					getIndirizzo: function() { return angularScope.indirizzoCorrispondenza; }, 
1211					getSelectedProvincia: function() { return angularScope.selectedProvinciaCorrispondenza; } 
1212				}, "VISIBILE"); 
1213			}); 
1214		});						 
1215		updateWithOldValues(); 
1216	} --> 
1217	 
1218 
1219	angularScope.switchForm(angularScope.conferma); 
1220	 
1221	 
1222	$("#ptl-registrazione-step-1").removeClass("hidden").fadeIn(); 
1223	<#-- $("#greyLayout").hide(); --> 
1224	 
1225	<#-- function updateWithOldValues(){ 
1226		var beneficiarioValues = $('#user-field-values').text(); 
1227		if (beneficiarioValues) { 
1228			var json = jQuery.parseJSON(beneficiarioValues); 
1229			## json.dataNascita = json.dataNascita ? jQuery.datepicker.formatDate('dd/mm/yy', new Date(json.dataNascita)) : ""; 
1230			console.log("json", json); 
1231			angularScope.updateUserData(json,""); 
1232			if (json.nascitaComune) 
1233				$('#comunenascita').removeAttr("readonly"); 
1234			if (json.domicComune) 
1235				$('#comunecorrispondenza').removeAttr("readonly"); 
1236
1237	} --> 
1238}); 
1239 
1240 
1241 
1242(function() { 
1243	'use strict'; 
1244 
1245	angular 
1246		.module('registrazione-step-1') 
1247		.factory('migrazioneService', migrazioneService); 
1248	 
1249	migrazioneService.$inject = ['$http', '$q']; 
1250		 
1251	function migrazioneService($http, $q) {	 
1252		var service = { 
1253			checkBeneficiarioExist: checkBeneficiarioExist 
1254		}; 
1255		return service; 
1256 
1257		function checkBeneficiarioExist(resourceUrl, portletNamespace, email) {										 
1258			var deferred = $q.defer(); 
1259			var methodName = "checkBeneficiarioExist"; 
1260			var data = 	portletNamespace + "ope=" + methodName + "&" + portletNamespace + "email=" + email; 
1261			var config = { 
1262						headers : { 
1263							'Content-Type': 'application/x-www-form-urlencoded' 
1264
1265
1266			<#-- console.log(resourceUrl); --> 
1267			<#-- console.log(data); --> 
1268			<#-- console.log(config); --> 
1269			$http.post(resourceUrl, data, config) 
1270				.then(beneficiarioExist) 
1271				.catch(checkBeneficiarioExistFailed); 
1272 
1273			function beneficiarioExist(response) { 
1274				console.log('beneficiarioExist', response.data); 
1275				return deferred.resolve(response.data); 
1276
1277 
1278			function checkBeneficiarioExistFailed(error) { 
1279				console.log('checkBeneficiarioExistFailed ' + error); 
1280				return $q.reject(error); 
1281
1282			 
1283			return deferred.promise; 
1284
1285		 
1286
1287 
1288})(); 
1289 
1290 
1291 
1292(function() { 
1293	'use strict'; 
1294 
1295	angular 
1296		.module('registrazione-step-1') 
1297		.directive("rpattern", function() { 
1298			return { 
1299				restrict: "A", 
1300				require: "ngModel", 
1301				link: function(scope, el, attrs, ngModel) { 
1302					var validator, patternValidator, 
1303						pattern = attrs.rpattern, 
1304						required = true; 
1305						<#-- console.log("rpattern" , pattern); --> 
1306					if( pattern ) { 
1307						if (pattern.match(/^\/(.*)\/$/)) { 
1308							pattern = new RegExp(pattern.substr(1, pattern.length - 2)); 
1309							patternValidator = function(value) { 
1310								return validate(pattern, value) 
1311							}; 
1312
1313						else { 
1314							patternValidator = function(value) { 
1315								var patternObj = scope.$eval(pattern); 
1316								if (!patternObj || !patternObj.test) { 
1317									throw new Error('Expected ' + pattern + ' to be a RegExp but was ' + patternObj); 
1318
1319								return validate(patternObj, value); 
1320							}; 
1321
1322
1323					 
1324					ngModel.$formatters.push(patternValidator); 
1325					ngModel.$parsers.push(patternValidator); 
1326					 
1327					attrs.$observe("required", function(newval) { 
1328						<#-- console.log("rpattern" , newval); --> 
1329						required = newval; 
1330						patternValidator(ngModel.$viewValue); 
1331					}); 
1332					 
1333					function validate(regexp, value) { 
1334						if( value == null || value === "" || !required || regexp.test(value) ) { 
1335							ngModel.$setValidity('pattern', true); 
1336							<#-- console.log("rpattern validate" , !required || regexp.test(value)) --> 
1337							<#-- console.log("rpattern validate true" , value); --> 
1338							return value; 
1339
1340						else { 
1341							ngModel.$setValidity('pattern', false); 
1342							<#-- console.log("rpattern validate" , !required || regexp.test(value)) --> 
1343							<#-- console.log("rpattern validate false" , value); --> 
1344							return value; 
1345
1346
1347
1348			}; 
1349		}); 
1350 
1351})(); 
1352 
1353 
1354(function() { 
1355	'use strict'; 
1356 
1357	angular 
1358		.module('registrazione-step-1') 
1359		.directive("cpattern", function() { 
1360			return { 
1361				restrict: "A", 
1362				require: "ngModel", 
1363				link: function(scope, el, attrs, ngModel) { 
1364					var validator, patternValidator, 
1365						pattern = attrs.cpattern, 
1366						condition = false; 
1367						<#-- console.log("cpattern" , pattern); --> 
1368					if( pattern ) { 
1369						if (pattern.match(/^\/(.*)\/$/)) { 
1370							pattern = new RegExp(pattern.substr(1, pattern.length - 2)); 
1371							patternValidator = function(value) { 
1372								<#-- console.log("pattern" + pattern + value); --> 
1373								return validate(pattern, value) 
1374							}; 
1375
1376						else { 
1377							patternValidator = function(value) { 
1378								var patternObj = scope.$eval(pattern); 
1379								if (!patternObj || !patternObj.test) { 
1380									throw new Error('Expected ' + pattern + ' to be a RegExp but was ' + patternObj); 
1381
1382								<#-- console.log("patternObj"); --> 
1383								return validate(patternObj, value); 
1384							}; 
1385
1386
1387					 
1388					ngModel.$formatters.push(patternValidator); 
1389					ngModel.$parsers.push(patternValidator); 
1390					 
1391					attrs.$observe("condition", function(newval) { 
1392						<#-- console.log("cpattern interpolated condition " + condition); --> 
1393						<#-- console.log("cpattern interpolated newval " + newval); --> 
1394						condition = (newval === true || newval == "true"); 
1395						<#-- console.log("cpattern interpolated new condition " + condition); --> 
1396						patternValidator(ngModel.$viewValue); 
1397						<#-- console.log("observe " + condition + " " + ngModel.$viewValue); --> 
1398					}); 
1399					 
1400					function validate(regexp, value) { 
1401						<#-- console.log("validate " + regexp + " " + value + " condition " + condition + " condizioni (value == null)" + (value == null) + " (value === '')" + (value === "") + " (condition)" + condition + " (!condition)" + (!condition) + " regexp.test(value)" + regexp.test(value)); --> 
1402						if( value == null || value === "" || !condition || regexp.test(value) ) { 
1403							ngModel.$setValidity('pattern', true); 
1404							<#-- console.log("cpattern validate" , !condition || regexp.test(value)) --> 
1405							<#-- console.log("cpattern validate true" , value); --> 
1406							return value; 
1407
1408						else { 
1409							ngModel.$setValidity('pattern', false); 
1410							<#-- console.log("cpattern validate" , !condition || regexp.test(value)) --> 
1411							<#-- console.log("cpattern validate false" , value); --> 
1412							return; 
1413
1414
1415
1416			}; 
1417		}); 
1418 
1419})(); 
1420 
1421 
1422</script> 

Informativa Cookie Informativa Cookie

Tema Tema

Theme Substitute