var x0=0,y0=0,x1=0,y1=0;
var offx=6,offy=6;
var moveable=false;
var hover='#eeeeee';
normal='transparent';//color;
var index=10000;//z-index;
var bottom;
var startleft,starttop;
var endleft,endtop;
//????????;
var productid;
var navigateid;
var xmlHttp=null;
function startDrag(obj)
{
if(event.button==1)
{
var par = obj.parentNode;
if(par){
  if(par.tagName=="DIV"){
	try{
		startleft = par.style.left;
		starttop = par.style.top;
	}catch(e){
	
	}
	}
} 

//??????????;
obj.setCapture();
//????????;
var win = obj.parentNode;
var sha = win.nextSibling;
//????????????????;
x0 = event.clientX;
y0 = event.clientY;
x1 = parseInt(win.style.left);
y1 = parseInt(win.style.top);
//????????;
//normal = obj.style.backgroundColor;
//normal = "#DDF0FF";
//????????;
var hover2 = hover;
//????;
//obj.style.backgroundColor = hover;
win.style.backgroundColor = hover;
win.style.borderColor = hover;
//obj.nextSibling.style.color = hover;
sha.style.left = x1 + offx;
sha.style.top = y1 + offy;
moveable = true;
}
}
//????;
function drag(obj)
{
if(moveable)
{
var win = obj.parentNode;
var sha = win.nextSibling;
if((x1 + event.clientX - x0)<0){
	win.style.left =0;
}else{
	win.style.left = x1 + event.clientX - x0;
}
if((y1 + event.clientY - y0) <0)
{
	win.style.top = 0;
}
else{
	win.style.top = y1 + event.clientY - y0;
}
sha.style.left = parseInt(win.style.left) + offx;
sha.style.top = parseInt(win.style.top) + offy;
}
}
//?????

function bbimg(o){

var zoom=parseInt(o.style.zoom,10)||100;
if(event.wheelDelta>0){
   zoom+=5;
}else{
   zoom-=5;
}
//zoom+=event.wheelDelta/12;
if (zoom>0)
 {
   o.style.zoom=zoom+'%';
 
 }
 return false;

}
//
var x = false;
var y = false;
function keyexpand(o)
{
   var child = o.childNodes;
   var middle = child[1];
   var key=event.keyCode;
   var id=o.id;
	switch(key)
	{
	  case 37:
	  {
	   x=true;
	   var w = o.style.width;
	   var index = w.indexOf("px");
	   if(w.indexOf("px")>0)
	   {
	      w= w.substring(0,w.length-2);
	   }
	   
	    o.style.width = parseInt(w)-2;//key<--
	  
	    break;
	  }
	   case 39:
	  {
	   x=true;
	   var w = o.style.width;
	   var index = w.indexOf("px");
	   if(w.indexOf("px")>0)
	   {
	      w= w.substring(0,w.length-2);
	   }
	   
	    o.style.width = parseInt(w)+2;//key-->
	    break;
	  }
	   case 40://key down
	  {
	   y = true;
	   var h = o.style.height;
	   var index = h.indexOf("px")
	   if(h.indexOf("px")>0){
	      h= h.substring(0,h.length-2);
	   }
	   var hh=parseInt(h);
	   if(hh<115)hh=115;
	    o.style.height = hh+2;
	    if(id!="top"&&id!="navigate"&&id!="bottom"){
			if(id=="body"){
	     if(hh>115){
	         middle.style.height = hh-115+2;
	      }
			}else{
				middle.style.height = hh-30+2;
			}
	     }
	    break;
	  }
	   case 38://key up
	  {
	   
	    var h = o.style.height;
	    var index = h.indexOf("px")
	    if(h.indexOf("px")>0){
	       h= h.substring(0,h.length-2);
	    }
	     var hh=parseInt(h);
	      if(id!="top"&&id!="navigate"&&id!="bottom"){
	          if(id=="body")
	          {
		          try{
		            h = o.mheight;
		            if(h!=""){
		             index = h.indexOf("px")
		             if(index>0)
		             {
		               h= h.substring(0,h.length-2);
		             }
		              hh = parseInt(h);
		              y = true;
			         o.style.height = hh-2;
			         if(hh>100){
				       middle.style.height = hh-100-2;
				     }
				     o.mheight = (hh-2)+"px";
		            }
		          }catch(e)
		          {
		             y = true;
			         o.style.height = hh-2;
			         if(hh>100){
				        middle.style.height = hh-100-2;
				     }
		          }
	          }else
	          {
			      if(hh>10){
			         y = true;
			         o.style.height = hh-2;
				     middle.style.height = hh-30-2;
			     }else{
			         alert("不能改变大小");
			     }
		     }
	     }else{
	      y = true;
	      o.style.height = hh-2;
	     }
	    break;
	  }
	}
	return false;
}

