diff --git a/lms/askbot/skins/README b/lms/askbot/skins/README new file mode 100644 index 0000000000..3fbc8c331e --- /dev/null +++ b/lms/askbot/skins/README @@ -0,0 +1,71 @@ +============================= +Customization of Askbot skins +============================= + +The default skin at the moment is in the development, however +it is already possible to start customizing your site without +incurring much maintenance overhead. + +Current status of templates +=========================== +The two busiest templates are - the "main" page and the "question" page, +the main page is more or less complete. "Question" page will be significantly +refactored in the near future. + +How skins work in Askbot +======================== + +The skins reside in up to two directories: + +* `askbot/skins` in the source code (contains any stock skins) +* directory pointed to by a ASKBOT_EXTRA_SKINS_DIR in your settings.py + with any other skins + +Currently, the skin is selected by the site administrator in the live settings. +Also, at the moment skin default is special - it serves any resources +absent in other skins. In a way - all other skins inherit from the "default". + +Templates and media are resolved in the following way: +* check in skin named as in settings.ASKBOT_DEFAULT_SKIN +* then skin named 'default' + +How to customize a skin +======================= + +There are three options: + +* edit custom css via the settings interface - good for small tweaks + (no need to directly log in to the server) +* create a new skin in separate files (need direct access to the server + files, more maintenance overhead) +* directly modify the "default" skin (as in the previous option - need + direct access to the server, less maintenance overhead, some + knowledge of git system is required) + +The first option only allows to modify css and add custom javascript. +The latter two options allow changing the templates as well. + +If you wish to follow the second option, create a directory named the same +way as the skin you are building and start adding files with the same names +and relative locations as those in the "default" skin. + +NO NEED TO CREATE ALL TEMPLATES/MEDIA FILES AT ONCE as your skin will inherit +pieces from the "default". + +The disadvantage of thil second approach is that you will be on your own maintaining +the synchrony of your template, stylesheet and the core code. + +Third approach is the best, but it requires (the most basic) use of +git source code management software. With git you will easily merge the updates +from the development repository. + +Structure of the skin directories +================================= +Todo. + +To simplify maintenance of the css as the skin is being developed, +populate css file `media/style/extra.css` with any rules that will +override those in the `media/style/style.css` file. If you do that + +media does not have to be composed of files named the same way as in default skin +whatever media you link to from your templates - will be in operation diff --git a/lms/askbot/skins/__init__.py b/lms/askbot/skins/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/lms/askbot/skins/common/media/images/anon.png b/lms/askbot/skins/common/media/images/anon.png new file mode 100644 index 0000000000..a204159021 Binary files /dev/null and b/lms/askbot/skins/common/media/images/anon.png differ diff --git a/lms/askbot/skins/common/media/images/bigbutton.png b/lms/askbot/skins/common/media/images/bigbutton.png new file mode 100644 index 0000000000..2a7c0f0585 Binary files /dev/null and b/lms/askbot/skins/common/media/images/bigbutton.png differ diff --git a/lms/askbot/skins/common/media/images/bigbuttonhover.png b/lms/askbot/skins/common/media/images/bigbuttonhover.png new file mode 100644 index 0000000000..cf4bacca69 Binary files /dev/null and b/lms/askbot/skins/common/media/images/bigbuttonhover.png differ diff --git a/lms/askbot/skins/common/media/images/blue-up-arrow-h18px.png b/lms/askbot/skins/common/media/images/blue-up-arrow-h18px.png new file mode 100755 index 0000000000..e1f29e8633 Binary files /dev/null and b/lms/askbot/skins/common/media/images/blue-up-arrow-h18px.png differ diff --git a/lms/askbot/skins/common/media/images/box-arrow.gif b/lms/askbot/skins/common/media/images/box-arrow.gif new file mode 100755 index 0000000000..89dcf5b3dd Binary files /dev/null and b/lms/askbot/skins/common/media/images/box-arrow.gif differ diff --git a/lms/askbot/skins/common/media/images/bullet_green.gif b/lms/askbot/skins/common/media/images/bullet_green.gif new file mode 100755 index 0000000000..fa530910f9 Binary files /dev/null and b/lms/askbot/skins/common/media/images/bullet_green.gif differ diff --git a/lms/askbot/skins/common/media/images/cc-88x31.png b/lms/askbot/skins/common/media/images/cc-88x31.png new file mode 100755 index 0000000000..0f2a0f1072 Binary files /dev/null and b/lms/askbot/skins/common/media/images/cc-88x31.png differ diff --git a/lms/askbot/skins/common/media/images/cc-by-sa.png b/lms/askbot/skins/common/media/images/cc-by-sa.png new file mode 100644 index 0000000000..f0a944e0b8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/cc-by-sa.png differ diff --git a/lms/askbot/skins/common/media/images/close-small-dark.png b/lms/askbot/skins/common/media/images/close-small-dark.png new file mode 100755 index 0000000000..280c1fc74e Binary files /dev/null and b/lms/askbot/skins/common/media/images/close-small-dark.png differ diff --git a/lms/askbot/skins/common/media/images/close-small-hover.png b/lms/askbot/skins/common/media/images/close-small-hover.png new file mode 100755 index 0000000000..7899aec721 Binary files /dev/null and b/lms/askbot/skins/common/media/images/close-small-hover.png differ diff --git a/lms/askbot/skins/common/media/images/close-small.png b/lms/askbot/skins/common/media/images/close-small.png new file mode 100755 index 0000000000..5a99d31f17 Binary files /dev/null and b/lms/askbot/skins/common/media/images/close-small.png differ diff --git a/lms/askbot/skins/common/media/images/contributorsback.png b/lms/askbot/skins/common/media/images/contributorsback.png new file mode 100644 index 0000000000..dd72838396 Binary files /dev/null and b/lms/askbot/skins/common/media/images/contributorsback.png differ diff --git a/lms/askbot/skins/common/media/images/dash.gif b/lms/askbot/skins/common/media/images/dash.gif new file mode 100755 index 0000000000..d1ddc507fe Binary files /dev/null and b/lms/askbot/skins/common/media/images/dash.gif differ diff --git a/lms/askbot/skins/common/media/images/dialog-warning-off.png b/lms/askbot/skins/common/media/images/dialog-warning-off.png new file mode 100644 index 0000000000..258e4d86c0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/dialog-warning-off.png differ diff --git a/lms/askbot/skins/common/media/images/dialog-warning.png b/lms/askbot/skins/common/media/images/dialog-warning.png new file mode 100644 index 0000000000..a9e4ff3991 Binary files /dev/null and b/lms/askbot/skins/common/media/images/dialog-warning.png differ diff --git a/lms/askbot/skins/common/media/images/djangomade124x25_grey.gif b/lms/askbot/skins/common/media/images/djangomade124x25_grey.gif new file mode 100755 index 0000000000..d34bb31161 Binary files /dev/null and b/lms/askbot/skins/common/media/images/djangomade124x25_grey.gif differ diff --git a/lms/askbot/skins/common/media/images/dot-g.gif b/lms/askbot/skins/common/media/images/dot-g.gif new file mode 100755 index 0000000000..5d6bb28e56 Binary files /dev/null and b/lms/askbot/skins/common/media/images/dot-g.gif differ diff --git a/lms/askbot/skins/common/media/images/dot-list.gif b/lms/askbot/skins/common/media/images/dot-list.gif new file mode 100755 index 0000000000..f6a6b86531 Binary files /dev/null and b/lms/askbot/skins/common/media/images/dot-list.gif differ diff --git a/lms/askbot/skins/common/media/images/edit.png b/lms/askbot/skins/common/media/images/edit.png new file mode 100755 index 0000000000..dcb09be064 Binary files /dev/null and b/lms/askbot/skins/common/media/images/edit.png differ diff --git a/lms/askbot/skins/common/media/images/expander-arrow-hide.gif b/lms/askbot/skins/common/media/images/expander-arrow-hide.gif new file mode 100755 index 0000000000..feb6a6187c Binary files /dev/null and b/lms/askbot/skins/common/media/images/expander-arrow-hide.gif differ diff --git a/lms/askbot/skins/common/media/images/expander-arrow-show.gif b/lms/askbot/skins/common/media/images/expander-arrow-show.gif new file mode 100755 index 0000000000..6825c56ee4 Binary files /dev/null and b/lms/askbot/skins/common/media/images/expander-arrow-show.gif differ diff --git a/lms/askbot/skins/common/media/images/favicon.gif b/lms/askbot/skins/common/media/images/favicon.gif new file mode 100644 index 0000000000..d106e5da96 Binary files /dev/null and b/lms/askbot/skins/common/media/images/favicon.gif differ diff --git a/lms/askbot/skins/common/media/images/favicon.ico b/lms/askbot/skins/common/media/images/favicon.ico new file mode 100644 index 0000000000..67203a5c95 Binary files /dev/null and b/lms/askbot/skins/common/media/images/favicon.ico differ diff --git a/lms/askbot/skins/common/media/images/feed-icon-small.png b/lms/askbot/skins/common/media/images/feed-icon-small.png new file mode 100644 index 0000000000..2794b0f54d Binary files /dev/null and b/lms/askbot/skins/common/media/images/feed-icon-small.png differ diff --git a/lms/askbot/skins/common/media/images/flags/ad.gif b/lms/askbot/skins/common/media/images/flags/ad.gif new file mode 100755 index 0000000000..57b499733f Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ad.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ae.gif b/lms/askbot/skins/common/media/images/flags/ae.gif new file mode 100755 index 0000000000..78d15b67dc Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ae.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/af.gif b/lms/askbot/skins/common/media/images/flags/af.gif new file mode 100755 index 0000000000..9889408211 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/af.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ag.gif b/lms/askbot/skins/common/media/images/flags/ag.gif new file mode 100755 index 0000000000..48f8e7bc72 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ag.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ai.gif b/lms/askbot/skins/common/media/images/flags/ai.gif new file mode 100755 index 0000000000..1cbc57958b Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ai.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/al.gif b/lms/askbot/skins/common/media/images/flags/al.gif new file mode 100755 index 0000000000..c44fe0a0ae Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/al.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/am.gif b/lms/askbot/skins/common/media/images/flags/am.gif new file mode 100755 index 0000000000..2915e30cb2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/am.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/an.gif b/lms/askbot/skins/common/media/images/flags/an.gif new file mode 100755 index 0000000000..cb570c6799 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/an.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ao.gif b/lms/askbot/skins/common/media/images/flags/ao.gif new file mode 100644 index 0000000000..8c854fa108 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ao.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ar.gif b/lms/askbot/skins/common/media/images/flags/ar.gif new file mode 100755 index 0000000000..a9f71f7d6d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ar.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/as.gif b/lms/askbot/skins/common/media/images/flags/as.gif new file mode 100755 index 0000000000..d776ec2711 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/as.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/at.gif b/lms/askbot/skins/common/media/images/flags/at.gif new file mode 100755 index 0000000000..87e1217365 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/at.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/au.gif b/lms/askbot/skins/common/media/images/flags/au.gif new file mode 100755 index 0000000000..5269c6a0e0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/au.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/aw.gif b/lms/askbot/skins/common/media/images/flags/aw.gif new file mode 100755 index 0000000000..27fdb4d139 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/aw.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ax.gif b/lms/askbot/skins/common/media/images/flags/ax.gif new file mode 100755 index 0000000000..0ceb6849f4 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ax.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/az.gif b/lms/askbot/skins/common/media/images/flags/az.gif new file mode 100755 index 0000000000..d771618498 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/az.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ba.gif b/lms/askbot/skins/common/media/images/flags/ba.gif new file mode 100755 index 0000000000..9bf5f0ac7e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ba.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bb.gif b/lms/askbot/skins/common/media/images/flags/bb.gif new file mode 100755 index 0000000000..b7d08e57e3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bb.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bd.gif b/lms/askbot/skins/common/media/images/flags/bd.gif new file mode 100755 index 0000000000..0fd27ecabe Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bd.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/be.gif b/lms/askbot/skins/common/media/images/flags/be.gif new file mode 100755 index 0000000000..ae09bfbe14 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/be.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bf.gif b/lms/askbot/skins/common/media/images/flags/bf.gif new file mode 100755 index 0000000000..9d6772cd0c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bf.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bg.gif b/lms/askbot/skins/common/media/images/flags/bg.gif new file mode 100755 index 0000000000..11cf8ff3b3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bh.gif b/lms/askbot/skins/common/media/images/flags/bh.gif new file mode 100755 index 0000000000..56aa72b2b6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bh.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bi.gif b/lms/askbot/skins/common/media/images/flags/bi.gif new file mode 100755 index 0000000000..6e2cbe1216 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bi.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bj.gif b/lms/askbot/skins/common/media/images/flags/bj.gif new file mode 100755 index 0000000000..e676116f8e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bj.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bm.gif b/lms/askbot/skins/common/media/images/flags/bm.gif new file mode 100755 index 0000000000..9feb87bc9e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bn.gif b/lms/askbot/skins/common/media/images/flags/bn.gif new file mode 100755 index 0000000000..b7b6b0f919 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bo.gif b/lms/askbot/skins/common/media/images/flags/bo.gif new file mode 100755 index 0000000000..4844f85692 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bo.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/br.gif b/lms/askbot/skins/common/media/images/flags/br.gif new file mode 100755 index 0000000000..8c8661626b Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/br.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bs.gif b/lms/askbot/skins/common/media/images/flags/bs.gif new file mode 100755 index 0000000000..c0a741e5ca Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bs.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bt.gif b/lms/askbot/skins/common/media/images/flags/bt.gif new file mode 100755 index 0000000000..abe2f3ccb0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bt.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bv.gif b/lms/askbot/skins/common/media/images/flags/bv.gif new file mode 100755 index 0000000000..6202d1f3a2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bv.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bw.gif b/lms/askbot/skins/common/media/images/flags/bw.gif new file mode 100755 index 0000000000..986ab63c27 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bw.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/by.gif b/lms/askbot/skins/common/media/images/flags/by.gif new file mode 100755 index 0000000000..43ffcd4c71 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/by.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/bz.gif b/lms/askbot/skins/common/media/images/flags/bz.gif new file mode 100755 index 0000000000..791737f0bd Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/bz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ca.gif b/lms/askbot/skins/common/media/images/flags/ca.gif new file mode 100755 index 0000000000..457d9662d5 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ca.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/catalonia.gif b/lms/askbot/skins/common/media/images/flags/catalonia.gif new file mode 100644 index 0000000000..73df9a0498 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/catalonia.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cc.gif b/lms/askbot/skins/common/media/images/flags/cc.gif new file mode 100755 index 0000000000..3f7832702d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cc.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cd.gif b/lms/askbot/skins/common/media/images/flags/cd.gif new file mode 100644 index 0000000000..1df717ae5c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cd.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cf.gif b/lms/askbot/skins/common/media/images/flags/cf.gif new file mode 100755 index 0000000000..35787ca489 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cf.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cg.gif b/lms/askbot/skins/common/media/images/flags/cg.gif new file mode 100755 index 0000000000..e0a62a51ca Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ch.gif b/lms/askbot/skins/common/media/images/flags/ch.gif new file mode 100755 index 0000000000..d5c0e5b7fa Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ch.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ci.gif b/lms/askbot/skins/common/media/images/flags/ci.gif new file mode 100755 index 0000000000..844120a52b Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ci.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ck.gif b/lms/askbot/skins/common/media/images/flags/ck.gif new file mode 100755 index 0000000000..2edb73994c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ck.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cl.gif b/lms/askbot/skins/common/media/images/flags/cl.gif new file mode 100755 index 0000000000..cbc370e6ca Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cl.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cm.gif b/lms/askbot/skins/common/media/images/flags/cm.gif new file mode 100755 index 0000000000..1fb102b295 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cn.gif b/lms/askbot/skins/common/media/images/flags/cn.gif new file mode 100755 index 0000000000..b052530978 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/co.gif b/lms/askbot/skins/common/media/images/flags/co.gif new file mode 100755 index 0000000000..d0e15cafea Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/co.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cr.gif b/lms/askbot/skins/common/media/images/flags/cr.gif new file mode 100755 index 0000000000..0728dd6a49 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cs.gif b/lms/askbot/skins/common/media/images/flags/cs.gif new file mode 100755 index 0000000000..101db64939 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cs.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cu.gif b/lms/askbot/skins/common/media/images/flags/cu.gif new file mode 100755 index 0000000000..291255ca3f Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cu.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cv.gif b/lms/askbot/skins/common/media/images/flags/cv.gif new file mode 100755 index 0000000000..43c6c6cb6e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cv.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cx.gif b/lms/askbot/skins/common/media/images/flags/cx.gif new file mode 100755 index 0000000000..a5b43089b0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cx.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cy.gif b/lms/askbot/skins/common/media/images/flags/cy.gif new file mode 100755 index 0000000000..35c661e161 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cy.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/cz.gif b/lms/askbot/skins/common/media/images/flags/cz.gif new file mode 100755 index 0000000000..0a605e581d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/cz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/de.gif b/lms/askbot/skins/common/media/images/flags/de.gif new file mode 100755 index 0000000000..75728ddf21 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/de.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/dj.gif b/lms/askbot/skins/common/media/images/flags/dj.gif new file mode 100755 index 0000000000..212406d973 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/dj.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/dk.gif b/lms/askbot/skins/common/media/images/flags/dk.gif new file mode 100755 index 0000000000..03e75bd297 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/dk.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/dm.gif b/lms/askbot/skins/common/media/images/flags/dm.gif new file mode 100755 index 0000000000..2f87f3ca6a Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/dm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/do.gif b/lms/askbot/skins/common/media/images/flags/do.gif new file mode 100755 index 0000000000..f7d0bad39e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/do.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/dz.gif b/lms/askbot/skins/common/media/images/flags/dz.gif new file mode 100755 index 0000000000..ed580a7cec Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/dz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ec.gif b/lms/askbot/skins/common/media/images/flags/ec.gif new file mode 100755 index 0000000000..9e41e0ec8c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ec.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ee.gif b/lms/askbot/skins/common/media/images/flags/ee.gif new file mode 100755 index 0000000000..9397a2d084 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ee.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/eg.gif b/lms/askbot/skins/common/media/images/flags/eg.gif new file mode 100755 index 0000000000..6857c7dd57 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/eg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/eh.gif b/lms/askbot/skins/common/media/images/flags/eh.gif new file mode 100755 index 0000000000..dd0391c280 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/eh.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/england.gif b/lms/askbot/skins/common/media/images/flags/england.gif new file mode 100755 index 0000000000..933a4f0b3d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/england.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/er.gif b/lms/askbot/skins/common/media/images/flags/er.gif new file mode 100755 index 0000000000..3d4d612c77 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/er.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/es.gif b/lms/askbot/skins/common/media/images/flags/es.gif new file mode 100755 index 0000000000..c27d65e5f1 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/es.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/et.gif b/lms/askbot/skins/common/media/images/flags/et.gif new file mode 100755 index 0000000000..f77995d0ab Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/et.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/europeanunion.gif b/lms/askbot/skins/common/media/images/flags/europeanunion.gif new file mode 100644 index 0000000000..28a762a59c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/europeanunion.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/fam.gif b/lms/askbot/skins/common/media/images/flags/fam.gif new file mode 100755 index 0000000000..7d528852dc Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/fam.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/fi.gif b/lms/askbot/skins/common/media/images/flags/fi.gif new file mode 100755 index 0000000000..8d3a191828 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/fi.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/fj.gif b/lms/askbot/skins/common/media/images/flags/fj.gif new file mode 100755 index 0000000000..486151cb8d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/fj.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/fk.gif b/lms/askbot/skins/common/media/images/flags/fk.gif new file mode 100755 index 0000000000..37b5ecf303 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/fk.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/fm.gif b/lms/askbot/skins/common/media/images/flags/fm.gif new file mode 100755 index 0000000000..7f8723b7da Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/fm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/fo.gif b/lms/askbot/skins/common/media/images/flags/fo.gif new file mode 100755 index 0000000000..4a90fc043d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/fo.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/fr.gif b/lms/askbot/skins/common/media/images/flags/fr.gif new file mode 100755 index 0000000000..43d0b80172 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/fr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ga.gif b/lms/askbot/skins/common/media/images/flags/ga.gif new file mode 100755 index 0000000000..23fd5f0d2d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ga.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gb.gif b/lms/askbot/skins/common/media/images/flags/gb.gif new file mode 100644 index 0000000000..3c6bce15c4 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gb.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gd.gif b/lms/askbot/skins/common/media/images/flags/gd.gif new file mode 100755 index 0000000000..25ea312318 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gd.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ge.gif b/lms/askbot/skins/common/media/images/flags/ge.gif new file mode 100755 index 0000000000..faa7f126a7 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ge.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gf.gif b/lms/askbot/skins/common/media/images/flags/gf.gif new file mode 100755 index 0000000000..43d0b80172 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gf.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gh.gif b/lms/askbot/skins/common/media/images/flags/gh.gif new file mode 100755 index 0000000000..273fb7d1a9 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gh.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gi.gif b/lms/askbot/skins/common/media/images/flags/gi.gif new file mode 100755 index 0000000000..7b1984bc69 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gi.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gl.gif b/lms/askbot/skins/common/media/images/flags/gl.gif new file mode 100755 index 0000000000..ef445be003 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gl.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gm.gif b/lms/askbot/skins/common/media/images/flags/gm.gif new file mode 100755 index 0000000000..6847c5a8c0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gn.gif b/lms/askbot/skins/common/media/images/flags/gn.gif new file mode 100755 index 0000000000..a982ac6f56 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gp.gif b/lms/askbot/skins/common/media/images/flags/gp.gif new file mode 100755 index 0000000000..31166db665 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gp.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gq.gif b/lms/askbot/skins/common/media/images/flags/gq.gif new file mode 100755 index 0000000000..8b4e0cc41e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gq.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gr.gif b/lms/askbot/skins/common/media/images/flags/gr.gif new file mode 100755 index 0000000000..b4c8c04e53 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gs.gif b/lms/askbot/skins/common/media/images/flags/gs.gif new file mode 100755 index 0000000000..ccc96ec009 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gs.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gt.gif b/lms/askbot/skins/common/media/images/flags/gt.gif new file mode 100755 index 0000000000..7e94d1dda0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gt.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gu.gif b/lms/askbot/skins/common/media/images/flags/gu.gif new file mode 100755 index 0000000000..eafef683d5 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gu.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gw.gif b/lms/askbot/skins/common/media/images/flags/gw.gif new file mode 100755 index 0000000000..55f7571150 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gw.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/gy.gif b/lms/askbot/skins/common/media/images/flags/gy.gif new file mode 100755 index 0000000000..1cb4cd71d6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/gy.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/hk.gif b/lms/askbot/skins/common/media/images/flags/hk.gif new file mode 100755 index 0000000000..798af96da8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/hk.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/hm.gif b/lms/askbot/skins/common/media/images/flags/hm.gif new file mode 100755 index 0000000000..5269c6a0e0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/hm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/hn.gif b/lms/askbot/skins/common/media/images/flags/hn.gif new file mode 100755 index 0000000000..6c4ffe8e84 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/hn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/hr.gif b/lms/askbot/skins/common/media/images/flags/hr.gif new file mode 100755 index 0000000000..557c660202 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/hr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ht.gif b/lms/askbot/skins/common/media/images/flags/ht.gif new file mode 100755 index 0000000000..059604ab20 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ht.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/hu.gif b/lms/askbot/skins/common/media/images/flags/hu.gif new file mode 100755 index 0000000000..6142d86817 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/hu.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/id.gif b/lms/askbot/skins/common/media/images/flags/id.gif new file mode 100755 index 0000000000..865161b030 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/id.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ie.gif b/lms/askbot/skins/common/media/images/flags/ie.gif new file mode 100755 index 0000000000..506ad28590 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ie.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/il.gif b/lms/askbot/skins/common/media/images/flags/il.gif new file mode 100755 index 0000000000..c8483ae52f Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/il.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/in.gif b/lms/askbot/skins/common/media/images/flags/in.gif new file mode 100755 index 0000000000..1cd80272e8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/in.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/io.gif b/lms/askbot/skins/common/media/images/flags/io.gif new file mode 100755 index 0000000000..de7e7ab385 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/io.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/iq.gif b/lms/askbot/skins/common/media/images/flags/iq.gif new file mode 100755 index 0000000000..c34fe3c44a Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/iq.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ir.gif b/lms/askbot/skins/common/media/images/flags/ir.gif new file mode 100755 index 0000000000..156040fc57 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ir.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/is.gif b/lms/askbot/skins/common/media/images/flags/is.gif new file mode 100755 index 0000000000..b42502de4b Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/is.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/it.gif b/lms/askbot/skins/common/media/images/flags/it.gif new file mode 100755 index 0000000000..d79e90e99e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/it.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/jm.gif b/lms/askbot/skins/common/media/images/flags/jm.gif new file mode 100755 index 0000000000..0bed67c239 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/jm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/jo.gif b/lms/askbot/skins/common/media/images/flags/jo.gif new file mode 100755 index 0000000000..03daf8af67 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/jo.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/jp.gif b/lms/askbot/skins/common/media/images/flags/jp.gif new file mode 100755 index 0000000000..444c1d05c5 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/jp.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ke.gif b/lms/askbot/skins/common/media/images/flags/ke.gif new file mode 100755 index 0000000000..c2b5d45c43 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ke.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/kg.gif b/lms/askbot/skins/common/media/images/flags/kg.gif new file mode 100755 index 0000000000..72a4d412c8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/kg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/kh.gif b/lms/askbot/skins/common/media/images/flags/kh.gif new file mode 100755 index 0000000000..30a183158d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/kh.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ki.gif b/lms/askbot/skins/common/media/images/flags/ki.gif new file mode 100755 index 0000000000..4a0751a221 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ki.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/km.gif b/lms/askbot/skins/common/media/images/flags/km.gif new file mode 100755 index 0000000000..5859595e80 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/km.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/kn.gif b/lms/askbot/skins/common/media/images/flags/kn.gif new file mode 100755 index 0000000000..bb9cc34a92 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/kn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/kp.gif b/lms/askbot/skins/common/media/images/flags/kp.gif new file mode 100755 index 0000000000..6e0ca09e0b Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/kp.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/kr.gif b/lms/askbot/skins/common/media/images/flags/kr.gif new file mode 100755 index 0000000000..1cddbe75b3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/kr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/kw.gif b/lms/askbot/skins/common/media/images/flags/kw.gif new file mode 100755 index 0000000000..1efc7347ec Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/kw.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ky.gif b/lms/askbot/skins/common/media/images/flags/ky.gif new file mode 100755 index 0000000000..d3d02ee4d3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ky.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/kz.gif b/lms/askbot/skins/common/media/images/flags/kz.gif new file mode 100755 index 0000000000..24baebe05c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/kz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/la.gif b/lms/askbot/skins/common/media/images/flags/la.gif new file mode 100755 index 0000000000..d14cf4d82c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/la.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/lb.gif b/lms/askbot/skins/common/media/images/flags/lb.gif new file mode 100755 index 0000000000..003d83af5e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/lb.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/lc.gif b/lms/askbot/skins/common/media/images/flags/lc.gif new file mode 100644 index 0000000000..f5fe5bffd2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/lc.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/li.gif b/lms/askbot/skins/common/media/images/flags/li.gif new file mode 100755 index 0000000000..713c58e1df Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/li.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/lk.gif b/lms/askbot/skins/common/media/images/flags/lk.gif new file mode 100755 index 0000000000..1b3ee7f572 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/lk.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/lr.gif b/lms/askbot/skins/common/media/images/flags/lr.gif new file mode 100755 index 0000000000..435af9e506 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/lr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ls.gif b/lms/askbot/skins/common/media/images/flags/ls.gif new file mode 100755 index 0000000000..427ae957e5 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ls.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/lt.gif b/lms/askbot/skins/common/media/images/flags/lt.gif new file mode 100755 index 0000000000..dee9c601ad Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/lt.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/lu.gif b/lms/askbot/skins/common/media/images/flags/lu.gif new file mode 100755 index 0000000000..7d7293edd6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/lu.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/lv.gif b/lms/askbot/skins/common/media/images/flags/lv.gif new file mode 100755 index 0000000000..17e71b7eb6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/lv.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ly.gif b/lms/askbot/skins/common/media/images/flags/ly.gif new file mode 100755 index 0000000000..a654c30afa Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ly.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ma.gif b/lms/askbot/skins/common/media/images/flags/ma.gif new file mode 100755 index 0000000000..fc784119d3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ma.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mc.gif b/lms/askbot/skins/common/media/images/flags/mc.gif new file mode 100755 index 0000000000..02a7c8e1bd Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mc.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/md.gif b/lms/askbot/skins/common/media/images/flags/md.gif new file mode 100755 index 0000000000..e4b8a7e3f6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/md.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/me.gif b/lms/askbot/skins/common/media/images/flags/me.gif new file mode 100644 index 0000000000..a260453c2f Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/me.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mg.gif b/lms/askbot/skins/common/media/images/flags/mg.gif new file mode 100755 index 0000000000..a91b577d13 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mh.gif b/lms/askbot/skins/common/media/images/flags/mh.gif new file mode 100755 index 0000000000..92f5f485c3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mh.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mk.gif b/lms/askbot/skins/common/media/images/flags/mk.gif new file mode 100755 index 0000000000..7aeb8311b2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mk.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ml.gif b/lms/askbot/skins/common/media/images/flags/ml.gif new file mode 100755 index 0000000000..53d6f490c1 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ml.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mm.gif b/lms/askbot/skins/common/media/images/flags/mm.gif new file mode 100755 index 0000000000..9e0a2756d2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mn.gif b/lms/askbot/skins/common/media/images/flags/mn.gif new file mode 100755 index 0000000000..dff8ea5a63 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mo.gif b/lms/askbot/skins/common/media/images/flags/mo.gif new file mode 100755 index 0000000000..66cf5b4f05 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mo.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mp.gif b/lms/askbot/skins/common/media/images/flags/mp.gif new file mode 100755 index 0000000000..73b7147e9c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mp.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mq.gif b/lms/askbot/skins/common/media/images/flags/mq.gif new file mode 100755 index 0000000000..570bc5dd18 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mq.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mr.gif b/lms/askbot/skins/common/media/images/flags/mr.gif new file mode 100755 index 0000000000..f52fcf0933 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ms.gif b/lms/askbot/skins/common/media/images/flags/ms.gif new file mode 100755 index 0000000000..5e5a67aa88 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ms.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mt.gif b/lms/askbot/skins/common/media/images/flags/mt.gif new file mode 100755 index 0000000000..45c709f2bc Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mt.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mu.gif b/lms/askbot/skins/common/media/images/flags/mu.gif new file mode 100755 index 0000000000..081ab45336 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mu.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mv.gif b/lms/askbot/skins/common/media/images/flags/mv.gif new file mode 100755 index 0000000000..46b63875b1 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mv.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mw.gif b/lms/askbot/skins/common/media/images/flags/mw.gif new file mode 100755 index 0000000000..ad045a09c1 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mw.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mx.gif b/lms/askbot/skins/common/media/images/flags/mx.gif new file mode 100755 index 0000000000..ddc75d04d8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mx.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/my.gif b/lms/askbot/skins/common/media/images/flags/my.gif new file mode 100755 index 0000000000..fc7d523614 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/my.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/mz.gif b/lms/askbot/skins/common/media/images/flags/mz.gif new file mode 100755 index 0000000000..7d635082a6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/mz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/na.gif b/lms/askbot/skins/common/media/images/flags/na.gif new file mode 100755 index 0000000000..c0babe7231 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/na.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/nc.gif b/lms/askbot/skins/common/media/images/flags/nc.gif new file mode 100755 index 0000000000..b1e91b9a80 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/nc.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ne.gif b/lms/askbot/skins/common/media/images/flags/ne.gif new file mode 100755 index 0000000000..ff4eaf074e Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ne.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/nf.gif b/lms/askbot/skins/common/media/images/flags/nf.gif new file mode 100755 index 0000000000..c83424c2c3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/nf.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ng.gif b/lms/askbot/skins/common/media/images/flags/ng.gif new file mode 100755 index 0000000000..bdde7cb3bf Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ng.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ni.gif b/lms/askbot/skins/common/media/images/flags/ni.gif new file mode 100755 index 0000000000..d05894d0cb Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ni.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/nl.gif b/lms/askbot/skins/common/media/images/flags/nl.gif new file mode 100755 index 0000000000..c1c8f46d0c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/nl.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/no.gif b/lms/askbot/skins/common/media/images/flags/no.gif new file mode 100755 index 0000000000..6202d1f3a2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/no.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/np.gif b/lms/askbot/skins/common/media/images/flags/np.gif new file mode 100755 index 0000000000..1096893a70 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/np.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/nr.gif b/lms/askbot/skins/common/media/images/flags/nr.gif new file mode 100755 index 0000000000..2e4c0c5cad Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/nr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/nu.gif b/lms/askbot/skins/common/media/images/flags/nu.gif new file mode 100755 index 0000000000..618210a755 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/nu.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/nz.gif b/lms/askbot/skins/common/media/images/flags/nz.gif new file mode 100755 index 0000000000..028a5dc6e4 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/nz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/om.gif b/lms/askbot/skins/common/media/images/flags/om.gif new file mode 100755 index 0000000000..2b8c77501d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/om.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pa.gif b/lms/askbot/skins/common/media/images/flags/pa.gif new file mode 100755 index 0000000000..d518b2f978 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pa.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pe.gif b/lms/askbot/skins/common/media/images/flags/pe.gif new file mode 100755 index 0000000000..3bc7639057 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pe.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pf.gif b/lms/askbot/skins/common/media/images/flags/pf.gif new file mode 100755 index 0000000000..849297a570 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pf.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pg.gif b/lms/askbot/skins/common/media/images/flags/pg.gif new file mode 100755 index 0000000000..2d20b07856 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ph.gif b/lms/askbot/skins/common/media/images/flags/ph.gif new file mode 100755 index 0000000000..12b380acd3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ph.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pk.gif b/lms/askbot/skins/common/media/images/flags/pk.gif new file mode 100755 index 0000000000..f3f62c2ebc Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pk.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pl.gif b/lms/askbot/skins/common/media/images/flags/pl.gif new file mode 100755 index 0000000000..bf10646366 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pl.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pm.gif b/lms/askbot/skins/common/media/images/flags/pm.gif new file mode 100755 index 0000000000..99bf6fdb60 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pn.gif b/lms/askbot/skins/common/media/images/flags/pn.gif new file mode 100755 index 0000000000..4bc86a1d86 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pr.gif b/lms/askbot/skins/common/media/images/flags/pr.gif new file mode 100755 index 0000000000..6d5d589670 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ps.gif b/lms/askbot/skins/common/media/images/flags/ps.gif new file mode 100755 index 0000000000..6afa3b718c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ps.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pt.gif b/lms/askbot/skins/common/media/images/flags/pt.gif new file mode 100755 index 0000000000..e735f740e1 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pt.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/pw.gif b/lms/askbot/skins/common/media/images/flags/pw.gif new file mode 100755 index 0000000000..5854510fa9 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/pw.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/py.gif b/lms/askbot/skins/common/media/images/flags/py.gif new file mode 100755 index 0000000000..f2e66af75d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/py.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/qa.gif b/lms/askbot/skins/common/media/images/flags/qa.gif new file mode 100755 index 0000000000..2e843ff9eb Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/qa.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/re.gif b/lms/askbot/skins/common/media/images/flags/re.gif new file mode 100755 index 0000000000..43d0b80172 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/re.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ro.gif b/lms/askbot/skins/common/media/images/flags/ro.gif new file mode 100755 index 0000000000..f5d5f125b8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ro.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/rs.gif b/lms/askbot/skins/common/media/images/flags/rs.gif new file mode 100644 index 0000000000..3bd1fb2fd8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/rs.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ru.gif b/lms/askbot/skins/common/media/images/flags/ru.gif new file mode 100755 index 0000000000..b525c46233 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ru.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/rw.gif b/lms/askbot/skins/common/media/images/flags/rw.gif new file mode 100755 index 0000000000..0d095f7aed Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/rw.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sa.gif b/lms/askbot/skins/common/media/images/flags/sa.gif new file mode 100755 index 0000000000..179961b692 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sa.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sb.gif b/lms/askbot/skins/common/media/images/flags/sb.gif new file mode 100755 index 0000000000..8f5ff837fe Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sb.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sc.gif b/lms/askbot/skins/common/media/images/flags/sc.gif new file mode 100755 index 0000000000..31b47677e0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sc.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/scotland.gif b/lms/askbot/skins/common/media/images/flags/scotland.gif new file mode 100755 index 0000000000..03f3f1de2c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/scotland.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sd.gif b/lms/askbot/skins/common/media/images/flags/sd.gif new file mode 100755 index 0000000000..53ae214fa1 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sd.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/se.gif b/lms/askbot/skins/common/media/images/flags/se.gif new file mode 100755 index 0000000000..80f6285228 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/se.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sg.gif b/lms/askbot/skins/common/media/images/flags/sg.gif new file mode 100755 index 0000000000..5663d39f86 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sh.gif b/lms/askbot/skins/common/media/images/flags/sh.gif new file mode 100755 index 0000000000..dcc7f3bcff Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sh.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/si.gif b/lms/askbot/skins/common/media/images/flags/si.gif new file mode 100755 index 0000000000..23852b50e3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/si.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sj.gif b/lms/askbot/skins/common/media/images/flags/sj.gif new file mode 100755 index 0000000000..6202d1f3a2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sj.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sk.gif b/lms/askbot/skins/common/media/images/flags/sk.gif new file mode 100755 index 0000000000..1b3f22baf9 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sk.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sl.gif b/lms/askbot/skins/common/media/images/flags/sl.gif new file mode 100755 index 0000000000..f0f34923dc Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sl.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sm.gif b/lms/askbot/skins/common/media/images/flags/sm.gif new file mode 100755 index 0000000000..04d98de5a5 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sn.gif b/lms/askbot/skins/common/media/images/flags/sn.gif new file mode 100755 index 0000000000..6dac8709d4 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/so.gif b/lms/askbot/skins/common/media/images/flags/so.gif new file mode 100755 index 0000000000..f1961694ab Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/so.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sr.gif b/lms/askbot/skins/common/media/images/flags/sr.gif new file mode 100755 index 0000000000..0f7499ad95 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/st.gif b/lms/askbot/skins/common/media/images/flags/st.gif new file mode 100755 index 0000000000..4f1e6e092b Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/st.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sv.gif b/lms/askbot/skins/common/media/images/flags/sv.gif new file mode 100755 index 0000000000..2d7b159a12 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sv.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sy.gif b/lms/askbot/skins/common/media/images/flags/sy.gif new file mode 100755 index 0000000000..dc8bd50948 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sy.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/sz.gif b/lms/askbot/skins/common/media/images/flags/sz.gif new file mode 100755 index 0000000000..f37aaf8011 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/sz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tc.gif b/lms/askbot/skins/common/media/images/flags/tc.gif new file mode 100755 index 0000000000..11a8c232fc Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tc.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/td.gif b/lms/askbot/skins/common/media/images/flags/td.gif new file mode 100755 index 0000000000..7aa8a10dfc Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/td.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tf.gif b/lms/askbot/skins/common/media/images/flags/tf.gif new file mode 100755 index 0000000000..51a4325096 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tf.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tg.gif b/lms/askbot/skins/common/media/images/flags/tg.gif new file mode 100755 index 0000000000..ca6b4e7744 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/th.gif b/lms/askbot/skins/common/media/images/flags/th.gif new file mode 100755 index 0000000000..0130792409 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/th.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tj.gif b/lms/askbot/skins/common/media/images/flags/tj.gif new file mode 100755 index 0000000000..2fe38d4ab9 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tj.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tk.gif b/lms/askbot/skins/common/media/images/flags/tk.gif new file mode 100755 index 0000000000..3d3a727fde Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tk.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tl.gif b/lms/askbot/skins/common/media/images/flags/tl.gif new file mode 100755 index 0000000000..df22d58239 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tl.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tm.gif b/lms/askbot/skins/common/media/images/flags/tm.gif new file mode 100755 index 0000000000..36d0994fb9 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tn.gif b/lms/askbot/skins/common/media/images/flags/tn.gif new file mode 100755 index 0000000000..917d4288c9 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/to.gif b/lms/askbot/skins/common/media/images/flags/to.gif new file mode 100755 index 0000000000..d7ed4d1164 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/to.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tr.gif b/lms/askbot/skins/common/media/images/flags/tr.gif new file mode 100755 index 0000000000..e407d553d2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tr.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tt.gif b/lms/askbot/skins/common/media/images/flags/tt.gif new file mode 100755 index 0000000000..47d3b806b5 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tt.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tv.gif b/lms/askbot/skins/common/media/images/flags/tv.gif new file mode 100755 index 0000000000..3c33827789 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tv.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tw.gif b/lms/askbot/skins/common/media/images/flags/tw.gif new file mode 100755 index 0000000000..cacfd9b7aa Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tw.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/tz.gif b/lms/askbot/skins/common/media/images/flags/tz.gif new file mode 100755 index 0000000000..82b52ca298 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/tz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ua.gif b/lms/askbot/skins/common/media/images/flags/ua.gif new file mode 100755 index 0000000000..5d6cd83f59 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ua.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ug.gif b/lms/askbot/skins/common/media/images/flags/ug.gif new file mode 100755 index 0000000000..58b731ad5c Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ug.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/um.gif b/lms/askbot/skins/common/media/images/flags/um.gif new file mode 100755 index 0000000000..3b4c848393 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/um.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/us.gif b/lms/askbot/skins/common/media/images/flags/us.gif new file mode 100755 index 0000000000..8f198f73a7 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/us.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/uy.gif b/lms/askbot/skins/common/media/images/flags/uy.gif new file mode 100755 index 0000000000..12848c7413 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/uy.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/uz.gif b/lms/askbot/skins/common/media/images/flags/uz.gif new file mode 100755 index 0000000000..dc9daecaa8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/uz.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/va.gif b/lms/askbot/skins/common/media/images/flags/va.gif new file mode 100755 index 0000000000..2bd74468d6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/va.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/vc.gif b/lms/askbot/skins/common/media/images/flags/vc.gif new file mode 100755 index 0000000000..48213816af Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/vc.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ve.gif b/lms/askbot/skins/common/media/images/flags/ve.gif new file mode 100755 index 0000000000..19ce6c1466 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ve.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/vg.gif b/lms/askbot/skins/common/media/images/flags/vg.gif new file mode 100755 index 0000000000..1fc0f96eed Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/vg.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/vi.gif b/lms/askbot/skins/common/media/images/flags/vi.gif new file mode 100755 index 0000000000..66f9e746b6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/vi.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/vn.gif b/lms/askbot/skins/common/media/images/flags/vn.gif new file mode 100755 index 0000000000..f1e20c9412 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/vn.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/vu.gif b/lms/askbot/skins/common/media/images/flags/vu.gif new file mode 100755 index 0000000000..8a8b2b065f Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/vu.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/wales.gif b/lms/askbot/skins/common/media/images/flags/wales.gif new file mode 100755 index 0000000000..901d17507d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/wales.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/wf.gif b/lms/askbot/skins/common/media/images/flags/wf.gif new file mode 100755 index 0000000000..eaa954b136 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/wf.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ws.gif b/lms/askbot/skins/common/media/images/flags/ws.gif new file mode 100755 index 0000000000..a51f939ede Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ws.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/ye.gif b/lms/askbot/skins/common/media/images/flags/ye.gif new file mode 100755 index 0000000000..7b0183d0e1 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/ye.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/yt.gif b/lms/askbot/skins/common/media/images/flags/yt.gif new file mode 100755 index 0000000000..a2267c0546 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/yt.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/za.gif b/lms/askbot/skins/common/media/images/flags/za.gif new file mode 100755 index 0000000000..ede5258919 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/za.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/zm.gif b/lms/askbot/skins/common/media/images/flags/zm.gif new file mode 100755 index 0000000000..b2851d2b40 Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/zm.gif differ diff --git a/lms/askbot/skins/common/media/images/flags/zw.gif b/lms/askbot/skins/common/media/images/flags/zw.gif new file mode 100755 index 0000000000..02901f627d Binary files /dev/null and b/lms/askbot/skins/common/media/images/flags/zw.gif differ diff --git a/lms/askbot/skins/common/media/images/go-up-grey.png b/lms/askbot/skins/common/media/images/go-up-grey.png new file mode 100644 index 0000000000..763bb799ed Binary files /dev/null and b/lms/askbot/skins/common/media/images/go-up-grey.png differ diff --git a/lms/askbot/skins/common/media/images/go-up-orange.png b/lms/askbot/skins/common/media/images/go-up-orange.png new file mode 100644 index 0000000000..eca3579d35 Binary files /dev/null and b/lms/askbot/skins/common/media/images/go-up-orange.png differ diff --git a/lms/askbot/skins/common/media/images/gray-up-arrow-h18px.png b/lms/askbot/skins/common/media/images/gray-up-arrow-h18px.png new file mode 100755 index 0000000000..78767445ec Binary files /dev/null and b/lms/askbot/skins/common/media/images/gray-up-arrow-h18px.png differ diff --git a/lms/askbot/skins/common/media/images/grippie.png b/lms/askbot/skins/common/media/images/grippie.png new file mode 100755 index 0000000000..6524d4167d Binary files /dev/null and b/lms/askbot/skins/common/media/images/grippie.png differ diff --git a/lms/askbot/skins/common/media/images/indicator.gif b/lms/askbot/skins/common/media/images/indicator.gif new file mode 100755 index 0000000000..1c72ebb554 Binary files /dev/null and b/lms/askbot/skins/common/media/images/indicator.gif differ diff --git a/lms/askbot/skins/common/media/images/logo.gif b/lms/askbot/skins/common/media/images/logo.gif new file mode 100644 index 0000000000..ac4ceda66e Binary files /dev/null and b/lms/askbot/skins/common/media/images/logo.gif differ diff --git a/lms/askbot/skins/common/media/images/logo.png b/lms/askbot/skins/common/media/images/logo.png new file mode 100644 index 0000000000..10559161a3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/logo.png differ diff --git a/lms/askbot/skins/common/media/images/logo1.png b/lms/askbot/skins/common/media/images/logo1.png new file mode 100755 index 0000000000..d79a627174 Binary files /dev/null and b/lms/askbot/skins/common/media/images/logo1.png differ diff --git a/lms/askbot/skins/common/media/images/logo2.png b/lms/askbot/skins/common/media/images/logo2.png new file mode 100755 index 0000000000..bd3cccd9f4 Binary files /dev/null and b/lms/askbot/skins/common/media/images/logo2.png differ diff --git a/lms/askbot/skins/common/media/images/mail-envelope-empty.png b/lms/askbot/skins/common/media/images/mail-envelope-empty.png new file mode 100644 index 0000000000..0fde87dc9d Binary files /dev/null and b/lms/askbot/skins/common/media/images/mail-envelope-empty.png differ diff --git a/lms/askbot/skins/common/media/images/mail-envelope-full.png b/lms/askbot/skins/common/media/images/mail-envelope-full.png new file mode 100644 index 0000000000..2277e91977 Binary files /dev/null and b/lms/askbot/skins/common/media/images/mail-envelope-full.png differ diff --git a/lms/askbot/skins/common/media/images/medala.gif b/lms/askbot/skins/common/media/images/medala.gif new file mode 100755 index 0000000000..93dd1a3960 Binary files /dev/null and b/lms/askbot/skins/common/media/images/medala.gif differ diff --git a/lms/askbot/skins/common/media/images/medala_on.gif b/lms/askbot/skins/common/media/images/medala_on.gif new file mode 100755 index 0000000000..a18f9e8562 Binary files /dev/null and b/lms/askbot/skins/common/media/images/medala_on.gif differ diff --git a/lms/askbot/skins/common/media/images/new.gif b/lms/askbot/skins/common/media/images/new.gif new file mode 100755 index 0000000000..8a220b5312 Binary files /dev/null and b/lms/askbot/skins/common/media/images/new.gif differ diff --git a/lms/askbot/skins/common/media/images/nophoto.png b/lms/askbot/skins/common/media/images/nophoto.png new file mode 100755 index 0000000000..2daf0ffd43 Binary files /dev/null and b/lms/askbot/skins/common/media/images/nophoto.png differ diff --git a/lms/askbot/skins/common/media/images/openid.gif b/lms/askbot/skins/common/media/images/openid.gif new file mode 100755 index 0000000000..8540e12bcd Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid.gif differ diff --git a/lms/askbot/skins/common/media/images/openid/aol.gif b/lms/askbot/skins/common/media/images/openid/aol.gif new file mode 100755 index 0000000000..decc4f1236 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/aol.gif differ diff --git a/lms/askbot/skins/common/media/images/openid/blogger.ico b/lms/askbot/skins/common/media/images/openid/blogger.ico new file mode 100755 index 0000000000..1b9730b01c Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/blogger.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/claimid.ico b/lms/askbot/skins/common/media/images/openid/claimid.ico new file mode 100755 index 0000000000..2b80f49183 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/claimid.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/facebook.gif b/lms/askbot/skins/common/media/images/openid/facebook.gif new file mode 100755 index 0000000000..b997b358f7 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/facebook.gif differ diff --git a/lms/askbot/skins/common/media/images/openid/flickr.ico b/lms/askbot/skins/common/media/images/openid/flickr.ico new file mode 100755 index 0000000000..11f6e07f68 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/flickr.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/google.gif b/lms/askbot/skins/common/media/images/openid/google.gif new file mode 100755 index 0000000000..1b6cd07bd8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/google.gif differ diff --git a/lms/askbot/skins/common/media/images/openid/livejournal.ico b/lms/askbot/skins/common/media/images/openid/livejournal.ico new file mode 100755 index 0000000000..f3d21ec5e8 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/livejournal.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/myopenid.ico b/lms/askbot/skins/common/media/images/openid/myopenid.ico new file mode 100755 index 0000000000..ceb06e6a3f Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/myopenid.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/openid-inputicon.gif b/lms/askbot/skins/common/media/images/openid/openid-inputicon.gif new file mode 100755 index 0000000000..cde836c893 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/openid-inputicon.gif differ diff --git a/lms/askbot/skins/common/media/images/openid/openid.gif b/lms/askbot/skins/common/media/images/openid/openid.gif new file mode 100755 index 0000000000..c718b0e6f3 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/openid.gif differ diff --git a/lms/askbot/skins/common/media/images/openid/technorati.ico b/lms/askbot/skins/common/media/images/openid/technorati.ico new file mode 100755 index 0000000000..fa1083c116 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/technorati.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/twitter.png b/lms/askbot/skins/common/media/images/openid/twitter.png new file mode 100755 index 0000000000..9a6552d184 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/twitter.png differ diff --git a/lms/askbot/skins/common/media/images/openid/verisign.ico b/lms/askbot/skins/common/media/images/openid/verisign.ico new file mode 100755 index 0000000000..3953af9319 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/verisign.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/vidoop.ico b/lms/askbot/skins/common/media/images/openid/vidoop.ico new file mode 100755 index 0000000000..bbd9a0d50f Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/vidoop.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/wordpress.ico b/lms/askbot/skins/common/media/images/openid/wordpress.ico new file mode 100755 index 0000000000..31b7d2c2b7 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/wordpress.ico differ diff --git a/lms/askbot/skins/common/media/images/openid/yahoo.gif b/lms/askbot/skins/common/media/images/openid/yahoo.gif new file mode 100755 index 0000000000..0f0eb8efe7 Binary files /dev/null and b/lms/askbot/skins/common/media/images/openid/yahoo.gif differ diff --git a/lms/askbot/skins/common/media/images/print.png b/lms/askbot/skins/common/media/images/print.png new file mode 100644 index 0000000000..37bf88afb2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/print.png differ diff --git a/lms/askbot/skins/common/media/images/pw-login.gif b/lms/askbot/skins/common/media/images/pw-login.gif new file mode 100644 index 0000000000..f88b1bcf0b Binary files /dev/null and b/lms/askbot/skins/common/media/images/pw-login.gif differ diff --git a/lms/askbot/skins/common/media/images/quest-bg.gif b/lms/askbot/skins/common/media/images/quest-bg.gif new file mode 100755 index 0000000000..b754023882 Binary files /dev/null and b/lms/askbot/skins/common/media/images/quest-bg.gif differ diff --git a/lms/askbot/skins/common/media/images/scopearrow.png b/lms/askbot/skins/common/media/images/scopearrow.png new file mode 100644 index 0000000000..73dc674452 Binary files /dev/null and b/lms/askbot/skins/common/media/images/scopearrow.png differ diff --git a/lms/askbot/skins/common/media/images/sprite.png b/lms/askbot/skins/common/media/images/sprite.png new file mode 100644 index 0000000000..1a0fbc78df Binary files /dev/null and b/lms/askbot/skins/common/media/images/sprite.png differ diff --git a/lms/askbot/skins/common/media/images/sprites.png b/lms/askbot/skins/common/media/images/sprites.png new file mode 100644 index 0000000000..e7244673e6 Binary files /dev/null and b/lms/askbot/skins/common/media/images/sprites.png differ diff --git a/lms/askbot/skins/common/media/images/sprites_source/sprites.svg b/lms/askbot/skins/common/media/images/sprites_source/sprites.svg new file mode 100644 index 0000000000..34898e3037 --- /dev/null +++ b/lms/askbot/skins/common/media/images/sprites_source/sprites.svg @@ -0,0 +1,732 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + X + + + X + + + X + + + + + + + + + + + + + + + + + + + + + + + + + ASK A QUESTION + ASK A QUESTION + + + + + + + + + + + + + diff --git a/lms/askbot/skins/common/media/images/summary-background.png b/lms/askbot/skins/common/media/images/summary-background.png new file mode 100644 index 0000000000..58c3855abb Binary files /dev/null and b/lms/askbot/skins/common/media/images/summary-background.png differ diff --git a/lms/askbot/skins/common/media/images/tag-left.png b/lms/askbot/skins/common/media/images/tag-left.png new file mode 100644 index 0000000000..5a9d8a0d38 Binary files /dev/null and b/lms/askbot/skins/common/media/images/tag-left.png differ diff --git a/lms/askbot/skins/common/media/images/tag-right.png b/lms/askbot/skins/common/media/images/tag-right.png new file mode 100644 index 0000000000..871664c301 Binary files /dev/null and b/lms/askbot/skins/common/media/images/tag-right.png differ diff --git a/lms/askbot/skins/common/media/images/vote-accepted-on.png b/lms/askbot/skins/common/media/images/vote-accepted-on.png new file mode 100755 index 0000000000..2026f3bcc5 Binary files /dev/null and b/lms/askbot/skins/common/media/images/vote-accepted-on.png differ diff --git a/lms/askbot/skins/common/media/images/vote-accepted.png b/lms/askbot/skins/common/media/images/vote-accepted.png new file mode 100755 index 0000000000..ecd185515a Binary files /dev/null and b/lms/askbot/skins/common/media/images/vote-accepted.png differ diff --git a/lms/askbot/skins/common/media/images/vote-arrow-down-on.png b/lms/askbot/skins/common/media/images/vote-arrow-down-on.png new file mode 100755 index 0000000000..048dbb44dc Binary files /dev/null and b/lms/askbot/skins/common/media/images/vote-arrow-down-on.png differ diff --git a/lms/askbot/skins/common/media/images/vote-arrow-down.png b/lms/askbot/skins/common/media/images/vote-arrow-down.png new file mode 100755 index 0000000000..e4fdec0ab0 Binary files /dev/null and b/lms/askbot/skins/common/media/images/vote-arrow-down.png differ diff --git a/lms/askbot/skins/common/media/images/vote-arrow-up-on.png b/lms/askbot/skins/common/media/images/vote-arrow-up-on.png new file mode 100755 index 0000000000..56ad0c2591 Binary files /dev/null and b/lms/askbot/skins/common/media/images/vote-arrow-up-on.png differ diff --git a/lms/askbot/skins/common/media/images/vote-arrow-up.png b/lms/askbot/skins/common/media/images/vote-arrow-up.png new file mode 100755 index 0000000000..6e9a51c7df Binary files /dev/null and b/lms/askbot/skins/common/media/images/vote-arrow-up.png differ diff --git a/lms/askbot/skins/common/media/images/vote-favorite-off.png b/lms/askbot/skins/common/media/images/vote-favorite-off.png new file mode 100755 index 0000000000..c1bef0745e Binary files /dev/null and b/lms/askbot/skins/common/media/images/vote-favorite-off.png differ diff --git a/lms/askbot/skins/common/media/images/vote-favorite-on.png b/lms/askbot/skins/common/media/images/vote-favorite-on.png new file mode 100755 index 0000000000..1f9c14ab08 Binary files /dev/null and b/lms/askbot/skins/common/media/images/vote-favorite-on.png differ diff --git a/lms/askbot/skins/common/media/images/wiki.png b/lms/askbot/skins/common/media/images/wiki.png new file mode 100644 index 0000000000..06d487f3e2 Binary files /dev/null and b/lms/askbot/skins/common/media/images/wiki.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/aol.gif b/lms/askbot/skins/common/media/jquery-openid/images/aol.gif new file mode 100755 index 0000000000..24d1e152c9 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/aol.gif differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/blogger-1.png b/lms/askbot/skins/common/media/jquery-openid/images/blogger-1.png new file mode 100755 index 0000000000..8b360ea562 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/blogger-1.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/blogger.ico b/lms/askbot/skins/common/media/jquery-openid/images/blogger.ico new file mode 100755 index 0000000000..1b9730b01c Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/blogger.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/claimid-0.png b/lms/askbot/skins/common/media/jquery-openid/images/claimid-0.png new file mode 100755 index 0000000000..4a0ea1b35a Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/claimid-0.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/claimid.ico b/lms/askbot/skins/common/media/jquery-openid/images/claimid.ico new file mode 100755 index 0000000000..2b80f49183 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/claimid.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/facebook.gif b/lms/askbot/skins/common/media/jquery-openid/images/facebook.gif new file mode 100755 index 0000000000..c558645522 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/facebook.gif differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/flickr.ico b/lms/askbot/skins/common/media/jquery-openid/images/flickr.ico new file mode 100755 index 0000000000..11f6e07f68 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/flickr.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/flickr.png b/lms/askbot/skins/common/media/jquery-openid/images/flickr.png new file mode 100755 index 0000000000..142405a6e6 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/flickr.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/google.gif b/lms/askbot/skins/common/media/jquery-openid/images/google.gif new file mode 100755 index 0000000000..653953658f Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/google.gif differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/identica.png b/lms/askbot/skins/common/media/jquery-openid/images/identica.png new file mode 100644 index 0000000000..2b607db163 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/identica.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/linkedin.gif b/lms/askbot/skins/common/media/jquery-openid/images/linkedin.gif new file mode 100644 index 0000000000..36e049ac7f Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/linkedin.gif differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/livejournal-1.png b/lms/askbot/skins/common/media/jquery-openid/images/livejournal-1.png new file mode 100755 index 0000000000..e643608186 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/livejournal-1.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/livejournal.ico b/lms/askbot/skins/common/media/jquery-openid/images/livejournal.ico new file mode 100755 index 0000000000..f3d21ec5e8 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/livejournal.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/myopenid-2.png b/lms/askbot/skins/common/media/jquery-openid/images/myopenid-2.png new file mode 100755 index 0000000000..f64fb8e81b Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/myopenid-2.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/myopenid.ico b/lms/askbot/skins/common/media/jquery-openid/images/myopenid.ico new file mode 100755 index 0000000000..ceb06e6a3f Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/myopenid.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/openid-inputicon.gif b/lms/askbot/skins/common/media/jquery-openid/images/openid-inputicon.gif new file mode 100755 index 0000000000..cde836c893 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/openid-inputicon.gif differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/openid.gif b/lms/askbot/skins/common/media/jquery-openid/images/openid.gif new file mode 100755 index 0000000000..19eb7c6f68 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/openid.gif differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/openidico.png b/lms/askbot/skins/common/media/jquery-openid/images/openidico.png new file mode 100755 index 0000000000..ab622669df Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/openidico.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/openidico16.png b/lms/askbot/skins/common/media/jquery-openid/images/openidico16.png new file mode 100755 index 0000000000..ad718ac5a6 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/openidico16.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/technorati-1.png b/lms/askbot/skins/common/media/jquery-openid/images/technorati-1.png new file mode 100755 index 0000000000..f719524034 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/technorati-1.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/technorati.ico b/lms/askbot/skins/common/media/jquery-openid/images/technorati.ico new file mode 100755 index 0000000000..fa1083c116 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/technorati.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/twitter.gif b/lms/askbot/skins/common/media/jquery-openid/images/twitter.gif new file mode 100644 index 0000000000..173cace1cb Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/twitter.gif differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/verisign-2.png b/lms/askbot/skins/common/media/jquery-openid/images/verisign-2.png new file mode 100755 index 0000000000..c14670084a Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/verisign-2.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/verisign.ico b/lms/askbot/skins/common/media/jquery-openid/images/verisign.ico new file mode 100755 index 0000000000..3953af9319 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/verisign.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/vidoop.ico b/lms/askbot/skins/common/media/jquery-openid/images/vidoop.ico new file mode 100755 index 0000000000..bbd9a0d50f Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/vidoop.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/vidoop.png b/lms/askbot/skins/common/media/jquery-openid/images/vidoop.png new file mode 100755 index 0000000000..032c9e9897 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/vidoop.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/wordpress.ico b/lms/askbot/skins/common/media/jquery-openid/images/wordpress.ico new file mode 100755 index 0000000000..31b7d2c2b7 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/wordpress.ico differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/wordpress.png b/lms/askbot/skins/common/media/jquery-openid/images/wordpress.png new file mode 100755 index 0000000000..ee29f0cf1a Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/wordpress.png differ diff --git a/lms/askbot/skins/common/media/jquery-openid/images/yahoo.gif b/lms/askbot/skins/common/media/jquery-openid/images/yahoo.gif new file mode 100755 index 0000000000..614910a9d3 Binary files /dev/null and b/lms/askbot/skins/common/media/jquery-openid/images/yahoo.gif differ diff --git a/lms/askbot/skins/common/media/jquery-openid/jquery.openid.js b/lms/askbot/skins/common/media/jquery-openid/jquery.openid.js new file mode 100644 index 0000000000..249413b919 --- /dev/null +++ b/lms/askbot/skins/common/media/jquery-openid/jquery.openid.js @@ -0,0 +1,440 @@ +$.fn.authenticator = function() { + var signin_page = $(this); + var signin_form = $('#signin-form'); + var openid_login_token_input = $('input[name=openid_login_token]'); + var openid_login_token_input_fields = $('#openid-fs'); + var provider_name_input = $('input[name=login_provider_name]'); + var email_input_fields = $('#email-input-fs'); + var account_recovery_heading = $('#account-recovery-heading'); + var account_recovery_hint = $('#account-recovery-form>.hint'); + var account_recovery_link = $('#account-recovery-form>.hint>span.link'); + var account_recovery_text_span = $('#account-recovery-form>.hint>span.text'); + var password_input_fields = $('#password-fs'); + var existing_login_methods_div = $('#existing-login-methods'); + var openid_submit_button = $('input[name=openid_login_with_extra_token]'); + var existing_login_methods = {}; + + var account_recovery_question_text = account_recovery_heading.html(); + var account_recovery_prompt_text = account_recovery_text_span.html(); + + var setup_click_handler = function(elements, handler_function){ + elements.unbind('click').click(handler_function); + }; + + var setup_enter_key_handler = function(elements, handler_function){ + elements.each( + function(index, element){ + $(element).unbind('keypress').keypress( + function(e){ + if ((e.which && e.which == 13)||(e.keyCode && e.keyCode == 13)){ + if (handler_function){ + return handler_function(); + } + else { + element.click(); + return false; + } + } + } + ); + } + ); + }; + + var setup_event_handlers = function(elements, handler_function){ + setup_click_handler(elements, handler_function); + setup_enter_key_handler(elements); + }; + + var get_provider_name = function(row_el){ + var row = $(row_el); + var name_span = row.find('.ab-provider-name'); + return provider_name = $.trim(name_span.html()); + }; + + var read_existing_login_methods = function(){ + $('.ab-provider-row').each( + function(i, provider_row){ + var provider_name = get_provider_name(provider_row); + existing_login_methods[provider_name] = true; + } + ); + }; + + var setup_login_method_deleters = function(){ + $('.ab-provider-row').each( + function(i, provider_row){ + var provider_name = get_provider_name(provider_row); + var remove_button = $( + provider_row + ).find('button'); + remove_button.click( + function(){ + var message = interpolate(gettext('Are you sure you want to remove your %s login?'), [provider_name]); + if (confirm(message)){ + $.ajax({ + type: 'POST', + url: authUrl + 'delete_login_method/',//url!!! + data: {provider_name: provider_name}, + success: function(data, text_status, xhr){ + $(provider_row).remove(); + delete existing_login_methods[provider_name]; + provider_count -=1; + if (provider_count < 0){ + provider_count === 0; + } + if (provider_count === 0){ + $('#ab-existing-login-methods').remove(); + $('#ab-show-login-methods').remove(); + $('h1').html( + gettext("Please add one or more login methods.") + ); + $('#login-intro').html( + gettext("You don\'t have a method to log in right now, please add one or more by clicking any of the icons below.") + ); + existing_login_methods = null; + } + } + }); + } + } + ); + } + ); + } + + var submit_login_with_password = function(){ + var username = $('#id_username'); + var password = $('#id_password'); + + if (username.val().length < 1){ + username.focus(); + return false; + } + if (password.val().length < 1){ + password.focus(); + return false; + } + return true; + }; + + var submit_change_password = function(){ + var newpass = $('#id_new_password'); + var newpass_retyped = $('#id_new_password_retyped'); + if (newpass.val().length < 1){ + newpass.focus(); + return false + } + if (newpass_retyped.val().length < 1){ + newpass_retyped.focus(); + return false; + } + if (newpass.val() !== newpass_retyped.val()){ + newpass_retyped.after( + '' + + gettext('passwords do not match') + + '' + ); + newpass.val('').focus(); + newpass_retyped.val(''); + return false; + } + return true; + }; + + //validator, may be extended to check url for openid + var submit_with_extra_openid_token = function() { + if (openid_login_token_input.val().length < 1) { + openid_login_token_input.focus(); + return false; + } + return true; + }; + + var insert_login_list_enabler = function(){ + var enabler = $('#login-list-enabler'); + if (enabler.is('p#login-list-enabler')){ + enabler.show(); + } + else { + enabler = $( + '

' + + gettext('Show/change current login methods') + + '

'); + setup_event_handlers( + enabler, + function(){ + if (askbot['settings']['signin_always_show_local_login'] === false){ + password_input_fields.hide(); + } + openid_login_token_input_fields.hide(); + enabler.hide(); + existing_login_methods_div.show(); + } + ); + existing_login_methods_div.after(enabler); + } + }; + + var reset_password_input_fields = function(){ + if (userIsAuthenticated){ + $('#id_new_password').val(''); + $('#id_new_password_retyped').val(''); + } + else { + $('#id_username').val(''); + $('#id_password').val(''); + } + }; + + var reset_form = function(){ + openid_login_token_input_fields.hide(); + if (askbot['settings']['signin_always_show_local_login'] === false){ + password_input_fields.hide(); + } + reset_password_input_fields(); + if (userIsAuthenticated === false){ + email_input_fields.hide(); + account_recovery_heading.hide(); + account_recovery_link.show(); + account_recovery_hint.show(); + $('#account-recovery-form>p.hint').css('margin-top','10px'); + account_recovery_text_span.html(account_recovery_question_text).show(); + } + else { + if (existing_login_methods !== null){ + existing_login_methods_div.hide(); + insert_login_list_enabler(); + } + } + }; + + var reset_form_and_errors = function(){ + reset_form(); + $('.error').remove(); + } + + var set_provider_name = function(element){ + var provider_name = element.attr('name'); + provider_name_input.val(provider_name); + }; + + var show_openid_input_fields = function(provider_name){ + reset_form_and_errors(); + var token_name = extra_token_name[provider_name] + if (userIsAuthenticated){ + $('#openid-heading').html( + interpolate(gettext('Please enter your %s, then proceed'), [token_name]) + ); + var button_text = gettext('Connect your %(provider_name)s account to %(site)s'); + var data = { + provider_name: provider_name, + site: siteName + } + button_text = interpolate(button_text, data, true); + openid_submit_button.val(button_text); + } + else { + $('#openid-heading>span').html(token_name); + } + openid_login_token_input_fields.show(); + openid_login_token_input.focus(); + }; + + var start_simple_login = function() { + //$('#openid_form .providers td').removeClass('highlight'); + //$li.addClass('highlight'); + set_provider_name($(this)); + signin_form.submit(); + return true; + }; + + var start_login_with_extra_openid_token = function() { + show_openid_input_fields($(this).attr('name')); + set_provider_name($(this)); + + setup_enter_key_handler( + openid_login_token_input, + function(){ + openid_submit_button.click(); + return false; + } + ); + + setup_event_handlers( + openid_submit_button, + function(){ + signin_form.unbind( + 'submit' + ).submit( + submit_with_extra_openid_token + ); + } + ); + return false; + }; + + var start_facebook_login = function(){ + set_provider_name($(this)); + if (typeof FB != 'undefined'){ + FB.getLoginStatus(function(response){ + if (response.authResponse){ + signin_form.submit(); + } + else { + if (FB.getAuthResponse()){ + signin_form.submit(); + } + FB.login(); + } + }); + } + return false; + }; + + var start_password_login_or_change = function(){ + //called upon clicking on one of the password login buttons + reset_form_and_errors(); + set_provider_name($(this)); + var provider_name = $(this).attr('name'); + return setup_password_login_or_change(provider_name); + }; + + var init_always_visible_password_login = function(){ + reset_form(); + //will break wordpress and ldap + provider_name_input.val('local'); + setup_password_login_or_change('local'); + }; + + var setup_password_login_or_change = function(provider_name){ + var token_name = extra_token_name[provider_name] + var password_action_input = $('input[name=password_action]'); + if (userIsAuthenticated === true){ + var password_button = $('input[name=change_password]'); + var submit_action = submit_change_password; + if (provider_name === 'local'){ + var provider_cleaned_name = siteName; + } + else { + var provider_cleaned_name = provider_name; + } + if (existing_login_methods && existing_login_methods[provider_name]){ + var password_heading_text = interpolate(gettext('Change your %s password'), [provider_cleaned_name]) + var password_button_text = gettext('Change password') + } + else { + var password_heading_text = interpolate(gettext('Create a password for %s'), [provider_cleaned_name]) + var password_button_text = gettext('Create password') + } + $('#password-heading').html( + password_heading_text + ) + password_button.val(password_button_text); + password_action_input.val('change_password'); + var focus_input = $('#id_new_password'); + var submittable_input = $('#id_new_password_retyped'); + } + else{ + $('#password-heading>span').html(token_name); + var password_button = $('input[name=login_with_password]'); + var submit_action = submit_login_with_password; + var create_pw_link = $('a.create-password-account') + if (create_pw_link.length > 0){ + create_pw_link.html(gettext('Create a password-protected account')); + var url = create_pw_link.attr('href'); + if (url.indexOf('?') !== -1){ + url = url.replace(/\?.*$/,'?login_provider=' + provider_name); + } + else{ + url += '?login_provider=' + provider_name; + } + create_pw_link.attr('href', url); + } + password_action_input.val('login'); + var focus_input = $('#id_username'); + var submittable_input = $('#id_password'); + } + password_input_fields.show(); + focus_input.focus(); + + var submit_password_login = function(){ + signin_form.unbind('submit').submit(submit_action); + }; + + setup_enter_key_handler( + submittable_input, + function() { + password_button.click(); + return false; + } + ); + setup_event_handlers(password_button, submit_password_login); + return false; + }; + + var start_account_recovery = function(){ + reset_form_and_errors(); + account_recovery_hint.hide(); + account_recovery_heading.css('margin-bottom', '0px'); + account_recovery_heading.html(account_recovery_prompt_text).show(); + email_input_fields.show(); + $('#id_email').focus(); + }; + + var clear_password_fields = function(){ + $('#id_password').val(''); + $('#id_new_password').val(''); + $('#id_new_password_retyped').val(''); + }; + + var setup_default_handlers = function(){ + setup_event_handlers( + signin_page.find('input.openid-direct'), + start_simple_login + ); + + setup_event_handlers( + signin_page.find('input.openid-username'), + start_login_with_extra_openid_token + ); + + setup_event_handlers( + signin_page.find('input.openid-generic'), + start_login_with_extra_openid_token + ); + + setup_event_handlers( + signin_page.find('input.facebook'), + start_facebook_login + ); + + setup_event_handlers( + signin_page.find('input.oauth'), + start_simple_login + ); + + setup_event_handlers( + signin_page.find('input.password'), + start_password_login_or_change + ); + setup_event_handlers( + signin_page.find('input.wordpress_site'), + start_password_login_or_change + ); + + setup_event_handlers(account_recovery_link, start_account_recovery); + + if (userIsAuthenticated){ + read_existing_login_methods(); + setup_login_method_deleters(); + } + }; + + setup_default_handlers(); + if (askbot['settings']['signin_always_show_local_login'] === true){ + init_always_visible_password_login(); + } + clear_password_fields(); + return this; +}; diff --git a/lms/askbot/skins/common/media/jquery-openid/openid.css b/lms/askbot/skins/common/media/jquery-openid/openid.css new file mode 100644 index 0000000000..0028722442 --- /dev/null +++ b/lms/askbot/skins/common/media/jquery-openid/openid.css @@ -0,0 +1,39 @@ +div#login-icons {margin:10px 0 0 0;padding:10px;border:#eee 1px solid;} +ul.login-icons {width: 450px; margin:0;padding:0;text-align:left; list-style-type:none; display:block;} +ul.login-icons li {display:inline;} +ul.large input {height: 40px; width: 90px;border:1px solid #ccc;margin:0 5px 5px 0;} +.openid-signin h2 {margin-top:15px;} +.openid-signin h2#account-recovery-heading {margin-bottom:2px;} +#account-recovery-form p.hint a {color:#1b79bd; text-decoration: none;} +#account-recovery-form p.hint a:hover {text-decoration: underline;} +.openid-signin fieldset { border-style:none;margin:0;padding:0;} +.openid-signin p {margin:0;padding:0}; +.openid-signin p.hint {color: #555;} +.openid-signin #password-fs label {width:100px;margin-top:5px;text-align:left;} +.openid-signin #password-fs .hint {margin-bottom:5px} +#password-fs a {padding-left:5px;} +/*#signin-form #account-recovery-form input {cursor:pointer;} +#signin-form #account-recovery-form input.text {cursor:default;}*/ + +table.login { text-align: right;} + +.openid-signin .submit-b { + cursor: pointer; /*letter-spacing:1px;*/ + margin: 0 0 2px 0; + vertical-align: middle; +} + +.openid-signin .highlight { -moz-border-radius:4px; -webkit-border-radius:4px; background-color: #FD6} + +ul.providers { + display: block; +} + +.openid-signin th { + color: #555; + font-weight: normal; +} + +.openid-signin .ab-provider-name { + font-weight: bold; +} diff --git a/lms/askbot/skins/common/media/js/autocompleter.js b/lms/askbot/skins/common/media/js/autocompleter.js new file mode 100644 index 0000000000..a7c5431592 --- /dev/null +++ b/lms/askbot/skins/common/media/js/autocompleter.js @@ -0,0 +1,766 @@ +/** + * AutoCompleter Object, refactored closure style from + * jQuery autocomplete plugin + * @param {Object=} options Settings + * @constructor + */ +var AutoCompleter = function(options) { + + /** + * Default options for autocomplete plugin + */ + var defaults = { + autocompleteMultiple: true, + multipleSeparator: ' ',//a single character + inputClass: 'acInput', + loadingClass: 'acLoading', + resultsClass: 'acResults', + selectClass: 'acSelect', + queryParamName: 'q', + limitParamName: 'limit', + extraParams: {}, + lineSeparator: '\n', + cellSeparator: '|', + minChars: 2, + maxItemsToShow: 10, + delay: 400, + useCache: true, + maxCacheLength: 10, + matchSubset: true, + matchCase: false, + matchInside: true, + mustMatch: false, + preloadData: false, + selectFirst: false, + stopCharRegex: /\s+/, + selectOnly: false, + formatItem: null, // TBD + onItemSelect: false, + autoFill: false, + filterResults: true, + sortResults: true, + sortFunction: false, + onNoMatch: false + }; + + /** + * Options dictionary + * @type Object + * @private + */ + this.options = $.extend({}, defaults, options); + + /** + * Cached data + * @type Object + * @private + */ + this.cacheData_ = {}; + + /** + * Number of cached data items + * @type number + * @private + */ + this.cacheLength_ = 0; + + /** + * Class name to mark selected item + * @type string + * @private + */ + this.selectClass_ = 'jquery-autocomplete-selected-item'; + + /** + * Handler to activation timeout + * @type ?number + * @private + */ + this.keyTimeout_ = null; + + /** + * Last key pressed in the input field (store for behavior) + * @type ?number + * @private + */ + this.lastKeyPressed_ = null; + + /** + * Last value processed by the autocompleter + * @type ?string + * @private + */ + this.lastProcessedValue_ = null; + + /** + * Last value selected by the user + * @type ?string + * @private + */ + this.lastSelectedValue_ = null; + + /** + * Is this autocompleter active? + * @type boolean + * @private + */ + this.active_ = false; + + /** + * Is it OK to finish on blur? + * @type boolean + * @private + */ + this.finishOnBlur_ = true; + + this.options.minChars = parseInt(this.options.minChars, 10); + if (isNaN(this.options.minChars) || this.options.minChars < 1) { + this.options.minChars = 2; + } + + this.options.maxItemsToShow = parseInt(this.options.maxItemsToShow, 10); + if (isNaN(this.options.maxItemsToShow) || this.options.maxItemsToShow < 1) { + this.options.maxItemsToShow = 10; + } + + this.options.maxCacheLength = parseInt(this.options.maxCacheLength, 10); + if (isNaN(this.options.maxCacheLength) || this.options.maxCacheLength < 1) { + this.options.maxCacheLength = 10; + } + + if (this.options['preloadData'] === true){ + this.fetchRemoteData('', function(){}); + } +}; +inherits(AutoCompleter, WrappedElement); + +AutoCompleter.prototype.decorate = function(element){ + + /** + * Init DOM elements repository + */ + this._element = element; + + /** + * Switch off the native autocomplete + */ + this._element.attr('autocomplete', 'off'); + + /** + * Create DOM element to hold results + */ + this._results = $('
').hide(); + if (this.options.resultsClass) { + this._results.addClass(this.options.resultsClass); + } + this._results.css({ + position: 'absolute' + }); + $('body').append(this._results); + + this.setEventHandlers(); +}; + +AutoCompleter.prototype.setEventHandlers = function(){ + /** + * Shortcut to self + */ + var self = this; + + /** + * Attach keyboard monitoring to $elem + */ + self._element.keydown(function(e) { + self.lastKeyPressed_ = e.keyCode; + switch(self.lastKeyPressed_) { + + case 38: // up + e.preventDefault(); + if (self.active_) { + self.focusPrev(); + } else { + self.activate(); + } + return false; + break; + + case 40: // down + e.preventDefault(); + if (self.active_) { + self.focusNext(); + } else { + self.activate(); + } + return false; + break; + + case 9: // tab + case 13: // return + if (self.active_) { + e.preventDefault(); + self.selectCurrent(); + return false; + } + break; + + case 27: // escape + if (self.active_) { + e.preventDefault(); + self.finish(); + return false; + } + break; + + default: + self.activate(); + + } + }); + self._element.blur(function() { + if (self.finishOnBlur_) { + setTimeout(function() { self.finish(); }, 200); + } + }); +}; + +AutoCompleter.prototype.position = function() { + var offset = this._element.offset(); + this._results.css({ + top: offset.top + this._element.outerHeight(), + left: offset.left + }); +}; + +AutoCompleter.prototype.cacheRead = function(filter) { + var filterLength, searchLength, search, maxPos, pos; + if (this.options.useCache) { + filter = String(filter); + filterLength = filter.length; + if (this.options.matchSubset) { + searchLength = 1; + } else { + searchLength = filterLength; + } + while (searchLength <= filterLength) { + if (this.options.matchInside) { + maxPos = filterLength - searchLength; + } else { + maxPos = 0; + } + pos = 0; + while (pos <= maxPos) { + search = filter.substr(0, searchLength); + if (this.cacheData_[search] !== undefined) { + return this.cacheData_[search]; + } + pos++; + } + searchLength++; + } + } + return false; +}; + +AutoCompleter.prototype.cacheWrite = function(filter, data) { + if (this.options.useCache) { + if (this.cacheLength_ >= this.options.maxCacheLength) { + this.cacheFlush(); + } + filter = String(filter); + if (this.cacheData_[filter] !== undefined) { + this.cacheLength_++; + } + return this.cacheData_[filter] = data; + } + return false; +}; + +AutoCompleter.prototype.cacheFlush = function() { + this.cacheData_ = {}; + this.cacheLength_ = 0; +}; + +AutoCompleter.prototype.callHook = function(hook, data) { + var f = this.options[hook]; + if (f && $.isFunction(f)) { + return f(data, this); + } + return false; +}; + +AutoCompleter.prototype.activate = function() { + var self = this; + var activateNow = function() { + self.activateNow(); + }; + var delay = parseInt(this.options.delay, 10); + if (isNaN(delay) || delay <= 0) { + delay = 250; + } + if (this.keyTimeout_) { + clearTimeout(this.keyTimeout_); + } + this.keyTimeout_ = setTimeout(activateNow, delay); +}; + +AutoCompleter.prototype.activateNow = function() { + var value = this.getValue(); + if (value !== this.lastProcessedValue_ && value !== this.lastSelectedValue_) { + if (value.length >= this.options.minChars) { + this.active_ = true; + this.lastProcessedValue_ = value; + this.fetchData(value); + } + } +}; + +AutoCompleter.prototype.fetchData = function(value) { + if (this.options.data) { + this.filterAndShowResults(this.options.data, value); + } else { + var self = this; + this.fetchRemoteData(value, function(remoteData) { + self.filterAndShowResults(remoteData, value); + }); + } +}; + +AutoCompleter.prototype.fetchRemoteData = function(filter, callback) { + var data = this.cacheRead(filter); + if (data) { + callback(data); + } else { + var self = this; + if (this._element){ + this._element.addClass(this.options.loadingClass); + } + var ajaxCallback = function(data) { + var parsed = false; + if (data !== false) { + parsed = self.parseRemoteData(data); + self.options.data = parsed;//cache data forever - E.F. + self.cacheWrite(filter, parsed); + } + if (self._element){ + self._element.removeClass(self.options.loadingClass); + } + callback(parsed); + }; + $.ajax({ + url: this.makeUrl(filter), + success: ajaxCallback, + error: function() { + ajaxCallback(false); + } + }); + } +}; + +AutoCompleter.prototype.setOption = function(name, value){ + this.options[name] = value; +}; + +AutoCompleter.prototype.setExtraParam = function(name, value) { + var index = $.trim(String(name)); + if (index) { + if (!this.options.extraParams) { + this.options.extraParams = {}; + } + if (this.options.extraParams[index] !== value) { + this.options.extraParams[index] = value; + this.cacheFlush(); + } + } +}; + +AutoCompleter.prototype.makeUrl = function(param) { + var self = this; + var url = this.options.url; + var params = $.extend({}, this.options.extraParams); + // If options.queryParamName === false, append query to url + // instead of using a GET parameter + if (this.options.queryParamName === false) { + url += encodeURIComponent(param); + } else { + params[this.options.queryParamName] = param; + } + + if (this.options.limitParamName && this.options.maxItemsToShow) { + params[this.options.limitParamName] = this.options.maxItemsToShow; + } + + var urlAppend = []; + $.each(params, function(index, value) { + urlAppend.push(self.makeUrlParam(index, value)); + }); + if (urlAppend.length) { + url += url.indexOf('?') == -1 ? '?' : '&'; + url += urlAppend.join('&'); + } + return url; +}; + +AutoCompleter.prototype.makeUrlParam = function(name, value) { + return String(name) + '=' + encodeURIComponent(value); +}; + +/** + * Sanitize CR and LF, then split into lines + */ +AutoCompleter.prototype.splitText = function(text) { + return String(text).replace(/(\r\n|\r|\n)/g, '\n').split(this.options.lineSeparator); +}; + +AutoCompleter.prototype.parseRemoteData = function(remoteData) { + var value, lines, i, j, data; + var results = []; + var lines = this.splitText(remoteData); + for (i = 0; i < lines.length; i++) { + var line = lines[i].split(this.options.cellSeparator); + data = []; + for (j = 0; j < line.length; j++) { + data.push(unescape(line[j])); + } + value = data.shift(); + results.push({ value: unescape(value), data: data }); + } + return results; +}; + +AutoCompleter.prototype.filterAndShowResults = function(results, filter) { + this.showResults(this.filterResults(results, filter), filter); +}; + +AutoCompleter.prototype.filterResults = function(results, filter) { + + var filtered = []; + var value, data, i, result, type, include; + var regex, pattern, testValue; + + for (i = 0; i < results.length; i++) { + result = results[i]; + type = typeof result; + if (type === 'string') { + value = result; + data = {}; + } else if ($.isArray(result)) { + value = result[0]; + data = result.slice(1); + } else if (type === 'object') { + value = result.value; + data = result.data; + } + value = String(value); + if (value > '') { + if (typeof data !== 'object') { + data = {}; + } + if (this.options.filterResults) { + pattern = String(filter); + testValue = String(value); + if (!this.options.matchCase) { + pattern = pattern.toLowerCase(); + testValue = testValue.toLowerCase(); + } + include = testValue.indexOf(pattern); + if (this.options.matchInside) { + include = include > -1; + } else { + include = include === 0; + } + } else { + include = true; + } + if (include) { + filtered.push({ value: value, data: data }); + } + } + } + + if (this.options.sortResults) { + filtered = this.sortResults(filtered, filter); + } + + if (this.options.maxItemsToShow > 0 && this.options.maxItemsToShow < filtered.length) { + filtered.length = this.options.maxItemsToShow; + } + + return filtered; + +}; + +AutoCompleter.prototype.sortResults = function(results, filter) { + var self = this; + var sortFunction = this.options.sortFunction; + if (!$.isFunction(sortFunction)) { + sortFunction = function(a, b, f) { + return self.sortValueAlpha(a, b, f); + }; + } + results.sort(function(a, b) { + return sortFunction(a, b, filter); + }); + return results; +}; + +AutoCompleter.prototype.sortValueAlpha = function(a, b, filter) { + a = String(a.value); + b = String(b.value); + if (!this.options.matchCase) { + a = a.toLowerCase(); + b = b.toLowerCase(); + } + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + return 0; +}; + +AutoCompleter.prototype.showResults = function(results, filter) { + var self = this; + var $ul = $(''); + var i, result, $li, extraWidth, first = false, $first = false; + var numResults = results.length; + for (i = 0; i < numResults; i++) { + result = results[i]; + $li = $('
  • ' + this.showResult(result.value, result.data) + '
  • '); + $li.data('value', result.value); + $li.data('data', result.data); + $li.click(function() { + var $this = $(this); + self.selectItem($this); + }).mousedown(function() { + self.finishOnBlur_ = false; + }).mouseup(function() { + self.finishOnBlur_ = true; + }); + $ul.append($li); + if (first === false) { + first = String(result.value); + $first = $li; + $li.addClass(this.options.firstItemClass); + } + if (i == numResults - 1) { + $li.addClass(this.options.lastItemClass); + } + } + + // Alway recalculate position before showing since window size or + // input element location may have changed. This fixes #14 + this.position(); + + this._results.html($ul).show(); + extraWidth = this._results.outerWidth() - this._results.width(); + this._results.width(this._element.outerWidth() - extraWidth); + $('li', this._results).hover( + function() { self.focusItem(this); }, + function() { /* void */ } + ); + if (this.autoFill(first, filter)) { + this.focusItem($first); + } +}; + +AutoCompleter.prototype.showResult = function(value, data) { + if ($.isFunction(this.options.showResult)) { + return this.options.showResult(value, data); + } else { + return value; + } +}; + +AutoCompleter.prototype.autoFill = function(value, filter) { + var lcValue, lcFilter, valueLength, filterLength; + if (this.options.autoFill && this.lastKeyPressed_ != 8) { + lcValue = String(value).toLowerCase(); + lcFilter = String(filter).toLowerCase(); + valueLength = value.length; + filterLength = filter.length; + if (lcValue.substr(0, filterLength) === lcFilter) { + this._element.val(value); + this.selectRange(filterLength, valueLength); + return true; + } + } + return false; +}; + +AutoCompleter.prototype.focusNext = function() { + this.focusMove(+1); +}; + +AutoCompleter.prototype.focusPrev = function() { + this.focusMove(-1); +}; + +AutoCompleter.prototype.focusMove = function(modifier) { + var i, $items = $('li', this._results); + modifier = parseInt(modifier, 10); + for (var i = 0; i < $items.length; i++) { + if ($($items[i]).hasClass(this.selectClass_)) { + this.focusItem(i + modifier); + return; + } + } + this.focusItem(0); +}; + +AutoCompleter.prototype.focusItem = function(item) { + var $item, $items = $('li', this._results); + if ($items.length) { + $items.removeClass(this.selectClass_).removeClass(this.options.selectClass); + if (typeof item === 'number') { + item = parseInt(item, 10); + if (item < 0) { + item = 0; + } else if (item >= $items.length) { + item = $items.length - 1; + } + $item = $($items[item]); + } else { + $item = $(item); + } + if ($item) { + $item.addClass(this.selectClass_).addClass(this.options.selectClass); + } + } +}; + +AutoCompleter.prototype.selectCurrent = function() { + var $item = $('li.' + this.selectClass_, this._results); + if ($item.length == 1) { + this.selectItem($item); + } else { + this.finish(); + } +}; + +AutoCompleter.prototype.selectItem = function($li) { + var value = $li.data('value'); + var data = $li.data('data'); + var displayValue = this.displayValue(value, data); + this.lastProcessedValue_ = displayValue; + this.lastSelectedValue_ = displayValue; + + this.setValue(displayValue); + + this.setCaret(displayValue.length); + this.callHook('onItemSelect', { value: value, data: data }); + this.finish(); +}; + +/** + * @return {boolean} true if the symbol matches something that is + * considered content and false otherwise + * @param {string} symbol - a single char string + */ +AutoCompleter.prototype.isContentChar = function(symbol){ + if (symbol.match(this.options['stopCharRegex'])){ + return false; + } else if (symbol === this.options['multipleSeparator']){ + return false; + } else { + return true; + } +}; + +/** + * takes value from the input box + * and saves _selection_start and _selection_end coordinates + * respects settings autocompleteMultiple and + * multipleSeparator + * @return {string} the current word in the + * autocompletable word + */ +AutoCompleter.prototype.getValue = function(){ + var sel = this._element.getSelection(); + var text = this._element.val(); + var pos = sel.start;//estimated start + //find real start + var start = pos; + for (cpos = pos; cpos >= 0; cpos = cpos - 1){ + if (cpos === text.length){ + continue; + } + var symbol = text.charAt(cpos); + if (!this.isContentChar(symbol)){ + break; + } + start = cpos; + } + //find real end + var end = pos; + for (cpos = pos; cpos < text.length; cpos = cpos + 1){ + if (cpos === 0){ + continue; + } + var symbol = text.charAt(cpos); + if (!this.isContentChar(symbol)){ + break; + } + end = cpos; + } + this._selection_start = start; + this._selection_end = end; + return text.substring(start, end); +} + +/** + * sets value of the input box + * by replacing the previous selection + * with the value from the autocompleter + */ +AutoCompleter.prototype.setValue = function(val){ + var prefix = this._element.val().substring(0, this._selection_start); + var postfix = this._element.val().substring(this._selection_end + 1); + this._element.val(prefix + val + postfix); +}; + +AutoCompleter.prototype.displayValue = function(value, data) { + if ($.isFunction(this.options.displayValue)) { + return this.options.displayValue(value, data); + } else { + return value; + } +}; + +AutoCompleter.prototype.finish = function() { + if (this.keyTimeout_) { + clearTimeout(this.keyTimeout_); + } + if (this._element.val() !== this.lastSelectedValue_) { + if (this.options.mustMatch) { + this._element.val(''); + } + this.callHook('onNoMatch'); + } + this._results.hide(); + this.lastKeyPressed_ = null; + this.lastProcessedValue_ = null; + if (this.active_) { + this.callHook('onFinish'); + } + this.active_ = false; +}; + +AutoCompleter.prototype.selectRange = function(start, end) { + var input = this._element.get(0); + if (input.setSelectionRange) { + input.focus(); + input.setSelectionRange(start, end); + } else if (this.createTextRange) { + var range = this.createTextRange(); + range.collapse(true); + range.moveEnd('character', end); + range.moveStart('character', start); + range.select(); + } +}; + +AutoCompleter.prototype.setCaret = function(pos) { + this.selectRange(pos, pos); +}; + diff --git a/lms/askbot/skins/common/media/js/compress.bat b/lms/askbot/skins/common/media/js/compress.bat new file mode 100644 index 0000000000..53d72588d2 --- /dev/null +++ b/lms/askbot/skins/common/media/js/compress.bat @@ -0,0 +1,5 @@ +#java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 wmd\wmd.js -o wmd\wmd-min.js +#java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 wmd\showdown.js -o wmd\showdown-min.js +#java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 post.js -o post.pack.js +java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 se_hilite_src.js -o se_hilite.js +pause diff --git a/lms/askbot/skins/common/media/js/editor.js b/lms/askbot/skins/common/media/js/editor.js new file mode 100644 index 0000000000..2d1f567079 --- /dev/null +++ b/lms/askbot/skins/common/media/js/editor.js @@ -0,0 +1,75 @@ +/* + jQuery TextAreaResizer plugin + Created on 17th January 2008 by Ryan O'Dell + Version 1.0.4 +*/(function($){var textarea,staticOffset;var iLastMousePos=0;var iMin=32;var grip;$.fn.TextAreaResizer=function(){return this.each(function(){textarea=$(this).addClass('processed'),staticOffset=null;$(this).wrap('
    ').parent().append($('
    ').bind("mousedown",{el:this},startDrag));var grippie=$('div.grippie',$(this).parent())[0];grippie.style.marginRight=(grippie.offsetWidth-$(this)[0].offsetWidth)+'px'})};function startDrag(e){textarea=$(e.data.el);textarea.blur();iLastMousePos=mousePosition(e).y;staticOffset=textarea.height()-iLastMousePos;textarea.css('opacity',0.25);$(document).mousemove(performDrag).mouseup(endDrag);return false}function performDrag(e){var iThisMousePos=mousePosition(e).y;var iMousePos=staticOffset+iThisMousePos;if(iLastMousePos>=(iThisMousePos)){iMousePos-=5}iLastMousePos=iThisMousePos;iMousePos=Math.max(iMin,iMousePos);textarea.height(iMousePos+'px');if(iMousePosoptions.captureLength&&elTxt.toUpperCase()!=timer.text)||(override&&elTxt.length>options.captureLength)){timer.text=elTxt.toUpperCase();timer.cb(elTxt)}};function watchElement(elem){if(elem.type.toUpperCase()=="TEXT"||elem.nodeName.toUpperCase()=="TEXTAREA"){var timer={timer:null,text:jQuery(elem).val().toUpperCase(),cb:options.callback,el:elem,wait:options.wait};if(options.highlight){jQuery(elem).focus(function(){this.select()})}var startWatch=function(evt){var timerWait=timer.wait;var overrideBool=false;if(evt.keyCode==13&&this.type.toUpperCase()=="TEXT"){timerWait=1;overrideBool=true}var timerCallbackFx=function(){checkElement(timer,overrideBool)};clearTimeout(timer.timer);timer.timer=setTimeout(timerCallbackFx,timerWait)};jQuery(elem).keydown(startWatch)}};return this.each(function(index){watchElement(this)})}})(jQuery); +/* +Ajax upload +*/jQuery.extend({createUploadIframe:function(d,b){var a="jUploadFrame"+d;if(window.ActiveXObject){var c=document.createElement('