(function($) {
	$.fn.dropdown = function(options) {
		var defaults = {
			url: false,
			onshow: false,
			type: 'ajax',
			width: '420px',
			height: false,
			content: ''
		};
		var a = $(this);

		options = $.extend(defaults, options);

		a.click(function() {
			$('*').removeClass('dropdown-active');
			if (a.parent().children().size() == 1) {
				$('.dropdown-container').remove();
				if (options.type == 'iframe') {
					a.parent().append('<div class="dropdown-container"><span class="btn_close" id="dd_btn_close"></span></div>');
					a.addClass('dropdown-active');
					$('.dropdown-container').append('<iframe width="' + options.width + '" height="' + options.height + '" frameborder="0" src=""></iframe>');
					$('.dropdown-container iframe').attr('src', options.url);
					$('.dropdown-container').show()
				} else if (options.type == 'ajax') {
					if (!options.url) {
						return;
					}

					a.parent().append('<div class="dropdown-container"><span class="btn_close" id="dd_btn_close"></span></div>');
					$('.dropdown-container').width(options.width);
					if (options.height) {
						$('.dropdown-container').height(options.height);
					}
					$.get(options.url, function(data) {
						$('.dropdown-container').append(data).show();
						a.addClass('dropdown-active');

						if (options.onshow != false) {
							options.onshow();
						}
					});
				} else {
					a.parent().append('<div class="dropdown-container" style="width: ' + options.width + ';">' + options.content + '</div>');
					a.addClass('dropdown-active');
					$('.dropdown-container').show();

					if (options.onshow != false) {
						options.onshow();
					}
				}

				$('#dd_btn_close').click(function() {
					a.hideDropdown();
				});
			} else {
				a.hideDropdown();
			}
		});
	};

	$.fn.hideDropdown = function() {
		$('.dropdown-container').remove();
		$('*').removeClass('dropdown-active');
	};
})(jQuery);
