/**
 * @fileoverview js/module_profile
 * @description methods and properties for video<br />
 * 
 * @author bKarolyi
 */

var n_clubvideo =
{
  options: 
  {
    del_question: __( "Biztosan törlöd ezt a videót?" )
  }
  
  /*
  del_handler_class
  initDelClass
  del
   */
}

n_clubvideo.title =
{
  options:
  {
    prefix: "titleeditor"
  },
  
  saveCallback: function( o )
  {
    //this = n_editfield_class
    if ( this.options.reload )
    {
      nw.openWaiting();
      location.reload();
      return true;
    }
    if ( this.ajax_save.json_response )
    {
      nw.openWaiting();
      var act_obj = this;
      window.setTimeout( function()
      {
        location.href = act_obj.ajax_save.json_response.url;
      }, 500 )
      return true;
    }
  }
  /*
  //edit title ( augmented - media_classes.inline_edit_proto)
  //handler_class
  //initEditUnit
  //saveCallback
  //edit
  //hide
  //save
  */
}

n_clubvideo.labels =
{
  /*
  //edit labels ( augmented - media_classes.label_edit_proto)
  //handler_class
  //initEditUnit
  //saveCallback
  //edit
  //hide
  //save
  //options
  //addLabel
  //addLabelProto
  //addLabelCallbackProto
  //editProto
  */
}

n_clubvideo.description =
{
  /*
  //edit description ( augmented - media_classes.description_edit_proto)
  //handler_class
  //initEditUnit
  //saveCallback
  //edit
  //hide
  //save
  //options
  */
}

n_clubvideo.navigator =
{
  options:
  {
    openedgallery_class: "n_highlighted_dark_clubcard"
  }
  /*
  handler_class
  initHandlerClass
  get
  toggle
   */
}

n_clubvideo.category =
{
  /*
  handler_class
  initHandlerClass
  change
   */
}

if ( typeof media_classes != "undefined" )
{
  YAHOO.lang.augmentObject( n_clubvideo.title, media_classes.inline_edit_proto );
  YAHOO.lang.augmentObject( n_clubvideo.labels, media_classes.label_edit_proto );
  YAHOO.lang.augmentObject( n_clubvideo.description, media_classes.description_edit_proto );
  YAHOO.lang.augmentObject( n_clubvideo.navigator, media_classes.navigator_proto );
  YAHOO.lang.augmentObject( n_clubvideo.category, media_classes.category_proto );
  YAHOO.lang.augmentObject( n_clubvideo, media_classes.del_proto );
}

var video_widget = 
{
  original_thumbnail_el: null,
  selected_thumbnail_el: null,
  _init: function()
  {
    if ( !Dom.get( "n_frontpic" ) )
    {
      return false;
    }
    
    var inputs = Dom.get( "n_frontpic" ).getElementsByTagName( "input" );
    var radios = [];
    for( i_input = 0; i_input < inputs.length; i_input++ )
    {
      var act_input = inputs[i_input];
      if ( act_input.type == "radio" )
      {
        radios.push( act_input );
      }
    }
    
    for( i_radio = 0; i_radio < radios.length; i_radio++ )
    {
      var act_radio = radios[i_radio];
      if ( act_radio.checked )
      {
        this.original_thumbnail_el = act_radio;
      }
    }
    
    return false;
  },
  /**
   * change video tab
   */
  changeTab: function( num )
  {
    if ( num == 1 )
    {
      Dom.addClass( Dom.get("n_desc_tab"), "n_activetab" );
      Dom.removeClass( Dom.get("n_desc"), "n_invisible" );

      Dom.removeClass( Dom.get("n_embed_tab"), "n_activetab" );
      Dom.addClass( Dom.get("n_embed"), "n_invisible" );
      
      Dom.removeClass( Dom.get("n_frontpic_tab"), "n_activetab" );
      Dom.addClass( Dom.get("n_frontpic"), "n_invisible" );
    }
    else if ( num == 2 )
    {
      Dom.addClass( Dom.get("n_embed_tab"), "n_activetab" );
      Dom.removeClass( Dom.get("n_embed"), "n_invisible" );

      Dom.removeClass( Dom.get("n_desc_tab"), "n_activetab" );
      Dom.addClass( Dom.get("n_desc"), "n_invisible" );
      
      Dom.removeClass( Dom.get("n_frontpic_tab"), "n_activetab" );
      Dom.addClass( Dom.get("n_frontpic"), "n_invisible" );
    }
    else if ( num == 3 )
    {
      Dom.removeClass( Dom.get("n_embed_tab"), "n_activetab" );
      Dom.addClass( Dom.get("n_embed"), "n_invisible" );
      
      Dom.removeClass( Dom.get("n_desc_tab"), "n_activetab" );
      Dom.addClass( Dom.get("n_desc"), "n_invisible" );
      
      Dom.addClass( Dom.get("n_frontpic_tab"), "n_activetab" );
      Dom.removeClass( Dom.get("n_frontpic"), "n_invisible" );
    }  
  },
  selectPicture: function( url, num, radio_el )
  {
    var box_el = Dom.getAncestorByClassName( radio_el, "n_contentboxinlay" );
    this.selected_thumbnail_el = this;
    indicator.showIndicator( box_el );
    nw.ajax( url, this.selectPictureCallback, "post", "thumbnail=" + num );
  },
  selectPictureCallback:
  {
    success: function( o )
    {
      indicator.hideIndicator();
      
      try 
      {
        var response = JSON.parse( o.responseText );
      }
      catch ( e ) 
      {
        if ( video_widget.original_thumbnail_el )
        {
          video_widget.original_thumbnail_el.checked = true;
        }
        return false;
      }
      
      if ( response.type == 0 )
      {
        if ( video_widget.original_thumbnail_el )
        {
          video_widget.original_thumbnail_el.checked = true;
        }
        nw.alert( response.message );
        return false;
      }      
      else if ( response.type == 1 )
      {
        video_widget.original_thumbnail_el = video_widget.selected_thumbnail_el;
        return true;
      }
      return false;
    },
    failure: function()
    {
      if ( video_widget.original_thumbnail_el )
      {
        video_widget.original_thumbnail_el.checked = true;
      }
      indicator.hideIndicator();
    }
  }
} 

video_widget.copy =
{
  copy: function()
  {
    var area = Dom.get("embed_area");
    if ( window.clipboardData && clipboardData.setData )
    {
      //clipboardData.setData("Text", area.valueOf);
      var copied = area.createTextRange();
      copied.execCommand("Copy");
    }
    else 
    {
      // You have to sign the code to enable this or allow the action in about:config by changing user_pref("signed.applets.codebase_principal_support", true);
      try 
      {
        netscape.security.PrivilegeManager.enablePrivilege( 'UniversalXPConnect' );
      } 
      catch ( e ) 
      {
        nw.alert( __( "A böngésző jelenlegi beállításai nem teszik lehetővé a vágólapra másolást" ) );
        return false;
      }
      
      var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
      if (!clip) 
        return;
      
      var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
      if (!trans) 
        return;
      
      trans.addDataFlavor( 'text/unicode' );
      
      // To get the data from the transferable we need two new objects
      var str = new Object();
      var len = new Object();
      
      var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
      
      var copytext = area.value;
      
      str.data = copytext;
      
      trans.setTransferData( "text/unicode",str,copytext.length * 2 );
      
      var clipid = Components.interfaces.nsIClipboard;
      
      if ( !clip ) 
        return false;
      
      clip.setData( trans, null, clipid.kGlobalClipboard );
    }
  }
}

Event.onDOMReady( function()
{
  video_widget._init();
} );