var popup={
  drag : 1,
  isHeader : 1,
  divClass : "popup",
  W : 0,
  H : 0,
  bodyHtml : "江西人力网！",
  headerTitle : "",
  mask : 1,
  dockObj : "",
  dockLeft : 0,
  dockTop : 0,
  keepLeft : 0,
  isMessageTip:0,				
  Overstep:0,                   //弹出层是否可以超出屏幕下边 默认为0不可以，1 为可以，
  construct : function(W,H,bodyHtml,headerTitle,dockObj,mask){
	 this.clearData();
	 if(bodyHtml == "undefined" || bodyHtml == "" ){ bodyHtml = "江西人力网！" }
	 if(headerTitle == "undefined" || bodyHtml == "" ){ headerTitle = "" }
 	 if(dockObj == null || dockObj == "undefined" || dockObj == ""){ dockObj = "" };
	 if(mask == null || mask == undefined){ mask = 0; }
	 this.W = W ;
	 this.H = H ;
	 this.bodyHtml = bodyHtml;
	 this.headerTitle = headerTitle;
	 this.dockObj = dockObj;
	 this.mask = mask;
	 this.creatDiv();
  },
  creatDiv : function(){
	if(document.getElementById("msg1"))
	  this.ibClose();
	var objID="msg1";
    var obj = document.createElement("div");
	var objHead = document.createElement("div");
	var objBody = document.createElement("div");
	obj.id = objID;
	objHead.id = objID+"_head";
	objBody.id = objID+"_body"
	obj.className=this.divClass;
	objHead.className="popuphead";
	objBody.className="popupBody";
	obj.appendChild(objHead);
	obj.appendChild(objBody);
	document.body.appendChild(obj);

	var closeBtn = objID + "closeBtn";
	objBody.innerHTML = this.bodyHtml;
	objHead.style.cursor="move";
	if(this.isMessageTip!=1)
   	  objHead.innerHTML = "<h1>" + this.headerTitle + '</h1><img src="http://www.jxzp.cc/images/infoBoxIconClose.jpg" id=' + closeBtn + ' style="cursor:pointer" />';
	else
	  objHead.innerHTML = "";
	//js样式设置
    if(this.W == undefined || this.W < 0 || this.W == ""){ this.W = obj.clientWidth; }
    if(this.H == undefined || this.H < 0 || this.H == ""){ this.H = obj.clientHeight;}
	objBody.style.width = objHead.style.width = obj.style.width =this.W+"px";
	if(this.H > 10)obj.style.height = this.H + "px";
	obj.style.minHeight = 16 + "px";
	obj.style.cssText += ";position:absolute;z-index:99;";
	 //如果没有依靠对象
	if(this.dockObj == "" || this.dockObj == undefined) { 
      var clientHeight = obj.style.height.replace("px","");
	  if(clientHeight == null || clientHeight == "" || clientHeight == "undefined"){clientHeight = this.H;};
	  var relTop = (document.documentElement.clientHeight-clientHeight)/2 > 0 ? (document.documentElement.clientHeight-clientHeight)/4:0;
	  var objTop = parseInt(document.documentElement.scrollTop + document.body.scrollTop+relTop)+'px';
      var objLeft = parseInt(document.documentElement.scrollLeft + (document.documentElement.clientWidth - this.W)/2) + 'px';
   	  obj.style.left = objLeft;
   	  obj.style.top = objTop;
	}
	else {
	  var tempObj = this.dockObj
	  while (tempObj = tempObj.parentElement){
	    if(tempObj.id=="ContentText"){
		  this.dockTop = this.dockTop - document.getElementById("ContentText").scrollTop;
		  break;
		}
	  }
	  var dockObj = this.dockObj;
	  var x = dockObj.offsetLeft+this.dockLeft;
	  while (dockObj = dockObj.offsetParent) x += dockObj.offsetLeft;
	  var maxWidth = document.body.clientWidth;
	  if(maxWidth < 800)
		maxWidth = 800;
	  var maxLEft = maxWidth-this.keepLeft;
	  if(x > maxLEft){ x = maxLEft }
	  if(x < this.keepLeft){ x = this.keepLeft; }
	  
	  dockObj = this.dockObj;
	  var y = dockObj.offsetTop;
	  while (dockObj = dockObj.offsetParent){y += dockObj.offsetTop;}
	  
	  obj.style.left = x + "px";
	  
	  //如果是冒泡
	  if(this.isMessageTip>=1){
	    obj.style.top = y + this.dockTop - this.H - 10 + "px";
		obj.width = this.clientWidth;
	  }
	  //else if(this.isMessageTip==2){
//	    obj.style.top = y + this.dockTop - obj.clientHeight + 30 + "px";
//		obj.width = this.clientWidth;
//	  }
	  else{
 	    obj.style.top = y + this.dockTop+this.dockObj.clientHeight + "px";
		var clientHeight=obj.clientHeight;
  		var styleTop=parseInt(y + this.dockTop+this.dockObj.clientHeight);
		var curScrollHeight=document.documentElement.scrollTop + document.body.scrollTop + document.documentElement.clientHeight;
		var clientWidth=obj.clientWidth;
  		var styleLeft=parseInt(obj.style.left.substring(0,obj.style.left.length-2));
		var curScrollWidth=document.documentElement.scrollLeft+document.documentElement.clientWidth ;
		if(clientHeight+styleTop > curScrollHeight && this.Overstep==0){
		  obj.style.top=(curScrollHeight- clientHeight-5)+'px';
		}
		if(clientWidth+styleLeft>curScrollWidth)
		  obj.style.left=(curScrollWidth- clientWidth-25)+'px';
	  }
	}
	//如果是MessageTip或者mask为0，添加事件监听，点击依靠对象不退出。点击其它地方退出
	if(this.isMessageTip==1){
  	  if(window.addEventListener)
	  	document.addEventListener("click",this.HideMessageTip,false);
	  else
	  	document.attachEvent('onclick',this.HideMessageTip);
	  this.mask = 0;
	}
	//是否创建遮罩层
	if(this.mask){
	  var objMask = document.createElement("div");
	  objMask.id = "Mask";
 	  if(this.mask > 2)
	    objMask.style.cssText = "height:100%;width:100%;left:0; top:0; background:#000;opacity:0.0;filter:alpha(opacity=0)";
	  else
	  	objMask.style.cssText = "height:100%;width:100%;left:0; top:0; background:#000;opacity:0.25;filter:alpha(opacity=5);";
	  document.body.appendChild(objMask);
	  objMask.style.cssText += ";position:absolute;z-index:1;";
	  objMask.style.height = Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)-10 +"px";
	  if(this.mask == 1 || this.mask == 3) { objMask.onclick = this.ibClose; }
	}
	if(this.isMessageTip!=1)
	    document.getElementById(closeBtn).onclick = this.ibClose; ; //关闭按钮
	//拖动功能	
	var w = obj.scrollWidth,h = obj.scrollHeight;
	var moveX = 0,moveY = 0,moveTop = 0,moveLeft = 0,moveable = false;
	var bodyH = this.H;
	if(this.drag == 1 && this.isHeader == 1 )
		objHead.onmousedown= function(e)
	  {
	    e = window.event ? window.event:e;
		var e = e ? e : event;
		var mouseD = document.all ? 1 : 0;
		if(e.button == mouseD)
		{
			oDrag = obj
			ox = e.clientX;
			oy = e.clientY;		
		}
	  }
	else
	  objHead.style.cursor="default";
	if(this.isHeader != 1)
	  obj.removeChild(objHead);
	function _(name){
	  return document.getElementById(name);	
	}
  },
  beforeClose : function(){},
  ibClose : function(){
	popup.beforeClose();
	var objMask = document.getElementById("Mask");
	if(document.getElementById("msg1_head")){
		document.getElementById("msg1_head").onmousemove=null;
		document.getElementById("msg1_head").onmousedown=null;
		document.getElementById("msg1_head").onmouseup=null;
		document.getElementById("msg1").removeChild(document.getElementById("msg1_head"));
	}
	if(document.getElementById("msg1")){
	  document.body.removeChild(document.getElementById("msg1"));
	}
	if(document.getElementById("popupIframe"))
	  document.body.removeChild(document.getElementById("popupIframe"));
	if(objMask)
	  document.body.removeChild(objMask);
	if(document.getElementById('calendar'))
	    document.getElementById('calendar').style.display = 'none';
    if(document.getElementById('calendar_year'))
        document.getElementById('calendar_year').style.display = 'none';
	if(document.getElementById('calendar_month'))
	    document.getElementById('calendar_month').style.display = 'none';
  },
  clearData : function(){
	this.drag = 1;
  	this.isHeader = 1;
	this.divClass = "popup";
  	this.W = 0;
  	this.H = 0;
    this.bodyHtml = "江西人力网！";
    this.headerTitle = "";
    this.mask = 1;
    this.dockObj = "";
    this.dockLeft = 0;
    this.dockTop = 0;
    this.keepLeft = 0;
    this.isMessageTip=0; 
	this.beforeClose = function(){}
	if(window.addEventListener)
	    document.removeEventListener("click",popup.HideMessageTip,false);
    else
	    document.detachEvent("onclick",popup.HideMessageTip);
  },
  HideMessageTip:function(e)
  {
	 var Element=arguments[0].target||event.srcElement;
	if(Element!=popup.dockObj)
	{
	  popup.ibClose();
	  if(window.addEventListener)
	    document.removeEventListener("click",popup.HideMessageTip,false);
      else
	    document.detachEvent("onclick",popup.HideMessageTip);
	}
  }
}
var oDrag = "";
var ox,oy,nx,ny,dy,dx;

function dragPro(e){
	if(oDrag != "")
	{	
		window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
		var e = e ? e : event;
		dx = parseInt(oDrag.style.left);
		dy = parseInt(oDrag.style.top);
		nx = e.clientX;
		ny = e.clientY;
		oDrag.style.left = (dx + ( nx - ox )) + "px";
		oDrag.style.top = (dy + ( ny - oy )) + "px";
		ox = nx;
		oy = ny;
	}
}
document.onmouseup = function(){oDrag = "";}
document.onmousemove = function(event){dragPro(event);}
