﻿
var CLWindowsCache=new Object();
function CLWindows(Title,width,Height,ID,Trigger,evt,imgconfig,maskObject)
{
   this.Title=Title;
   this.Width=width;
   this.Height=Height;
   this.ID=ID;
   this.Trigger=Trigger;   
   this.evt=evt;
   this.img=imgconfig;
   this.maskObject=maskObject;
   
}
     
CLWindows.prototype.AddWindow=function()
{
      var maskingdiv=document.getElementById(this.maskObject);
     
     var div=document.createElement("DIV");
     //var senderPOS=CLUtility.getElementXY(this.Trigger,0,0);
     var oEvent=CLUtility.formatEvent(this.evt);
     div.innerHTML="<table  width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td ><table  width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr >"
                +"<td style=\"width:1px;\"><img src=\""+this.img.server+this.img.topleft+"\"/></td><td class=\""+this.img.topbarclass+"\" width=\"100%\" style=\"cursor:move;\" onmousedown=\"CLWindowsClosWindowBar_onMouseDown(event,this);\">"+this.Title+"</td><td align=\"right\" class=\""+this.img.topbarclass+"\"><img onclick=\"CLWindowsClosWindow('"+this.ID+"')\" src=\""+this.img.server+this.img.closebtn+"\"/></td><td  style=\"width:1px;\"align=\"right\"><img src=\""+this.img.server+this.img.topright+"\"/></td></tr></table></td></tr>"
               +"<tr><td  class=\""+this.img.contentstyle+"\" id=\"formcontent_"+this.ID+"\" width=\"100%\">content</td></tr>"
               +"<tr><td><table  width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"left\" style=\"width:1px;\"><img src=\""+this.img.server+this.img.btmleft+"\"/></td><td  class=\""+this.img.btmbarclass+"\" width=\"99%;\" id=\"Status_"+this.ID+"\">&nbsp;</td><td  style=\"width:1px;\"align=\"right\"><img src=\""+this.img.server+this.img.btmright+"\"/></td></tr></table></td></tr>"
               +"<table>";     
     div.style.width=this.Width+"px";
     div.style.height=this.Height+"px";
     div.style.position="absolute";
     var IFR=document.getElementById(this.maskObject).clientHeight;
     //alert(iframeHeight+"  "+oEvent.pageY);
     if(isIE)
     {
      if(iframeHeight>0)
      {
       div.style.top=(oEvent.pageY-iframeHeight+this.Height)+"px";
      }
      else
      {
        div.style.top=(oEvent.pageY-this.Height)+"px";
      }
     }
     else
     {
      if(iframeHeight>0)
      {
        div.style.top=(oEvent.pageY)+"px";
      }
      else
      { 
       div.style.top=(oEvent.pageY-this.Height)+"px";
      }
     }
     if(iframeHeight>0)
     {
        div.style.left=(oEvent.pageX-this.Width/2)+"px";
     }
     else
     {
        div.style.left=(oEvent.pageX-this.Width)+"px";
     }
     div.id=this.ID;
     div.style.overflow="hidden";
   
      
     document.body.appendChild(div);
     var divMask=document.createElement("DIV");
     divMask.style.width="100%";//maskingdiv.clientHeight+"px";
     var h=(document.body.clientHeight+document.body.scrollTop);
     divMask.style.height=h+"px"; //"100%";//maskingdiv.clientWidth+"px";
     //maskingdiv.style.position="relative";
     divMask.style.position="absolute";
     divMask.style.top="0px";
     divMask.style.left="0px";
     divMask.className="windmask";
     divMask.onmousedown=function(event)
     {  
            var evt=event;
            if(isIE)
            {
                evt=window.event;
            }
            var oEvent=CLUtility.EventUtil.formatEvent(evt);
            var obj=document.getElementById(div.id);
            obj.style.top=oEvent.pageY+"px";
            effect.shake.target=obj;
            effect.shake.start();
            
     }
     //divMask.style.backgroundColor="#FFCC00";
     document.body.appendChild(divMask);
     
     div.style.zIndex=divMask.style.zIndex+1;
     var obj=new Object();
     obj.maskObject=maskingdiv;
     obj.win=div;
     obj.maskwin=divMask;
     eval("CLWindowsCache."+this.ID+"=obj");
     effect.slidein.target=div;
     effect.slidein.start();
               
}
CLWindows.prototype.AddControl=function(control)
{
    
}
CLWindows.prototype.getFormCotentHolder=function()
{
    return document.getElementById("formcontent_"+this.ID);
}
CLWindows.prototype.setFormContentHTML=function(html)
{
    document.getElementById("formcontent_"+this.ID).innerHTML=html;
}
CLWindows.prototype.setStatus=function(message)
{
    var status="Status_"+this.ID;
    document.getElementById(status).innerHTML=message;
}
function CLWindowsSetStatus(id,message)
{
   var win= eval("CLWindowsCache."+id); 
   win.window.setStatus(message);
}
function CLWindowsClosWindow(id)
{
    var win= eval("CLWindowsCache."+id);
    effect.slideout.target=win.win;
    effect.slideout.onEndArgs=win;
    effect.slideout.onEnd=function()
    {
      
    var win=effect.slideout.onEndArgs;
    if(win)
    {
        document.body.removeChild(win.win);
        document.body.removeChild(win.maskwin);
        try{
		    //win.maskObject.style.removeAttribute("position");
		}
		catch(err)
		{
		    //win.maskObject.style.position=null;
	    }
	    
	    effect.slideout.onEndArgs=null;
        
    }
    }
    effect.slideout.start();
}
var iDiffX;
var iDiffY;
var currentDraggerWin;
function CLWindowsClosWindowBar_onMouseDown(evt,sender)
{

    var crtDiv=sender.offsetParent.offsetParent.offsetParent.parentNode;
    var oEvent = CLUtility.EventUtil.formatEvent(evt);
	currentDraggerWin=crtDiv;
    //var oDiv = obj;
	
    iDiffX = oEvent.clientX - crtDiv.offsetLeft;
    iDiffY = oEvent.clientY - crtDiv.offsetTop;
	//document.getElementById(obj.id+"targetBtm").innerHTML="iDiffX="+ iDiffX+ "   iDiffY="+ iDiffY
	 
    CLUtility.EventUtil.addEventHandler(crtDiv, "mousemove", CLWindowsClosWindowBar_onMouseMove);
    CLUtility.EventUtil.addEventHandler(crtDiv, "mouseup", CLWindowsClosWindowBar_onMouseUp);
}
function CLWindowsClosWindowBar_onMouseMove()
{
     
    var oEvent = CLUtility.EventUtil.getEvent();
    currentDraggerWin.style.left = (oEvent.clientX - iDiffX)+"px";
    currentDraggerWin.style.top = (oEvent.clientY - iDiffY)+"px";
}
function CLWindowsClosWindowBar_onMouseUp()
{
   // var oEvent = CLUtility.EventUtil.getEvent();
    CLUtility.EventUtil.removeEventHandler(currentDraggerWin, "mousemove",CLWindowsClosWindowBar_onMouseMove);
    CLUtility.EventUtil.removeEventHandler(currentDraggerWin, "mouseup", CLWindowsClosWindowBar_onMouseUp);
}