var _windowProperties=
{
  document:
  {
    channelmode:false,
    copyhistory:true,
    dependent:false,
    directories:true,
    fullscreen:false,
    hotkeys:false,
    location:true,
    menubar:true,
    resizable:true,
    scrollbars:true,
    status:true,
    toolbar:true
  },
  
  dialog:
  {
    channelmode:false,
    copyhistory:false,
    dependent:true,
    directories:false,
    fullscreen:false,
    hotkeys:true,
    location:false,
    menubar:false,
    resizable:true,
    scrollbars:true,
    status:true
  }
}

var _browserAgent=new Object();

function _browserAgentInit()
{
  var a0=navigator.userAgent.toLowerCase();
  var a1=parseFloat(navigator.appVersion);
  var a2=false;
  var a3=false;
  var a4=false;
  var a5=false;
  var a6=false;
  var a7="unknown";
  var a8=false;
  var a9=false;
  var a10=false;
  
  if(a0.indexOf("msie")!=-1)
  {
    a3=true;
    var a11=a0.match(/msie (.*);/);
    a1=parseFloat(a11[1]);
    a7="ie";
  }
  else if(a0.indexOf("opera")!=-1)
  {
    a2=true
    a7="opera";
  }
  else if((a0.indexOf("applewebkit")!=-1)||
          (a0.indexOf("safari")!=-1))
  {
    a6=true
    a7="safari";
  }
  else if(a0.indexOf("gecko/")!=-1)
  {
    a5=true;
    a7="gecko";
    a1=1.0;
  }
  else if((a0.indexOf('mozilla')!=-1)&&
          (a0.indexOf('spoofer')==-1)&&
          (a0.indexOf('compatible')==-1))
  {
    if(a1>=5.0)
    {
      a5=true;
      a7="gecko";
      a1=1.0;
    }
    else
    {
      a4=true;
      a7="nn";
    }
  }
  
  if(a0.indexOf('win')!=-1)
  {
    a8=true;
  }
  else if(a0.indexOf('mac')!=-1)
  {
    a10=true;
  }
  else if(a0.indexOf('sunos')!=-1)
  {
    a9=true;
  }
  
  _browserAgent.isIE=a3;
  _browserAgent.isNav=a4;
  _browserAgent.isOpera=a2;
  _browserAgent.isGecko=a5;
  _browserAgent.isSafari=a6;
  _browserAgent.version=a1
  _browserAgent.kind=a7;
  _browserAgent.isWindows=a8;
  _browserAgent.isSolaris=a9;
  _browserAgent.isMac=a10;
  _browserAgent.atLeast=_atLeast;
  _browserAgent.atMost=_atMost;
}
  
_browserAgentInit();

var _modalFeatureOverrides=
{
};

var _ieFeatures=
{
  channelmode:1,
  copyhistory:1,
  directories:1,
  fullscreen:1,
  height:1,
  location:1,
  menubar:1,
  resizable:1,
  scrollbars:1,
  status:1,
  titlebar:1,
  toolbar:1,
  width:1
};

var _nnFeatures=
{
  alwayslowered:1,
  alwaysraised:1,
  copyhistory:1,
  dependent:1,
  directories:1,
  height:1,
  hotkeys:1,
  innerheight:1,
  innerwidth:1,
  location:1,
  menubar:1,
  outerwidth:1,
  outerheight:1,
  resizable:1,
  scrollbars:1,
  status:1,
  titlebar:1,
  toolbar:1,
  width:1,
  "z-lock":1
};

