/**
 * @author kevin_li
 */
if (typeof Lcp == "undefined") {
	var Lcp = new Object();
}

/**
 * msg box class
 */
Lcp.winMsgBox = new Object();
jQuery.extend(Lcp.winMsgBox, {
	oPopup :($.browser.msie) ? window.createPopup() : "",
	popTop :50,
	popMsg : function(msgStr) {
		var winStr = ('<div id="popMsg">');
		winStr += ('<h2>msg</h2>');
		winStr += ('<div class="content">' + msgStr + '</div></div>');
		this.oPopup.document.body.innerHTML = winStr;
		this.popShow();
	},
	popShow : function() {
		window.status = this.popTop;
		if (this.popTop > 1720) {
			clearTimeout(mytime);
			this.oPopup.hide();
			return;
		} else if (this.popTop > 1520 && this.popTop < 1720) {
			this.oPopup.show(screen.width - 250, screen.height, 241,
					1720 - this.popTop);
		} else if (this.popTop > 1500 && this.popTop < 1520) {
			this.oPopup.show(screen.width - 250, screen.height
					+ (this.popTop - 1720), 241, 172);
		} else if (this.popTop < 180) {
			this.oPopup.show(screen.width - 250, screen.height, 241,
					this.popTop);
		} else if (this.popTop < 220) {
			this.oPopup.show(screen.width - 250, screen.height - this.popTop,
					241, 172);
		}
		this.popTop += 10;
		var mytime = setTimeout("Lcp.winMsgBox.popShow();", 60);
	}
});

/**
 * 
 */
Lcp.clipBoardData = function(txt, msg) {
	if (msg == '') {
		msg = "ok";
	}
	if (window.clipboardData) {
		window.clipboardData.clearData();
		window.clipboardData.setData("Text", txt);
		alert(msg);
	} else if (window.netscape) {
		try {
			netscape.security.PrivilegeManager
					.enablePrivilege("UniversalXPConnect");
		} catch (e) {
			alert("firefoxabout:configsigned.applets.codebase_principal_support");
			return false;
		}
		var clip = Components.classes['@mozilla.org/widget/clipboard;1']
				.createInstance(Components.interfaces.nsIClipboard);
		if (!clip)
			return;
		var trans = Components.classes['@mozilla.org/widget/transferable;1']
				.createInstance(Components.interfaces.nsITransferable);
		if (!trans)
			return;
		trans.addDataFlavor('text/unicode');
		var str = new Object();
		var len = new Object();
		var str = Components.classes["@mozilla.org/supports-string;1"]
				.createInstance(Components.interfaces.nsISupportsString);
		var copytext = txt;
		str.data = copytext;
		trans.setTransferData("text/unicode", str, copytext.length * 2);
		var clipid = Components.interfaces.nsIClipboard;
		if (!clip)
			return false;
		clip.setData(trans, null, clipid.kGlobalClipboard);
		alert(msg);
	}
}

/**
 * delect link
 */
Lcp.deleteLinkMsg = "你是要删除吗?";
Lcp.deleteLink = function() {
	$( function() {
		var jObj = $("a.delete");
		if (jObj != null) {
			jObj.each( function(i, n) {
				var url = this.href;
				$(this).bind("click", function() {
					if ("" != Trim(this.title)) {
						Lcp.deleteLinkMsg = this.title;
					}
					if (confirm(Lcp.deleteLinkMsg)) {
						this.href = url;
					} else {
						this.href = "javascript:void(0);";
					}
				});
			});
		}
	});
}
Lcp.deleteLink();

$( function() {
	// select all
	var jObj = $("input[@type=checkbox].selectAll");
	$("table.t_list input[@type=checkbox]").bind("click", function() {
		if (this.checked == false) {
			jObj.get(0).checked = false;
		}
	})

	if (jObj != null) {
		jObj.bind("click", function() {
			$("table input[@type=checkbox]").fcheck(
					($(jObj).get(0).checked) ? "on" : "off");
		});
	}
	//
	var jsObj = $(".t_search .submit .swap");
	if (jsObj != null) {
		jsObj
				.bind(
						"click",
						function() {
							$(".t_search .field .more")
									.each(
											function() {
												this.style.display = (this.style.display == "block") ? "none"
														: "block";
											});
						});
	}
	// list

	/*
	var jtObj = $("table.t_list tr");
	if (jtObj != null) {
		jtObj.each( function() {
			if (this.title == "") {
				$(this).bind("mouseover", function() {
					$(this).addClass("select");
				});
				$(this).bind("mouseout", function() {
					$(this).removeClass("select");
				});
			}
		});
	
	//
	$("table.t_list a.shrink").click(function(){
	  $("table.t_list td.shrink");
	})	
	*/	
    // 分页使用
	$(".t_pagelink #btnGoPage").bind("click", function() {
			var pagenum = parseInt($(".t_pagelink #page").val());
			if (!isNaN(pagenum)) {
				window.location = (this.title + '&page=' + pagenum);
			}
	 });
	//
	$(".t_pagelink #selectPageItemNum").bind("change", function() {
		var selectObj=$(this);
		var pageItemsNum = parseInt(selectObj.val());
		if (!isNaN(pageItemsNum)) {
			window.location = (selectObj.attr("title") + '&itemnum=' + pageItemsNum);
		}
    });
});

