/*
jquery.hs.combobox
versao 0.0.1

Copyright © 2010 Hilder Santos | hildersantos.com

Obs: feito exclusivamente para ser usado na GRAUTE

TODO: Melhorar e comentar mais o código.
*/

jQuery.fn.hsCombobox = function (options) {
	
	var opts = jQuery.extend({
		// seta: 'setaCombobox.gif'
	}, options);
	
	this.each(function(){
		
		//Configs iniciais
		var Mae = jQuery(this);
		var opcoes = jQuery('option', Mae);
		
		Mae.css('position', 'relative').hide();
		
		if(opcoes.filter(':selected').length) {
			var opc_padrao = opcoes.filter(':selected').text();
		} else {
			var opc_padrao = opcoes.filter(':first').text();
		}
		
		/* Personalizações de estilo */
		
		jQuery('<input type="text" class="hs-combo-select" name="'+Mae.attr('name')+'" value="'+opc_padrao+'" style="float: left; display: inline;" />').insertAfter(Mae);
		
		jQuery('.hs-combo-select').after('<div class="dd_seta" style="cursor: pointer; float: left; display: inline-block;">&nbsp;</div>');	
		
		jQuery('.dd_seta').after('<div style="clear: both; font-size: 1px; height: 0;">&nbsp;</div>');
		
		
		
		/* Funções de click, etc */
		
		jQuery('.dd_seta').after('<ul class="hsComboLista" />');
		
		jQuery(opcoes).each(function(i) {
			jQuery('.hsComboLista').append('<li><a href="'+jQuery(this).val()+'" rel="'+i+'">'+jQuery(this).text()+'</a></li>');
		});
		
		jQuery('.hsComboLista').hide(0);
		
		jQuery('.dd_seta').click(function() {
			jQuery(this).toggleClass('ativa');
			jQuery('.hsComboLista').slideToggle('medium');
		});
		
		jQuery('.hsComboLista a').click(function(e) {
			jQuery(Mae).filter(':selected').removeAttr('selected');
			opcoes.eq(jQuery(this).attr('rel')).attr('selected', 'selected');
			
			jQuery('.hs-combo-select').val(jQuery(this).text());
			
			jQuery('.hsComboLista').slideUp('medium');
						 
		});

	});
}