function openWindow(a0, a1, a2, a3, a4, a5, a6)
{
  if(a0)
  {
    if(a4==(void 0))
    a4=false;
    if(!a5)
    {
      a5=(a4)?"dialog":"document";
    }
    if(!a2)
      a2="_blank";
    var a7=_windowProperties[a5];
    if(a7==(void 0))
    {
      a5="document";
      a7=_windowProperties[a5];
    }
    var a8=(a4) ? _modalFeatureOverrides :_modelessFeatureOverrides;
    var a9=(_browserAgent.isIE) ?_ieFeatures : _nnFeatures;
    var a10=null;
    if(a3)
    {
      a10=new Object();
      for(var a11 in a3)
      {
        a10[a11]=a3[a11];
      }
    }
    var a12="";
    for(var a13 in a9)
    {
      var a14=a8[a13];
      if(a14==(void 0))
      {
        if(a10)
        {
          a14=a10[a13];
          delete a10[a13];
        }
        if(a14==(void 0))
          a14=a7[a13];
      }
      if(a14!=(void 0))
      {
        var a15=_booleanFeatures[a13]!=(void 0);
        if(a14||!a15)
        {
          a12+=a13;
          if(!a15)
          {
            a12+="="+a14;
          }
          a12+=",";
        }
      }
    }
    for(var a11 in a10)
    {
      a12+=a11;
      if(a10[a11])
      a12+="="+a10[a11];
      a12+=",";
    }
    if(a12.length!=0)
    {
      a12=a12.substring(0,a12.length-1);
    }
    if(a6)
    {
      _setDependent(a0,a2,a6);
    }
    var a16=_browserAgent.atMost("ie",4.99);
    var a17=false;
    var a18=a0.document.body;
    if(a4&&!a16)
    {
      if(_browserAgent.atLeast("ie",4))
      {
        //a18.style.filter="alpha(opacity=50)";
        a17=true;
      }
      if(_browserAgent.isNav)
      {
        a0.captureEvents(Event.CLICK);
        a0.onclick=_onModalClickNN;
      }
      else if(_browserAgent.isGecko)
      {
        a18.addEventListener(Event.CLICK,_mozClickEH,true);
      }
      a0.onfocus=_onModalFocus;
    }
    var a19=a0.open(a1,a2,a12);
    if(a4&&(_browserAgent.atLeast("ie",5)&&_browserAgent.isWindows))
    {
      a18.setCapture();
      a18.onlosecapture=_onModalLoseCapture;
    }
    if(a4&&!a16)
    {
      _setDependent(a0,"modalWindow",a19);
    }
    a19.focus();
    if(a17)
    {
      a0.setTimeout("_clearAlphaFilter()",100);
    }   
    return a19;
  }
  else
  {
    return null;
  }
}

function _atLeast(a0, a1)
{
  return(!a0||(a0==_browserAgent.kind))&& (!a1||(a1<=_browserAgent.version));
}

function _atMost(a0, a1)
{
  return(a0==_browserAgent.kind)&&(a1>=_browserAgent.version);
}

function _supportsDOM()
{
  var a0=false;
  if(_browserAgent.isIE)
  {
    a0=_browserAgent.version>=5.5;
  }
  else if(_browserAgent.isNav)
  {
    a0=false;
  }
  else if(_browserAgent.isGecko)
  {
    a0=true;
  }
  return a0;
}

function _browserAgentInit()
{
  var a0=navigator.userAgent.toLowerCase();
  var a1=parseFloat(navigator.appVersion);
  var a2=false;
  var a3=false;
  var a4=false;
  var a5=false;
  var a6=false;
  var a7="unknown";
  var a8=false;
  var a9=false;
  var a10=false;
  if(a0.indexOf("msie")!=-1)
  {
    a3=true;
    var a11=a0.match(/msie (.*);/);
    a1=parseFloat(a11[1]);
    a7="ie";
  }
  else if(a0.indexOf("opera")!=-1)
  {
    a2=true
    a7="opera";
  }
  else if((a0.indexOf("applewebkit")!=-1) || (a0.indexOf("safari")!=-1))
  {
    a6=true
    a7="safari";
  }
  else if(a0.indexOf("gecko/")!=-1)
  {
    a5=true;
    a7="gecko";
    a1=1.0;
  }
  else if((a0.indexOf('mozilla')!=-1)&&(a0.indexOf('spoofer')==-1)&&(a0.indexOf('compatible')==-1))
  {
    if(a1>=5.0)
    {
      a5=true;
      a7="gecko";
      a1=1.0;
    }
    else
    {
      a4=true;
      a7="nn";
    }
  }
  if(a0.indexOf('win')!=-1)
  {
    a8=true;
  }
  else if(a0.indexOf('mac')!=-1)
  {
    a10=true;
  }
  else if(a0.indexOf('sunos')!=-1)
  {
    a9=true;
  }

  _browserAgent.isIE=a3;
  _browserAgent.isNav=a4;
  _browserAgent.isOpera=a2;
  _browserAgent.isGecko=a5;
  _browserAgent.isSafari=a6;
  _browserAgent.version=a1
  _browserAgent.kind=a7;
  _browserAgent.isWindows=a8;
  _browserAgent.isSolaris=a9;
  _browserAgent.isMac=a10;
  _browserAgent.atLeast=_atLeast;
  _browserAgent.atMost=_atMost;
}

_browserAgentInit();

var _ieFeatures=
{
  channelmode:1,
  copyhistory:1,
  directories:1,
  fullscreen:1,
  height:1,
  location:1,
  menubar:1,
  resizable:1,
  scrollbars:1,
  status:1,
  titlebar:1,
  toolbar:1,
  width:1
};

