/**
 * @author mike
 */
var ZhuiPop = function(){
    var t = this;
    this.config = {
        contentType: 3,
        isHaveTitle: true,
        scrollType: "no",
        isBackgroundCanClick: false,
        isSupportDraging: true,
        isReloadOnClose: false,
		isAutoFixPosition:true,
        width: 400,
        height: 300,
		isIE6:null
    };
    
    this.info = {
        title: "",
        contentUrl: "",
        contentHtml: "",
        contentEle: "",
        callBack: null
    }
    if (!this.config.isHaveTitle) {
        this.config.isSupportDraging = false;
    }
    this.setContent = function(att, val){
        if (val != '') {
            switch (att) {
                case "isHaveTitle":
                    this.config.isHaveTitle = val;
                    break;
                case "width":
                    this.config.width = val;
                    break;
                case "title":
                    this.info.title = val;
                    break;
                case "contentUrl":
                    this.info.contentUrl = val;
                    break;
                case "contentHtml":
                    this.info.contentHtml = val;
                    break;
                case "contentEle":
                    this.info.contentEle = val;
                    break;
                case "callBack":
                    this.info.callBack = val;
                    break;
            }
        }
    }
    this.iniBuild = function(){
		if(navigator.userAgent.indexOf("MSIE 6.0")>0) {
			this.config.isIE6=true;
		}
        if ($("#Zpop")[0]) {
            //alert(1)
            $("#Zpop").remove();
        }
        var oDiv = $('<div class="pop" id="Zpop"></div>');
		if(t.info.contentEle!=""){
		 oDiv.prependTo("body");
		}else{
        oDiv.appendTo("body");
       }
    }
    this.build = function(){
        this.iniBuild();
        var close = '<div><button title="关闭" class="pop_close" id="Zpop_close">关闭</button></div>';//关闭按钮
        var cover = '<div class="pop_mask" id="Zpop_mask"></div>';//遮罩
        var mainBox = '<div class="pop_wrap" id="Zpop_box" style="width:' + this.config.width + 'px;height:' + this.config.height + 'px">';
        if (this.config.isHaveTitle) {
            mainBox += '<div class="pop_title" id="Zpop_title"><h2 class="ok">' + t.info.title + '</h2></div>' + close;
        }
        else {
            mainBox += close;
        }
        mainBox += '<div class="pop_body" id="Zpop_body"></div></div>';
        if (!this.config.isBackgroundCanClick) {
			if(this.config.isIE6){
			$("select").css("visibility","hidden");
		}
            $('#Zpop').html(cover + mainBox);
            t.setBackground();
            $(window).resize(function(){
                t.setBackground();
                t.middle();
            })
            
            
        }
        else {
            $('#Zpop').html(mainBox);
        }
        $(window).resize(function(){
			if(!t.config.isAutoFixPosition){
				return false;
			}
            t.middle();
        })
        $(window).scroll(function(){
			if(!t.config.isAutoFixPosition){
				return false;
			}
            t.middle();
        })
        $("#Zpop_close").bind("click", function(){
            t.close();
        })
        
        if (this.config.isSupportDraging) {//如果支持拖动
            /*  $("#Zpop_title").css("cursor","move"); 
             
             $("#Zpop_title").drag("#Zpop_box", {
             //position	:	'relative'
             lockedR : false,
             lockedX : false,
             lockedY : false
             });
             */
        };
        this.lastBuild();   
    }
    this.setBackground = function(){
        var w = $(document).width();
		
        var h = $(document).height();
        $("#Zpop_mask").css({
            "width": w + "px",
            "height": h + "px"
        })
		
		
    };
    this.lastBuild = function(){
        var confirm = '<div class="pop_inner"><h3>' + this.info.contentHtml + '</h3><p class="secret"><label><input type="checkbox"/>隐私:不公开本次订阅</label></p></div><div class="pop_line"></div><div class="pop_ft"><button class="btn_pop_ok" id="btn_pop_ok">确认</button><button class="btn_pop_cancel" id="btn_pop_cancel">取消</button></div>';
        var alert = '<div class="pop_inner"><h3>' + this.info.contentHtml + '</h3></div><div class="pop_line"></div><div class="pop_ft"><button class="btn_pop_close"  id="btn_pop_close">关闭</button></div>';
        var ask = '<div class="pop_inner"><img src="/s/i/pop_skip_img.jpg"/><div class="skip_tips"><ul><li>您还没有登录，快<a onclick="top.ZhuiLogin();return false;" href="/login/Login.aspx"><strong>登陆</strong></a>追信，更多精彩内容推送给您。</li><li>还没有账号，点击<a onclick="top.ZhuiReg();return false;" href="/login/UserReg.aspx"><strong>注册</strong></a>成为追信用户</li></ul></div></div><div class="pop_line"></div><div class="pop_ft"><button class="btn_pop_close" id="btn_pop_close">关闭</button></div>';
        if (this.config.contentType == 1) {
            var iframe = "<iframe id='MailShowIFrame' src='" + this.info.contentUrl + "' width='100%' style='border:none;height:" + this.config.height + "px' scrolling='" + this.config.scrollType + "'></iframe><div style='text-align:center;background-color:#fff;width:100%;' id='MailShowIFrameLoading'><img src='http://img.zhui.cn/i/mail/icon_loading_big.gif' alt=''/><br />正在打开,请稍后……</div>";
            $("#Zpop_body").html(iframe);
            //loading开始
            $("#MailShowIFrame").hide();
            $("#MailShowIFrame").load(function(){
                $("#MailShowIFrame").show();
                $("#MailShowIFrameLoading").hide();
            });
            //
        }
        else 
            if (this.config.contentType == 2) {
                $("#Zpop_body").html(this.info.contentHtml);
				$("#btn_pop_cancel").bind("click", function(){
                        t.close();
                    })
            }
            else 
                if (this.config.contentType == 3) {
                    $("#Zpop_body").html(confirm);
                    $("#btn_pop_ok").bind("click", function(){
                    })
                    $("#btn_pop_cancel").bind("click", function(){
                        t.close();
                    })
                }
                else 
                    if (this.config.contentType == 4) {
                        $("#Zpop_body").html(alert);
                        $("#btn_pop_close").bind("click", function(){
                            t.close();
                        })
                    }
                    else 
                        if (this.config.contentType == 5) {
                            $("#Zpop").addClass("skip");
                            $("#Zpop_body").html(ask);
                            $("#btn_pop_close").bind("click", function(){
                                t.close();
                            })
                        }
					else 
					    if(this.config.contentType==6){
						        var ele=t.info.contentEle;
								if (ele) {
									var elem = $(t.info.contentEle).html();
									//$("#Zpop_body").append($(ele));
									$("#Zpop_body").html(elem);
								}
							
						}
    };
    this.reBuild = function(){
        this.lastBuild()
    }, this.show = function(){
        this.middle();
    };
    this.forCallback = function(){
        return this.info.callBack(this.info.parameter)
    };
    this.middle = function(){//固定窗口位置
        if (this.config.isBackgroundCanClick) {
            $('#Zpop_mask').hide();
        }
        if (!this.config.isHaveTitle) {
            $("#Zpop_title").hide();
        }
        var oDialog = $('#Zpop_box');
        var w = $(window).width();//$(window)是视窗宽高
        var h = $(window).height();
        var st = $(document).scrollTop();
        var sleft = w / 2 - (oDialog.outerWidth() / 2);
        var stop = h / 2 - (oDialog.outerHeight() / 2);
        var iTop = h / 2 + st - (oDialog.outerHeight() / 2);
        var sTop = iTop > 0 ? iTop : (h / 2 + st) - (oDialog.outerHeight() / 2);
        if (sTop < 1) 
            sTop = "20";
        if (sleft < 1) 
            sleft = "20";
        oDialog.css("left", sleft + "px");
        oDialog.css("top", sTop + "px");
        oDialog.css("margin", "0");
        oDialog.css("position", "absolute");
    }
    this.reset = function(){
        if (this.config.isReloadOnClose) {
            top.location.reload();
        };
        this.close();
    };
    this.close = function(){
        if(t.info.contentEle!=""){
			$("#Zpop").hide();			
		}
        $("#Zpop").hide();
        if(t.config.isReloadOnClose){
			window.top.location.reload();
		}
		if(this.config.isIE6){
			$("select").css("visibility","visible");
		}
    };
    this.al = function(){
        alert(this.config.contentType);
    }
    
}



