/*
* jQuery popu_msg Plugin by wuqichao
* version: 1.0 (03/11/2010)
* @requires jQuery v1.2.6 or later
*
* Examples:
*	$(document).ready(function() {
*      var options = {
*				success: function(data)
*				{
*					$(this).popu_msg({'type':data.flag,'val':data.val,'url':data.url});
*				},
*				type:'post',
*				dataType:'json'
*			};
*			$("#"+this.form_name).ajaxForm(options);
*			$("#"+this.form_name).submit();
*   });
*/
(function($){
	$.fn.extend({
		popu_msg:function(options){

			//设置弹出框背景和滤镜
			$.setupJMPopups({
				screenLockerBackground:"#e3e3e3",
				screenLockerOpacity: "0.7"
			});
			//	function debug($obj) {if (window.console && window.console.log)window.console.log(settings.val);};debug(this);
			//设置默认值
			var defaults = {
				type: 'right',
				val: "this popup msg",
				url:location.href
			};
			//合并设置项
			var settings = $.extend(defaults, options);

			//关闭窗口事件函数
			var alert_msg = function() {
				$.closePopupLayer('publicAjaxAlertPopup');
			};

			//本页面追加弹出窗口
			$('<div id="publicAjaxAlertHiddenDiv" style="cursor：pointer;display:none;"><div class="popup"><div class="popup-header"><h2 style=" font-size:12px; font-weight:normal;">信息提示</h2><a id="colseboth" title="关闭" class="close-link" style="cursor:pointer;">关闭窗口</a><br clear="all" /></div><div class="popup-body"><p style="text-align:center;left:50%;"></p></div></div></div>').appendTo("body");
			//迟绑定关闭事件
			$('#colseboth').livequery('click',alert_msg);

			//取得弹出信息的类型
			var type =settings.type;
			switch(type)
			{
				//如果是错误提示框，则停留在当前
				case 'error':
				$('#publicAjaxAlertHiddenDiv .popup-body').html(settings.val);
				$.openPopupLayer({
					name: "publicAjaxAlertPopup",
					width: 550,
					target: "publicAjaxAlertHiddenDiv"
				});
				break;
				//如果是正确的提示框，则跳转到指定目录
				case 'right':
				$('#publicAjaxAlertHiddenDiv .popup-body').html(settings.val);
				$.openPopupLayer({
					name: "mySecondPopup",
					cache:true,
					width: 300,
					parameters: {msg:settings.val,url:settings.url} ,
					url: "/public/jump/"
				});
				break;
				//默认为正确提示框
				default :
				$('#publicAjaxAlertHiddenDiv .popup-body').html('与后台json交互失败，请检查后台格式');
				$.openPopupLayer({
					name: "publicAjaxAlertPopup",
					width: 550,
					target: "publicAjaxAlertHiddenDiv"
				});
				break;
			}
			//});
		}
	});
})(jQuery);
(function($){
	$.fn.extend({
		popu_msg_nopre:function(options){

			//设置弹出框背景和滤镜
			$.setupJMPopups({
				screenLockerBackground:"#e3e3e3",
				screenLockerOpacity: "0.7"
			});
			//	function debug($obj) {if (window.console && window.console.log)window.console.log(settings.val);};debug(this);
			//设置默认值
			var defaults = {
				type: 'right',
				val: "this popup msg",
				url:location.href
			};
			//合并设置项
			var settings = $.extend(defaults, options);

			//关闭窗口事件函数
			var alert_msg = function() {
				$.closePopupLayer('publicAjaxAlertPopup');
			};

			//本页面追加弹出窗口
			$('<div id="publicAjaxAlertHiddenDiv" style="cursor：pointer;display:none;"><div class="popup"><div class="popup-header"><h2 style=" font-size:12px; font-weight:normal;">信息提示</h2><a id="colseboth" title="双击关闭" class="close-link" style="cursor:pointer;">关闭窗口</a><br clear="all" /></div><div class="popup-body"><p style="text-align:center;left:50%;"></p></div></div></div>').appendTo("body");
			//迟绑定关闭事件
			$('#colseboth').livequery('dblclick',alert_msg);

			//取得弹出信息的类型
			var type =settings.type;
			switch(type)
			{
				//如果是错误提示框，则停留在当前
				case 'error':
				$('#publicAjaxAlertHiddenDiv .popup-body').html(settings.val);
				$.openPopupLayer({
					name: "publicAjaxAlertPopup",
					width: 550,
					target: "publicAjaxAlertHiddenDiv"
				});
				break;
				//如果是正确的提示框，则跳转到指定目录
				case 'right':
				location.href=settings.url;
				/*$('#publicAjaxAlertHiddenDiv .popup-body').html(settings.val);
				$.openPopupLayer({
				name: "mySecondPopup",
				cache:true,
				width: 300,
				parameters: {msg:settings.val,url:settings.url} ,
				url: "/public/jump/"
				});*/

				break;
				//默认为正确提示框
				default :
				$('#publicAjaxAlertHiddenDiv .popup-body').html('与后台json交互失败，请检查后台格式');
				$.openPopupLayer({
					name: "publicAjaxAlertPopup",
					width: 550,
					target: "publicAjaxAlertHiddenDiv"
				});
				break;
			}
			//});
		}
	});
})(jQuery);
(function($){
	$.fn.extend({
		open_popu_msg:function(options){

			//设置弹出框背景和滤镜
			$.setupJMPopups({
				screenLockerBackground:"#e3e3e3",
				screenLockerOpacity: "0.7"
			});
			//	function debug($obj) {if (window.console && window.console.log)window.console.log(settings.val);};debug(this);
			//设置默认值
			var defaults = {
				name: 'alertOpenNewPage',
				data:{url:location.href},
				url:location.href
			};
			//合并设置项
			var settings = $.extend(defaults, options);
			var alert_msg = function() {
				$.closePopupLayer(settings.name);
			};
			$('#colseboth').livequery('dblclick',alert_msg);

			$.openPopupLayer({
				name:settings.name,
				parameters: settings.data, //{comid:$('#comid').val(),userid:$('#userid').val()} ,
				cache:false,
				url:settings.url
			});

		}
	});
})(jQuery);

