(function($) {

$.fn.dropdown = function(options) {
		var defaults = {
						url:null,
						selected:null,
						params:null,
						data:null,
						firstoption:null,
						refresh:false,
						success:null
				};

		options = $.extend({},defaults, options);

		this.each(function() {


								var el = this;

								if(options.url!=null){
										$.getJSON(options.url,options.params,function(json){
												options.data = json.data;
												$(this).dropdown.populateData(el,options);
												if(options.success!=null){
														options.success();
												}
											});
								}


			});
		return this;
	}

$.fn.dropdown.populateData= function(el,options){

	var data = options.data;
	var firstoption = options.firstoption;
	var selected = (options.selected!=null)?options.selected.split(',') : new Array();

	

	if(typeof(firstoption) == 'object'){
		el.length = 1; //reset options
		el.options[0].value= firstoption.id;
		el.options[0].text = firstoption.name;
	}else
	{
		el.length = 0; //reset options	
	}

	if(data!=null || data!=undefined){
		for(var i = 0; i < data.length; i++){
			el.length++;
			el.options[el.length-1].value= data[i].id;
			el.options[el.length-1].text = data[i].name;

			for(var j=0; j < selected.length; j++){
				if(selected[j] == el.options[el.length-1].value) el.options[el.length-1].selected=true;
			}

		}
	}
}

})(jQuery);