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

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

n_video.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_video.labels =
{
  /*
  //edit labels ( augmented - media_classes.label_edit_proto)
  //handler_class
  //initEditUnit
  //saveCallback
  //edit
  //hide
  //save
  //options
  //addLabel
  //addLabelProto
  //addLabelCallbackProto
  //editProto
  */
}

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

n_video.navigator =
{
  options:
  {
    openedgallery_class: "n_openedvideogallerycard"
  }
  /*
  handler_class
  initHandlerClass
  get
  toggle
   */
}

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

if ( typeof media_classes != "undefined" )
{
  YAHOO.lang.augmentObject( n_video.title, media_classes.inline_edit_proto );
  YAHOO.lang.augmentObject( n_video.labels, media_classes.label_edit_proto );
  YAHOO.lang.augmentObject( n_video.description, media_classes.description_edit_proto );
  YAHOO.lang.augmentObject( n_video.navigator, media_classes.navigator_proto );
  YAHOO.lang.augmentObject( n_video.category, media_classes.category_proto );
  YAHOO.lang.augmentObject( n_video, 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 );
	  }
	}
}
