/*
LICENCE
*******
CSF Custom Select Form jquery Plugin
@Author : Denis Pissoort
is shared under the terms of the licence Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 2.0 Belgique.
For more information : Author's work Page : http://dipi-graphics.com/labs.html
                       Licence Page : http://creativecommons.org/licenses/by-sa/2.0/be/
*/
(function(JQuery){JQuery.fn.customSelectForm=function(n){n=JQuery.extend({prefix:'csf',icon:false},n);this.each(function(){var b=n.prefix+JQuery(this).index();JQuery(this).wrap('<div class="'+b+'"></div>');var c=JQuery(this);var d=c.find('option').get();var e=d.length;var f=n.prefix+'_';var g=c.find('option:selected').index();var h=JQuery('html').not(JQuery('div[class^="'+n.prefix+'"]'.children));var j=f+'input';var k=f+'ul';var l=f+'li';var m=f+'btn';JQuery('div.'+b).append('<div class="'+j+'"><p><span class="itemSelected">'+JQuery(d[g]).text()+'</span><a href="#" class="'+m+'"></a></p></div>');JQuery('div.'+b).append('<ul class="'+k+'"></ul>');if(n.icon){for(i=0;i<e;i++){JQuery('div.'+b+' ul.'+k).append('<li class="'+l+'"><a href="#" title="'+JQuery(d[i]).text()+'"><img src="'+JQuery(d[i]).attr("title")+'" class="iconCSF" alt="'+JQuery(d[i]).text()+' icon"/>'+JQuery(d[i]).text()+'</a></li>');if(i==g){JQuery('div.'+b+' ul.'+k).find('li:eq('+g+')').addClass('selected')}}}else{for(i=0;i<e;i++){JQuery('div.'+b+' ul.'+k).append('<li class="'+l+'"><a href="#" title="'+JQuery(d[i]).text()+'">'+JQuery(d[i]).text()+'</a></li>');if(i==g){JQuery('div.'+b+' ul.'+k).find('li:eq('+g+')').addClass('selected')}}}JQuery('div.'+b+' ul.'+k).hide();c.hide();function openCloseList(){var a=JQuery('ul[class^="'+n.prefix+'"]').not(JQuery('div.'+b+' ul.'+k));a.prev().children('p').children('a.'+m).removeClass('opened');a.hide();JQuery('div.'+b+' ul.'+k).slideToggle('fast',bindableList);JQuery('div.'+b+' a.'+m).toggleClass('opened');JQuery(this).unbind('click',openCloseList);return false}function selectListItem(){JQuery('div.'+b+' ul.'+k).find('li:eq('+g+')').removeClass('selected');g=JQuery('div.'+b+' ul.'+k).find('li').index(JQuery(this).parent());JQuery('div.'+b+' ul.'+k).find('li:eq('+g+')').addClass('selected');var a=JQuery(this).text();JQuery('div.'+b+' div.'+j+' p span.itemSelected').text(a);rebuildSelect();JQuery('div.'+b+' ul.'+k).slideToggle('fast');JQuery('div.'+b+' a.'+m).toggleClass('opened');return false}function bindableList(){JQuery('div.'+b+' div.'+j).bind('click',openCloseList)}function autoClose(){if(JQuery('div.'+b+' ul.'+k).css('display')!=="none"){JQuery('div.'+b+' ul.'+k).hide();JQuery('div.'+b+' a.'+m).toggleClass('opened')}}bindableList();JQuery('div.'+b+' ul.'+k+' a').bind('click',selectListItem);h.bind('click',autoClose);function rebuildSelect(){c.html('');for(i=0;i<e;i++){if(i==g){c.append('<option value="'+JQuery(d[i]).val()+'" selected="selected">'+JQuery(d[i]).text()+'</option>')}else{c.append('<option value="'+JQuery(d[i]).val()+'">'+JQuery(d[i]).text()+'</option>')}}}});return this}})(jQuery);