function moveout(o)

{
  var win = o;
  if(x==true||y==true){  
     var width = win.style.width;
     var height = win.style.height;
     
   expanddiv(win.id,width,height);
  }
  /**
  var zoom=parseInt(win.style.zoom,10)||100;
  if(zoom>0&&zoom!=100){
     var width = win.style.width;
     var height = win.style.height;
     var w = parseInt(width);
     var h = parseInt(height);
     width = (w*zoom)/100;
     height = (h*zoom)/100;
     expanddiv(win.id,width,height);
   }
   */
   x = false;
   y = false;
}
function expanddiv(id,width,height)
{
if(id.indexOf("Layer")>=0)return;
if(!productid||productid=="UNDEFINED"||productid=="undefined"){
   alert("不能保存数据，请重新刷新页面。");
  return ;
}
  var para="productid="+productid+"&divid="+id;
   para= para+"&width="+width+"&height="+height+"&navigateid="+navigateid;

   xmlHttp=GetXmlHttpObject(movereturn);
   xmlHttp.open("POST", "/design/move.do" , true);
   xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   xmlHttp.send(para);
}
//????????;
function stopDrag(obj)
{
if(moveable)
{

var win = obj.parentNode;
var sha = win.nextSibling;
var msg = obj.nextSibling;
//win.style.backgroundColor = normal;
//obj.style.backgroundColor = normal;
//msg.style.color = normal;
sha.style.left = obj.parentNode.style.left;
sha.style.top = obj.parentNode.style.top;
obj.releaseCapture();
moveable = false;
if(win.tagName=="DIV"){
   try{
		endleft = win.style.left;
		endtop = win.style.top;
		
		if(startleft!=endleft||starttop!=endtop)
		{
		    move(win.id,endleft,endtop);
		   //alert("Move");//Div ??????
		}
	}catch(e){
	
	}
}
}
}

function move(id,left,top)
{
if(id.indexOf("Layer")>=0)return;
if(!productid||productid=="UNDEFINED"||productid=="undefined"){
   alert("不能保存数据，请重新刷新页面。");
  return ;
}
   var para="productid="+productid+"&divid="+id;
   para= para+"&left="+left+"&top="+top+"&navigateid="+navigateid;
   xmlHttp=GetXmlHttpObject(movereturn);
   xmlHttp.open("POST", "/design/move.do" , true);
   xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   xmlHttp.send(para);
    
}
function movereturn()
{
 if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    {
           var text = xmlHttp.responseText;
         
     }
}
function GetXmlHttpObject(handler)
   {
        var objXmlHttp=null;
        if (navigator.userAgent.indexOf("Opera")>=0)
         {
            alert("This example doesn't work in Opera");
            return;
         }
        if (navigator.userAgent.indexOf("MSIE")>=0)
          {
            var strName="Msxml2.XMLHTTP";
            if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
            {
            	strName="Microsoft.XMLHTTP";
            }
            try
            {
	             if(!objXmlHttp){
		            objXmlHttp=new ActiveXObject(strName);
		          }
	            objXmlHttp.onreadystatechange=handler;
	            return objXmlHttp;
            }
            catch(e)
            {
	            alert("Error. Scripting for ActiveX might be disabled")
	            return;
            }
            }
            if (navigator.userAgent.indexOf("Mozilla")>=0)
            {
               if(!objXmlHttp){
	              objXmlHttp=new XMLHttpRequest();
	            }
	            objXmlHttp.onload=handler;
	            objXmlHttp.onerror=handler;
	            return objXmlHttp;
            }
} 

