  var articlevideo = new Class({
   initialize: function(id, title) {
    this.id = id;
    if (title.length > 20) title = title.substr(0, 20) + '...';
    this.title = title
    this.backedit = new wu_backedit({title: title + ': ' + settings.editorlang_video0, url: 'pages.php?ajax=true&which=articlevideo&id=' + this.id, onupdate: this.onupdate.bind(this), createform: this.createform.bind(this), deleteon: 'article_delete_' + this.id});
    if (this.backedit.first) this.backedit.insertnav(new Element('span').addClass('parent')
     .adopt(new Element('a').setProperties({'href': '#', 'tabindex': '0'}).appendText(title).addEvent('click', function(e) {
      new article(this.id, this.title);
      return wu.stop(e);
     }.bind(this)))
     .appendText(' > ').adopt(new Element('span')
     .appendText(settings.editorlang_video0))
    );
   },
   onupdate: function() {
    wu_backwindows.update_notify('articlevideopackage_' + this.id);
   },
   createform: function(params) {
    var videotypes = new Array(
     { label: settings.editorlang_video3, value: 'flashh264'},
     { label: settings.editorlang_video4, value: 'flv'},
     { label: settings.editorlang_video5, value: 'ipod'},
     { label: settings.editorlang_video6, value: '3gp'}
    );
    var versions = '';
    $A(videotypes).each(function(type) {
     versions += '<input type="checkbox" class="checkbox" value="yes" id="' + type.value + '" name="' + type.value + '"';
     if (params.videotype && params.videotype.indexOf(type.value) > -1) versions += ' checked="checked"';
     versions += ' /> <label for="' + type.value + '">' + type.label + '<' + '/label><br />';
    }.bind(this));
    if (params.videoflowstat != '') var stat = '<div class="form_input"><img src="' + params.videoflowstat + '" /><' + '/div>'; else var stat = '';
    this.form = new Element('form').setProperties({'action': 'dbmod.php', 'method': 'post'}).setHTML('\
<div class="form_input"><span class="label"><label for="prefix">' + settings.editorlang_video1 + ' <' + '/label><' + '/span><span class="input"><input type="text" name="prefix" maxlength="254" id="prefix" value="" /><' + '/span><' + '/div>\
<div class="form_input"><span class="label"><label for="videopic"><a href="#" tabindex="0">' + settings.editorlang_video9 + '<' + '/a> <' + '/label><' + '/span><span class="input"><input type="text" maxlength="254" id="videopic" name="videopic" value="" /><' + '/span><' + '/div>\
<div class="form_input"><fieldset><legend>' + settings.editorlang_video2 + '<' + '/legend>' + versions + '<' + '/fieldset><' + '/div>' + stat + '\
<div class="form_input"><span class="label"><label for="package"><a href="#" tabindex="0">' + settings.editorlang_video11 + '<' + '/a> <' + '/label><' + '/span><span class="input"><input type="text" maxlength="254" id="package" name="package" value="" /><' + '/span><' + '/div>\
<div class="form_input">' + settings.editorlang_video12 + '<' + '/div>\
<div class="form_input"><input type="hidden" name="action" value="modifyarticlevideo" /><input type="hidden" name="wu_csrf" value="' + settings.csrf + '" /><input type="hidden" name="id" value="" /><input type="submit" class="submit" value="ok" /> ' + settings.editorlang_video7 + ': ' + params.videorank + ' (' + params.videorankcount + ' ' + settings.editorlang_video10 + '), ' + settings.editorlang_video8 + ': ' + params.videoplayed + '<' + '/div>\
    ');
   	$A(this.form.getElementsByTagName('label')).each(function(label) {
   	 var vfor = label.getAttribute('label');
   	 if (label.htmlFor) vfor = label.htmlFor;
   	 switch (vfor) {
      case 'videopic': $(label.getElementsByTagName('a').item(0)).addEvent('click', function(e) {
   	   var f = this.parentNode.getAttribute('label');
   	   if (this.parentNode.htmlFor) f = this.parentNode.htmlFor;
   	   mediawindows.insert('image', f, f + 'notexisting');
   	   return wu.stop(e);
   	  }); break;
      case 'package': $(label.getElementsByTagName('a').item(0)).addEvent('click', function(e) {
   	   var f = this.parentNode.getAttribute('label');
   	   if (this.parentNode.htmlFor) f = this.parentNode.htmlFor;
   	   mediawindows.insert('tar', f, f + 'notexisting');
   	   return wu.stop(e);
   	  }); break;
   	 };
   	});
   	if (this.id > -1) {
   	 $A(this.form.getElementsByTagName('input')).each(function(input) {
   	  switch (input.name) {
   	   case 'id': input.value = params.id; break;
   	   case 'prefix': input.value = params.videoprefix; break;
   	   case 'videopic': input.value = params.videopic; break;
   	  };
   	 }.bind(this)); 
   	};
    return this.form;
   }
  });
