formvalidation-rails 0.6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/LICENSE +21 -0
- data/README.md +45 -0
- data/formvalidation-rails.gemspec +22 -0
- data/lib/bootstrap-validator-rails.rb +6 -0
- data/lib/formvalidation-rails/engine.rb +6 -0
- data/lib/formvalidation-rails/version.rb +6 -0
- data/vendor/assets/javascripts/formvalidation.js +9314 -0
- data/vendor/assets/javascripts/formvalidation.min.js +13 -0
- data/vendor/assets/javascripts/formvalidation/framework/bootstrap.js +280 -0
- data/vendor/assets/javascripts/formvalidation/framework/bootstrap.min.js +10 -0
- data/vendor/assets/javascripts/formvalidation/framework/foundation.js +163 -0
- data/vendor/assets/javascripts/formvalidation/framework/foundation.min.js +10 -0
- data/vendor/assets/javascripts/formvalidation/framework/pure.js +64 -0
- data/vendor/assets/javascripts/formvalidation/framework/pure.min.js +10 -0
- data/vendor/assets/javascripts/formvalidation/framework/semantic.js +163 -0
- data/vendor/assets/javascripts/formvalidation/framework/semantic.min.js +10 -0
- data/vendor/assets/javascripts/formvalidation/framework/uikit.js +165 -0
- data/vendor/assets/javascripts/formvalidation/framework/uikit.min.js +10 -0
- data/vendor/assets/javascripts/formvalidation/language/ar_MA.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/be_FR.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/be_NL.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/bg_BG.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/ca_ES.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/cs_CZ.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/da_DK.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/de_DE.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/en_US.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/es_CL.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/es_ES.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/eu_ES.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/fa_IR.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/fi_FI.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/fr_FR.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/gr_EL.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/he_IL.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/hi_IN.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/hu_HU.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/id_ID.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/it_IT.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/ja_JP.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/nl_NL.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/no_NO.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/pl_PL.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/pt_BR.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/pt_PT.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/ro_RO.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/ru_RU.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/sk_SK.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/sq_AL.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/sr_RS.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/sv_SE.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/th_TH.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/tr_TR.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/ua_UA.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/vi_VN.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/zh_CN.js +379 -0
- data/vendor/assets/javascripts/formvalidation/language/zh_TW.js +379 -0
- data/vendor/assets/stylesheets/formvalidation.css +164 -0
- data/vendor/assets/stylesheets/formvalidation.min.css +1 -0
- metadata +148 -0
@@ -0,0 +1,10 @@
|
|
1
|
+
/*!
|
2
|
+
* FormValidation (http://formvalidation.io)
|
3
|
+
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
|
4
|
+
*
|
5
|
+
* @version v0.6.2-dev, built on 2015-02-24 10:46:42 PM
|
6
|
+
* @author https://twitter.com/nghuuphuoc
|
7
|
+
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
8
|
+
* @license http://formvalidation.io/license/
|
9
|
+
*/
|
10
|
+
!function(a){FormValidation.Framework.Foundation=function(b,c){c=a.extend(!0,{button:{selector:'[type="submit"]',disabled:"disabled"},err:{clazz:"error",parent:"^.*((small|medium|large)-[0-9]+)\\s.*(columns).*$"},icon:{valid:null,invalid:null,validating:null,feedback:"fv-control-feedback"},row:{selector:".row",valid:"fv-has-success",invalid:"error",feedback:"fv-has-feedback"}},c),FormValidation.Base.apply(this,[b,c])},FormValidation.Framework.Foundation.prototype=a.extend({},FormValidation.Base.prototype,{_fixIcon:function(a,b){var c=this._namespace,d=a.attr("type"),e=a.attr("data-"+c+"-field"),f=this.options.fields[e].row||this.options.row.selector,g=a.closest(f);if("checkbox"===d||"radio"===d){var h=b.next();h.is("label")&&b.insertAfter(h)}0===g.find("label").length&&b.addClass("fv-icon-no-label")},_createTooltip:function(a,b,c){var d=this,e=a.data("fv.icon");e&&(e.attr("title",b).css({cursor:"pointer"}).off("mouseenter.container.fv focusin.container.fv").on("mouseenter.container.fv",function(){d._showTooltip(a,c)}).off("mouseleave.container.fv focusout.container.fv").on("mouseleave.container.fv focusout.container.fv",function(){d._hideTooltip(a,c)}),Foundation.libs.tooltip.create(e),e.data("fv.foundation.tooltip",e))},_destroyTooltip:function(a){var b=a.data("fv.icon");if(b){b.css({cursor:""});var c=b.data("fv.foundation.tooltip");c&&(c.off(".fndtn.tooltip"),Foundation.libs.tooltip.hide(c),b.removeData("fv.foundation.tooltip"))}},_hideTooltip:function(a){var b=a.data("fv.icon");if(b){b.css({cursor:""});var c=b.data("fv.foundation.tooltip");c&&Foundation.libs.tooltip.hide(c)}},_showTooltip:function(a){var b=a.data("fv.icon");if(b){var c=b.data("fv.foundation.tooltip");c&&(b.css({cursor:"pointer"}),Foundation.libs.tooltip.show(c))}}})}(jQuery);
|
@@ -0,0 +1,64 @@
|
|
1
|
+
/*!
|
2
|
+
* FormValidation (http://formvalidation.io)
|
3
|
+
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
|
4
|
+
*
|
5
|
+
* @version v0.6.2-dev, built on 2015-02-24 10:46:41 PM
|
6
|
+
* @author https://twitter.com/nghuuphuoc
|
7
|
+
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
8
|
+
* @license http://formvalidation.io/license/
|
9
|
+
*/
|
10
|
+
/**
|
11
|
+
* This class supports validating Pure framework (http://purecss.io/)
|
12
|
+
*/
|
13
|
+
(function($) {
|
14
|
+
FormValidation.Framework.Pure = function(element, options) {
|
15
|
+
options = $.extend(true, {
|
16
|
+
button: {
|
17
|
+
selector: '[type="submit"]',
|
18
|
+
// The class of disabled button
|
19
|
+
// http://purecss.io/buttons/#disabled-buttons
|
20
|
+
disabled: 'pure-button-disabled'
|
21
|
+
},
|
22
|
+
err: {
|
23
|
+
clazz: 'fv-help-block',
|
24
|
+
parent: '^.*pure-control-group.*$'
|
25
|
+
},
|
26
|
+
// Pure doesn't support feedback icon
|
27
|
+
icon: {
|
28
|
+
valid: null,
|
29
|
+
invalid: null,
|
30
|
+
validating: null,
|
31
|
+
feedback: 'fv-control-feedback'
|
32
|
+
},
|
33
|
+
row: {
|
34
|
+
// http://purecss.io/forms/#aligned-form
|
35
|
+
selector: '.pure-control-group',
|
36
|
+
valid: 'fv-has-success',
|
37
|
+
invalid: 'fv-has-error',
|
38
|
+
feedback: 'fv-has-feedback'
|
39
|
+
}
|
40
|
+
}, options);
|
41
|
+
|
42
|
+
FormValidation.Base.apply(this, [element, options]);
|
43
|
+
};
|
44
|
+
|
45
|
+
FormValidation.Framework.Pure.prototype = $.extend({}, FormValidation.Base.prototype, {
|
46
|
+
/**
|
47
|
+
* Specific framework might need to adjust the icon position
|
48
|
+
*
|
49
|
+
* @param {jQuery} $field The field element
|
50
|
+
* @param {jQuery} $icon The icon element
|
51
|
+
*/
|
52
|
+
_fixIcon: function($field, $icon) {
|
53
|
+
var ns = this._namespace,
|
54
|
+
type = $field.attr('type'),
|
55
|
+
field = $field.attr('data-' + ns + '-field'),
|
56
|
+
row = this.options.fields[field].row || this.options.row.selector,
|
57
|
+
$parent = $field.closest(row);
|
58
|
+
|
59
|
+
if ($parent.find('label').length === 0) {
|
60
|
+
$icon.addClass('fv-icon-no-label');
|
61
|
+
}
|
62
|
+
}
|
63
|
+
});
|
64
|
+
}(jQuery));
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/*!
|
2
|
+
* FormValidation (http://formvalidation.io)
|
3
|
+
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
|
4
|
+
*
|
5
|
+
* @version v0.6.2-dev, built on 2015-02-24 10:46:42 PM
|
6
|
+
* @author https://twitter.com/nghuuphuoc
|
7
|
+
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
8
|
+
* @license http://formvalidation.io/license/
|
9
|
+
*/
|
10
|
+
!function(a){FormValidation.Framework.Pure=function(b,c){c=a.extend(!0,{button:{selector:'[type="submit"]',disabled:"pure-button-disabled"},err:{clazz:"fv-help-block",parent:"^.*pure-control-group.*$"},icon:{valid:null,invalid:null,validating:null,feedback:"fv-control-feedback"},row:{selector:".pure-control-group",valid:"fv-has-success",invalid:"fv-has-error",feedback:"fv-has-feedback"}},c),FormValidation.Base.apply(this,[b,c])},FormValidation.Framework.Pure.prototype=a.extend({},FormValidation.Base.prototype,{_fixIcon:function(a,b){var c=this._namespace,d=(a.attr("type"),a.attr("data-"+c+"-field")),e=this.options.fields[d].row||this.options.row.selector,f=a.closest(e);0===f.find("label").length&&b.addClass("fv-icon-no-label")}})}(jQuery);
|
@@ -0,0 +1,163 @@
|
|
1
|
+
/*!
|
2
|
+
* FormValidation (http://formvalidation.io)
|
3
|
+
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
|
4
|
+
*
|
5
|
+
* @version v0.6.2-dev, built on 2015-02-24 10:46:41 PM
|
6
|
+
* @author https://twitter.com/nghuuphuoc
|
7
|
+
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
8
|
+
* @license http://formvalidation.io/license/
|
9
|
+
*/
|
10
|
+
/**
|
11
|
+
* This class supports validating SemanticUI form (http://semantic-ui.com/)
|
12
|
+
*/
|
13
|
+
(function($) {
|
14
|
+
FormValidation.Framework.Semantic = function(element, options) {
|
15
|
+
options = $.extend(true, {
|
16
|
+
button: {
|
17
|
+
selector: '[type="submit"]',
|
18
|
+
// CSS class of disabled button
|
19
|
+
// http://semantic-ui.com/elements/button.html#disabled
|
20
|
+
disabled: 'disabled'
|
21
|
+
},
|
22
|
+
control: {
|
23
|
+
valid: '',
|
24
|
+
invalid: ''
|
25
|
+
},
|
26
|
+
err: {
|
27
|
+
// http://semantic-ui.com/elements/label.html#pointing
|
28
|
+
clazz: 'ui red pointing label transition',
|
29
|
+
parent: '^.*(field|column).*$'
|
30
|
+
},
|
31
|
+
// When using feedback icon, the input must place inside 'ui input icon' element
|
32
|
+
// <div class="ui input icon">
|
33
|
+
// <input type="text" />
|
34
|
+
// </div>
|
35
|
+
// See http://semantic-ui.com/elements/input.html#icon
|
36
|
+
icon: {
|
37
|
+
// http://semantic-ui.com/elements/icon.html
|
38
|
+
valid: null, // 'checkmark icon'
|
39
|
+
invalid: null, // 'remove icon'
|
40
|
+
validating: null, // 'refresh icon'
|
41
|
+
feedback: 'fv-control-feedback'
|
42
|
+
},
|
43
|
+
row: {
|
44
|
+
// http://semantic-ui.com/collections/form.html
|
45
|
+
selector: '.field',
|
46
|
+
valid: 'fv-has-success',
|
47
|
+
invalid: 'error',
|
48
|
+
feedback: 'fv-has-feedback'
|
49
|
+
}
|
50
|
+
}, options);
|
51
|
+
|
52
|
+
FormValidation.Base.apply(this, [element, options]);
|
53
|
+
};
|
54
|
+
|
55
|
+
FormValidation.Framework.Semantic.prototype = $.extend({}, FormValidation.Base.prototype, {
|
56
|
+
/**
|
57
|
+
* Specific framework might need to adjust the icon position
|
58
|
+
*
|
59
|
+
* @param {jQuery} $field The field element
|
60
|
+
* @param {jQuery} $icon The icon element
|
61
|
+
*/
|
62
|
+
_fixIcon: function($field, $icon) {
|
63
|
+
var type = $field.attr('type');
|
64
|
+
if ('checkbox' === type || 'radio' === type) {
|
65
|
+
var $fieldParent = $field.parent();
|
66
|
+
if ($fieldParent.hasClass(type)) {
|
67
|
+
$icon.insertAfter($fieldParent);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
},
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Create a tooltip or popover
|
74
|
+
* It will be shown when focusing on the field
|
75
|
+
*
|
76
|
+
* @param {jQuery} $field The field element
|
77
|
+
* @param {String} message The message
|
78
|
+
* @param {String} type Can be 'tooltip' or 'popover'
|
79
|
+
*/
|
80
|
+
_createTooltip: function($field, message, type) {
|
81
|
+
var $icon = $field.data('fv.icon');
|
82
|
+
if ($icon) {
|
83
|
+
// Remove the popup if it's already exists
|
84
|
+
if ($icon.popup('exists')) {
|
85
|
+
$icon.popup('remove popup')
|
86
|
+
.popup('destroy');
|
87
|
+
}
|
88
|
+
|
89
|
+
// http://semantic-ui.com/modules/popup.html
|
90
|
+
switch (type) {
|
91
|
+
case 'popover':
|
92
|
+
$icon
|
93
|
+
.css({
|
94
|
+
'cursor': 'pointer'
|
95
|
+
})
|
96
|
+
.popup({
|
97
|
+
content: message,
|
98
|
+
position: 'top center'
|
99
|
+
});
|
100
|
+
break;
|
101
|
+
|
102
|
+
case 'tooltip':
|
103
|
+
/* falls through */
|
104
|
+
default:
|
105
|
+
$icon
|
106
|
+
.css({
|
107
|
+
'cursor': 'pointer'
|
108
|
+
})
|
109
|
+
.popup({
|
110
|
+
content: message,
|
111
|
+
position: 'top center',
|
112
|
+
variation: 'inverted'
|
113
|
+
});
|
114
|
+
break;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
},
|
118
|
+
|
119
|
+
/**
|
120
|
+
* Destroy the tooltip or popover
|
121
|
+
*
|
122
|
+
* @param {jQuery} $field The field element
|
123
|
+
* @param {String} type Can be 'tooltip' or 'popover'
|
124
|
+
*/
|
125
|
+
_destroyTooltip: function($field, type) {
|
126
|
+
var $icon = $field.data('fv.icon');
|
127
|
+
if ($icon && $icon.popup('exists')) {
|
128
|
+
$icon
|
129
|
+
.css({
|
130
|
+
'cursor': ''
|
131
|
+
})
|
132
|
+
.popup('remove popup')
|
133
|
+
.popup('destroy');
|
134
|
+
}
|
135
|
+
},
|
136
|
+
|
137
|
+
/**
|
138
|
+
* Hide a tooltip or popover
|
139
|
+
*
|
140
|
+
* @param {jQuery} $field The field element
|
141
|
+
* @param {String} type Can be 'tooltip' or 'popover'
|
142
|
+
*/
|
143
|
+
_hideTooltip: function($field, type) {
|
144
|
+
var $icon = $field.data('fv.icon');
|
145
|
+
if ($icon) {
|
146
|
+
$icon.popup('hide');
|
147
|
+
}
|
148
|
+
},
|
149
|
+
|
150
|
+
/**
|
151
|
+
* Show a tooltip or popover
|
152
|
+
*
|
153
|
+
* @param {jQuery} $field The field element
|
154
|
+
* @param {String} type Can be 'tooltip' or 'popover'
|
155
|
+
*/
|
156
|
+
_showTooltip: function($field, type) {
|
157
|
+
var $icon = $field.data('fv.icon');
|
158
|
+
if ($icon) {
|
159
|
+
$icon.popup('show');
|
160
|
+
}
|
161
|
+
}
|
162
|
+
});
|
163
|
+
}(jQuery));
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/*!
|
2
|
+
* FormValidation (http://formvalidation.io)
|
3
|
+
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
|
4
|
+
*
|
5
|
+
* @version v0.6.2-dev, built on 2015-02-24 10:46:42 PM
|
6
|
+
* @author https://twitter.com/nghuuphuoc
|
7
|
+
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
8
|
+
* @license http://formvalidation.io/license/
|
9
|
+
*/
|
10
|
+
!function(a){FormValidation.Framework.Semantic=function(b,c){c=a.extend(!0,{button:{selector:'[type="submit"]',disabled:"disabled"},control:{valid:"",invalid:""},err:{clazz:"ui red pointing label transition",parent:"^.*(field|column).*$"},icon:{valid:null,invalid:null,validating:null,feedback:"fv-control-feedback"},row:{selector:".field",valid:"fv-has-success",invalid:"error",feedback:"fv-has-feedback"}},c),FormValidation.Base.apply(this,[b,c])},FormValidation.Framework.Semantic.prototype=a.extend({},FormValidation.Base.prototype,{_fixIcon:function(a,b){var c=a.attr("type");if("checkbox"===c||"radio"===c){var d=a.parent();d.hasClass(c)&&b.insertAfter(d)}},_createTooltip:function(a,b,c){var d=a.data("fv.icon");if(d)switch(d.popup("exists")&&d.popup("remove popup").popup("destroy"),c){case"popover":d.css({cursor:"pointer"}).popup({content:b,position:"top center"});break;case"tooltip":default:d.css({cursor:"pointer"}).popup({content:b,position:"top center",variation:"inverted"})}},_destroyTooltip:function(a){var b=a.data("fv.icon");b&&b.popup("exists")&&b.css({cursor:""}).popup("remove popup").popup("destroy")},_hideTooltip:function(a){var b=a.data("fv.icon");b&&b.popup("hide")},_showTooltip:function(a){var b=a.data("fv.icon");b&&b.popup("show")}})}(jQuery);
|
@@ -0,0 +1,165 @@
|
|
1
|
+
/*!
|
2
|
+
* FormValidation (http://formvalidation.io)
|
3
|
+
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
|
4
|
+
*
|
5
|
+
* @version v0.6.2-dev, built on 2015-02-24 10:46:41 PM
|
6
|
+
* @author https://twitter.com/nghuuphuoc
|
7
|
+
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
8
|
+
* @license http://formvalidation.io/license/
|
9
|
+
*/
|
10
|
+
/**
|
11
|
+
* This class supports validating UIKit form (http://getuikit.com/)
|
12
|
+
*/
|
13
|
+
(function($) {
|
14
|
+
FormValidation.Framework.Uikit = function(element, options) {
|
15
|
+
options = $.extend(true, {
|
16
|
+
button: {
|
17
|
+
selector: '[type="submit"]',
|
18
|
+
// The class for disabled button
|
19
|
+
// http://getuikit.com/docs/button.html
|
20
|
+
disabled: 'disabled'
|
21
|
+
},
|
22
|
+
control: {
|
23
|
+
valid: 'uk-form-success',
|
24
|
+
invalid: 'uk-form-danger'
|
25
|
+
},
|
26
|
+
err: {
|
27
|
+
// http://getuikit.com/docs/text.html#text-styles
|
28
|
+
clazz: 'uk-text-danger',
|
29
|
+
parent: '^.*(uk-form-controls|uk-width-[\\d+]-[\\d+]).*$'
|
30
|
+
},
|
31
|
+
// UIKit doesn't support feedback icon
|
32
|
+
icon: {
|
33
|
+
valid: null,
|
34
|
+
invalid: null,
|
35
|
+
validating: null,
|
36
|
+
feedback: 'fv-control-feedback'
|
37
|
+
},
|
38
|
+
row: {
|
39
|
+
// http://getuikit.com/docs/form.html
|
40
|
+
selector: '.uk-form-row',
|
41
|
+
valid: 'fv-has-success',
|
42
|
+
invalid: 'fv-has-error',
|
43
|
+
feedback: 'fv-has-feedback'
|
44
|
+
}
|
45
|
+
}, options);
|
46
|
+
|
47
|
+
FormValidation.Base.apply(this, [element, options]);
|
48
|
+
};
|
49
|
+
|
50
|
+
FormValidation.Framework.Uikit.prototype = $.extend({}, FormValidation.Base.prototype, {
|
51
|
+
/**
|
52
|
+
* Specific framework might need to adjust the icon position
|
53
|
+
*
|
54
|
+
* @param {jQuery} $field The field element
|
55
|
+
* @param {jQuery} $icon The icon element
|
56
|
+
*/
|
57
|
+
_fixIcon: function($field, $icon) {
|
58
|
+
var ns = this._namespace,
|
59
|
+
type = $field.attr('type'),
|
60
|
+
field = $field.attr('data-' + ns + '-field'),
|
61
|
+
row = this.options.fields[field].row || this.options.row.selector,
|
62
|
+
$parent = $field.closest(row);
|
63
|
+
|
64
|
+
if ('checkbox' === type || 'radio' === type) {
|
65
|
+
var $fieldParent = $field.parent();
|
66
|
+
if ($fieldParent.is('label')) {
|
67
|
+
$icon.insertAfter($fieldParent);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
if ($parent.find('label').length === 0) {
|
72
|
+
$icon.addClass('fv-icon-no-label');
|
73
|
+
}
|
74
|
+
},
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Create a tooltip or popover
|
78
|
+
* It will be shown when focusing on the field
|
79
|
+
*
|
80
|
+
* @param {jQuery} $field The field element
|
81
|
+
* @param {String} message The message
|
82
|
+
* @param {String} type Can be 'tooltip' or 'popover'
|
83
|
+
*/
|
84
|
+
_createTooltip: function($field, message, type) {
|
85
|
+
var $icon = $field.data('fv.icon');
|
86
|
+
if ($icon) {
|
87
|
+
// Remove the tooltip if it's already exists
|
88
|
+
if ($icon.data('tooltip')) {
|
89
|
+
$icon.data('tooltip').off();
|
90
|
+
$icon.removeData('tooltip');
|
91
|
+
}
|
92
|
+
|
93
|
+
$icon
|
94
|
+
.attr('title', message)
|
95
|
+
.css({
|
96
|
+
'cursor': 'pointer'
|
97
|
+
});
|
98
|
+
|
99
|
+
new $.UIkit.tooltip($icon);
|
100
|
+
// UIKit auto set the 'tooltip' data for the element
|
101
|
+
// so I can retrieve the tooltip later via $icon.data('tooltip')
|
102
|
+
}
|
103
|
+
},
|
104
|
+
|
105
|
+
/**
|
106
|
+
* Destroy the tooltip or popover
|
107
|
+
*
|
108
|
+
* @param {jQuery} $field The field element
|
109
|
+
* @param {String} type Can be 'tooltip' or 'popover'
|
110
|
+
*/
|
111
|
+
_destroyTooltip: function($field, type) {
|
112
|
+
var $icon = $field.data('fv.icon');
|
113
|
+
if ($icon) {
|
114
|
+
var tooltip = $icon.data('tooltip');
|
115
|
+
if (tooltip) {
|
116
|
+
tooltip.hide();
|
117
|
+
tooltip.off();
|
118
|
+
$icon.off('focus mouseenter')
|
119
|
+
.removeData('tooltip');
|
120
|
+
}
|
121
|
+
$icon.css({
|
122
|
+
'cursor': ''
|
123
|
+
});
|
124
|
+
}
|
125
|
+
},
|
126
|
+
|
127
|
+
/**
|
128
|
+
* Hide a tooltip or popover
|
129
|
+
*
|
130
|
+
* @param {jQuery} $field The field element
|
131
|
+
* @param {String} type Can be 'tooltip' or 'popover'
|
132
|
+
*/
|
133
|
+
_hideTooltip: function($field, type) {
|
134
|
+
var $icon = $field.data('fv.icon');
|
135
|
+
if ($icon) {
|
136
|
+
var tooltip = $icon.data('tooltip');
|
137
|
+
if (tooltip) {
|
138
|
+
tooltip.hide();
|
139
|
+
}
|
140
|
+
$icon.css({
|
141
|
+
'cursor': ''
|
142
|
+
});
|
143
|
+
}
|
144
|
+
},
|
145
|
+
|
146
|
+
/**
|
147
|
+
* Show a tooltip or popover
|
148
|
+
*
|
149
|
+
* @param {jQuery} $field The field element
|
150
|
+
* @param {String} type Can be 'tooltip' or 'popover'
|
151
|
+
*/
|
152
|
+
_showTooltip: function($field, type) {
|
153
|
+
var $icon = $field.data('fv.icon');
|
154
|
+
if ($icon) {
|
155
|
+
$icon.css({
|
156
|
+
'cursor': 'pointer'
|
157
|
+
});
|
158
|
+
var tooltip = $icon.data('tooltip');
|
159
|
+
if (tooltip) {
|
160
|
+
tooltip.show();
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
});
|
165
|
+
}(jQuery));
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/*!
|
2
|
+
* FormValidation (http://formvalidation.io)
|
3
|
+
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
|
4
|
+
*
|
5
|
+
* @version v0.6.2-dev, built on 2015-02-24 10:46:42 PM
|
6
|
+
* @author https://twitter.com/nghuuphuoc
|
7
|
+
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
8
|
+
* @license http://formvalidation.io/license/
|
9
|
+
*/
|
10
|
+
!function(a){FormValidation.Framework.Uikit=function(b,c){c=a.extend(!0,{button:{selector:'[type="submit"]',disabled:"disabled"},control:{valid:"uk-form-success",invalid:"uk-form-danger"},err:{clazz:"uk-text-danger",parent:"^.*(uk-form-controls|uk-width-[\\d+]-[\\d+]).*$"},icon:{valid:null,invalid:null,validating:null,feedback:"fv-control-feedback"},row:{selector:".uk-form-row",valid:"fv-has-success",invalid:"fv-has-error",feedback:"fv-has-feedback"}},c),FormValidation.Base.apply(this,[b,c])},FormValidation.Framework.Uikit.prototype=a.extend({},FormValidation.Base.prototype,{_fixIcon:function(a,b){var c=this._namespace,d=a.attr("type"),e=a.attr("data-"+c+"-field"),f=this.options.fields[e].row||this.options.row.selector,g=a.closest(f);if("checkbox"===d||"radio"===d){var h=a.parent();h.is("label")&&b.insertAfter(h)}0===g.find("label").length&&b.addClass("fv-icon-no-label")},_createTooltip:function(b,c){var d=b.data("fv.icon");d&&(d.data("tooltip")&&(d.data("tooltip").off(),d.removeData("tooltip")),d.attr("title",c).css({cursor:"pointer"}),new a.UIkit.tooltip(d))},_destroyTooltip:function(a){var b=a.data("fv.icon");if(b){var c=b.data("tooltip");c&&(c.hide(),c.off(),b.off("focus mouseenter").removeData("tooltip")),b.css({cursor:""})}},_hideTooltip:function(a){var b=a.data("fv.icon");if(b){var c=b.data("tooltip");c&&c.hide(),b.css({cursor:""})}},_showTooltip:function(a){var b=a.data("fv.icon");if(b){b.css({cursor:"pointer"});var c=b.data("tooltip");c&&c.show()}}})}(jQuery);
|
@@ -0,0 +1,379 @@
|
|
1
|
+
(function ($) {
|
2
|
+
/**
|
3
|
+
* Arabic language package
|
4
|
+
* Translated by @Arkni
|
5
|
+
*/
|
6
|
+
FormValidation.I18n = $.extend(true, FormValidation.I18n, {
|
7
|
+
'ar_MA': {
|
8
|
+
base64: {
|
9
|
+
'default': 'الرجاء إدخال قيمة مشفرة طبقا للقاعدة 64.'
|
10
|
+
},
|
11
|
+
between: {
|
12
|
+
'default': 'الرجاء إدخال قيمة بين %s و %s .',
|
13
|
+
notInclusive: 'الرجاء إدخال قيمة بين %s و %s بدقة.'
|
14
|
+
},
|
15
|
+
bic: {
|
16
|
+
'default': 'الرجاء إدخال رقم BIC صالح.'
|
17
|
+
},
|
18
|
+
callback: {
|
19
|
+
'default': 'الرجاء إدخال قيمة صالحة.'
|
20
|
+
},
|
21
|
+
choice: {
|
22
|
+
'default': 'الرجاء إدخال قيمة صالحة.',
|
23
|
+
less: 'الرجاء اختيار %s خيارات كحد أدنى.',
|
24
|
+
more: 'الرجاء اختيار %s خيارات كحد أقصى.',
|
25
|
+
between: 'الرجاء إختيار %s-%s خيارات.'
|
26
|
+
},
|
27
|
+
color: {
|
28
|
+
'default': 'الرجاء إدخال رمز لون صالح.'
|
29
|
+
},
|
30
|
+
creditCard: {
|
31
|
+
'default': 'الرجاء إدخال رقم بطاقة إئتمان صحيح.'
|
32
|
+
},
|
33
|
+
cusip: {
|
34
|
+
'default': 'الرجاء إدخال رقم CUSIP صالح.'
|
35
|
+
},
|
36
|
+
cvv: {
|
37
|
+
'default': 'الرجاء إدخال رقم CVV صالح.'
|
38
|
+
},
|
39
|
+
date: {
|
40
|
+
'default': 'الرجاء إدخال تاريخ صالح.',
|
41
|
+
min: 'الرجاء إدخال تاريخ بعد %s.',
|
42
|
+
max: 'الرجاء إدخال تاريخ قبل %s.',
|
43
|
+
range: 'الرجاء إدخال تاريخ في المجال %s - %s.'
|
44
|
+
},
|
45
|
+
different: {
|
46
|
+
'default': 'الرجاء إدخال قيمة مختلفة.'
|
47
|
+
},
|
48
|
+
digits: {
|
49
|
+
'default': 'الرجاء إدخال الأرقام فقط.'
|
50
|
+
},
|
51
|
+
ean: {
|
52
|
+
'default': 'الرجاء إدخال رقم EAN صالح.'
|
53
|
+
},
|
54
|
+
ein: {
|
55
|
+
'default': 'الرجاء إدخال رقم EIN صالح.'
|
56
|
+
},
|
57
|
+
emailAddress: {
|
58
|
+
'default': 'الرجاء إدخال بريد إلكتروني صحيح.'
|
59
|
+
},
|
60
|
+
file: {
|
61
|
+
'default': 'الرجاء إختيار ملف صالح.'
|
62
|
+
},
|
63
|
+
greaterThan: {
|
64
|
+
'default': 'الرجاء إدخال قيمة أكبر من أو تساوي %s.',
|
65
|
+
notInclusive: 'الرجاء إدخال قيمة أكبر من %s.'
|
66
|
+
},
|
67
|
+
grid: {
|
68
|
+
'default': 'الرجاء إدخال رقم GRid صالح.'
|
69
|
+
},
|
70
|
+
hex: {
|
71
|
+
'default': 'الرجاء إدخال رقم ست عشري صالح.'
|
72
|
+
},
|
73
|
+
iban: {
|
74
|
+
'default': 'الرجاء إدخال رقم IBAN صالح.',
|
75
|
+
country: 'الرجاء إدخال رقم IBAN صالح في %s.',
|
76
|
+
countries: {
|
77
|
+
AD: 'أندورا',
|
78
|
+
AE: 'الإمارات العربية المتحدة',
|
79
|
+
AL: 'ألبانيا',
|
80
|
+
AO: 'أنغولا',
|
81
|
+
AT: 'النمسا',
|
82
|
+
AZ: 'أذربيجان',
|
83
|
+
BA: 'البوسنة والهرسك',
|
84
|
+
BE: 'بلجيكا',
|
85
|
+
BF: 'بوركينا فاسو',
|
86
|
+
BG: 'بلغاريا',
|
87
|
+
BH: 'البحرين',
|
88
|
+
BI: 'بوروندي',
|
89
|
+
BJ: 'بنين',
|
90
|
+
BR: 'البرازيل',
|
91
|
+
CH: 'سويسرا',
|
92
|
+
CI: 'ساحل العاج',
|
93
|
+
CM: 'الكاميرون',
|
94
|
+
CR: 'كوستاريكا',
|
95
|
+
CV: 'الرأس الأخضر',
|
96
|
+
CY: 'قبرص',
|
97
|
+
CZ: 'التشيك',
|
98
|
+
DE: 'ألمانيا',
|
99
|
+
DK: 'الدنمارك',
|
100
|
+
DO: 'جمهورية الدومينيكان',
|
101
|
+
DZ: 'الجزائر',
|
102
|
+
EE: 'إستونيا',
|
103
|
+
ES: 'إسبانيا',
|
104
|
+
FI: 'فنلندا',
|
105
|
+
FO: 'جزر فارو',
|
106
|
+
FR: 'فرنسا',
|
107
|
+
GB: 'المملكة المتحدة',
|
108
|
+
GE: 'جورجيا',
|
109
|
+
GI: 'جبل طارق',
|
110
|
+
GL: 'جرينلاند',
|
111
|
+
GR: 'اليونان',
|
112
|
+
GT: 'غواتيمالا',
|
113
|
+
HR: 'كرواتيا',
|
114
|
+
HU: 'المجر',
|
115
|
+
IE: 'أيرلندا',
|
116
|
+
IL: 'إسرائيل',
|
117
|
+
IR: 'إيران',
|
118
|
+
IS: 'آيسلندا',
|
119
|
+
IT: 'إيطاليا',
|
120
|
+
JO: 'الأردن',
|
121
|
+
KW: 'الكويت',
|
122
|
+
KZ: 'كازاخستان',
|
123
|
+
LB: 'لبنان',
|
124
|
+
LI: 'ليختنشتاين',
|
125
|
+
LT: 'ليتوانيا',
|
126
|
+
LU: 'لوكسمبورغ',
|
127
|
+
LV: 'لاتفيا',
|
128
|
+
MC: 'موناكو',
|
129
|
+
MD: 'مولدوفا',
|
130
|
+
ME: 'الجبل الأسود',
|
131
|
+
MG: 'مدغشقر',
|
132
|
+
MK: 'جمهورية مقدونيا',
|
133
|
+
ML: 'مالي',
|
134
|
+
MR: 'موريتانيا',
|
135
|
+
MT: 'مالطا',
|
136
|
+
MU: 'موريشيوس',
|
137
|
+
MZ: 'موزمبيق',
|
138
|
+
NL: 'هولندا',
|
139
|
+
NO: 'النرويج',
|
140
|
+
PK: 'باكستان',
|
141
|
+
PL: 'بولندا',
|
142
|
+
PS: 'فلسطين',
|
143
|
+
PT: 'البرتغال',
|
144
|
+
QA: 'قطر',
|
145
|
+
RO: 'رومانيا',
|
146
|
+
RS: 'صربيا',
|
147
|
+
SA: 'المملكة العربية السعودية',
|
148
|
+
SE: 'السويد',
|
149
|
+
SI: 'سلوفينيا',
|
150
|
+
SK: 'سلوفاكيا',
|
151
|
+
SM: 'سان مارينو',
|
152
|
+
SN: 'السنغال',
|
153
|
+
TN: 'تونس',
|
154
|
+
TR: 'تركيا',
|
155
|
+
VG: 'جزر العذراء البريطانية'
|
156
|
+
}
|
157
|
+
},
|
158
|
+
id: {
|
159
|
+
'default': 'الرجاء إدخال رقم هوية صالحة.',
|
160
|
+
country: 'الرجاء إدخال رقم تعريف صالح في %s.',
|
161
|
+
countries: {
|
162
|
+
BA: 'البوسنة والهرسك',
|
163
|
+
BG: 'بلغاريا',
|
164
|
+
BR: 'البرازيل',
|
165
|
+
CH: 'سويسرا',
|
166
|
+
CL: 'تشيلي',
|
167
|
+
CN: 'الصين',
|
168
|
+
CZ: 'التشيك',
|
169
|
+
DK: 'الدنمارك',
|
170
|
+
EE: 'إستونيا',
|
171
|
+
ES: 'إسبانيا',
|
172
|
+
FI: 'فنلندا',
|
173
|
+
HR: 'كرواتيا',
|
174
|
+
IE: 'أيرلندا',
|
175
|
+
IS: 'آيسلندا',
|
176
|
+
LT: 'ليتوانيا',
|
177
|
+
LV: 'لاتفيا',
|
178
|
+
ME: 'الجبل الأسود',
|
179
|
+
MK: 'جمهورية مقدونيا',
|
180
|
+
NL: 'هولندا',
|
181
|
+
PL: 'بولندا',
|
182
|
+
RO: 'رومانيا',
|
183
|
+
RS: 'صربيا',
|
184
|
+
SE: 'السويد',
|
185
|
+
SI: 'سلوفينيا',
|
186
|
+
SK: 'سلوفاكيا',
|
187
|
+
SM: 'سان مارينو',
|
188
|
+
TH: 'تايلاند',
|
189
|
+
ZA: 'جنوب أفريقيا'
|
190
|
+
}
|
191
|
+
},
|
192
|
+
identical: {
|
193
|
+
'default': 'الرجاء إدخال نفس القيمة.'
|
194
|
+
},
|
195
|
+
imei: {
|
196
|
+
'default': 'الرجاء إدخال رقم IMEI صالح.'
|
197
|
+
},
|
198
|
+
imo: {
|
199
|
+
'default': 'الرجاء إدخال رقم IMO صالح.'
|
200
|
+
},
|
201
|
+
integer: {
|
202
|
+
'default': 'الرجاء إدخال رقم صحيح.'
|
203
|
+
},
|
204
|
+
ip: {
|
205
|
+
'default': 'الرجاء إدخال عنوان IP صالح.',
|
206
|
+
ipv4: 'الرجاء إدخال عنوان IPv4 صالح.',
|
207
|
+
ipv6: 'الرجاء إدخال عنوان IPv6 صالح.'
|
208
|
+
},
|
209
|
+
isbn: {
|
210
|
+
'default': 'الرجاء إدخال رقم ISBN صالح.'
|
211
|
+
},
|
212
|
+
isin: {
|
213
|
+
'default': 'الرجاء إدخال رقم ISIN صالح.'
|
214
|
+
},
|
215
|
+
ismn: {
|
216
|
+
'default': 'الرجاء إدخال رقم ISMN صالح.'
|
217
|
+
},
|
218
|
+
issn: {
|
219
|
+
'default': 'الرجاء إدخال رقم ISSN صالح.'
|
220
|
+
},
|
221
|
+
lessThan: {
|
222
|
+
'default': 'الرجاء إدخال قيمة أصغر من أو تساوي %s.',
|
223
|
+
notInclusive: 'الرجاء إدخال قيمة أصغر من %s.'
|
224
|
+
},
|
225
|
+
mac: {
|
226
|
+
'default': 'يرجى إدخال عنوان MAC صالح.'
|
227
|
+
},
|
228
|
+
meid: {
|
229
|
+
'default': 'الرجاء إدخال رقم MEID صالح.'
|
230
|
+
},
|
231
|
+
notEmpty: {
|
232
|
+
'default': 'الرجاء إدخال قيمة.'
|
233
|
+
},
|
234
|
+
numeric: {
|
235
|
+
'default': 'الرجاء إدخال عدد عشري صالح.'
|
236
|
+
},
|
237
|
+
phone: {
|
238
|
+
'default': 'الرجاء إدخال رقم هاتف صحيح.',
|
239
|
+
country: 'الرجاء إدخال رقم هاتف صالح في %s.',
|
240
|
+
countries: {
|
241
|
+
AE: 'الإمارات العربية المتحدة',
|
242
|
+
BG: 'بلغاريا',
|
243
|
+
BR: 'البرازيل',
|
244
|
+
CN: 'الصين',
|
245
|
+
CZ: 'التشيك',
|
246
|
+
DE: 'ألمانيا',
|
247
|
+
DK: 'الدنمارك',
|
248
|
+
ES: 'إسبانيا',
|
249
|
+
FR: 'فرنسا',
|
250
|
+
GB: 'المملكة المتحدة',
|
251
|
+
IN: 'الهند',
|
252
|
+
MA: 'المغرب',
|
253
|
+
NL: 'هولندا',
|
254
|
+
PK: 'باكستان',
|
255
|
+
RO: 'رومانيا',
|
256
|
+
RU: 'روسيا',
|
257
|
+
SK: 'سلوفاكيا',
|
258
|
+
TH: 'تايلاند',
|
259
|
+
US: 'الولايات المتحدة',
|
260
|
+
VE: 'فنزويلا'
|
261
|
+
}
|
262
|
+
},
|
263
|
+
regexp: {
|
264
|
+
'default': 'الرجاء إدخال قيمة مطابقة للنمط.'
|
265
|
+
},
|
266
|
+
remote: {
|
267
|
+
'default': 'الرجاء إدخال قيمة صالحة.'
|
268
|
+
},
|
269
|
+
rtn: {
|
270
|
+
'default': 'الرجاء إدخال رقم RTN صالح.'
|
271
|
+
},
|
272
|
+
sedol: {
|
273
|
+
'default': 'الرجاء إدخال رقم SEDOL صالح.'
|
274
|
+
},
|
275
|
+
siren: {
|
276
|
+
'default': 'الرجاء إدخال رقم SIREN صالح.'
|
277
|
+
},
|
278
|
+
siret: {
|
279
|
+
'default': 'الرجاء إدخال رقم SIRET صالح.'
|
280
|
+
},
|
281
|
+
step: {
|
282
|
+
'default': 'الرجاء إدخال قيمة من مضاعفات %s .'
|
283
|
+
},
|
284
|
+
stringCase: {
|
285
|
+
'default': 'الرجاء إدخال أحرف صغيرة فقط.',
|
286
|
+
upper: 'الرجاء إدخال أحرف كبيرة فقط.'
|
287
|
+
},
|
288
|
+
stringLength: {
|
289
|
+
'default': 'الرجاء إدخال قيمة ذات طول صحيح.',
|
290
|
+
less: 'الرجاء إدخال أقل من %s حرفا.',
|
291
|
+
more: 'الرجاء إدخال أكتر من %s حرفا.',
|
292
|
+
between: 'الرجاء إدخال قيمة ذات عدد حروف بين %s و %s حرفا.'
|
293
|
+
},
|
294
|
+
uri: {
|
295
|
+
'default': 'الرجاء إدخال URI صالح.'
|
296
|
+
},
|
297
|
+
uuid: {
|
298
|
+
'default': 'الرجاء إدخال رقم UUID صالح.',
|
299
|
+
version: 'الرجاء إدخال رقم UUID صالح إصدار %s.'
|
300
|
+
},
|
301
|
+
vat: {
|
302
|
+
'default': 'الرجاء إدخال رقم VAT صالح.',
|
303
|
+
country: 'الرجاء إدخال رقم VAT صالح في %s.',
|
304
|
+
countries: {
|
305
|
+
AT: 'النمسا',
|
306
|
+
BE: 'بلجيكا',
|
307
|
+
BG: 'بلغاريا',
|
308
|
+
BR: 'البرازيل',
|
309
|
+
CH: 'سويسرا',
|
310
|
+
CY: 'قبرص',
|
311
|
+
CZ: 'التشيك',
|
312
|
+
DE: 'جورجيا',
|
313
|
+
DK: 'الدنمارك',
|
314
|
+
EE: 'إستونيا',
|
315
|
+
ES: 'إسبانيا',
|
316
|
+
FI: 'فنلندا',
|
317
|
+
FR: 'فرنسا',
|
318
|
+
GB: 'المملكة المتحدة',
|
319
|
+
GR: 'اليونان',
|
320
|
+
EL: 'اليونان',
|
321
|
+
HR: 'كرواتيا',
|
322
|
+
HU: 'المجر',
|
323
|
+
IE: 'أيرلندا',
|
324
|
+
IS: 'آيسلندا',
|
325
|
+
IT: 'إيطاليا',
|
326
|
+
LT: 'ليتوانيا',
|
327
|
+
LU: 'لوكسمبورغ',
|
328
|
+
LV: 'لاتفيا',
|
329
|
+
MT: 'مالطا',
|
330
|
+
NL: 'هولندا',
|
331
|
+
NO: 'النرويج',
|
332
|
+
PL: 'بولندا',
|
333
|
+
PT: 'البرتغال',
|
334
|
+
RO: 'رومانيا',
|
335
|
+
RU: 'روسيا',
|
336
|
+
RS: 'صربيا',
|
337
|
+
SE: 'السويد',
|
338
|
+
SI: 'سلوفينيا',
|
339
|
+
SK: 'سلوفاكيا',
|
340
|
+
VE: 'فنزويلا',
|
341
|
+
ZA: 'جنوب أفريقيا'
|
342
|
+
}
|
343
|
+
},
|
344
|
+
vin: {
|
345
|
+
'default': 'الرجاء إدخال رقم VIN صالح.'
|
346
|
+
},
|
347
|
+
zipCode: {
|
348
|
+
'default': 'الرجاء إدخال رمز بريدي صالح.',
|
349
|
+
country: 'الرجاء إدخال رمز بريدي صالح في %s.',
|
350
|
+
countries: {
|
351
|
+
AT: 'النمسا',
|
352
|
+
BG: 'بلغاريا',
|
353
|
+
BR: 'البرازيل',
|
354
|
+
CA: 'كندا',
|
355
|
+
CH: 'سويسرا',
|
356
|
+
CZ: 'التشيك',
|
357
|
+
DE: 'ألمانيا',
|
358
|
+
DK: 'الدنمارك',
|
359
|
+
ES: 'إسبانيا',
|
360
|
+
FR: 'فرنسا',
|
361
|
+
GB: 'المملكة المتحدة',
|
362
|
+
IE: 'أيرلندا',
|
363
|
+
IN: 'الهند',
|
364
|
+
IT: 'إيطاليا',
|
365
|
+
MA: 'المغرب',
|
366
|
+
NL: 'هولندا',
|
367
|
+
PL: 'بولندا',
|
368
|
+
PT: 'البرتغال',
|
369
|
+
RO: 'رومانيا',
|
370
|
+
RU: 'روسيا',
|
371
|
+
SE: 'السويد',
|
372
|
+
SG: 'سنغافورة',
|
373
|
+
SK: 'سلوفاكيا',
|
374
|
+
US: 'الولايات المتحدة'
|
375
|
+
}
|
376
|
+
}
|
377
|
+
}
|
378
|
+
});
|
379
|
+
}(jQuery));
|