var _nnFeatures=
{
  alwayslowered:1,
  alwaysraised:1,
  copyhistory:1,
  dependent:1,
  directories:1,
  height:1,
  hotkeys:1,
  innerheight:1,
  innerwidth:1,
  location:1,
  menubar:1,
  outerwidth:1,
  outerheight:1,
  resizable:1,
  scrollbars:1,
  status:1,
  titlebar:1,
  toolbar:1,
  width:1,
  "z-lock":1
}

var _modelessFeatureOverrides=
{
};

var _modalFeatureOverrides=
{
};

var _signedFeatures=
{
  alwayslowered:1,
  alwaysraised:1,
  titlebar:1,
  "z-lock":1
};

var _booleanFeatures=
{
  alwayslowered:1,
  alwaysraised:1,
  channelmode:1,
  copyhistory:1,
  dependent:1,
  directories:1,
  fullscreen:1,
  hotkeys:1,
  location:1,
  menubar:1,
  resizable:1,
  scrollbars:1,
  status:1,
  titlebar:1,
  toolbar:1,
  "z-lock":1
};

function _getContentWidth(a0,a1,a2)
{
  var a3=a0.childNodes;
  var a4=_browserAgent.isGecko;
  var a5=(a4) ?"tagName" :"canHaveHTML"
  var a6=0;
  for(var a7=0;a7<a3.length;a7++)
  {
    var a8=a3[a7];
    if(a8[a5]&&(a8.offsetWidth>0))
    {
      var a9=0;
      var a10=a8["offsetWidth"];
      if(a4)
      {
        if(a10==a1)
        {
          a9=_getContentWidth(a8,a10,a8.offsetLeft);
        }
        else
        {
          a9=a10;
        }
      }
      else
      {
        a9=a8["clientWidth"];
        if(a9==0)
        {
          a9=_getContentWidth(a8,a10,a8.offsetLeft);
        }
      }
      if(a9>a6)
      {
        a6=a9;
      }
    }
  }
  if(a6==0)
    a6=a1;
  var a11=10;
  if(_isLTR()||(a2<=5))
  {
    a11=2*a2;
  }
  return a6+a11;
}

function _getTop(a0)
{
  if(!_browserAgent.isGecko)
  {
    return top;
  }
  else
  {
    var a1=(a0) ? a0.window : window;
    while(a1.parent&&(a1.parent!=a1))
    {
      a1=a1.parent;
    }
    return a1;
  }
}

function _sizeWin(a0,a1,a2,a3)
{
  var a4=_browserAgent.isGecko;
  var a5=_browserAgent.isIE;
  if(!(a4||(a5&&_browserAgent.isWindows)))
    return;
  var a6=a0.window.document.body;
  if(a6)
  {
    var a7=(!a5&&(a6.scrollWidth>a6.clientWidth)) ? a6.scrollWidth :_getContentWidth(a6,a6.offsetWidth,a6.offsetLeft);
    var a8=0;
    if(a4)
    {
      a8=a6.offsetHeight+(window.outerHeight-window.innerHeight);
      a8+=30;
      a7+=(window.outerWidth-a6.offsetWidth);
    }
    else
    {
      a8=a6.scrollHeight+(a6.offsetHeight-a6.clientHeight);
      a8+=21;
      a7+=a6.offsetWidth-a6.clientWidth+16;
      a8+=parseInt(a6.topMargin)+parseInt(a6.bottomMargin);
      a7+=parseInt(a6.leftMargin)+parseInt(a6.rightMargin);
   }
   if(a1)
     a7+=a1;
   if(a2)
     a8+=a2;
   if(a3!=(void 0))
   {
     if(a3['W'])
     {
       var a9=0+a3['W'];
       if(a7<a9)
         a7=a9;
     }
     if(a3['H'])
     {
       var a10=0+a3['H'];
       if(a8<a10)
         a8=a10;
     }
   }
   var a11=_getTop(a0);
   var a12=a5?0:a11.screen.availLeft;
   var a13=a5?0:a11.screen.availTop;
   var a14=a11.screen.availHeight*0.95;
   var a15=a11.screen.availWidth*0.95;
   if(a8>a14)
     a8=a14;
   if(a7>a15)
     a7=a15;
   a11.resizeTo(a7,a8);
   var a16=a5?a11.screenLeft:a11.screenX;
   var a17=a5?a11.screenTop:a11.screenY;
   var a18=false;
   if((a16+a7)>(a12+a15))
   {
     a16=(a11.screen.availWidth-a7)/2;
     a18=true;
   }
   if((a17+a8)>(a13+a14))
   {
     a17=(a11.screen.availHeight-a8)/2;
     a18=true;
   }
   if(a18)
   {
     a11.moveTo(a16,a17);
   }
  }
}