/**
* 指定的控件添加相关的事件及响应
* c:要添加事件的控件
* e:要添加的动作类型（click,keypress等）
* f:响应事件的函数
*/
$listen = function(c,e,f){
	if(c.addEventListener){
		//addEventListener方法 用于 Mozilla系列 （火狐等等的浏览器）
		c.addEventListener(e,f,false);
		return ;
	}

	if(c.attachEvent){
		//attachEvent 用于IE 浏览器
		c.attachEvent('on'+e,f);
		return ;
	}

}

/*
* form submit prototype by wuqichao
* version: 1.0 (03/11/2010)
* @requires jQuery v1.2.6 or later
*
* Examples:
*	$(document).ready(function() {
*     form = new CustomForm();
*		form.fomr_submit('form_ajax',1)
*   });
*/

//静态类
function CustomForm(){ }
//变量列表
CustomForm.form_name = null;
CustomForm.is_formvaild = null;
CustomForm.url = null;

CustomForm.Init=function (form_name,is_formvaild,url){

	CustomForm.form_name = form_name;
	CustomForm.is_formvaild = is_formvaild;
	CustomForm.url = url;
	//var obj=document.getElementById(id);
	//开启监听 $listen(obj,"click",CustomForm.fomr_submit);
	CustomForm.fomr_submit();

};
CustomForm.fomr_submit=function() {

	if(CustomForm.is_formvaild==1){//是否开启了表单验证1:开启
		if (!jQuery.formValidator.pageIsValid("1")) {//如果没有通过验证，返回false
			return false;
		}
		else{
			//设置ajaxForm的参数
			var options = {
				url:CustomForm.url,
				success: function(data){
					//与后台交互完成则弹出窗口提示
					if(!data.cover)
					{
						$(this).popu_msg({'type':data.flag,'val':data.val,'url':data.url});
					}
					else //无蒙层的表现形式,用于登陆等
					{
						$(this).popu_msg_nopre({'type':data.flag,'val':data.val,'url':data.url});
					}
				},
				type:'post',        // 'get' or 'post', override for form's 'method' attribute
				dataType:'json'       // 'xml', 'script', or 'json' (expected server response type)
			};
			$("#"+CustomForm.form_name).ajaxForm(options);
			$("#"+CustomForm.form_name).submit();
			return true;
		}
	}
	else{//如果没有开启表单验证
		var options = {
			url:CustomForm.url,
			success: function(data){
				//与后台交互完成则弹出窗口提示
				$(this).popu_msg({'type':data.flag,'val':data.val,'url':data.url});
			},
			type:'post',        // 'get' or 'post', override for form's 'method' attribute
			dataType:'json'       // 'xml', 'script', or 'json' (expected server response type)
		};
		$("#"+CustomForm.form_name).ajaxForm(options);
		$("#"+CustomForm.form_name).submit();
		return true;
	}
};