/*已写入main.js
function AjaxRequest(method,url,data,type,before,success,error){
		$.ajax({
			type:method,
			url:url,
			data:data,
			dataType:type,
			beforeSend:before,
			success:success,
			error:error
		})
	}
*/
var link="";
$(document).ready(function(){
	$(".tool_box .row button").click(function(){
		var state=$(this).attr("state");
		if(state&&state==0){
			ZhuiAskandLogin();
			return false;
		}
	})
	
    $(".btn_zhui_79").click(function(){//追
    
		var state=$(this).attr("state");
		if(state&&state==0){
			var len=$(this).siblings("h3").length;
			if (len > 0) {
				link = $(this).siblings("h3").eq(0).find("a").attr("href");
			}
			ZhuiAskandLogin();
			return false;
		}
		var text=$(this).attr("tit");
		var param=$(this).attr("rel");
		param+="&showmode=2"
       ZhuiDZ("确认追", text);
	   $(".pop_inner").find(":checkbox").change(function(){//checkbox改变时处理隐私
	   	if($(this).attr("checked")){
			$("<p class='secret_warn'>不想和别人分享此信息</p>").appendTo(".pop_inner");
		}else{
			if ($(".secret_warn").length > 0) {
				$(".secret_warn").remove();
			}
		}
	   })
        $("#btn_pop_ok").click(function(){
			var t=$(this);
			if($(this).parent().siblings(".pop_inner").find(":checkbox").attr("checked")){
				//alert("隐私已设置--调试");//提交时处理隐私 这里可以添加参数
				param+="&isopen=0";
			}
             AjaxRequest("GET","/api/web/DZ.ashx",param,"json",function(){
					t.parent().replaceWith('<div class="pop_loading" style="display: block;"><img src="/s/i/loading.gif">处理中...</div>');
				},function(msg){
					if(!msg){
						ZhuiAlert("提示","连接超时!");
						return false;
					}
					var Status=msg.StatusInfo.Status;
					var ReturnCode=msg.StatusInfo.ReturnCode;
					if(Status==0){
						ZhuiAlert("提示", ReturnCode);
					}else{
						ZhuiAlert("提示", ReturnCode,true,1000,true);//true刷新页面
					}
				},function(){
					ZhuiAlert("提示","处理失败!请检查您的网络连接是否正常");
						return false;
				})
        })
		return false;
		
    })
	

	
	
$(".post_item .post_tit a,.tel_update_cont ul li a").click(function(){//未注册用户弹出,准备用的元素标记为$("a.unLogin")
          if($(this).attr("state")==0){
		  	ZhuiAsk();
			if($(this).attr("href")&&$(this).attr("href")!=""){
				var link=$(this).attr("href");
				$(".skip .pop_body ul").append("<li>下次再说,<a class='golink' href='"+link+"' target='_blank'>访问目标地址</a></li>");
				$("#btn_pop_close").click(function(){
					window.open(link);
				})
				$(".pop_body a.golink").click(function(){
					$("#Zpop").remove();
				})
			}
		    return false;
		  }
		
	})
	
	
$(".add_favorite").click(function(){//收藏
        var state=$(this).attr("state");
	   if(state&&state==0){
			ZhuiAsk();
			return false;
		}
	    var tit=$(this).attr("tit");//标题
		tit=tit.replace(/"/g,'”');
		var rel=$(this).attr("rel");//参数
		var link=$(this).attr("href");//链接
	    var cont='<div class="pop_inner"><div class="row"><label>标题:</label><input id="FavTitle" type="text" value="'+tit+'" class="txt fav_tit"/></div><div class="row"><label>链接:</label><span class="fav_link" id="FavLink">'+link+'</span></div></div><div class="pop_line"></div><div class="pop_ft"><button class="btn_pop_ok" id="btn_pop_ok">确认</button><button class="btn_pop_cancel" id="btn_pop_cancel">取消</button></div>';
		ZhuiCont("确认收藏",cont,500,"auto");
		$("#FavTitle").focus(function(){//标题栏默认聚焦选中
			$(this).select();
		})
		$("#btn_pop_ok").click(function(){
			var t=$(this);
			var title=$("#FavTitle").val();
			if(title==""){
				alert("标题不能为空!");
				$("#FavTitle").focus();
				return false;
			}
			var param="Title="+title+"&"+rel+"&showmode=2";
			param=encodeURI(param);
			AjaxRequest("GET","/api/web/WebFavAdd.ashx",param,"json",function(){
					t.parent().replaceWith('<div class="pop_loading" style="display: block;"><img src="/s/i/loading.gif">处理中...</div>');
				},function(msg){
					var Status=msg.StatusInfo.Status;
					var ReturnCode=msg.StatusInfo.ReturnCode;
					if(Status==0){
						ZhuiAlert("提示", ReturnCode);
					}else{
						ZhuiAlert("提示", ReturnCode,true,1000,false);
					}
				},function(){
					alert("出错了哈")//这里需要优化
				})
		})
		return false;
	})

})
	
function ZhuiCont(title,cont,w,h,isAutoFixPosition){//传递文本html等
		var z = new ZhuiPop();
        z.config.contentType = 2;
        z.config.width = w;
        z.config.height = h;
		z.config.isAutoFixPosition=isAutoFixPosition;
        z.setContent("title", title);
        z.setContent("contentHtml", cont);
        z.build();
        z.show();
	}
function ZhuiEle(title,ele,w,h,isAutoFixPosition,callback){
       var z = new ZhuiPop();
        z.config.contentType = 6;
        z.config.width = w;
        z.config.height = h;
		z.config.isAutoFixPosition=isAutoFixPosition;
        z.setContent("title", title);
		z.setContent("contentEle", ele);
        z.build();
        z.show();
}	
function ZhuiDZ(title,cont){//订制
	var z = new ZhuiPop();
        z.config.contentType = 3;
        z.config.width = 400;
        z.config.height = "auto";
        z.setContent("title", title);
        z.setContent("contentHtml", cont);
        z.build();
        z.show();
}	
    
function ZhuiAlert(title, cont,autoClose,time,ifReload){//提示框
        var alt = new ZhuiPop();
        alt.config.contentType = 4;
        alt.config.width = 300;
        alt.config.height = "auto";
		alt.config.isReloadOnClose=ifReload;
        alt.setContent("title", title);
        alt.setContent("contentHtml", cont);
        alt.build();
        alt.show();
		if (autoClose) {
			setTimeout(function(){
				alt.close();
			}, time)
		}
    }
function ZhuiAlertForDz(title, cont,autoClose,time,ifReload,l){//提示框
        var alt = new ZhuiPop();
        alt.config.contentType = 4;
        alt.config.width = 300;
        alt.config.height = "auto";
		alt.config.isReloadOnClose=ifReload;
        alt.setContent("title", title);
        alt.setContent("contentHtml", cont);
        alt.build();
        alt.show();
		if (autoClose) {
			setTimeout(function(){
				alt.close();
			}, time)
		}
		if (l) {
			$("#btn_pop_close").click(function(){
				//window.open(l);
				window.location.href = l;
			})
		}else{
			top.location.reload();
		}
    }
    
function ZhuiIframe(url,w){//iframe
        var alt = new ZhuiPop();
        alt.config.contentType = 1;
        alt.config.width = w;
        alt.config.height = "auto";
        alt.config.scrollType = "no";
        alt.setContent("contentUrl", url);
        alt.build();
        alt.show();
    }
	
function ZhuiAsk(){
		var ask=new ZhuiPop();
		ask.config.contentType=5;
		ask.config.width=492;
		ask.build();
		ask.show();
	}

function ZhuiClose(isReload){
	
	var close=new ZhuiPop();
		close.setContent("contentEle","body");
	close.config.isReloadOnClose=isReload;
	close.close();
}  

function ZhuiLogin(){
	var l=location.href;//当前页面地址
	var cont='<div style="width:300px;height:120px;margin:0 auto"><iframe src="/login/MiniLogin.aspx" frameborder="0"></iframe></div>'
				ZhuiCont("会员登录",cont,400);
				$("#MailShowIFrame").hide();
				$("#MailShowIFrame").load(function(){
					$("#MailShowIFrame").show();
					var h=$("#MailShowIFrame").contents().find("body").height();
					$("#MailShowIFrame").height(h);
				})
				$("#login_sub").click(function(){
					//执行操作
				})
}

function ZhuiReg(){
	var hash=Math.random();
	var cont='<iframe id="miniRegIframe" src="/login/MiniReg.aspx?random='+hash+'" style="display:none;" width="580" frameborder="0" scrolling="no"></iframe><div style="text-align:center;background-color:#fff;width:100%;" id="MailShowIFrameLoading"><img src="/s/i/icon_loading_big.gif" alt="加载中..."/><br />正在打开,请稍后……</div>';
	ZhuiCont("新用户注册",cont,600,"auto",false);
	$("#miniRegIframe").hide();
	$("#miniRegIframe").load(function(){
		$(this).show();
		$("#MailShowIFrameLoading").hide();
	   // var h=$(this)[0].contentWindow.document.documentElement.scrollHeight;
		//var h2=$(this).get(0).contentDocument.body.scrollHeight;//IE
		//h=Math.max(h,h2);
		var h=$(this).contents().find("body").height();
		$(this).height(h);
		resetPosition("#Zpop_box");//重新定位

		})
	
}

function ZhuiAskandLogin(){
	            var hash=Math.random();
				var cont = '<div class="pop_inner" style="overflow:hidden"><img class="skip_img" style="float:left;" src="/s/i/pop_skip_img.jpg"/><div style="float:right;width:300px;" class="skip_tips"><h3>您需要先登录才能继续操作</h3><iframe id="miniLoginIframe" style="display:none;" src="/login/MiniLogin.aspx?random='+hash+'" frameborder="0"></iframe><div style="text-align:center;background-color:#fff;width:100%;" id="MailShowIFrameLoading"><img src="/s/i/icon_loading_big.gif" alt="加载中..."/></div></div></div>';
				ZhuiCont("",cont,560);
				$("#miniLoginIframe").hide();
				$("#miniLoginIframe").load(function(){
		            $("#MailShowIFrameLoading").hide();
					$(this).show();
					var h=$("#miniLoginIframe").contents().find("body").height();
					$("#miniLoginIframe").height(h);
					resetPosition("#Zpop_box");//重新定位
				})
}

function resetPosition(ele){//重新定位
	    var p=$(ele);
		var w=$(window).width();
		var h=$(window).height();
		var sleft=w/2-p.outerWidth()/2;
		var stop=h/2-p.outerHeight()/2;
		var scrollTop=$(document).scrollTop();
		if(scrollTop>0){
			stop=stop+scrollTop
		}
		p.css({
			"top":stop,
			"left":sleft
		})
}
    



