2013 iteration
[angular-mojolicious.git] / public / app / conference / registration.html
1 <!DOCTYPE HTML>
2 <html xmlns:ng="http://angularjs.org">
3 <head>
4 <meta charset="utf-8">
5 <script src="angular.js" ng:autobind></script>
6
7 <title>Conference registration</title>
8
9 <script src="database.js"></script>
10 <script src="registration.js"></script>
11
12 <style type="text/css">
13
14 body {
15         background: #F6F6F6;
16         margin: 40px;
17         font-family: Arial;
18         color: #374E5A;
19         font-size: 14px;
20         line-height: 16px;
21 }
22
23
24 label {
25         display: block;
26         color: #D74F25;
27         color: #374E5A;
28         color: #afafaf;
29         margin-top: 10px;
30         font-size: 14px;
31         font-family: Arial;
32 }
33 h1 {
34 /*      margin-bottom: 6px;     */
35         padding-left: 20px;
36         font: 18px arial;
37         color: #0c1426;
38         text-decoration: none;
39         display: block;
40         background: url(http://mjesec.ffzg.hr/drzb2011/images/kvadrat.gif) no-repeat left;
41         border-bottom: 1px solid #CCC;
42 }
43 h2 {
44         margin-top: 60px;
45         font-size: 14px;
46         padding: 2px 0;
47         border-bottom: 2px solid #D74F25;
48         border-bottom: 1px solid #46d0fe;
49 }
50
51 a {
52         color: #D74F25;
53 }
54
55 label {
56         color: #374E5A;
57 }
58
59 .input {
60         color: #afafaf;
61         float: left;
62         margin: 2px;
63         padding: 0 6px;
64 }
65
66 .input1 {
67         width: 40.8em;
68 }
69
70 .input2 {
71         width: 8em;
72 }
73
74 .input3 {
75         width: 13em;
76 }
77 .input4 {
78         width: 10em;
79 }
80
81 .input5 {
82         width: 21.4em;
83 }
84 .input6 {
85         width: 6.3em;
86 }
87
88 .clear {
89         clear: both;
90 }
91
92
93 .authors {
94         clear: both;
95         margin-bottom: 6px;
96 }
97
98 .addPerson {
99         color: #D74F25;
100         color: #EDC8BC;
101         color: #EAB3A2;
102         font-size: 90%;
103 }
104
105 input, textarea, .gohome {
106         font: 14px arial;
107         color: #000000;
108         border: solid 1px #dedede;
109         padding: 6px;
110         background: #f6f6f6;
111 }
112
113 input:focus, textarea:focus
114 {
115         
116         background: #ffffff;
117         font-family: arial;
118         color: #000000;
119 /*      border: 1px solid #46d0fe; */
120 }
121
122 .ng-validation-error {
123         border: 1px solid #FF6666;
124         border: 1px solid #EDC8BC;
125         border: 1px solid #FF9966;
126         border: 1px solid #EAB3A2;
127         border: 1px solid #D74F25;
128         border: 1px solid #DC6844;
129         border: 1px solid #DE7F61;
130 }
131
132
133
134 #work, #submission {
135         margin-bottom: 20px;
136 }
137
138 .button {
139         margin-top: 20px;
140         width: 40.8em;
141 }
142
143 .button input {
144         margin-bottom: 10px;
145         float: left;
146         color: #ffffff;
147         display: block;
148         text-decoration: none;
149         background: #d74f25;
150 }
151
152 .button input:hover, .gohome:hover {
153         background: #dc6844;
154 }
155
156 .button2 input {
157         background: #F6F6F6;
158         color: #374E5A;
159         border: 1px solid #d74f25;
160         display: inline;
161         float: none;
162 }
163
164
165 .gohome  {
166         float: left;
167         color: #ffffff;
168         display: block;
169         text-decoration: none;
170         background: #d74f25;
171         padding: 7px;
172 }
173
174 .gohome a {
175         color: #fff;
176         text-decoration: none;
177 }
178
179 .list {
180         margin-top: 20px;
181         font-weight: bold;
182 }
183
184 .warrning {
185         color: #FF6666;
186 }
187
188 .sworks {
189         margin-top: 20px;
190 }
191
192
193 .newWork {
194         clear: left;
195         margin-top: 50px;
196 }
197 .saved {
198         margin-bottom: 20px;
199         margin-top: 20px;
200 }
201 .saved2 {
202         color: #374E5A;
203         color: #d74f25;
204         font-weight: bold;
205         font-style: italic;
206         display: block;
207 }
208 .saved3 {
209         color: #374E5A;
210         font-weight: normal;
211         margin-top: 20px;
212 }
213 .footer {
214         height: 10px;
215 }
216 hr {
217         border: 1px solid #ccc;
218 }
219 </style>
220
221
222 </head>
223 <body>
224
225
226 <h1>Registration and Proposal Submission</h1>
227
228 <div>
229 <p>Svi sudionici skupa, bez obzira na to jesu li izlagači, suautori ili slušači, trebaju prijaviti svoje sudjelovanje kroz sustav elektroničke prijave.</p>
230  
231 <p>Sažetak izlaganja/postera prijavljuje samo prvi autor, odnosno onaj autor koji će rad izložiti. Ostali suautori prilikom prijave na skup ne trebaju prijaviti sažetak, nego se samo registrirati.</p>
232  
233 <p>Organizatori simpozija/okruglog stola prijavljuju i sažetak simpozija i/ili okruglog stola,  i sažetak svakog pripadajućeg rada. Autori radova unutar simpozija ne prijavljuju pojedinačno svoje sažetke.</p>
234  
235 <p>Duljina sažetka ne može prelaziti 2000 znakova.</p>
236
237 <p>Jedna osoba može biti autor u najviše tri rada, pri čemu na samo jednom može biti prvi ili jedini autor.</p>
238
239 </div>
240
241
242 <div class="root" ng:controller="Registration" ng:init="$window.$root = this;">
243
244
245 <div ng:show="last_saved.$id || symposium">
246         <h2>{{registration.person.name}} {{registration.person.surname}}</h2>
247 </div>
248
249
250 <div id="participant" ng:show="! last_saved.$id && ! symposium">
251         <h2>Contact Information</h2>
252         <div class="labelTop">
253                 <div class="input input4">First name</div>
254                 <div class="input input4">Surname</div>
255         </div>
256         <div style="clear: both">
257                 <input class="input4" name="registration.person.name" ng:required>
258                 <input class="input4" name="registration.person.surname" ng:required>
259         </div>
260         <div class="labelTop">
261                 <div class="input input5">Institution</div>
262         </div>  
263         <div style="clear: both">
264                 <input class="input5" name="registration.person.inst">
265         </div>
266         <div class="labelTop">
267                 <div class="input input5">Address</div>
268         </div>  
269         <div style="clear: both">
270                 <input class="input5" name="registration.person.address1" ng:required>
271         </div>
272         <div class="labelTop">
273                 <div class="input input6">City</div>
274                 <div class="input input6">ZIP</div>
275                 <div class="input input6">Country</div>
276         </div>
277         <div style="clear: both">
278                 <input class="input6" name="registration.person.city" ng:required>
279                 <input class="input6" name="registration.person.zip">
280                 <input class="input6" name="registration.person.country">
281         </div>
282         <div class="labelTop">
283                 <div class="input input4">E-mail</div>
284                 <div class="input input4">Phone number</div>
285         </div>
286         <div style="clear: both">
287                 <input class="input4" name="registration.person.email" ng:validate="email" ng:required>
288                 <input class="input4" name="registration.person.phone">
289         </div>
290 </div>
291
292
293 <div id="submission" ng:show="registration.type != 'symposium' && ! last_saved.$id">
294         <div>
295                 <h2>Registration Type</h2>
296                 <label><input type="radio" name="registration.type" value="participant" ng:required>Attendance with no presentation</label>
297                 <label><input type="radio" name="registration.type" value="sparticipant" ng:required>Symposium participant</label>
298                 <label><input type="radio" name="registration.type" value="symposium" ng:required>Symposium organizer</label>
299                 <label><input type="radio" name="registration.type" value="lecture" ng:required>Oral presentation</label>
300                 <label><input type="radio" name="registration.type" value="poster" ng:required>Poster presentation</label>
301                 <label><input type="radio" name="registration.type" value="round" ng:required>Round table discussion</label>
302         </div>
303 </div>
304
305         <!-- dodano za syposium participants -->
306         <div ng:show="registration.type == 'sparticipant' && ! last_saved.$id">
307                 <h2>Symposia</h2>
308                 <label for="registration.sympattend">Topic:</label>
309                 <input class="input1" name="registration.sympattend" ng:required>
310         </div>
311
312
313 <div id="work" ng:show="registration.type != 'participant' && registration.type != 'sparticipant'">
314 <div ng:show="registration.type == 'symposium' && ! last_saved.$id && registration.symposium.work_nr < 2">
315
316         <h2>Symposia</h2>
317         <label for="registration.symposium.title">Topic:</label>
318                 <input class="input1" name="registration.symposium.title" ng:required>
319         <label>Organizer:</label>
320                 <div class="input input2">First name</div><div class="input input2">Surname</div><div class="input input3">Institution</div><div class="input input2">E-mail</div>
321                 <div class="clear" ng:repeat="organizer in registration.symposium.organizers">
322                 <input class="input2" name="organizer.name" ng:required>
323                 <input class="input2" name="organizer.surname" ng:required>
324                 <input class="input3" name="organizer.inst" >
325                 <input class="input2" name="organizer.email" ng:required ng:validate="email">
326                 <a href="" ng:click="registration.symposium.organizers.$remove(organizer)">X</a>
327                 </div>
328         <a class="addPerson" href="" ng:click="registration.symposium.organizers.$add()">Add another organizer</a>
329         <label>Summary ({{registration.symposium.abstract.length}}/2000 characters max.)</label>
330                 <textarea class="input1" name="registration.symposium.abstract" rows="10" ng:validate="max_length:2000" ng:required></textarea>
331 </div>
332
333
334 <div ng:show="registration.type && ! last_saved.$id">
335
336                 <div ng:show="symposium">
337                         <b>Symposium:</b> {{registration.symposium.title}}
338                         <blockquote>
339                         <label>Submitted papers for this symposium:</label>
340                         <ol>
341                         <li ng:repeat="w in symposium.works">
342                         <a ng:show="registration.$id != w.$id" href="#{{w.$id}}" >{{w.title}}</a>
343                         <b ng:show="registration.$id == w.$id">{{w.title}}</b>
344                         </li>
345                         </ol>
346                         </blockquote>
347                 </div>
348 <h2 ng:show="registration.type == 'symposium'">Add Symposia Paper ({{registration.symposium.work_nr}})</h2>
349 <h2 ng:show="registration.type == 'lecture'">Oral Presentation Sumbission</h2>
350 <h2 ng:show="registration.type == 'poster'">Poster Presentation Sumbission</h2>
351 <h2 ng:show="registration.type == 'round'">Round Table Disscussion Sumbission</h2>
352
353
354 <label>Title:</label>
355         <input class="input1" name="registration.work.title" ng:required>
356 <label>Authors</label>
357 <div>
358         <div class="input input2">First name</div><div class="input input2">Surname</div><div class="input input3">Institution</div><div class="input input2">E-mail</div>
359 </div>
360 <div class="clear" ng:repeat="author in registration.work.authors">
361         <input class="input2" name="author.name" ng:required>
362         <input class="input2" name="author.surname" ng:required>
363         <input class="input3" name="author.inst" >
364         <input class="input2" name="author.email" ng:required ng:validate="email">
365         <a href="" ng:click="registration.work.authors.$remove(author)">X</a>
366 </div>
367 <a class="addPerson" href="" ng:click="registration.work.authors.$add()">Add another author</a>
368
369
370 <label>Abstract ({{registration.work.abstract.length}}/2000 characters max.):</label>
371         <textarea class="input1" name="registration.work.abstract" rows="10" ng:validate="max_length:2000" ng:required></textarea>
372
373
374 </div> <!-- ng:show="registration.type" -->
375 </div>
376
377 <div class="button" ng:show="! last_saved.$equals(registration) && $invalidWidgets.visible() == 0">
378 <input type="submit" value="Save" ng:click="save();" ng:show="! last_saved.$equals(registration) && $invalidWidgets.visible() == 0">
379 </div>
380
381 <div ng:show="$invalidWidgets.visible() &gt; 0" style="color:red; margin-top: 20px">Please fill all required fields correctly ({{$invalidWidgets.visible()}} fields left). Red colored fields call for your attention.
382 </div>
383
384
385
386
387 <div style="margin-bottom: 40px" ng:show="registration.$id && last_saved.$equals(registration)">
388
389 <div>
390 <input type="checkbox" name="last_saved.$id"> Hide submitted registration
391 </div>
392
393 <div class="saved" ng:show="registration.type == 'participant' || registration.type == 'sparticipant'">
394                 <span class="saved2">Your registration has been submitted successfully!</span>
395                 <br><br>
396                 <span ng:show="registration.sympattend">You will participate in the symosium <b>"{{registration.sympattend}}"</b><br><br><br></span>
397                 <span class="saved3">
398                 Thank you. We look forward to seeing you at the conference<br><br>
399                 .. Kotizacija upute ..
400                 </span>
401         </div>
402
403         <div class="saved" ng:show="registration.type != 'participant' && registration.type != 'sparticipant'">
404                 <span class="saved2">You submitted the paper successfully! <br><br></span>
405
406                 <b>Paper title</b>: {{registration.work.title}} <br><br>
407                 <div ng:show="symposium">
408                         <b>Symposium:</b> {{registration.symposium.title}}
409                         <blockquote>
410                         <label>Already submitted papers for this symposium:</label>
411                         <ol>
412                         <li ng:repeat="w in symposium.works">
413                         <!--
414                         <a ng:show="registration.$id != w.$id" href="#{{w.$id}}" >{{w.title}}</a>
415                         -->
416                         <span ng:show="registration.$id != w.$id">{{w.title}}</span>
417                         <b ng:show="registration.$id == w.$id">{{w.title}}</b>
418                         </li>
419                         </ol>
420                         </blockquote>
421                 </div>
422         </div>
423         <div class="button button2" ng:show="registration.$id && registration.type != 'participant' && registration.type != 'sparticipant' && last_saved.$equals(registration)">
424                 You can <input type="reset" value="Submit another paper" ng:click="reset()"> or <a href="http://psihologija.ffzg.hr/drzb2011/">just leave</a> this page. <br><br> ... conference fee ... instructions ...<br><br>
425         </div>
426         <!--    
427         <div>
428         Registration ID: {{registration.$id}}. You can bookmark this page and review it later.
429         </div>
430         -->
431
432         <!--
433         <div class=""><a href="http://psihologija.ffzg.hr/drzb2011/">Go to conference home page</a></div>
434         -->
435 </div>
436 <!--
437 <div class="button2" ng:show="registration.$id && registration.type != 'participant' && registration.type != 'sparticipant' && last_saved.$equals(registration)">
438         <input type="reset" value="Submit another paper" ng:click="reset()">
439         <div class="gohome"><a href="http://psihologija.ffzg.hr/drzb2011/">Go to conference home page</a></div>
440 </div>
441 -->
442
443 <div class="footer"></div>
444
445 <!--
446 <div ng:show="registration.$id">
447 Permalink to <a href="#{{registration.$id}}">DRZB2011 registration</a> which you can bookmark
448 </div>
449 -->
450
451 <input type=checkbox name=debug style="float: right; clear: both">
452 <pre ng:show="debug">
453
454 dirty={{! last_saved.$equals(registration)}} invalid={{$invalidWidgets.visible()}}
455
456 registration = {{registration}}
457
458 last_saved = {{last_saved}}
459
460 master = {{master}}
461
462 symposium = {{symposium}}
463
464 $id={{$id}}
465 registration.$id={{registration.$id}}
466 </pre>
467
468 </body>
469 </html>