/* 
 * (c) 2010 TENSQUARE gmbh
 *
 * jQuery required
 * @see http://issuu.com/services/api/viewer/javascriptapi.html
 */


var IssuuViewerManager = {
   id : "issuuViewer",
   viewer : null,
   /**
    */
   init : function(){
      try{
         this.setViewer();
         this.setEventListener();
      }catch(ex){}
   },
  /**
   * callback für swfobject
   * @param <Object> evntObj event-Object Properties:
   *                         success <Boolean> to indicate whether the embedding of a SWF was success or not
   *                         id <String> indicating the ID used in swfobject.registerObject
   *                         ref <Object> HTML object element reference (returns undefined when success=false)
   */
   onEmbedSWF : function(evntObj){
      try{
         if(evntObj.success)
            {
               //this.id = evntObj.id;
               // Zuweisung viewer hier zu früh @see onViewerInit
               //this.viewer = evntObj.ref;
            }
      }
      catch(ex){
         //alert("error: " + ex.toSource())
      }
   },
   /**
    * Callback für change-event des Viewers
    */
   changeEventHandler : function(evnt){
      // alert("changeEventHandler "+evnt)
   },
   /**
    * Einmaliger Aufruf durch Viewer nach dessen Initialisierung
    */
   onViewerInit : function(){
      this.init();
   },
   /**
    *
    */
   setViewer : function(){
      this.viewer = document.getElementById(this.id);
   },
   /**
    *
    */
   getViewer : function(){
      return this.viewer;
   },
   /**
    *
    */
   setEventListener : function(){
      try{
         this.viewer.addEventListener("change", "IssuuViewerManager.changeEventHandler");
      }catch(ex){}
   },
   /**
    * @param pageNo <int>
    * @return void
    */
   setPageNumber : function(pageNo){
      try{
         if(this.viewer == null)
            this.init();
         this.viewer.setPageNumber(pageNo);
      }catch(ex){}
   },
   /**
    * Öffnet ein neues Fenster mit eingebetteten Reader
    */
   openPageviewWindow : function(docNiceName, pageNo){
      var n = typeof(docNiceName) != "undefined" ? docNiceName : "";
      var p = typeof(pageNo) != "undefined" ? pageNo : "";
      var w = window.document.open("reader/window/index.php?docNiceName=" + n + "&pageNumber=" + p, "reader", "");
	  w.focus();
      return;
   }
}
