//保留的位置
 var saveLeft,saveTop,saveWidth,saveHeight;
 var theBody;
 var eventType;    //事件种类, "move"、"resize"
 var p;
 
 //创建并设定p的参数
 function setp(ct,cid)
 {
  //防止重复打开
  if (p)
  {
   return;
  }
  var newLeft,newTop,newWidth,newHeight;
  theBody = document.body;
  var ct=ct;
  var cid=cid
  p = document.createElement("p");
  p.id = "panelp";
  p.style.position = "absolute";
  p.style.padding = "2px 5px 5px 2px";
  p.style.overflow = "hidden";
  p.style.zIndex = 1;
  
  
  //设定打开的大小和位置
  Function()
  {
   var openType = 0;
   if (openType == 0)   //默认大小默认位置居中打开
   {
	var x=window.event.clientX; 
    var y=window.event.clientY; 
	   
    newWidth = "437px";
    newHeight = "337px";
	if ((x - parseInt(newWidth))>0) {
	 newLeft = (x - parseInt(newWidth))  + "px";	
		}else{
		 newLeft = (x)  + "px";		
			}
   
	if((document.documentElement.scrollTop + window.event.clientY  - parseInt(newHeight)) >0 )
	{
	 newTop = (document.documentElement.scrollTop + window.event.clientY  - parseInt(newHeight)) + "px";	
		}else
		{
		 newTop = (document.documentElement.scrollTop + window.event.clientY ) + "px";		
			}
   
   }
   else //存储的位置与大小
   {
    newWidth = saveWidth ? saveWidth : "300px";
    newHeight = saveHeight ? saveHeight : "300px";
    newLeft = saveLeft ? saveLeft : (theBody.clientWidth - parseInt(newWidth)) / 2 + "px";
    newTop = saveTop ? saveTop : (theBody.clientHeight - parseInt(newHeight)) / 2 + "px";
   }
   p.style.width = newWidth;
   p.style.height = newHeight;
   p.style.left = newLeft;
   p.style.top = newTop;
  }
  p = setChild(p,ct,cid);
  theBody.appendChild(p);
  
  var ipt = document.getElementsByTagName("input");
  for(var i = 0; i < ipt.length; i++)
  {
   ipt[i].disabled = true;
  }
 }
 
 function setChild(p,ct,cid)
 {
  //可否移动、调整
  var isMove = true;
  var isResize = false;
  
  //底色
  var cp = document.createElement;
  var backp = cp("p");
  backp.style.cssText = "left: 0px; top: 0px; width: 437px; height: 337px;FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/cardbg.png', sizingMethod='crop'); BACKGROUND-IMAGE: none ";
  p.appendChild(backp);
  
  //标题
  var topp = cp("p");
  topp.style.cssText = "left: 2px; top: 2px; width: 100%; height: 30px; position: absolute;  vertical-align: middle; z-index: 5";
  if (isMove)
  {
   topp.style.cursor = "move";
   topp.setAttribute("onmousedown", function(){setMove(this)});
  }
  else
  {
   topp.style.cursor = "default";
  }
  topp.innerHTML = "<span style='top: 25px; left:25px; font-size: 14px; font-weight: bold; color: #102548; position: relative;' onselectstart='return false'>"+ct+"</span>";
  p.appendChild(topp);
  
  //关闭按钮
  var closep = cp("p");
  closep.style.cssText = "right: 28px; top : 25px; width: 20px; height: 20px; position: absolute;  text-align: center; vertical-align: middle; cursor: pointer; z-index: 10";
  closep.setAttribute("onclick", function() {eClosep()});
  closep.innerHTML = "<span style='font-size: 20px; font-weight: bold; color: #0E377A;' title='关闭'>×</span>";
  p.appendChild(closep);
  
  //内容
  var contentp = cp("p");
  contentp.style.cssText = "left: 2px; top: 50px; width: 100%;height:253px; position: absolute; overflow: auto";
  contentp.style.height = (parseInt(p.style.height) - 40) + "px";
  p.appendChild(contentp);
    var txt=cp("<iframe>");
		txt.style.cssText = "left: 30px; top: 48px; width: 376px;height:253px; position: absolute; overflow: auto";
		//txt.style.height = (parseInt(p.style.height) - 40) + "px";
        txt.height =40 + 'px';
        txt.setAttribute("frameBorder", "0");
		txt.setAttribute("id", "dialog");
		txt.setAttribute("scrolling", "no");
          p.appendChild(txt);
	     txt.src="gbook.asp?fid="+cid;
  //contentp.innerHTML = "<table style='width: 100%; height: 100%; text-align: left; vertical-align: hidden'><tr><td> <table width='96%' border='0' align='center' cellpadding='0' cellspacing='0' class='sz_form'> <form id='feedform' name='form' method='post' >  <tr><td width='65' height='26'><b>您的姓名：</b></td><td><input name='NickName' type='text' style='width:90%;' id='NickName' /></td> </tr><tr><td height='26'><b>您的电话：</b></td><td class='ska'><input name='tel' type='text' style='width:90%;' id='tel' /></td> </tr> <tr><td height='26' ><b>您的QQ：</b></td><td class='fontbk'><input name='qq' type='text' style='width:90%;' id='qq' /></td></tr> <tr><td height='26' ><b>您的邮件：</b></td><td class='fontbk'><input name='email' type='text' style='width:90%;' id='email' /></td></tr><tr> <td colspan='2' valign='top'><textarea name='Message' cols='20' rows='5' class='biginput' id='Message' style='width:92%;' ></textarea> </td> </tr> <tr> <td colspan='2'>&nbsp;</td> </tr><tr> <td colspan='2' align='center'><a href='javascript:;' onclick='sendGbook();'  class='szan'>发送</a> <a href='javascript:;' class='szan' onclick='eClosep();'>取消</a><input name='sid' type='hidden'  id='sid' value="+cid+"/></td></tr> <tr> <td colspan='2' align='center' id='Gbookments'></td></tr></form></table></td></tr& gt;</table>";
  
  //调整大小
  var rep = cp("p");
  rep.style.cssText = "right: 0px; bottom: 0px; width: 5px; height: 5px; position: absolute;";
  if (isResize)
  {
   rep.style.cursor = "se-resize";
   rep.setAttribute("onmousedown", function(){setResize(this)});
  }
  else
  {
   rep.style.cursor = "default";
  }
  p.appendChild(rep);
  
  return p;
 }
 
 var oX, oY, oLeft, oTop, oWidth, oHeight; //存储原始移动前的位置
 var pClone, op;   //克隆的节点和原始节点
 var oTime;
 //clone拖移的节点
 function setMove(obj)
 {
  if (event.button == 1)
  {
   if (oTime)
   {
    clearTimeout(oTime);
    pClone.parentNode.removeChild(pClone);
   }
   op = obj.parentNode;
   pClone = op.cloneNode(true);
   pClone.style.filter = "Alpha(opacity=50)";
   pClone.childNodes[1].setAttribute("onmousemove", function(){startMove(this)});
   pClone.childNodes[1].setAttribute("onmouseup", function(){endMove()});
   oX = parseInt(event.clientX);
   oY = parseInt(event.clientY);
   oLeft = parseInt(pClone.style.left);
   oTop = parseInt(pClone.style.top);
   document.body.appendChild(pClone);
   pClone.childNodes[1].setCapture();
   eventType = "move";
  }
 }
 
 //拖移
 function startMove(obj)
 {
  if (eventType == "move" && event.button == 1)
  {
   var movep = obj.parentNode;
   movep.style.left = (oLeft + event.clientX - oX) + "px";
   movep.style.top = (oTop + event.clientY - oY) + "px";
  }
 }
 
 //拖移结束调用动画
 function endMove()
 {
  if (eventType == "move")
  {
   pClone.childNodes[1].releaseCapture();
            move(parseInt(pClone.style.left), parseInt(pClone.style.top));
   eventType = "";
  }
 }
 
 //移动的动画
 function move(aimLeft, aimTop)
 {
  var nowLeft = parseInt(op.style.left);
  var nowTop = parseInt(op.style.top);
  var moveSize = 30;
  if (nowLeft > aimLeft + moveSize || nowLeft < aimLeft - moveSize || nowTop > aimTop + moveSize || nowTop < aimTop - moveSize)
  {
   op.style.left = aimLeft > nowLeft + moveSize ? (nowLeft + moveSize) + "px" : aimLeft < nowLeft - moveSize ? (nowLeft - moveSize) + "px" : nowLeft + "px";
   op.style.top = aimTop > nowTop + moveSize ? (nowTop + moveSize) + "px" : aimTop < nowTop - moveSize ? (nowTop - moveSize) + "px" : nowTop + "px";
   oTime = setTimeout("move(" + aimLeft + ", " + aimTop + ")", 1);
  }
  else
  {
   op.style.left = pClone.style.left;
   op.style.top = pClone.style.top;
   pClone.parentNode.removeChild(pClone);
   pClone == null;
  }
 }
 
 //clone调整大小的节点
 function setResize(obj)
 {
  if (event.button == 1)
  {
   if (oTime)
   {
    clearTimeout(oTime);
    pClone.parentNode.removeChild(pClone);
   }
   op = obj.parentNode;
   pClone = op.cloneNode(true);
   pClone.style.filter = "Alpha(opacity=50)";
   pClone.childNodes[4].setAttribute("onmousemove", function(){startResize(this)});
   pClone.childNodes[4].setAttribute("onmouseup", function(){endResize()});
   oX = parseInt(event.clientX);
   oY = parseInt(event.clientY);
   oWidth = parseInt(pClone.style.width);
   oHeight = parseInt(pClone.style.height);
   document.body.appendChild(pClone);
   pClone.childNodes[4].setCapture();
   eventType = "resize";
  }
 }
 
 //拖动调整大小
 function startResize(obj)
 {
  if (eventType == "resize" && event.button == 1)
  {
   var nX = event.clientX;
   var nY = event.clientY;
   if (nX > oX - oWidth && nY > oY - oHeight + 40)
   {
    var resizep = obj.parentNode;
    resizep.style.width = (oWidth + event.clientX - oX) + "px";
    resizep.style.height = (oHeight + event.clientY - oY) + "px";
    resizep.childNodes[3].style.height = (parseInt(resizep.style.height) - 40) + "px";
   }
  }
 }
 
 //调整大小结束
 function endResize()
 {
  if (eventType == "resize")
  {
   pClone.childNodes[4].releaseCapture();
            resize(parseInt(pClone.style.width), parseInt(pClone.style.height));
   eventType = "";
  }
 }
 
 //调整大小的动画
 function resize(aimWidth, aimHeight)
 {
  var nowWidth = parseInt(op.style.width);
  var nowHeight = parseInt(op.style.height);
  var resizeSize = 30;
  if (nowWidth > aimWidth + resizeSize || nowWidth < aimWidth - resizeSize || nowHeight > aimHeight + resizeSize || nowHeight < aimHeight - resizeSize)
  {
   op.style.width = aimWidth > nowWidth + resizeSize ? (nowWidth + resizeSize) + "px" : aimWidth < nowWidth - resizeSize ? (nowWidth - resizeSize) + "px" : nowWidth + "px";
   op.style.height = aimHeight > nowHeight + resizeSize ? (nowHeight + resizeSize) + "px" : aimHeight < nowHeight - resizeSize ? (nowHeight - resizeSize) + "px" : nowHeight + "px";
   op.childNodes[3].style.height = (parseInt(op.style.height) - 40) + "px";
   oTime = setTimeout("resize(" + aimWidth + ", " + aimHeight + ")", 1);
  }
  else
  {
   op.style.width = pClone.style.width;
   op.style.height = pClone.style.height;
   op.childNodes[3].style.height = (parseInt(op.style.height) - 40) + "px";
   pClone.parentNode.removeChild(pClone);
   pClone == null;
  }
 }
 
 //关闭p
 function eClosep()
 {
  if (p)
  {
   p.parentNode.removeChild(p);
   var ipt = document.getElementsByTagName("input");
   for(var i = 0; i < ipt.length; i++)
   {
    ipt[i].disabled = false;
   }
   p = null;
  }
 }
 
 //保留位置和大小
 function savep()
 {
  if (p)
  {
   saveLeft = p.style.left;
   saveTop = p.style.top;
   saveWidth = p.style.width;
   saveHeight = p.style.height;
   alert("保留成功！");
  }
 }
 
 //快捷键
 document.onkeydown = function()
 {
  event.keyCode == 27 ? eClosep() : null;  //Esc快捷键
  event.ctrlKey && (event.keyCode == 83 || event.keyCode == 115) ? savep() : null; //ctrl+s保存位置
  event.ctrlKey && event.keyCode == 13 ? setp() : null //ctrl+enter打开p
  !event.ctrlKey && (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) ? arrowMove(event.keyCode) : null;
  event.ctrlKey && (event.keyCode == 37  || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) ? arrowResize(event.keyCode) : null;
 }
 
 //上下左右箭头移动p
 function arrowMove(eKeyCode)
 {
  if (p)
  {
   var isMove = document.getElementById("isMove").checked;
   if (isMove)
   {
    switch(eKeyCode)
    {
     case 37:
      p.style.left = (parseInt(p.style.left) - 1) + "px"; //left
      break
     case 38:
      p.style.top = (parseInt(p.style.top) - 1) + "px"; //up
      break
     case 39:
      p.style.left = (parseInt(p.style.left) + 1) + "px"; //right
      break
     case 40:
      p.style.top = (parseInt(p.style.top) + 1) + "px"; //down
      break
    }
   }
  }
 }
 
 //ctrl+上下左右箭头调整p大小
 function arrowResize(eKeyCode)
 {
  if (p)
  {
   var isResize = document.getElementById("isResize").checked;
   if (isResize)
   {
    switch(eKeyCode)
    {
     case 37:
      p.style.width = (parseInt(p.style.width) - 1) + "px"; //left
      break
     case 38:
      p.style.height = (parseInt(p.style.height) - 1) + "px"; //up
      break
     case 39:
      p.style.width = (parseInt(p.style.width) + 1) + "px"; //right
      break
     case 40:
      p.style.height = (parseInt(p.style.height) + 1) + "px"; //down
      break
    }
   }
  }
 }
 

