$.fn.dropdown = function($setting){
	var setting = $.extend({
		url  : 'index.asp?controller=Basket&action=country&time='+Date.parse(new Date()),
		load : false,
		data : {id:null},
		callback : null
	},$setting);
	this.bind('change',function(){
		if($.isFunction(setting.callback))setting.callback.apply(this,[this.value]);
	});
	if(setting.load){
		this.each(function(i,n){
			this.length = 1
			var obj = $(this);
			$.ajax({
				type    : "POST",
				dataType:"json",
				url     : setting.url,
				data    : setting.data,
				global	: false,
				cache 	: false,
				async   : true,
				success : function(data){
					addOptions(obj,data,1);
					//if(sel)obj.find('>option[value="'+sel+'"]').attr('selected','selected').css({'background-color':'#CCC'});
				}
			});
		});
	}
	function addOptions(obj,data,level){
		var sp1 = Array(level).join('&nbsp;&nbsp;&nbsp;&nbsp;');
		var sp2 = '&#x251C;';
		var sp3 = '&#x2514;';
		var len = data.length-1;
		$.each(data,function(i,n){
			//sp1+(i<len?sp2:sp3)+
			obj.append('<option value="'+n.value+'">'+n.text+'</option>');
			if(n.items) addOptions(obj,n.items,level+1);
		});
	}
}
