$.fn.SelectCustomizer = function(classname){
    // Select Customizer jQuery plug-in
	// based on customselect by Ace Web Design http://www.adelaidewebdesigns.com/2008/08/01/adelaide-web-designs-releases-customselect-with-icons/
	// modified by David Vian http://www.ildavid.com/dblog
    return this.each(function(){
        var obj = $(this);
		var name = obj.attr('id');
		var change = obj.attr('onchange');
		if(change)
			change = change.replace(/this/, 'b');		
		var id_slc_options = name+'_options';
		var id_icn_select = name+'_iconselect';
		var id_holder = name+'_holder';
		var custom_select = name+'_customselect';
        obj.after("<div id=\""+id_slc_options+"\"> </div>");
        obj.find('option').each(function(i){
			if(change)
				var c = " onclick='b=new Object();b.id=\"" + name + "\";b.selectedIndex=0;c=new Object();c.value=this.title;b.options=[c];" + change + ";'";
			else
				var c = '';
            $("#"+id_slc_options).append("<div title=\"" + $(this).attr("value") + "\" class=\"sc_selectitems "+classname+"_selectitems\"" + c + "><span>" + $(this).html() + "</span></div>");
        });
        obj.before("<input type=\"hidden\" value =\"\" name=\"" + this.name + "\" id=\""+custom_select+"\"/><div id=\""+id_icn_select+"\" class=\"sc_iconselect "+classname+"_iconselect\">" + this.title + "</div><div id=\""+id_holder+"\" class=\"sc_holder "+classname+"_holder\"> </div>").remove();
        $("#"+id_icn_select).click(function(){
            $("#"+id_holder).slideToggle(200);
        });
        $("#"+id_holder).append($("#"+id_slc_options)[0]);
        $("#"+id_holder+ " .sc_selectitems").mouseover(function(){
            $(this).addClass("sc_hoverclass");
            $(this).addClass(classname+"_hoverclass");
        });
        $("#"+id_holder+" .sc_selectitems").mouseout(function(){
            $(this).removeClass("sc_hoverclass");
            $(this).removeClass(classname+"_hoverclass");
        });
        $("#"+id_holder+" .sc_selectitems").click(function(){
            $("#"+id_holder+" .sc_selectedclass").removeClass(classname+"_selectedclass");
            $("#"+id_holder+" .sc_selectedclass").removeClass("sc_selectedclass");
            $(this).addClass("sc_selectedclass");
            $(this).addClass(classname+"_selectedclass");
            var thisselection = $(this).html();
            $("#"+custom_select).val(this.title);
            $("#"+id_icn_select).html(thisselection);
            $("#"+id_holder).slideToggle(250)
        });
    });
}