function showmenu(menuinfo, obj) {
	$("div").remove("#menudiv");
	$(".box").unbind();
	$(".box").append('<div id="menudiv">' + menuinfo + '</div>');
	offs = $(obj).offset();
	$("#menudiv").css("left", offs.left + 10);
	$("#menudiv").css("top", offs.top);

	$("#menudiv").unbind();
}

/* load a msg */
Lcp.blockUI = function(msg) {
	$.blockUI(msg, {
		width :'500px',
		top :'20%',
		left :'30%'
	});
	$("#unClockUIlink").bind("click", function() {
		$.unblockUI()
	});
}
/**/
Lcp.blockAjaxForm = function(ajaxurl) {
	$.get(ajaxurl, function(data) {
		Lcp.blockUI(data, {
			width :'500px'
		});
		$('form').ajaxForm( {
			success : function(responseText) {
				$.blockUI(responseText, {
					width :'500px',
					top :'20%',
					left :'30%'
				});
				$("#unClockUIlink").bind("click", function() {
					$.unblockUI()
				});
				$.unblockUI();
				self.document.location.reload();
				// $("#container").load(self.document.location+"&ajax=1");
			}
		});
	});
}



/* load a dialog */
Lcp.dialog = function(info) {
	var dbcount = $("#dialogbox").size();
	/* dialog */
	if (dbcount == 0) {
		$.get(info, function(data) {
			$(data).dialog( {
				height :300,
				width :300
			});
			var options = {
				success : function(responseText) {
					eval(responseText);
				}
			};
			$('#formdialog').ajaxForm(options);
			$('#formdialog').validate();
		});
	} else {
		if (info == "close") {
			$("#dialogbox").dialog('close');
		} else {
			$("#dialogbox").dialog('open');
		}
	}
}

$( function() {
	var loader = jQuery(
			'<div id="loader"><img src="images/loading2.gif" alt="loading..." /></div>')
	// .css({position: "relative", top: "1em", left: "25em"})
			.hide().appendTo("body");
	jQuery().ajaxStart( function() {
		loader.show();
	}).ajaxStop( function() {
		loader.hide();
	});

	jQuery().ajaxError( function(a, b, e) {
		throw e;
	});
})

/* 配置验证 */
jQuery.extend(jQuery.validator.messages, {
	required :"必选字段",
	remote :"已经存在",
	email :"请输入正确格式的电子邮件",
	url :"请输入合法的网址",
	date :"请输入合法的日期",
	dateISO :"请输入合法的日期 (ISO).",
	number :"请输入合法的数字",
	digits :"只能输入整数",
	creditcard :"请输入合法的信用卡号",
	equalTo :"请再次输入相同的值",
	accept :"请输入拥有合法后缀名的字符串",
	maxlength :jQuery.format("请输入一个长度最多是 {0} 的字符串"),
	minlength :jQuery.format("请输入一个长度最少是 {0} 的字符串"),
	rangelength :jQuery.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),
	range :jQuery.format("请输入一个介于 {0} 和 {1} 之间的值"),
	max :jQuery.format("请输入一个最大为 {0} 的值"),
	min :jQuery.format("请输入一个最小为 {0} 的值")
});

/* 成功信息 */
function message(data) {
	var info = data.message;
	var type = data.className;    
	if ($(".content ." + type + "Msg").size() == 0) {
		$($(".content")[0]).prepend(
				'<div class="' + type + 'Msg message"></div>');
	}
	if (type == 'exception')
		$(".content .successMsg").remove();
	else
		$(".content .exceptionMsg").remove();
	$(".content ." + type + "Msg").html(info);
	if (data.js != '') {
		eval(data.js);
	}
	//
	if (data.jump != '' && data.jump!='undefined' && data.jump!=undefined) {
		var link='&nbsp;&nbsp;<a href="'+data.jump+'">正在跳转,如果没有跳转,点击这里</a>';
		$(".content .message").append(link);
		setTimeout('location.href="' + data.jump + '"', 4000);
	}
}

$( function() {
	if ($('form[@ajax=1]').attr("action") == '') {
		$('form[@ajax=1]').attr("action", window.location.href);
	}
	$('form[@ajax=1]').each(function(){
		$(this).attr("action",
				$(this).attr("action") + "&ajax=1").validate( {
			submitHandler : function(form) {
				jQuery(form).ajaxSubmit( {
					dataType :'json',
					success : function(data) {
						message(data);
					}
				})
			}
		});
	
	});
	

	$.fn.wait = function(time, type) {
		time = time || 1000;
		type = type || "fx";
		return this.queue(type, function() {
			var self = this;
			setTimeout( function() {
				$(self).dequeue();
			}, time);
		});
	};
})


