String.prototype.empty = function() {
	if ($.trim(this).length > 0) {
		return false;
	} else {
		return true;
	}
}
/**
 * 取得一个时间字符串。在ajax get请求时使用，避免IE的缓存
 * 
 * @return {string}
 */
function getTimeString() {
	return (new Date()).getTime();
}

var Dialog = {
	defaultOptions : {
		width : 420
	},

	doModal : function(width) {
		var dialogHtml = '<table class="pop-dialog-table">'
				+ '<tbody>'
				+ '<tr><td class="pop-topleft"></td><td class="pop-border"></td><td class="pop-topright"></td></tr>'
				+ '<tr>' + '<td class="pop-border">' + '</td>'
				+ '<td class="pop-content" style="width:' + width
				+ 'px;overflow:hidden;"></td>' + '<td class="pop-border">'
				+ '</td>' + '</tr>' + '<tr>' + '<td class="pop-bottomleft">'
				+ '</td>' + '<td class="pop-border">' + '</td>'
				+ '<td class="pop-bottomright">' + '</td>' + '</tr>'
				+ '</tbody>' + '</table>';

		$(dialogHtml).modal({
			close : false,
			overlayId : 'dialog-overlay',
			overlayCss : {
				backgroundColor : '#F0F0F0'
			},
			containerId : 'dialog-container'
		});
	},

	createAjax : function(url, options) {
		var opts = $.extend({}, this.defaultOptions, options);
		this.doModal(opts.width);
		this.showLoading();
		$.get(url, function(data) {
			// 更新数据
			Dialog.setContent(data);
		});
	},

	alert : function(message, options) {
		var onOk = options && options.onOk ? options.onOk : this.close;
		var okText = options && options.okText ? options.okText : '确定';
		var html = $('<div class="dialog-header">\
					<a class="dialog-close" onclick="$.modal.close();">X</a><div class="dialog-title">错误</div>\
					</div><div class="dialog-content">\
					<div class="dialog-body">'
									+ message
									+ '</div>\
					<div class="dialog-action"><button class="button ok"></button>\
					</div>');
		html.find('.ok').text(okText).click(onOk);
		this.doModal(this.defaultOptions.width);
		this.setContent(html);
	},

	displayErrors : function(errors, options) {
		var message = '<ul class="error-list">';
		if (typeof errors == 'string') {
			message += '<li>' + errors + '</li>';
		} else {
			for (var i = 0; i < errors.length; i++) {
				message += '<li>' + errors[i] + '</li>';
			}
		}
		message += '</ul>';
		this.alert(message, options);
	},

	confirm : function(message, options) {
		var title = options && options.title ? options.title : '请确认';
		var okText = options && options.okText ? options.okText : '确定';
		var cancelText = options && options.cancelText
				? options.cancelText
				: '取消';
		var onOk = options && options.onOk ? options.onOk : this.close;
		var onCancel = options && options.onCancel
				? options.onCancel
				: this.close;

		var html = $('<div class="dialog-header">\
					<a class="dialog-close">X</a><div class="dialog-title">'
					+ title
					+ '</div>\
						</div><div class="dialog-content">\
						<div class="dialog-body">'
					+ message
					+ '</div>\
						<div class="dialog-action"><button class="button ok"></button> <button class="button cancel"></button></div>\
						</div>');
		html.find('.dialog-close').click(onCancel);
		html.find('.cancel').text(cancelText).click(onCancel);
		html.find('.ok').text(okText).click(onOk);
		this.doModal(this.defaultOptions.width);
		this.setContent(html);
	},

	close : function() {
		$.modal.close();
	},

	setContent : function(content) {
		$.modal.impl.dialog.data.find('.pop-content').html(content);
	},

	showLoading : function() {
		this.setContent('<div class="loading" style="height:50px;"></div>');
	},

	showMessage : function(message, options) {
		var onOk = options && options.onOk ? options.onOk : this.close;
		var html = $('<div class="dialog-body">'
				+ message
				+ '</div>\
			<div class="dialog-action"><button class="button ok">确定</button></div>');
		html.find('.ok').click(onOk);
		this.setContent(html);
	}
};

var Menu = {
	currentDropdown : null,
	drop : function(arrow, dropdown) {
		Menu.hideDropdown();
		$(arrow).parent().addClass('active');
		this.currentDropdown = dropdown;
		this.currentDropdown.show();
		$(document).click(this.hideDropdown);
	},
	hideDropdown : function() {
		if (Menu.currentDropdown) {
			Menu.currentDropdown.prev().removeClass('active');
			Menu.currentDropdown.hide();
			Menu.currentDropdown = null;
		}
		$(document).unbind('click', Menu.hideDropdown);
	}
};

$(function() {
	$('.main-menu-arrow').each(function() {
		var arrow = $(this);
		var dropdown = arrow.parent().next();
		arrow.click(function(e) {
			if (Menu.currentDropdown && Menu.currentDropdown == dropdown) {
				Menu.hideDropdown();
			} else {
				Menu.drop(arrow, dropdown);
			}

			e.preventDefault();
			e.stopPropagation();
		});
	});
});

function placeErrorInTd(error, element) {
	element.parents('td').append($('<br />')).append(error);
}

function ajaxGetUrl(url, element) {
	$.get(url, {
		ts : getTimeString()
	}, function(data) {
		$(element).html(data);
	});
}
function test(){
    Dialog.alert("你输入的内容不能为空");
    return false;
}
