source: extensions/Piwecard/template/ecard.tpl @ 19923

Revision 19923, 6.5 KB checked in by julien1311, 7 years ago (diff)

[piwecard] Use of colorbox (better integration with theme). Add of some JS testing. Replace table by div/span

  • Property svn:eol-style set to native
Line 
1{include file='include/colorbox.inc.tpl'}
2
3{footer_script}{literal}
4jQuery(document).ready(function(){
5        jQuery(".createECardOpen").colorbox({
6                inline:true,
7                href:"#addECardForm",
8                width:"50%",
9                minWidth:"500px",
10                height:"90%",
11                onComplete:function(){
12                        jQuery("input[name=ecard_subject]").focus();
13                }
14        });
15
16        jQuery("#addECardForm form").submit(function(){
17                //jQuery(".createECardOpen").colorbox.close();
18        });
19});
20
21function ecard_clearDefaultText(element, defaultText) {
22        if (element.value == defaultText) {
23                element.value = '';
24        }
25}
26
27function ecard_checkField(element, elementType) {
28        var TEXT = 0;
29        var EMAIL = 1;
30       
31        switch (elementType) {
32                case TEXT:
33                        if (element.value == '') {
34                                document.getElementById(element.id+'_error').innerHTML = "{'ecard_error'|@translate} {'ecard_error_text'|@translate}";
35                                element.className += " ecard_error_input";
36                                return false;
37                        } else {
38                                document.getElementById(element.id+'_error').innerHTML = '';
39                                element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
40                                return true;
41                        }
42                        break;
43                case EMAIL:
44                        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
45                        if (!filter.test(element.value)) {
46                                document.getElementById(element.id+'_error').innerHTML = "{'ecard_error'|@translate} {'ecard_error_email'|@translate}";
47                                element.className += " ecard_error_input";
48                                return false;
49                        } else {
50                                document.getElementById(element.id+'_error').innerHTML = '';
51                                element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
52                                return true;
53                        }
54                        break;
55                default:
56                        return false;
57                        break;
58        }
59}
60
61function ecard_checkForm(form) {
62        var subjectOK = ecard_checkField(form.ecard_subject, 0);
63        var messageOK = ecard_checkField(form.ecard_message, 0);
64        var senderNameOK = ecard_checkField(form.ecard_sender_name, 0);
65        var senderEMailOK = ecard_checkField(form.ecard_sender_email, 1);
66        var recipientNameOK = ecard_checkField(form.ecard_recipient_name, 0);
67        var recipientEMailOK = ecard_checkField(form.ecard_recipient_email, 1);
68       
69        if(subjectOK && messageOK && senderNameOK && senderEMailOK && recipientNameOK && recipientEMailOK)
70                return true;
71        else
72                return false;
73}
74{/literal}{/footer_script}
75
76<div style="display:none">
77        <div id="addECardForm">
78                <form method="post" onsubmit="return ecard_checkForm(this);">
79                        <fieldset>
80                                <legend>{'ecard_send_stage1'|@translate}</legend>
81                                <div class="ecard_field">
82                                        <div class="ecard_error" id="ecard_subject_error"></div>
83                                        <div class="ecard_error" id="ecard_message_error"></div>
84                                        <span class="ecard_label">{'ecard_send_title'|@translate}<span class="ecard_mandatory_fields">*</span> :</span>
85                                        <span class="ecard_input_right"><input name="ecard_subject" type="text" id="ecard_subject" value="{$ecard.subject}" onfocus="ecard_clearDefaultText(this, '{$ecard.subject}');" title="{$ecard.subject}"></span>
86                                </div>
87                                <div class="ecard_field">
88                                        <span class="ecard_label">{'ecard_send_message'|@translate}<span class="ecard_mandatory_fields">*</span> :</span>
89                                        <span class="ecard_input_right"><textarea name="ecard_message" id="ecard_message" value="{$ecard.message}" onfocus="ecard_clearDefaultText(this, '{$ecard.message}');" title="{$ecard.message}">{$ecard.message}</textarea></span>
90                                </div>
91                        </fieldset>
92                        <fieldset>
93                                <legend>{'ecard_send_stage2'|@translate}</legend>
94                                <div class="ecard_field">
95                                        <div class="ecard_error" id="ecard_sender_name_error"></div>
96                                        <div class="ecard_error" id="ecard_sender_email_error"></div>
97                                        <span class="ecard_label">{'ecard_send_exp'|@translate}<span class="ecard_mandatory_fields">*</span> :</span>
98                                        <span class="ecard_name"><input name="ecard_sender_name" type="text" id="ecard_sender_name" maxlength="100" value="{$ecard.sender_name}"></span>
99                                        <span class="ecard_email"><input name="ecard_sender_email" type="text" id="ecard_sender_email" maxlength="100" {$ecard.changemail}  value="{$ecard.sender_email}" onfocus="ecard_clearDefaultText(this, '{$ecard.sender_email}');" onblur="ecard_checkField(this, 1);"></span>
100                                </div>
101                                <div class="ecard_field">
102                                        <div class="ecard_error" id="ecard_recipient_name_error"></div>
103                                        <div class="ecard_error" id="ecard_recipient_email_error"></div>
104                                        <span class="ecard_label">{'ecard_send_dest'|@translate}<span class="ecard_mandatory_fields">*</span> :</span>
105                                        <span class="ecard_name"><input name="ecard_recipient_name" type="text" id="ecard_recipient_name" maxlength="100" value="{$ecard.recipient_name}" onfocus="ecard_clearDefaultText(this, '{$ecard.recipient_name}');"></span>
106                                        <span class="ecard_email"><input name="ecard_recipient_email" type="text" id="ecard_recipient_email" maxlength="100" value="{$ecard.recipient_email}" onfocus="ecard_clearDefaultText(this, '{$ecard.recipient_email}');" onblur="ecard_checkField(this, 1);"></span>
107                                </div>
108                        </fieldset>
109                        <fieldset>
110                                <legend>{'ecard_send_stage3'|@translate}</legend>
111                                <div class="ecard_field">
112                                        <span class="ecard_label"><label for="ecard_copy">{'ecard_send_copy'|@translate} :</label></span>
113                                        <span><input type="checkbox" id="ecard_copy" name="ecard_copy" {$ecard.copy}/></span>
114                                </div>
115                                <div class="ecard_field">
116                                        <span class="ecard_label">{'ecard_send_method'|@translate} : </span>
117                                                <span>
118                                                {foreach from=$ecard_send_method item=ecard_send_method}
119                                                        <input type="radio" name="ecard_send_method" id="ecard_send_method_{$ecard_send_method.id}" value="{$ecard_send_method.id}" {$ecard_send_method.selected}><label for="ecard_send_method_{$ecard_send_method.id}">{$ecard_send_method.name} </label>
120                                                {/foreach}
121                                        </span>
122                                </div>
123                                {if isset($ecard_validity)}
124                                        <div class="ecard_field">
125                                                <span class="ecard_label">{'ecard_validity_label'|@translate} :</span>
126                                                <span>
127                                                        {foreach from=$ecard_validity item=ecard_validity}
128                                                                <input type="radio" name="ecard_validity" id="ecard_validity_{$ecard_validity.id}" value="{$ecard_validity.id}" {$ecard_validity.selected}><label for="ecard_validity_{$ecard_validity.id}">{$ecard_validity.name} </label>
129                                                        {/foreach}
130                                                </span>
131                                        </div>
132                                {/if}
133                        </fieldset>
134                        <fieldset>
135                                <legend>{'ecard_send_stage4'|@translate}</legend>
136                                <div class="ecard_submit">
137                                        <input type="submit" name="ecard_submit" value="{'ecard_send'|@translate}" />
138                                </div>
139                        </fieldset>
140                        <div>
141                                <span class="ecard_mandatory_fields">* {'ecard_send_mandatory_fields'|@translate}</span>
142                        </div>
143                </form>
144        </div>
145</div>
146<p>
147        <a href="#" class="createECardOpen" title="{'ecard_send_link3'|@translate}">{'ecard_send_link1'|@translate}, {'ecard_send_link2'|@translate}</a>.
148</p>
Note: See TracBrowser for help on using the repository browser.