/* *
 * Optgroups v1.2.6
 * http://www.tse-webdesign.be/
 *
 * Copyright (c) 2009 Vincent Verbruggen
 * Date: 2009-02-17 02:08:41 +0100 (Tue, 17 Feb 2009)
 */

jQuery.fn.optgroup=function(d){d=jQuery.extend({width:'100%',float:'none'},d);return jQuery(this).each(function(){$me=jQuery(this);$text='';if($me.attr('multiple')){$text='';$me.find('option[selected]').each(function(){empty=$text=='';tmp=this.parentNode.tagName.toUpperCase()=='OPTGROUP'?jQuery(this).parent().attr('label')+' > ':'';tmp+=jQuery(this).text();$text+=(empty?'':', ')+tmp});$text=$text==''?$me.find('option:first').text():$text}else{$text=$me.find('option:first').text();$me.find('option[selected]:last').each(function(){$text='';if(this.parentNode.tagName.toUpperCase()=='OPTGROUP'){$text=jQuery(this).parent().attr('label')+' > '}$text+=jQuery(this).text()})}var a=jQuery('<a class="optgroup" href="javascript:;"><span>'+$text+'<\/span><\/a>').css({width:d.width,float:d.float});var b=jQuery('<div class="optgroup_container"><\/div>').css({width:d.width});if($me.attr('multiple')){jQuery(b).addClass('multiple')}a.bind('kill',function(){jQuery('div.optgroup_options').slideUp(500);jQuery('.optgroup_optgroup.active').removeClass('active').blur();jQuery('a.optgroup').removeClass('active').next().css({zIndex:99998}).slideUp('fast')});$me.parent().click(function(){a.trigger('kill')});jQuery(document).click(function(){a.trigger('kill')});jQuery(a).click(function(){$current_optgroup=this;jQuery('a.optgroup.active').filter(function(){return this!=$current_optgroup}).trigger('kill');if(jQuery(this).hasClass('active')){jQuery(this).next().css({zIndex:99998}).slideUp('fast');jQuery(this).removeClass('active');return false}jQuery(this).next().css({zIndex:99999}).slideDown('fast');jQuery(this).addClass('active');return false});jQuery('label[for="'+$me.attr('id')+'"]').click(function(){jQuery('#'+jQuery(this).attr('for')).prev().prev().trigger('click');return false});$me.css({display:'none'}).before(a).before(b).find('optgroup').each(function(){$this=jQuery(this);$optgroup_link=jQuery('<a href="javascript:;" class="optgroup_optgroup">'+$this.attr('label')+'<\/a>').click(function(){is_active=jQuery(this).hasClass('active');jQuery('div.optgroup_options').slideUp(500);jQuery('.optgroup_optgroup.active').removeClass('active').blur();if(!is_active){jQuery(this).addClass('active').next().slideDown(500)}return false});jQuery(b).append($optgroup_link).append('<div id="optgroup_'+jQuery(this).attr('label').toLowerCase().replace(/[^a-z0-9]+/g,'_')+'" class="optgroup_options"><\/div>')});jQuery(b).css({width:jQuery(a).innerWidth()-2+'px'});$me.find('option:gt(0)').each(function(){$this=jQuery(this);if(this.parentNode.tagName.toUpperCase()=='OPTGROUP'){$parent=jQuery($this.parent());$parent_id=$parent.attr('label').toLowerCase().replace(/[^a-z0-9]+/g,'_');$optgroup_option=jQuery('<a rel="'+$this.attr('value')+'" href="javascript:;" class="optgroup_option'+($this.attr('selected')?' selected':'')+'">'+$this.text()+'<\/a>');jQuery($optgroup_option).click(function(c){multiple=jQuery(this).parent().parent().next().attr('multiple');if(multiple&&!c.ctrlKey){jQuery(this).parent().parent().find('a.optgroup_option.selected').removeClass('selected');jQuery(this).addClass('selected');jQuery(this).parent().parent().next().find('optgroup option, option').removeAttr('selected');jQuery(this).parent().parent().next().find('optgroup option[value="'+jQuery(this).attr('rel')+'"]').attr('selected','selected');jQuery('span',a).text(jQuery(this).parent().prev().text()+' > '+jQuery(this).text())}else if(multiple){if(jQuery(this).hasClass('selected')){jQuery(this).removeClass('selected');jQuery(this).parent().parent().next().find('optgroup option[value="'+jQuery(this).attr('rel')+'"]').removeAttr('selected')}else{jQuery(this).addClass('selected');jQuery(this).parent().parent().next().find('optgroup option[value="'+jQuery(this).attr('rel')+'"]').attr('selected','selected')}jQuery('span',a).text('');jQuery(this).parent().parent().next().find('optgroup option, option').each(function(){if(!jQuery(this).attr('selected')){return}empty=jQuery('span',a).text()=='';text=this.parentNode.tagName.toUpperCase()=='OPTGROUP'?jQuery(this).parent().attr('label')+' > ':'';text+=jQuery(this).text();jQuery('span',a).text(jQuery('span',a).text()+(empty?'':', ')+text)});if(jQuery('span',a).text()==''){jQuery('span',a).text(jQuery(a).next().next().find('option:first').text())}}else if(!multiple){jQuery(this).parent().parent().find('a.optgroup_option.selected').removeClass('selected');jQuery(this).addClass('selected');jQuery(this).parent().parent().next().find('optgroup option, option').removeAttr('selected');jQuery('span',a).text(jQuery(this).parent().prev().text()+' > '+jQuery(this).text());jQuery(this).parent().parent().next().find('optgroup option[value="'+jQuery(this).attr('rel')+'"]').attr('selected','selected')}if((multiple&&!c.ctrlKey)||!multiple){a.trigger('kill')}return false});jQuery('#optgroup_'+$parent_id).append($optgroup_option);return}$optgroup_option=jQuery('<a rel="'+$this.attr('value')+'" href="javascript:;" class="optgroup_option'+($this.attr('selected')?' selected':'')+'">'+$this.text()+'<\/a>');jQuery($optgroup_option).click(function(c){multiple=jQuery(this).parent().next().attr('multiple');if(multiple&&!c.ctrlKey){jQuery(this).parent().find('a.optgroup_option.selected').removeClass('selected');jQuery(this).addClass('selected');jQuery(this).parent().next().find('optgroup option, option').removeAttr('selected');jQuery(this).parent().next().find('option[value="'+jQuery(this).attr('rel')+'"]').attr('selected','selected');jQuery('span',a).text(jQuery(this).text())}else if(multiple){if(jQuery(this).hasClass('selected')){jQuery(this).removeClass('selected');jQuery(this).parent().next().find('option[value="'+jQuery(this).attr('rel')+'"]').removeAttr('selected')}else{jQuery(this).addClass('selected');jQuery(this).parent().next().find('option[value="'+jQuery(this).attr('rel')+'"]').attr('selected','selected')}jQuery('span',a).text('');jQuery(this).parent().next().find('optgroup option, option').each(function(){if(!jQuery(this).attr('selected')){return}empty=jQuery('span',a).text()=='';text=this.parentNode.tagName.toUpperCase()=='OPTGROUP'?jQuery(this).parent().attr('label')+' > ':'';text+=jQuery(this).text();jQuery('span',a).text(jQuery('span',a).text()+(empty?'':', ')+text)});if(jQuery('span',a).text()==''){jQuery('span',a).text(jQuery(a).next().next().find('option:first').text())}}else if(!multiple){jQuery(this).parent().find('a.optgroup_option.selected').removeClass('selected');jQuery(this).addClass('selected');jQuery(this).parent().next().find('option, option').removeAttr('selected');jQuery('span',a).text(jQuery(this).text());jQuery(this).parent().next().find('option[value="'+jQuery(this).attr('rel')+'"]').attr('selected','selected')}if((multiple&&!c.ctrlKey)||!multiple){a.trigger('kill')}return false});jQuery(document).bind('keydown','Ctrl',function(){window.multiple=true});jQuery(document).bind('keyup','Ctrl',function(){window.multiple=false});jQuery(b).append($optgroup_option)});return this})};
jQuery(document).ready(function(){jQuery('select[id!=radius]').optgroup();});