﻿/**
 * dialog
 * 
 */

var JqueryDialog = {
	
	//配置项
	//模态窗口背景色
	"cBackgroundColor"			:	"#ffffff",
	
	//边框尺寸(像素)
	"cBorderSize"				:	4,
	//边框颜色
	"cBorderColor"				:	"#0187C5",

	//Header背景色
	"cHeaderBackgroundColor"	:	"#FFFFFF",
	//右上角关闭显示文本
	"cpopup_closeText"				:	"&nbsp;&nbsp;",
	//鼠标移上去时的提示文字
	"cpopup_closeTitle"				:	"关闭",
	
	//Bottom背景色
	"cBottomBackgroundColor"	:	"#F0F0F0",
	//提交按钮文本
	"cSubmitText"				:	"确 认",
	//取消按钮文本
	"cCancelText"				:	"取 消",
	
	//拖拽效果
	"cDragTime"					:	"50",

	Opens:function(options){
		var title = options.title||'标题';
		var url = options.url||'about:blank';
		var iframe = options.iframe||true;
		var scrolling = options.scrolling||false;
		var width = options.width||500;
		var height = options.height||false;
		var buttons = options.buttons||false;
		var drag = options.drag||true;
		var popup_closeFn = options.popup_closeFn||false;
		JqueryDialog.init(title, url, width, height, null, null, drag, scrolling, buttons, popup_closeFn);

	},	
	/// <summary>创建对话框</summary>
	/// <param name="dialogTitle">对话框标题</param>
	/// <param name="iframeSrc">iframe嵌入页面地址</param>
	/// <param name="iframeWidth">iframe嵌入页面宽</param>
	/// <param name="iframeHeight">iframe嵌入页面高</param>
	Open:function(dialogTitle, iframeSrc, iframeWidth, iframeHeight){
		JqueryDialog.init(dialogTitle, iframeSrc, iframeWidth, iframeHeight, true, true, true);
	},
	
	/// <summary>创建对话框</summary>
	/// <param name="dialogTitle">对话框标题</param>
	/// <param name="iframeSrc">iframe嵌入页面地址</param>
	/// <param name="iframeWidth">iframe嵌入页面宽</param>
	/// <param name="iframeHeight">iframe嵌入页面高</param>
	/// <param name="isSubmitButton">是否呈现“确认”按钮</param>
	/// <param name="isCancelButton">是否呈现“取消”按钮</param>
	/// <param name="isDrag">是否支持拖拽</param>
	Open1:function(dialogTitle, iframeSrc, iframeWidth, iframeHeight, isSubmitButton, isCancelButton, isDrag){
		JqueryDialog.init(dialogTitle, iframeSrc, iframeWidth, iframeHeight, isSubmitButton, isCancelButton, isDrag);
	},
	/// <summary>创建对话框</summary>
	/// <param name="dialogTitle">对话框标题</param>
	/// <param name="iframeSrc">iframe嵌入页面地址</param>
	/// <param name="iframeWidth">iframe嵌入页面宽</param>
	/// <param name="iframeHeight">iframe嵌入页面高</param>
	/// <param name="isSubmitButton">是否呈现“确认”按钮</param>
	/// <param name="isCancelButton">是否呈现“取消”按钮</param>
	/// <param name="isDrag">是否支持拖拽</param>
	init:function(dialogTitle, iframeSrc, iframeWidth, iframeHeight, isSubmitButton, isCancelButton, isDrag,  scrolling, buttons, popup_closeFn){
		
		//获取客户端页面宽高
		var _client_width = document.body.clientWidth;
		var _client_height = document.documentElement.scrollHeight;
		
		//create shadow
		if(typeof($("#jd_shadow")[0]) == "undefined"){
			//前置
			$("body").prepend("<div id='jd_shadow'>&nbsp;</div>");
			var _jd_shadow = $("#jd_shadow");
			_jd_shadow.css("width", _client_width + "px");
			_jd_shadow.css("height", _client_height + "px");
		}
	
		//create dialog
		if(typeof($("#jd_dialog")[0]) != "undefined"){
			$("#jd_dialog").remove();
		}
	
		$("body").prepend("<div id='jd_dialog' class='jd_dialog popup'><div class='jd_dialog_fr_top'><div class='l'></div><div class='m'></div><div class='r'></div></div><div class='jd_dialog_fr_mid' id='jd_dialog_fr_mid'><div class='l'></div><div class='m' id='jd_dialog_content'></div><div class='r'></div></div><div class='jd_dialog_fr_bot'><div class='l'></div><div class='m'></div><div class='r'></div></div></div>");
		
		
		//$("body").append('<iframe src="javascript:void(0);"  frameborder="1" scrolling="no"  width="100%" height="10000" style="filter:alpha(opacity=10);z-index:4;position:absolute;left:0px;top:0px;"></iframe>"');
		//$("body").append('<div style="z-index:5;position:absolute;left:0px;top:0px; background-color:#aaa;filter:alpha(opacity=10);width:100%;height:10000px;border:1px solid red;display:none;"><iframe src="javascript:void(0);"  frameborder="1" scrolling="no"  width="100%" height="10000" style="filter:alpha(opacity=10);z-index:-1;position:absolute;left:0px;top:0px;"></iframe></div>');
		//$('#jd_dialog').bgiframe({top: 0, left: 0, width: $("body").width(), height: $("body").height()});
		//$('#userAgent').html(navigator.userAgent);
		//$('#jd_dialog').bgiframe();
		//dialog location
		//left 边框*2 阴影5
		//top 边框*2 阴影5 header30 bottom50
		var _jd_dialog = $("#jd_dialog");
		_jd_dialog.css('width', iframeWidth + "px");
		_jd_dialog.find('.m').css('width', (iframeWidth - 20) + "px");
   
		
		_jd_dialog.css('z-index',parseInt(new Date().getTime()/1000));
		 _jd_dialog.bind('mousedown', function() { _jd_dialog.css('z-index',parseInt(new Date().getTime()/1000));});
		 
		var _left = (_client_width - (iframeWidth + JqueryDialog.cBorderSize * 2 + 5)) / 2;
		_jd_dialog.css("left", (_left < 0 ? 0 : _left) + document.documentElement.scrollLeft + "px");
		
		var _top = (document.documentElement.clientHeight - (iframeHeight + JqueryDialog.cBorderSize * 2 + 30 + 50 + 5)) / 2;
		var addW = 0;
		if($.browser.msie){
			addW = 55;
		}
		_jd_dialog.css("top", (_top < 0 ? 0 : _top) + document.documentElement.scrollTop  + addW + "px");

		//create dialog shadow
	//	_jd_dialog.append("<div id='jd_dialog_s'>&nbsp;</div>");
		//var _jd_dialog_s = $("#jd_dialog_s");
		//iframeWidth + double border
		//_jd_dialog_s.css("width", iframeWidth + JqueryDialog.cBorderSize * 2 + "px");
		//iframeWidth + double border + header + bottom
	//	_jd_dialog_s.css("height", iframeHeight + JqueryDialog.cBorderSize * 2 + 30 + 50 + "px");

		//create dialog main
	   var _jd_dialog_content = $('#jd_dialog_content');
	   
	   _jd_dialog_content.css("height", (iframeHeight - 20) + "px");
	   $('#jd_dialog_fr_mid').css("height", (iframeHeight - 20) + "px");
	   
	   _jd_dialog_content.append("<div id='jd_dialog_m'></div>");
		var _jd_dialog_m = $("#jd_dialog_m");
		 _jd_dialog_m.css('width', (iframeWidth - 20) + "px")

		//header
		_jd_dialog_m.append("<div id='jd_dialog_m_h' class='popup_tit'></div>");
		var _jd_dialog_m_h = $("#jd_dialog_m_h");
		
		//header left
		_jd_dialog_m_h.append("<span id='jd_dialog_m_h_l' class='title'>" + dialogTitle + "</span>");
		if (!popup_closeFn){
			_jd_dialog_m_h.append("<a id='jd_dialog_m_h_r' hideFocus='true' href='javascript:void(0)'  title='" + JqueryDialog.cpopup_closeTitle + "' onclick='JqueryDialog.popup_close();' class='popup_close'>x</a>");
		}else {
			$("<a id='jd_dialog_m_h_r' hideFocus='true' href='javascript:void(0)' title='" + JqueryDialog.cpopup_closeTitle + "' class='popup_close'>" + JqueryDialog.cpopup_closeText + "</a>").appendTo(_jd_dialog_m_h).bind('click', function() { popup_closeFn.apply(this, arguments);return false;});
		}

		//body
		_jd_dialog_m.append("<div id='jd_dialog_m_b'></div>");
		//iframe 遮罩层
		_jd_dialog_m.append("<div id='jd_dialog_m_b_1'>&nbsp;</div>");
		var _jd_dialog_m_b_1 = $("#jd_dialog_m_b_1");
		_jd_dialog_m_b_1.css("top", "30px");
		//_jd_dialog_m_b_1.css("width", iframeWidth + "px");
		//_jd_dialog_m_b_1.css("height", iframeHeight + "px");
		_jd_dialog_m_b_1.css("display", "none");
		
		//iframe 容器
		_jd_dialog_m.append("<div id='jd_dialog_m_b_2'></div>");
		//iframe
		$("#jd_dialog_m_b_2").append("<iframe id='jd_iframe' scrolling='" + (scrolling?"yes":"no")+ "' frameborder='0' width='"+ (iframeWidth - 20)+"' height='"+ (iframeHeight - 80) +"' src='"+iframeSrc+"' />");
	
		//bottom
		_jd_dialog_m.append("<div id='jd_dialog_m_t' class='popup_btns'></div>");
		var _jd_dialog_m_t = $("#jd_dialog_m_t");
		
		//added 
		if(buttons) {
			$.each(buttons, function(name, fn) {
				//_jd_dialog_m_t.append("<input  class='jbutton'  value='" + name +"' type='button' />")
				 //.bind('click', function() { fn.apply(this, arguments);return false;});
				$("<span><a  class='jbutton' hideFocus='true' href='javascript:void(0)' type='button'>" + name +"</a></span>").appendTo(_jd_dialog_m_t).bind('click', function() { fn.apply(this, arguments);return false;});
			});
		}
		if(isCancelButton){
			_jd_dialog_m_t.append("<span class='jd_dialog_m_t_s'><a id='jd_cancel' class='jbutton jd_cancel' hideFocus='true' onclick='JqueryDialog.popup_close();'>"+JqueryDialog.cCancelText+"</a></span>");
		}
		if(isSubmitButton){
			_jd_dialog_m_t.append("<span><a id='jd_submit' class='jbutton jd_submit'  hideFocs='true' onclick='JqueryDialog.Ok();'>"+JqueryDialog.cSubmitText+"</a></span>");
		}	
		//register drag
		if(isDrag){
			DragAndDrop.Register(_jd_dialog[0], _jd_dialog_m_h[0]);
		}
		//判断ie6
		if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
			_jd_dialog.append('<iframe class="jd_frame_shadow" width="' + (_jd_dialog_m.width() +  JqueryDialog.cBorderSize * 2) + '" height="' + (_jd_dialog_m.height()  +  JqueryDialog.cBorderSize* 2 )+ '"  src="javascript:void(0)"   frameborder="0"></iframe>');
	   }
	},
	
	/// <summary>关闭模态窗口</summary>
	popup_close:function(){
		$("#jd_shadow").remove();
		$("#jd_dialog").remove();
	},
	Hide:function(){
		$("#jd_dialog").hide();
	},
	
	/// <summary>提交</summary>
	/// <remark></remark>
	Ok:function(){
		var frm = $("#jd_iframe");	
		if (frm[0].contentWindow.Ok()){
			JqueryDialog.popup_close() ;
		}
		else{
			frm[0].focus() ;
		}
	},
	/// <summary>提交完成</summary>
	/// <param name="alertMsg">弹出提示内容，值为空不弹出</param>
	/// <param name="ispopup_closeDialog">是否关闭对话框</param>
	/// <param name="isRefreshPage">是否刷新页面(关闭对话框为true时有效)</param>
	SubmitCompleted:function(alertMsg, ispopup_closeDialog, isRefreshPage){
		if($.trim(alertMsg).length > 0 ){
			alert(alertMsg);
		}
    	if(ispopup_closeDialog){
			JqueryDialog.popup_close();
			if(isRefreshPage){
				window.location.href = window.location.href;
			}
		}
	}
};