//????????;
function getFocus(obj)
{
if(obj.style.zIndex!=index)
{
index = index + 2;
var idx = index;
obj.style.zIndex=idx;
obj.nextSibling.style.zIndex=idx-1;
}
}
//??????;
function min(obj)
{
var win = obj.parentNode.parentNode;
var sha = win.nextSibling;
var tit = obj.parentNode;
var msg = tit.nextSibling;
var flg = msg.style.display=="none";
if(flg)
{
win.style.height = parseInt(msg.style.height) + parseInt(tit.style.height) + 2*2;
sha.style.height = win.style.height;
msg.style.display = "block";
obj.innerHTML = "0";
}
else
{
win.style.height = parseInt(tit.style.height) + 2*2;
sha.style.height = win.style.height;
obj.innerHTML = "2";
msg.style.display = "none";
}
}
//????????????;
function xWin(id,w,h,l,t,tit,msg,bottom2)
{
index = index+2;
this.id = id;
this.width = w;
this.height = h;
this.left = l;
this.top = t;
this.zIndex = index;
this.title = tit;
this.message = msg;
this.obj = null;
this.bulid = bulid;
bottom = bottom2;

this.bulid();

}
//??????;
function bulid()
{
var str = ""
+ "<div id=xMsg" + this.id + " "
+ "style='"
+ "z-index:" + this.zIndex + ";"
+ "width:" + this.width + ";"
+ "height:" + this.height + ";"

+ "left:" + this.left + ";"
+ "top:" + this.top + ";"
+ "position:absolute;"
+ "cursor:default;"
+ "' "
+ "onmousedown='getFocus(this)' >"
+ "<div "
+ "style='"
//+ "background-image:url(images/frame2_1.gif);"
//+ "background-repeat:no-repeat;"
//+ "width:" + (this.width-2*2) + ";"
//+ "width:100%;"
+ "width:auto;"
//+ "height:28;"
//+ "color:white;"
//+ "padding-left:10px;"
+ "cursor:move;"
+ "' "
+ "onmousedown='startDrag(this)' "
+ "onmouseup='stopDrag(this)' "
+ "onmousemove='drag(this)' "
//+ "ondblclick='min(this.childNodes[1])'"
+ ">"
//+ "<span>" + this.title + "</span>"
+ this.title
//+ "<span style='width:12;border-width:0px;color:white;font-family:webdings;' onclick='min(this)'>0</span>"
//+ "<span style='width:12;border-width:0px;color:white;font-family:webdings;' click='ShowHide(\""+this.id+"\",null)'>r</span>"
+ "</div>"
+ "<div style='"
+ "width:100%;"
+"overflow: hidden;word-break:break-all;height:"+this.height+";"
//+ "height:100%;"
//+ "background-image:url(images/frame2_8.gif);"
//+ "background-repeat:repeat-y;"
+ "word-break:break-all;"
//+ "padding:8px;"
+ "'>" 
+ this.message 
+ "</div>"
+ "<div >"
+ bottom
+ "</div>"
+ "</div>"
+ "<div id=xMsg" + this.id + "bg style='"
+ "width:" + this.width + ";"
+ "height:" + this.height + ";"
+ "top:" + this.top + ";"
+ "left:" + this.left + ";"
+ "z-index:" + (this.zIndex-1) + ";"
+ "position:absolute;"
+ "background-color:black;"
+ "filter:alpha(opacity=0);"
+ "'></div>";
//window.parent.ff.DD.value=str;
document.body.insertAdjacentHTML("beforeEnd",str);

}
//????????????
function ShowHide(id,dis){
var bdisplay = (dis==null)?((document.getElementById("xMsg"+id).style.display=="")?"none":""):dis
document.getElementById("xMsg"+id).style.display = bdisplay;
document.getElementById("xMsg"+id+"bg").style.display = bdisplay;
}