function _onModalClickNN(a0)
{
  if(_getValidModalDependent(self))
  {
    return false;
  }
  else
  {
    self.routeEvent(a0);
    return true;
  }
}

var _mozClickEH=new Object();

function _onModalClickMoz(a0)
{
  dump(a0);
}

_mozClickEH["handleEvent"]=_onModalClickMoz;

function _onModalFocus()
{
  var a0=self.document.body;
  var a1=_getValidModalDependent(self);
  var a2=_browserAgent.atLeast("ie",5)&&_browserAgent.isWindows;
  if(a1)
  {
    a1.focus();
    if(a2)
    {
      a0.setCapture();
    }
  }
  else
  {
    if(a2)
    {
      a0.onlosecapture=null;
      a0.releaseCapture();
    }
  }
}

function _onModalLoseCapture()
{
  var a0=_getValidModalDependent(self);
  if(a0)
  {
    window.setTimeout("_onModalFocus()",1);
  }
}

function _getDependents(a0,a1)
{
  var a2;
  if(a0)
  {
    a2=a0["_dependents"];
    if(a2==(void 0))
    {
      if(a1)
      {
        a2=new Object();
        a0["_dependents"]=a2;
      }
    }
  }
  return a2;
}

function _getDependent(a0,a1)
{
  var a2=_getDependents(a0);
  var a3;
  if(a2)
  {
    a3=a2[a1];
  }
  return a3;
}

function _setDependent(a0,a1,a2)
{
  var a3=_getDependents(a0,true);
  if(a3)
  {
    a3[a1]=a2;
  }
}

function _getModalDependent(a0)
{
  return _getDependent(a0,"modalWindow");
}

function _getValidModalDependent(a0)
{
  var a1=_getModalDependent(a0);
  if(a1)
  {
    if(a1.closed)
    {
      _setDependent(a0,"modalWindow",(void 0));
      a1=(void 0);
    }
  }
  return a1;
}

function _isModalDependent(a0,a1)
{
  return(a1==_getModalDependent(a0));
}

function _clearAlphaFilter()
{
  _onModalFocus();
  if(_getValidModalDependent(self)!=null)
  {
    self.setTimeout("_clearAlphaFilter()",100);
  }
  else
  {
    self.document.body.style.filter=null;
  }
}

function _unloadUIXDialog(a0)
{
  _blockCheckUnloadFromDialog=false;
  _checkUnload(a0);
  _blockCheckUnloadFromDialog=true;
}

function _checkUnload(a0)
{
  if(_blockCheckUnloadFromDialog)
  {
    _blockCheckUnloadFromDialog=false;
    return;
  }
  if(_isModalAbandoned())
    return;
  var a1=_getModalDependent(window);
  if(a1!=null)
  {
    _setModalAbandoned(a1);
    a1.close();
  }
  _pprUnloaded=true;
  var a2=_getTop();
  if(!a2)
    return;
  var a3=a2["opener"];
  if(!a3)
    return;
  var a4=_getDependent(a3,self.name);
  if(_isModalDependent(a3,self))
  {
    _setDependent(a3,"modalWindow",(void 0));
    a3.onfocus=null;
    var a5=a3.document.body;
    if(_browserAgent.atLeast("ie",4))
    {
      if(_browserAgent.atLeast("ie",5)&&_browserAgent.isWindows)
      {
        a5.onlosecapture=null;
        a5.releaseCapture();
      }
      a5.style.filter=null;
    }
    if(_browserAgent.isNav)
    {
      a3.releaseEvents(Event.CLICK);
      a3.onclick=null;
    }
    if(_browserAgent.isGecko)
    {
      a5.removeEventListener(Event.CLICK, _mozClickEH, true);
    }
  }
  if(a4!=(void 0))
  {
    _setDependent(a3,self.name,(void 0));
    if(a0==(void 0))
      a0=self.event;
    a4(a2,a0);
  }
}

function _isModalAbandoned()
{
  var a0=_getTop();
  return a0._abandoned;
}
function _setModalAbandoned(a0)
{
  a0._abandoned=true;
}

function _focusChanging()
{
  if(_browserAgent.isIE)
  {
    return(window.event.srcElement!=window.document.activeElement);
  }
  else
  {
    return true;
  }
}
