  function eBookOpener() {
    this.winLimitWidth   =1024; // 1280
    this.winLimitHeight  = 768; //1024	
    this.winWidth        = 0;
    this.winHeight       = 0;
    this.winStyle        = null;
    this.winStyleName    = null;
    this.Port            = "80" ; 
    this.eBookUrl        = "http://ebook.dinak.co.kr" + ":" + this.Port + "/engine/isapi/frame.dll?";
    this.ParameterList   = new Array("bc", "co", "gp", "sbp", "sep", "ui", "ct");
    this.ViewerStyleList = new Array("eBookFull", "eBookCustomer", "eBookDefault", "FullScreen");

    this.StyleOS         = null;
    this.SetLaunchHTML   = SetLaunchHTML;
    
    this.GetQuery        = GetQuery;
    this.GetWinStyle     = GetWinStyle;
    this.OpenBook        = OpenBook;
  }

  function SetLaunchHTML(arg_URL) {  //  open window in HTML
    var OpenHTML  = "<html>" + "\n" 
                  + "<body onload=\"oLaunch.click()\">" + "\n" 
                  + "<a id=\"oLaunch\" style=\"visibility:hidden\" href=\"" + this.eBookUrl  + arg_URL + "\">OpenEBook</a>" + "\n"     
                  + "</body>" + "\n"  
                  + "</html>" ;
    return OpenHTML;
  }

  function GetQuery(arg_Param) {
    var sParam    = "";
    if(arg_Param.length) {
      for(var i=0;i<arg_Param.length;i++) {
        if(arg_Param[i] != "") {  sParam += this.ParameterList[i] + "=" + arg_Param[i] + "&"; }
      }
      sParam += "ul=" + navigator.browserLanguage;
      return sParam;
    }  else {
      return false;
    }
  }
  
  function IsWin2k3() {
    if ( navigator.userAgent.indexOf("Windows NT 5.2") > 1 ) { return true ; }
    return false; // WinMe, Win9x, Win2k  
  }      
  
  function GetWinStyle() {  
    var tmpFullScreen = ""  ;   
    if ( this.winStyle = "null" ) { this.winStyle = 2 ; } // this.winStyle = 0 - Ç®½ºÅ©¸°
    if( (IsWin2k3() != true ) &&  ( screen.width <= this.winLimitWidth || screen.height <= this.winLimitHeight) ) {  this.winStyle = 0 ; }
    
// alert(this.winStyle); 
    switch ( this.winStyle ) {              
      case 0  : // full screen window 
                this.winStyleName  = this.ViewerStyleList[0]; 
                this.winTop     = 0 ;                                   
                this.winLeft    = 0 ;
                this.winWidth   =  screen.width  ;
                this.winHeight  =  screen.height ;
                break;
      
      case 1  : // corporation customer window 
                this.winStyleName  = this.ViewerStyleList[1]; 
                if(this.winWidth < this.winLimitWidth)    {  this.winWidth  = this.winLimitWidth; }
                if(this.winHeight < this.winLimitHeight)  {  this.winHeight  = this.winLimitHeight; }
                this.winLeft    = (screen.width  - this.winWidth) / 2;
                this.winTop     = (screen.height - this.winHeight) / 2;
                break;
    
      case 2 : // user customer window environemnt
                this.winStyleName  = this.ViewerStyleList[2]; 
                this.winWidth      = this.winLimitWidth;  
                this.winHeight     = this.winLimitHeight;  
                this.winLeft       = (screen.width  - this.winWidth) / 2;
                this.winTop        = (screen.height - this.winHeight) / 2;
                break;
      case 3 : 
                this.winStyleName  = this.ViewerStyleList[3]; 
                this.winWidth      = screen.width;  
                this.winHeight     = screen.height;  
                this.winLeft       = 0;
                this.winTop        = 0;
                // Windows 2003
                if( IsWin2k3() ){ tmpFullScreen  = ", fullscreen=yes";    }
                break; 
      default : ;                            
    }
    this.winStyle    = "top=" + this.winTop + ", left=" + this.winLeft + ", width=" + this.winWidth + ", height=" + this.winHeight + ", directories=no, location=no, menubar=no, resizable=no, scrollbars=no, status=no, toolbar=no" + tmpFullScreen ;
  }


  //  Book open function : bc, co, gp, sbp, sep, ct, ui
  function OpenBook() {

    // NOTE : process v1.6 , v1.8 param type for naver 
    if(arguments.length > 7){
      if(arguments.length >= 11) //We should call Open_eBook() with arg_bc, arg_ml, arg_vr. Because, Open_eBook() uses those parameter directly.
      Open_eBook(arguments[0], "", "", "", "", arguments[5], "", "fromv20", arguments, "tov16", arguments[10]);
      else Open_eBook(arguments[0], "", "", "", "", arguments[5], "", "fromv20", arguments, "tov16", "");
      return;
    }

    var sQuery = this.GetQuery(arguments);
  
    if(!sQuery) {
      alert("service fail!!");
      return false;
    }
    this.GetWinStyle();
    var eBookClient = window.open("about:blank", this.winStyleName +"_"+ Math.round(Math.random() * 100), this.winStyle);
    eBookClient.document.write(this.SetLaunchHTML(sQuery));
    eBookClient.document.close();  
  }

  OpenEBook = new eBookOpener();