var DragAndDrop = function(){
	
	//客户端当前屏幕尺寸(忽略滚动条)
	var _clientWidth;
	var _clientHeight;
		
	//拖拽控制区
	var _controlObj;
	//拖拽对象
	var _dragObj;
	//拖动状态
	var _flag = false;
	
	//拖拽对象的当前位置
	var _dragObjCurrentLocation;
	
	//鼠标最后位置
	var _mouseLastLocation;
	
	//使用异步的Javascript使拖拽效果更为流畅
	//var _timer;
	
	//定时移动，由_timer定时调用
	//var intervalMove = function(){
	//	$(_dragObj).css("left", _dragObjCurrentLocation.x + "px");
	//	$(_dragObj).css("top", _dragObjCurrentLocation.y + "px");
	//};
	
	var getElementDocument = function(element){
		return element.ownerDocument || element.document;
	};
	
	//鼠标按下
	var dragMouseDownHandler = function(evt){

		if(_dragObj){
			
			evt = evt || window.event;
			
			//获取客户端屏幕尺寸
			_clientWidth = document.body.clientWidth;
			_clientHeight = document.documentElement.scrollHeight;
			
			//iframe遮罩
			$("#jd_dialog_m_b_1").css("display", "");
						
			//标记
			_flag = true;
			
			//拖拽对象位置初始化
			_dragObjCurrentLocation = {
				x : $(_dragObj).offset().left,
				y : $(_dragObj).offset().top
			};
	
			//鼠标最后位置初始化
			_mouseLastLocation = {
				x : evt.screenX,
				y : evt.screenY
			};
			
			//注：mousemove与mouseup下件均针对document注册，以解决鼠标离开_controlObj时事件丢失问题
			//注册事件(鼠标移动)			
			$(document).bind("mousemove", dragMouseMoveHandler);
			//注册事件(鼠标松开)
			$(document).bind("mouseup", dragMouseUpHandler);
			
			//取消事件的默认动作
			if(evt.preventDefault)
				evt.preventDefault();
			else
				evt.returnValue = false;
			
			//开启异步移动
			//_timer = setInterval(intervalMove, 10);
		}
	};
	
	//鼠标移动
	var dragMouseMoveHandler = function(evt){
		if(_flag){

			evt = evt || window.event;
			
			//当前鼠标的x,y座标
			var _mouseCurrentLocation = {
				x : evt.screenX,
				y : evt.screenY
			};
			
			//拖拽对象座标更新(变量)
			_dragObjCurrentLocation.x = _dragObjCurrentLocation.x + (_mouseCurrentLocation.x - _mouseLastLocation.x);
			_dragObjCurrentLocation.y = _dragObjCurrentLocation.y + (_mouseCurrentLocation.y - _mouseLastLocation.y);
			
			//将鼠标最后位置赋值为当前位置
			_mouseLastLocation = _mouseCurrentLocation;
			
			//拖拽对象座标更新(位置)
			$(_dragObj).css("left", _dragObjCurrentLocation.x + "px");
			$(_dragObj).css("top", _dragObjCurrentLocation.y + "px");
			
			//取消事件的默认动作
			if(evt.preventDefault)
				evt.preventDefault();
			else
				evt.returnValue = false;
		}
	};
	
	//鼠标松开
	var dragMouseUpHandler = function(evt){
		if(_flag){
			evt = evt || window.event;
			
			//取消iframe遮罩
			$("#jd_dialog_m_b_1").css("display", "none");
			
			//注销鼠标事件(mousemove mouseup)
			cleanMouseHandlers();
			
			//标记
			_flag = false;
			
			//清除异步移动
			//if(_timer){
			//	clearInterval(_timer);
			//	_timer = null;
			//}
		}
	};
	
	//注销鼠标事件(mousemove mouseup)
	var cleanMouseHandlers = function(){
		if(_controlObj){
			$(_controlObj.document).unbind("mousemove");
			$(_controlObj.document).unbind("mouseup");
		}
	};
	
	return {
		//注册拖拽(参数为dom对象)
		Register : function(dragObj, controlObj){
			//赋值
			_dragObj = dragObj;
			_controlObj = controlObj;
			//注册事件(鼠标按下)
			$(_controlObj).bind("mousedown", dragMouseDownHandler);			
		}
	}

}();
;(function($) {

	$.fn.extend({

		overlay: function(ops,id){
			/**var ops = $.extend({
					position: 'fixed', top: 0, left: 0,
					width: '100%',height: '100%',
					opacity: 0.2, background: 'black', zIndex: 99
				}, ops),
			id = id || 'overlay';
			if( $.fn.ie6 ) ops = $.extend(ops, {
				position: 'absolute',
				width: Math.max($(window).width(),$(document.body).width()),
				height: Math.max($(window).height(),$(document.body).height()) });**/

			//return $('<div class="sk_overlay" id="'+id+'"/>').appendTo(document.body).css(ops);
			return ;
		},

		position: function(ops){
			var ops = $.extend({
					fixx: 0,
					fixy: 0
				}, ops),
				mod = (this.css("position")=="fixed") ? 0 : 1,
				t = $(document).scrollTop()*mod,
				l = $(document).scrollLeft()*mod,
				mt = t;

			l += ($(window).width() - this.width()) / 2;
			t += ($(window).height() - this.height()) / 2;
			
			l += ops.fixx;
			t = Math.max(t, mt)+ops.fixy;
			
			if(t<0) t = 0;
			if(l<0) l = 0;
			
			return this.css({top: t, left: l});
		},

		dragdrop:function(ops,callback) {
	        if(typeof(ops)=='function')callback=ops;
			this.css('position','absolute');
	        var ops = $.extend({
	            }, ops),handle=ops.handle ? $(ops.handle, this) : this,
	            flag =false,_o={left:0,top:0},self=this;
	         
	        function pos(e){
	            if (flag) {self.css( {left : e.pageX - _o.left + 'px',top : e.pageY - _o.top + 'px'});}
	        }
	        handle.mousedown(function(e){
	            flag = true;
	            self.css('z-index',parseInt(new Date().getTime()/1000));
	            var offset = self.offset();
	            _o = { left: e.pageX - offset.left, top: e.pageY - offset.top };
	            $(document).mousemove(pos);
	        }).mouseup(function(e){
	            pos(e);
	            flag = false;
	            $(document).unbind('mousemove');
	            if(callback)callback.apply(this,[self]);
	        }).css('cursor','move');
	        return self;
	    },
		
		popup: function(ops,callback){
			var ops = $.extend({
	                buttons:{},esc: true, id: 'popup', iframe: false,scrolling:'no',
					overlay: { opacity: 0.1, background: 'black' },
					text: '', title: '信息提示', type: 1,width: 320,height:0, zIndex:1
				}, ops),
				self = this;

			function popup_close(){
				$('#_overlay').add([document, window]).unbind('._overlay');
				$('#'+ops.id).add([document, window]).unbind('._darg');
				$('#_overlay').remove();
				if(select)select.ie6fix(false);
				$('#'+ops.id).fadeOut('fast',function(){$(this).remove()});
			}

			var o = $('#'+ops.id);
			switch(ops.action){
				case -1://resize
					$('.content', o).animate(callback,function(){o.ie6fix(false);}).find('iframe').css(callback);
					return;
				case 0://retitle
					$('.title', o).text(ops.text);
					return;
				case 1://first btn
					$('.btnpane', o).children('a:nth-child(1)').trigger('click');
					return;
				case 2://second btn
					$('.btnpane', o).children('a:nth-child(2)').trigger('click');
					return;
				case 9://popup_close
					$('.popup_close', o).trigger('click',callback);
					return;
				case 8:
	                callback.apply(this, arguments);
	                return;
				default:
					(o.length==1) && popup_close(); 
			}
			
			var pHtm;
			if(ops.iframe){			
				pHtm = $('<iframe src="'+ops.url+'" marginwidth="0" id="popup_iframe" marginheight="0"  frameborder="0" hspace="0" vspace="0" scrolling="'+ops.scrolling+'" />')
				.css({ width: ops.width-16, height: ops.height==0 ? 'auto' : ops.height-74 });
			}else{
				pHtm = $('<div class="info">'+ops.text+'</div>');
			}
            var popup_box = $('<div id="popup" class="popup p'+ops.type+'"/>').appendTo(document.body);
            popup_box.append('<div class="jd_dialog_fr_top"><div class="l"></div><div class="m"></div><div class="r"></div></div><div class="jd_dialog_fr_mid"><div class="m container"><div class="content content_' +  ops.type + '"/></div></div><div class="jd_dialog_fr_bot"><div class="l"></div><div class="m"></div><div class="r"></div></div>')
            popup_box.find('.m').css('width',(ops.width - 20) + 'px');
            //popup_box.find('.jd_dialog_fr_mid').css('height', (ops.height - 20) + 'px');
			var pContent = popup_box.find('.content');
			//pContent.css('height', (ops.height - 95) + 'px');
			pContent.css('width', (ops.width - 38) + 'px');
			pContent.append(pHtm);
			if (ops.type != 9) {
				pContent.find('.info').css('width', (ops.width - 95) + 'px');
			}
			
			var pContainer = pContent.parent();
			var ppopup_close = $('<div class="popup_tit"><span class="title">' + ops.title + '</span><a href="javascript:void(0);" hideFocus="true" class="popup_close">x</a></div>')
				.prependTo(pContainer);
				
			var _p = ($.fn.ie6) ? 'absolute' : 'fixed';	
			
			var popup = pContainer.parent().parent()
				.css({
					position: _p, zIndex: 99+ops.zIndex,
					top: ops.iframe?($(window).height()-ops.height) / 2-60:($(window).height()-ops.height) / 2, left:($(window).width()-ops.width)/ 2, width: ops.width, height: ops.height==0 ? 'auto' : ops.height, outline: 0
				})
				.attr({ id: ops.id, tabIndex: '-1' })
				.keydown(function(ev) {
					if (ops.esc) {
						(ev.keyCode && ev.keyCode == 27 && popup_close());
					}
				})
				.dragdrop({handle:'.popup_tit'});
			
			var btnPane = $('<div class="popup_btns"/>').appendTo(pContainer);
			
			$('.popup_close', ppopup_close)
				.mousedown(function(ev) {
					ev.stopPropagation();
				})
				.click(function(event, callback) {
					if(callback) callback.apply(this, arguments);
					if(ops.popup_closeFn){
						ops.popup_closeFn.apply(this, arguments);
					}
					popup_close();
					return false;
				});
			
			var hasBtns = false, genBtns = [];
			function newBtns(btns) {
				btnPane.empty().hide();	
				$.each(btns, function() { return !(hasBtns = true); });
				if (hasBtns) {
					btnPane.show();
					$.each(btns, function(name, fn) {
						var css = name == '确定'?'jd_submit':'jd_cancel';
						genBtns.push($('<a href="javascript:void(0);" hideFocus="true" class="jbutton ' + css + '"/>')
							.text(name)
							.appendTo(btnPane)
							.bind('click', function() { fn.apply(this, arguments);return false;}));
					});
				}
			}
			newBtns(ops.buttons);
			
			if(ops.overlay){
				var _overlay = $().overlay( $.extend(ops.overlay, { position: _p }),'_overlay' );
				if (ops.esc) {
					$(document).bind('keydown._overlay', function(e) {
						(e.keyCode && e.keyCode == 27 && popup_close()); 
					});
				}
			}
			popup.position( ops.iframe ? { fixy: -60 } : {} ).show();		
			var select = $('select').ie6fix(true);
			if(window.event){event.returnValue = false;}
			if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
			       var h = popup_box.height();
				   var iframe = $('<iframe class="jd_frame_shadow" width="' + (ops.width) + '" height="' + h + '" src="javascript:void(0)"   frameborder="0"></iframe>').appendTo(popup_box);
				   iframe.css('top','-' + h + "px");
			}
		},

		ie6fix: function(flag){
			return ($.fn.ie6)?this.css('visibility',flag?'hidden':'visible'):this;
		}
	});

	})(jQuery);

	function pop(ops,arg,fn){//ops title='Information',type|fn1,fn2
	    if(typeof(arg)=='function'){
	        $(document.body).popup($.extend({
	            buttons: {
	                '取消': function(){
	                    $(document.body).popup( { action: 9, id: ops.id }, fn );
	                },
	                '确定': function(){
	                    $(document.body).popup( { action: 9, id: ops.id }, arg );
	                }
	            },
	            type: 2
	        },ops));
	    }else{
	        $(document.body).popup( $.extend({
	            buttons: {
	                '取消': function(){
	                    $(document.body).popup( { action: 9, id: ops.id }, fn );
	                }
	            },
	            type: arg //0:error 1:success 3:normal 
	        }, ops));
	    }    
	}
//-->
