var ModalWin = {

    winObj : null,
    winObjBack : null,
    winObjCont : null,
    returnObj : null,
    returnType : null,
    offsetX : null,
    offsetY : null,
    status : null,
    isIE : false,
    params : null,

    init : function() {

    var mWinBack=document.createElement('DIV');
    var mWinCont=document.createElement('DIV');
    var mWin=document.createElement('IFRAME');
    var mTitle=document.createElement('SPAN');

    mWinBack.id="modalWinBackground";
    mWinBack.className="modalWinBackground";

    mWinCont.id="modalWindow_Container";
    mWinCont.style.display="none";
    mWinCont.style.position="absolute";
    mWinCont.style.zIndex="100";
    mWinCont.style.borderTop="solid 2px #cdcdcd";
    mWinCont.style.borderLeft="solid 2px #cdcdcd";
    mWinCont.style.borderBottom="solid 2px #555555";
    mWinCont.style.borderRight="solid 2px #555555";
    mWinCont.style.backgroundColor="#bcbcbc";

    mWin.id="modalWindow";
    mWin.style.display="none";
    mWin.scrolling="auto";

    mTitle.id="titleSpan";
    mTitle.name="titleSpan";
    
    document.body.appendChild(mWinBack);
    mWinCont.appendChild(mTitle);
    mWinCont.appendChild(mWin);
    document.body.appendChild(mWinCont);

    ModalWin.winObj=document.getElementById('modalWindow');
    ModalWin.winObjBack=document.getElementById('modalWinBackground');
    ModalWin.winObjCont=document.getElementById('modalWindow_Container');

    if (document.all) { ModalWin.isIE=true; }

    if (!ModalWin.isIE) {
        ModalWin.winObjBack.style.height=document.body.scrollHeight+"px";
        ModalWin.winObjBack.style.width="100%";
    } else {

        if (document.body.scrollHeight > document.body.clientHeight) {
            ModalWin.winObjBack.style.height=document.body.scrollHeight+"px";
        } else {
            ModalWin.winObjBack.style.height=document.body.clientHeight;
        }
        ModalWin.winObjBack.style.width=document.body.scrollWidth+"px";
    }

        ModalWin.winObjCont.onmousedown = ModalWin.startDrag;
        //ModalWin.winObjCont.style.overflow="auto";

    },


    show : function(url,width,height,returnObj,titleText,showClose,returnType,params) {

        ModalWin.status="ACTIVE";
        ModalWin.returnObj=returnObj;
        ModalWin.returnType=returnType;

        if (showClose==true) {
          document.getElementById('titleSpan').innerHTML="<table width='100%'><tr><td style='font-size:12px;' align='left'>"+titleText+"</td><td style='font-size:12px;' align='right'><span style='cursor:pointer;' onclick='parent.ModalWin.close(\"\");'>Close</span></td></tr></table>";
        } else {
          document.getElementById('titleSpan').innerHTML="<table><tr><td>"+titleText+"</td><tr></table>";
        }

        ModalWin.winObjCont.style.width=width;
        ModalWin.winObjCont.style.height=height;

        ModalWin.winObjCont.style.top=((document.body.clientHeight / 2) - (parseInt(height) / 2));
        ModalWin.winObjCont.style.left=(document.body.clientWidth / 2) - (parseInt(width) / 2);


        ModalWin.winObjBack.style.display="inline";
        ModalWin.winObjCont.style.display="inline";
        ModalWin.winObj.style.display="inline";

        ModalWin.winObj.style.width="100%";
        ModalWin.winObj.style.height="100%";

        ModalWin.winObj.src=url;

				ModalWin.params=params;
				ModalWin.returnType=returnType;

        if (top.frames['modalWindow']) {
            //top.frames['modalWindow'].init();
        } else {
            //window.alert('Could not fire init()');
        }

    },

    close : function(returnVal) {

        ModalWin.status="INACTIVE";
        ModalWin.winObjBack.style.display="none";
        ModalWin.winObjCont.style.display="none";
        ModalWin.winObj.style.display="none";

          switch(ModalWin.returnType.toUpperCase())
          {
          case "TEXT":
            ModalWin.returnObj.value=returnVal;
            break;
          case "EDITOR":
            try {
                
                ModalWin.returnObj.pasteHTML(returnVal);
                
            } catch(e) {}
            break;
          case "LIST":
            ModalWin.returnObj.options[ModalWin.returnObj.length] = new Option(returnVal,returnVal);
            break;
          default:
            break;
          }
          
					ModalWin.winObj.src="";
    },


    startDrag : function(e)
    {
        if (ModalWin.isIE) {
            ModalWin.offsetX=event.offsetX;
            ModalWin.offsetY=event.offsetY;
        } else {
            ModalWin.offsetX=e.layerX;
            ModalWin.offsetY=e.layerY;
        }

        //alert(ModalWin.offsetX+" "+ModalWin.offsetY);

        document.onmousemove    = ModalWin.drag;
        document.onmouseup      = ModalWin.endDrag;

        return false;
    },

    drag : function(e)
    {
        if (ModalWin.isIE) {
            e=window.event;
        }

        ModalWin.winObjCont.style.top = parseInt(e.clientY)-parseInt(ModalWin.offsetY)+"px";
        ModalWin.winObjCont.style.left = parseInt(e.clientX)-parseInt(ModalWin.offsetX)+"px";

        return false;
    },

    endDrag : function()
    {
        document.onmousemove = null;
        document.onmouseup   = null;
    }


};
