/**
 * jQuery custom selectboxes
 * 
 * Copyright (c) 2008 Krzysztof Suszynski (suszynski.org)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * @version 0.6.1
 * @category visual
 * @package jquery
 * @subpakage ui.selectbox
 * @author Krzysztof Suszynski <k.suszynski@wit.edu.pl>
**/
jQuery.fn.selectbox=function(e){var f={className:"jquery-selectbox",animationSpeed:"normal",listboxMaxSize:10,replaceInvisible:false};var g="jquery-custom-selectboxes-replaced";var d=false;var c=function(i){var h=i.parents("."+f.className+"");i.slideDown(f.animationSpeed,function(){d=true});h.addClass("selecthover");jQuery(document).bind("click",b);return i};var a=function(i){var h=i.parents("."+f.className+"");i.slideUp(f.animationSpeed,function(){d=false;jQuery(this).parents("."+f.className+"").removeClass("selecthover")});jQuery(document).unbind("click",b);return i};var b=function(j){var h=j.target;var i=jQuery("."+f.className+"-list:visible").parent().find("*").andSelf();if(jQuery.inArray(h,i)<0&&d){a(jQuery("."+g+"-list"))}return false};f=jQuery.extend(f,e||{});return this.each(function(){var k=jQuery(this);if(k.filter(":visible").length==0&&!f.replaceInvisible){return}var i=jQuery('<div class="'+f.className+" "+g+'"><div class="'+f.className+'-moreButton" /><div class="'+f.className+"-list "+g+'-list" /><span class="'+f.className+'-currentItem" /></div>');jQuery("option",k).each(function(m,l){var l=jQuery(l);var n=jQuery('<span class="'+f.className+"-item value-"+l.val()+" item-"+m+'">'+l.text()+"</span>");n.click(function(){var r=jQuery(this);var q=r.parents("."+f.className);var s=r[0].className.split(" ");for(k1 in s){if(/^item-[0-9]+$/.test(s[k1])){s=parseInt(s[k1].replace("item-",""),10);break}}var o=r[0].className.split(" ");for(k1 in o){if(/^value-.+$/.test(o[k1])){o=o[k1].replace("value-","");break}}q.find("."+f.className+"-currentItem").text(r.text());q.find("select").val(o).triggerHandler("change");var p=q.find("."+f.className+"-list");if(p.filter(":visible").length>0){a(p)}else{c(p)}}).bind("mouseenter",function(){jQuery(this).addClass("listelementhover")}).bind("mouseleave",function(){jQuery(this).removeClass("listelementhover")});jQuery("."+f.className+"-list",i).append(n);if(l.filter(":selected").length>0){jQuery("."+f.className+"-currentItem",i).text(l.text())}});i.find("."+f.className+"-moreButton").click(function(){var n=jQuery(this);var m=jQuery("."+f.className+"-list").not(n.siblings("."+f.className+"-list"));a(m);var l=n.siblings("."+f.className+"-list");if(l.filter(":visible").length>0){a(l)}else{c(l)}}).bind("mouseenter",function(){jQuery(this).addClass("morebuttonhover")}).bind("mouseleave",function(){jQuery(this).removeClass("morebuttonhover")});k.hide().replaceWith(i).appendTo(i);var j=i.find("."+f.className+"-list");var h=j.find("."+f.className+"-item").length;if(h>f.listboxMaxSize){h=f.listboxMaxSize}if(h==0){h=1}})};jQuery.fn.unselectbox=function(){var a="jquery-custom-selectboxes-replaced";return this.each(function(){var b=jQuery(this).filter("."+a);b.replaceWith(b.find("select").show())})};