var img_pos_old_star = [0,0];
var img_pos_old_ecke = [0,0];
var img_pos_old_rahmen_e = [0,0];
var img_pos_old_rahmen_s = [0,0];
var obj_pos_old_values = [0,0,0,0];
var obj_groesse_old_values = [0,0,0,0];
var bild_ratio;
var init_layers_done = false;
var id_edit_element;
var controls_elemente = [
  'control_remove_element',
  'control_shape_align_center',
  'control_select_color'
  ];
/*var controls_elemente_layer = [
  'control_move_back',
  'control_move_backwards',
  'control_move_forwards',
  'control_move_front'];*/
var controls_elemente_layer = [];
var controls_elemente_bilder = [
  //'control_image_rotate'
  //'control_image_align_center'
  'control_black_white',
  'control_colored'
  ];
var controls_elemente_texte = [
  //'control_text_color',
  //'textman_control_text_align_left',
  //'control_font_color',
  'control_linespacing',
  //'textman_control_text_align_right',
  //'textman_control_text_align_justify'
  //'control_text_clean_format'
  //'control_text_edit',
  'control_word_import'
  ];
var controls_elemente_texte_align = [
  'control_text_align_left',
  'control_text_align_center',
  'control_text_align_right',
  'control_text_align_justify'
  ];
var controls_elemente_texte_pressed = [
  'control_text_align_left_pressed',
  'control_text_align_center_pressed',
  'control_text_align_right_pressed',
  'control_text_align_justify_pressed'
  ];
var controls_elemente_texte_format = [
  //'textman_control_text_bold',
  //'textman_control_text_italic',
  'control_text_bold',
  'control_text_italic',
  'control_text_underline'
  ];
var controls_elemente_texte_dis = [
  'control_font',
  'control_fontsize'
  //'textman_control_font_color',
  //'control_font_color',
  //'control_linespacing'
  ];

var div_textman;
var textman_opened = false;
var vorlage_temp;
var img_drag_obj_vorschau = false;
var img_drag_obj_editor_ecke_se = false;
var color_chooser_win;

jQuery(document).bind('mousemove',function(e){ 
   //jQuery("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
	if (e.pageX < 700 || e.pageX > 850 || e.pageY < 215 || e.pageY > 290) {
		jQuery("#font_colors").hide();
	} 
	if (e.pageX < 650 || e.pageX > 900 || e.pageY < 400 || e.pageY > 600) {
		jQuery("#select_template").hide();
	} 
	if (e.pageX < 650 || e.pageX > 840 || e.pageY < 215 || e.pageY > 640) {
		jQuery("#select_linespacing").hide();
	} 
});


function mm2pt(val, dpi){
  if (typeof(dpi) == "undefined" || dpi == 0) {
    dpi = 72;
  }

  if (typeof(val) == 'number') {
    return val;
  }

  var ret = val;
  if (val.indexOf('mm') != -1) {
    ret = val.replace(/mm/, '');
    ret = Math.round(parseFloat(ret * dpi / 25.4));
  } else {
    ret = ret.replace(/mmmm/, 'mm');
    ret = ret.replace(/mmmm/, 'mm');
  }

  return ret;
}

function pt2mm(val, dpi){
  if (typeof(dpi) == "undefined" || dpi == 0) {
    dpi = 72;
  }
  val+='';
  var ret = val;
  if (val.indexOf('mm') != -1 || val == '*') {
    return ret;
  }

  ret = Math.round(parseFloat(val * 25.4 / dpi));
  return ret+'mm';
}

function edit_element(opts, id) {
  //show('edit_element opts', opts);
  //show('vorlage.new_element_typ', vorlage.new_element_typ);
  if (opts.neu == 1) {
    if (vorlage.new_element_typ == 'bild') {
      id = 'bild'+(vorlage.bilder.length-1);
    }
    if (vorlage.new_element_typ == 'textbox') {
      id = 'text'+(vorlage.texte.length-1);
    }
    delete vorlage.new_element_typ;
  }

  id_edit_element = id;
  var obj;
  var type;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
    type = 'bild';
  }
  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
    type = 'text';
  }

  //alle Controls aktivieren, die fuer Elemente sind
  for (var i=0; i < controls_elemente.length;i++) {
    if (is_editable(obj, controls_elemente[i])) {
	 	if ($(controls_elemente[i] + '_disabled')) {
	  		fade(controls_elemente[i] + '_disabled');
	  	}
      appear(controls_elemente[i]);
    } else {
      fade(controls_elemente[i]);
      appear(controls_elemente[i]+'_disabled');
    }
  }

/*
  //Layer-Controls
  if (obj.sortierung > 1) {
    Effect.Fade('control_move_back_disabled', {duration: 0});
    Effect.Appear('control_move_back', {duration: 0});

    Effect.Fade('control_move_backwards_disabled', {duration: 0});
    Effect.Appear('control_move_backwards', {duration: 0});

    //Effect.Fade('layman_move_backwards_'+id_edit_element+'_disabled', {duration: 0});
    //Effect.Appear('layman_move_backwards_'+id_edit_element, {duration: 0});
  } else {
    Effect.Fade('control_move_back', {duration: 0});
    Effect.Appear('control_move_back_disabled', {duration: 0});

    Effect.Fade('control_move_backwards', {duration: 0});
    Effect.Appear('control_move_backwards_disabled', {duration: 0});

    //Effect.Fade('layman_move_backwards_'+id_edit_element, {duration: 0});
    //Effect.Appear('layman_move_backwards_'+id_edit_element+'_disabled', {duration: 0});
  }

  if (obj.sortierung < vorlage.max_sortierung) {
    Effect.Fade('control_move_forwards_disabled', {duration: 0});
    Effect.Appear('control_move_forwards', {duration: 0});

    Effect.Fade('control_move_front_disabled', {duration: 0});
    Effect.Appear('control_move_front', {duration: 0});

    //Effect.Fade('layman_move_forwards_'+id_edit_element+'_disabled', {duration: 0});
    //Effect.Appear('layman_move_forwards_'+id_edit_element, {duration: 0});
  } else {
    Effect.Fade('control_move_forwards', {duration: 0});
    Effect.Appear('control_move_forwards_disabled', {duration: 0});

    Effect.Fade('control_move_front', {duration: 0});
    Effect.Appear('control_move_front_disabled', {duration: 0});

    //Effect.Fade('layman_move_forwards_'+id_edit_element, {duration: 0});
    //Effect.Appear('layman_move_forwards_'+id_edit_element+'_disabled', {duration: 0});
  }
*/
  if (type == 'bild') {
    //bildelement
    toolbox_text_close();
	  //fade('link_word_import');
    close_textman(false);
    editableAreaSetContents("textman_earea", '');

    for (var i=0; i < controls_elemente_bilder.length;i++) {
      fade(controls_elemente_bilder[i]+'_disabled');
      if (is_editable(obj, controls_elemente_bilder[i])) {
        appear(controls_elemente_bilder[i]);
      }
    }

    for (var i=0; i < controls_elemente_texte_pressed.length; i++) {
      fade(controls_elemente_texte_pressed[i]);
	  }

    for (var i=0; i < controls_elemente_texte.length;i++) {
      fade(controls_elemente_texte[i]);
      appear(controls_elemente_texte[i]+'_disabled');
    }
    
	  for (var i=0; i < controls_elemente_texte_align.length;i++) {
      fade(controls_elemente_texte_align[i]);
      appear(controls_elemente_texte_align[i]+'_disabled');
    }

    for (var i=0; i < controls_elemente_texte_format.length;i++) {
      fade(controls_elemente_texte_format[i]);
      appear(controls_elemente_texte_format[i]+'_disabled');
    }

    for (var i=0; i < controls_elemente_texte_dis.length;i++) {
      $(controls_elemente_texte_dis[i]).disabled = true;
    }

    enable_bild_editor(id);
    if (image_is_default(obj)) {
      open_image_manager(true);
    }
  }

  if (type == 'text') {
    //textelement
    toolbox_image_close();

    for (var i=0; i < controls_elemente_bilder.length;i++) {
      fade(controls_elemente_bilder[i]);
      appear(controls_elemente_bilder[i]+'_disabled');
    }

    for (var i=0; i < controls_elemente_texte.length;i++) {
      fade(controls_elemente_texte[i]+'_disabled');
      if (is_editable(obj, controls_elemente_texte[i])) {
        appear(controls_elemente_texte[i]);
      }
    }

    for (var i=0; i < controls_elemente_texte_align.length;i++) {
      fade(controls_elemente_texte_align[i]+'_disabled');
    }

    for (var i=0; i < controls_elemente_texte_dis.length;i++) {
      if (is_editable(obj, controls_elemente_texte_dis[i]))
      {
        $(controls_elemente_texte_dis[i]).disabled = false;
      }
    }

    enable_text_editor(id);
    $('control_font').value = vorlage.texte[id].schrift_familie;
    $('control_fontsize').value = vorlage.texte[id].schrift_groesse;
	 zeilenabstand = vorlage.texte[id].zeilenabstand;
	 zeilenabstand = zeilenabstand.substr(0, zeilenabstand.indexOf('%'));
	 //$('value_linespacing_' + zeilenabstand).addClassname('active');
	 jQuery('#value_linespacing_' + zeilenabstand).addClass('active');
    //$('control_linespacing').value = vorlage.texte[id].zeilenabstand;
    //$('control_font_color').value = vorlage.texte[id].schrift_farbe;
    disable_buttons_for_font(vorlage.texte[id].schrift_familie);
    set_text_align(vorlage.texte[id].absatzausrichtung);
  }

  zeige_element_rahmen();

  layman_open_texteditor();

  return true;
} // edit_element

function set_text_align(absatzausrichtung) {
  switch (absatzausrichtung) {
    case 'linksbuendig':
    case 'links':
    case 'left':
      text_align_left(false);
      break;
    case 'rechtsbuendig':
    case 'rechts':
    case 'right':
      text_align_right(false);
      break;
    case 'zentriert':
    case 'center':
      text_align_center(false);
      break;
    case 'blocksatz':
    case 'block':
    case 'justify':
    default:
      text_align_justify(false);
      break;
  }
} // eof set_text_align

function close_element(opts) {
  //enable_textboxes_pos_size(false);
  if (typeof(opts) == "undefined") {
    opts = {};
  }

  if (!opts.add_element) {
    for (var i=0; i < controls_elemente_bilder.length;i++) {
      fade(controls_elemente_bilder[i]);
      appear(controls_elemente_bilder[i]+'_disabled');
    }

    for (var i=0; i < controls_elemente_texte.length;i++) {
      fade(controls_elemente_texte[i]);
      appear(controls_elemente_texte[i]+'_disabled');
    }

    for (var i=0; i < controls_elemente_texte_align.length;i++) {
      fade(controls_elemente_texte_align[i]);
      appear(controls_elemente_texte_align[i]+'_disabled');
    }

    for (var i=0; i < controls_elemente_texte_pressed.length;i++) {
      fade(controls_elemente_texte_pressed[i]);
    }

    for (var i=0; i < controls_elemente_texte_dis.length;i++) {
      $(controls_elemente_texte_dis[i]).disabled = true;
    }

    for (var i=0; i < controls_elemente_layer.length;i++) {
      fade(controls_elemente_layer[i]);
      appear(controls_elemente_layer[i]+'_disabled');
    }

    for (var i=0; i < controls_elemente.length;i++) {
      fade(controls_elemente[i]);
      appear(controls_elemente[i]+'_disabled');
    }
  }

  //Effect.Fade('layman_remove_element_'+id_edit_element, {duration: 0});
  //Effect.Appear('layman_remove_element_'+id_edit_element+'_disabled', {duration: 0});

  //layman_deactivate_layers();

  zeige_element_rahmen(false);
  toolbox_image_close();
  toolbox_text_close();

  id_edit_element = '';
} // close_element

function remove_element()
{
  if (!confirm('Element wirklich entfernen?')) {
    return false;
  }

  var type = 'xxx';
  var id = 'xxx';
  var obj;

  if (id_edit_element.indexOf('bild') != -1) {
    type = 'bild';
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }
  if (id_edit_element.indexOf('text') != -1) {
    type = 'textbox';
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];

    close_textman(false);
    editableAreaSetContents("textman_earea", '');
  }

  if (!is_editable(obj, 'delete')) {
    return false;
  }

  appear_loading();
  var postBody = 'aktTplID='+vorlage.id+'&typ='+type+'&id='+id+
            '&aktBaID='+aktBaID+'&bestellID='+bestellID+'&userID='+userID;

  new Ajax.Request(
    'ajax_vorlage_remove_element.php',
    {
      method: "post",
      postBody: postBody,
      onSuccess: cb_vorlage_remove_element
    }
  );
}

function cb_vorlage_remove_element(transport) {
  var response = transport.responseText;
  cb_eval_json(response);

  if (vorlage.remove_element) {
    delete vorlage.remove_element;
    close_element();
    reinit_layers();
    cb_zeige_vorlage(transport, {remove_element: 1});
  }
} // cb_vorlage_remove_element


function enable_bild_editor(id) {
  reinit_layers();
  var obj = vorlage.bilder[id];
  enable_editor(obj);

  var today = new Date();

  toolbox_init_groesse_position();

  if ($('toolbox_image_color'))
  {
    $('toolbox_image_color').value       = obj.farbe;
  }
  if ($('toolbox_image_src'))
  {
    $('toolbox_image_src').src           = obj.dateiname_ziel_vorschau+'?t='+today.getTime();
  }
  if ($('toolbox_image_dpi'))
  {
    $('toolbox_image_dpi').innerHTML     = obj.dpi;
  }
  if ($('toolbox_obj_breite'))
  {
    $('toolbox_obj_breite').innerHTML    = pt2mm(obj.b, obj.orig_dpi);
  }
  if ($('toolbox_obj_hoehe'))
  {
    $('toolbox_obj_hoehe').innerHTML     = pt2mm(obj.h, obj.orig_dpi);
  }
  if ($('toolbox_obj_breite_px'))
  {
    $('toolbox_obj_breite_px').innerHTML = Math.round(mm2pt(obj.b, obj.orig_dpi));
  }
  if ($('toolbox_obj_hoehe_px'))
  {
    $('toolbox_obj_hoehe_px').innerHTML  = Math.round(mm2pt(obj.h, obj.orig_dpi));
  }
  if ($('toolbox_obj_x'))
  {
    $('toolbox_obj_x').innerHTML         = pt2mm(obj.x);
  }
  if ($('toolbox_obj_y'))
  {
    $('toolbox_obj_y').innerHTML         = pt2mm(obj.y);
  }
  if ($('toolbox_obj_x_px'))
  {
    $('toolbox_obj_x_px').innerHTML      = Math.round(mm2pt(obj.x));
  }
  if ($('toolbox_obj_y_px'))
  {
    $('toolbox_obj_y_px').innerHTML      = Math.round(mm2pt(obj.y));
  }

  toolbox_groesse_mm_edit();
  toolbox_position_mm_edit();

  //Wenn Bild = Standardbild, dann keine Farbaenderung zulassen
//  if (obj.dateiname.indexOf('data/dekor/') != -1 || !is_editable(obj, 'farbe')) {
//einschränkung zurückgenommen, 21.10.09warum war sie drin??
  if (!is_editable(obj, 'farbe')) {
//    $('toolbox_image_color').disabled = true;
  } else {
//    $('toolbox_image_color').disabled = false;
  }

  toolbox_image_open();
} // enable_bild_editor


function enable_editor(obj) {
  // show('', obj);
  var vorlage_h = pt2mm(vorlage.h);
  vorlage_h = vorlage_h.replace(/mm/, '');
  var vorlage_b = pt2mm(vorlage.b);
  vorlage_b = vorlage_b.replace(/mm/, '');

  var obj_h = pt2mm(obj.h, obj.orig_dpi);
  obj_h = obj_h.replace(/mm/, '');
  var obj_b = pt2mm(obj.b, obj.orig_dpi);
  obj_b = obj_b.replace(/mm/, '');
  bild_ratio = obj_b / obj_h;

  var obj_x = pt2mm(obj.x);
  obj_x = obj_x.replace(/mm/, '');
  var obj_y = pt2mm(obj.y);
  obj_y = obj_y.replace(/mm/, '');

  $('obj_breite_value').value = obj_b;
  $('obj_breite_px_value').value = mm2pt(obj_b+'mm', obj.orig_dpi);

  $('obj_hoehe_value').value = obj_h;
  $('obj_hoehe_px_value').value = mm2pt(obj_h+'mm', obj.orig_dpi);

  $('obj_posx_value').value = obj_x;
  $('obj_posx_px_value').value = mm2pt(obj_x+'mm', obj.orig_dpi);

  $('obj_posy_value').value = obj_y;
  $('obj_posy_px_value').value = mm2pt(obj_y+'mm', obj.orig_dpi);

  // enable_textboxes_pos_size(true);
}


function enable_textboxes_pos_size(flag) {
  var tbs = ['obj_breite_value','obj_breite_px_value','obj_hoehe_value','obj_hoehe_px_value',
        'obj_posx_value','obj_posx_px_value','obj_posy_value','obj_posy_px_value'];
  for (var i=0; i < tbs.length; i++) {
    var f = tbs[i];
    if (flag == false) {
      $(f).setAttribute('disabled', 'disabled');
      $(f).value = '';
    } else {
      $(f).removeAttribute('disabled');
    }
  }
}

function zeige_element_rahmen(disable) {
  if (typeof(disable) == "undefined") {
    disable = true;
  }

  if (!disable) {
    fade('obj_vorschau');
    fade('obj_editor_ecke_se');
    //fade('obj_vorschau_open_texteditor');
    fade('obj_vorschau_texteditor_clean_format');
    fade('obj_vorschau_texteditor_clean_word');
    return;
  }

  var id;
  var obj;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  var vorlage_preview_resolution_klein_72 = mm2pt(vorlage.preview_resolution_klein);
  var vorlage_breite_72 = mm2pt(vorlage.b);
  var vorlage_hoehe_72 = mm2pt(vorlage.h);

  var ratio = vorlage_preview_resolution_klein_72 / vorlage_breite_72;

  var obj_x_72 = Math.round(mm2pt(obj.x) * ratio);
  var obj_y_72 = Math.round(mm2pt(obj.y) * ratio);

  var obj_b_72 = 0;
  var obj_h_72 = 0;

  if (obj.typ == 'bild') {
    obj_b_72 = Math.round(mm2pt(obj.dateiname_ziel_width) * ratio);
    obj_h_72 = Math.round(mm2pt(obj.dateiname_ziel_height) * ratio);
  } else {
    obj_b_72 = Math.round(mm2pt(obj.b) * ratio);
    obj_h_72 = Math.round(mm2pt(obj.h) * ratio);
  }

  if (obj.typ == 'textbox') {
    if (obj.orientation == 'lu') {
      obj_y_72 = Math.round(mm2pt(vorlage_hoehe_72) * ratio) - obj_h_72 - obj_y_72;
    }
  }

  var img_pos = findPos($('eindruck_bild_vorschau'));
  var star_x = img_pos[0] + obj_x_72;
  var star_y = img_pos[1] + obj_y_72;

  obj.b_backup = obj.b;
  obj.h_backup = obj.h;

  obj_vorschau(obj_b_72, obj_h_72);
  new Effect.Move('obj_vorschau',{x: star_x,
                                    y: star_y,
                                    mode: 'absolute',
                                    queue: {position:'end', scope: 'edit_element'},
                                    duration: 0});
  appear('obj_vorschau', {queue: {position:'end', scope: 'edit_element'}});
  img_pos_old_star = [star_x, star_y];

  var obj_editor_ecke_se_x = star_x + obj_b_72 - 3;
  var obj_editor_ecke_se_y = star_y + obj_h_72 - 3;

  if (is_editable(obj, 'groesse')) {
    new Effect.Move('obj_editor_ecke_se',{x: obj_editor_ecke_se_x,
                                            y: obj_editor_ecke_se_y,
                                            mode: 'absolute',
                                            queue: {position:'end', scope: 'edit_element'},
                                            duration: 0});
    appear('obj_editor_ecke_se',{queue: {position:'end', scope: 'edit_element'}});
  } else {
    fade('obj_editor_ecke_se');
  }

  if (id_edit_element.indexOf('text') != -1) {
    if (is_editable(obj, 'text')) {

      //$('obj_vorschau').ondblclick = layman_open_texteditor;

//      new Effect.Move('obj_vorschau_open_texteditor',{
//        x: star_x,
//        y: star_y-16,
//        mode: 'absolute',
//        queue: {position:'end', scope: 'edit_element'},
//        duration: 0});

      //appear('obj_vorschau_open_texteditor',{queue: {position:'end', scope: 'edit_element'}});
    }
  }

  if (is_editable(obj, 'position')) {

    img_drag_obj_vorschau = new Draggable('obj_vorschau',
                  {revert:true,
                   ghosting: false,
                   starteffect: function(draggable) {},
                   onStart: function(draggable, event) {
                     obj_pos_old_values = [parseInt($('obj_posx_value').value),
                                           parseInt($('obj_posy_value').value),
                                           parseInt($('obj_posx_px_value').value),
                                           parseInt($('obj_posy_px_value').value)];
                   },
                   reverteffect: draggable_reverteffect,
                   onDrag: function(draggable, event) {
                     var img_pos = draggable.currentDelta();
                     bild_pos_vorschau_update(img_pos, ratio);
                   }
    });
    $('obj_vorschau').style.cursor = 'move';

    if ($('toolbox_position_px_edit_icon'))
    {
      appear('toolbox_position_px_edit_icon');
    }
    if ($('toolbox_position_mm_edit_icon'))
    {
      appear('toolbox_position_mm_edit_icon');
    }
  } else {

    $('obj_vorschau').style.cursor = 'auto';
    if (img_drag_obj_vorschau) {
      img_drag_obj_vorschau.destroy();
      img_drag_obj_vorschau = false;
/*
      for each(var dr in Draggables.drags) {
        if (typeof(dr.destroy) != "undefined") {
          dr.destroy();
        }
      }*/
    }

    //fade('toolbox_position_px_edit_icon');
    //fade('toolbox_position_mm_edit_icon');
    fade('toolbox_position_mm_edit');
  }

  if (is_editable(obj, 'groesse')) {

    img_drag_obj_editor_ecke_se = new Draggable('obj_editor_ecke_se',
                  {revert:true,
                  ghosting: false,
                  starteffect: function(draggable) {},
                  onStart: function(draggable, event) {
                    //img_pos_old_ecke = draggable.delta;
                    img_pos_old_ecke = findPos($('obj_editor_ecke_se'));

                    obj_groesse_old_values = [parseInt($('obj_breite_value').value),
                                              parseInt($('obj_hoehe_value').value),
                                              parseInt($('obj_breite_px_value').value),
                                              parseInt($('obj_hoehe_px_value').value)];
                  },
                  reverteffect: draggable_reverteffect,
                  onDrag: function(draggable, event) {
                    var img_pos = draggable.currentDelta();
                    obj_vorschau_update(img_pos, ratio);
                  }
    });
    $('obj_editor_ecke_se').style.cursor = 'se-resize';

    if ($('toolbox_groesse_mm_edit_icon'))
    {
      appear('toolbox_groesse_mm_edit_icon');
    }
    if ($('toolbox_groesse_px_edit_icon'))
    {
      appear('toolbox_groesse_px_edit_icon');
    }

  } else {

    $('obj_editor_ecke_se').style.cursor = 'auto';

    if (img_drag_obj_editor_ecke_se) {
      img_drag_obj_editor_ecke_se.destroy();
      img_drag_obj_editor_ecke_se = false;

/*      for each(var dr in Draggables.drags) {
        show('dr',dr);
        if (typeof(dr.destroy) != "undefined") {
          dr.destroy();
        }
      }*/
    }

    // fade('toolbox_groesse_mm_edit_icon');
    // fade('toolbox_groesse_px_edit_icon');
  }

  Droppables.add( 'eindruck_bild_vorschau',
          {onDrop: function(draggable, droppable, event) {
                //show("draggable onDrop", draggable);
                //show("droppable onDrop", droppable);
                //show("event onDrop", event);

                var img_pos = findPos(draggable);
                var remove_img_cache = 0;
                var remove_img_cache_id = -1;
                var changed_image_width = -1;

                //show('id', draggable.id);
                if (draggable.id == "obj_vorschau") {
                  bild_pos_vorschau_update(img_pos, ratio, 'drop');
/*                  new Effect.Move('obj_vorschau',{  x: img_pos[0],
                                                    y: img_pos[1],
                                                    mode: 'absolute',
                                                    duration: 0 });
*/
                }

                if (id_edit_element.indexOf('bild') != -1 &&
                  draggable.id == 'obj_editor_ecke_se') {
                  remove_img_cache = 1;
                  remove_img_cache_id = id_edit_element.replace('bild', '');
                  changed_image_width = id_edit_element.replace('bild', '');
                }

                if (draggable.id == "obj_vorschau" ||
                  draggable.id == 'obj_editor_ecke_se') {
                  save_element({create_eindruck:     1,
                                  remove_img_cache:    remove_img_cache,
                                  remove_img_cache_id: remove_img_cache_id,
                                  changed_image_width: changed_image_width});
                }
              }
  });
} // zeige_element_rahmen

function dbl_click_obj_image()
{
  open_image_manager();
}

function draggable_reverteffect(draggable, top_offset, left_offset) {
  //show('revert',[top_offset, left_offset]);


  var img_pos_new = findPos($('obj_vorschau'));
  var img_pos_vorschau = findPos($('eindruck_bild_vorschau'));

  var drag_x1 = img_pos_new[0];
  var drag_y1 = img_pos_new[1];

  var drag_x2 = drag_x1 + draggable.getWidth();
  var drag_y2 = drag_y1 + draggable.getHeight();

  var drop_x1 = img_pos_vorschau[0];
  var drop_y1 = img_pos_vorschau[1];

  var drop_x2 = drop_x1 + $('eindruck_bild_vorschau').getWidth();
  var drop_y2 = drop_y1 + $('eindruck_bild_vorschau').getHeight();

  //neue Position ausserhalb des Vorschau-Bildes?
  if (drag_x1 < drop_x1 ||
      drag_x1 > drop_x2 ||
      drag_y1 < drop_y1 ||
      drag_y1 > drop_y2) {
    zeige_element_rahmen();
  }
}


function bild_pos_vorschau_update(img_pos, ratio, mode) {
  var id;
  var obj;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  var new_x_web = img_pos[0] - img_pos_old_star[0];
  var new_y_web = img_pos[1] - img_pos_old_star[1];
  var new_x = new_x_web / ratio;
  var new_y = new_y_web / ratio;

  //now with millimeter
  var new_posx = parseInt(pt2mm(new_x+'').replace(/mm/, '')) + obj_pos_old_values[0];
  var new_posy = parseInt(pt2mm(new_y+'').replace(/mm/, '')) + obj_pos_old_values[1];

  if (new_posx < EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_LINKS_MM) {
    new_posx = EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_LINKS_MM;
  }
  if (new_posy < EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_OBEN_MM) {
    new_posy = EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_OBEN_MM;
  }


   var obj_b = 0;
   var obj_h = 0;

  if (obj.typ == 'bild') {
//    obj_b = parseInt(pt2mm(obj.dateiname_ziel_width+'').replace(/mm/, ''));
//    obj_h = parseInt(pt2mm(obj.dateiname_ziel_height+'').replace(/mm/, ''));
    obj_b = parseInt(pt2mm(obj.b+'', obj.orig_dpi).replace(/mm/, ''));
    obj_h = parseInt(pt2mm(obj.h+'', obj.orig_dpi).replace(/mm/, ''));
  } else {
    obj_b = parseInt(pt2mm(obj.b+'').replace(/mm/, ''));
    obj_h = parseInt(pt2mm(obj.h+'').replace(/mm/, ''));
  }

  var vorlage_b = parseInt(pt2mm(vorlage.b+'').replace(/mm/, ''));
  var vorlage_h = parseInt(pt2mm(vorlage.h+'').replace(/mm/, ''));


  if (new_posx+EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_RECHTS_MM+obj_b > vorlage_b) {
    new_posx = vorlage_b - obj_b - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_RECHTS_MM;
  }
  if (new_posy+EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_UNTEN_MM+obj_h > vorlage_h) {
    new_posy = vorlage_h - obj_h - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_UNTEN_MM;
  }


  $('obj_posx_value').value = new_posx;
  $('obj_posy_value').value = new_posy;

  $('obj_posx_px_value').value = mm2pt($('obj_posx_value').value+'mm');
  $('obj_posy_px_value').value = mm2pt($('obj_posy_value').value+'mm');

} // eof bild_pos_vorschau_update


function obj_vorschau_update(img_pos, ratio) {
  var id;
  var obj;
  var ratio_web_image = 1;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
    ratio_web_image = 72/obj.orig_dpi;
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  //Diff zw alter Position der Ecke und der neuen -> Einheit: px web
  var new_b_web = img_pos[0] - img_pos_old_ecke[0];
  var new_h_web = img_pos[1] - img_pos_old_ecke[1];

  //Diff zw alter Position der Ecke und der neuen -> Einheit: px 100%
  var new_b = new_b_web / ratio;
  var new_h = new_h_web / ratio;

  //mm
  var neue_breite = parseInt(pt2mm(new_b+'').replace(/mm/, '')) + obj_groesse_old_values[0];
  var neue_hoehe = Math.round(neue_breite / bild_ratio);

  var obj_x = parseInt(pt2mm(obj.x+'').replace(/mm/, ''));
  var obj_y = parseInt(pt2mm(obj.y+'').replace(/mm/, ''));
  var vorlage_b = parseInt(pt2mm(vorlage.b+'').replace(/mm/, ''));
  var vorlage_h = parseInt(pt2mm(vorlage.h+'').replace(/mm/, ''));

  //zu weit rechts?
  if (obj_x + neue_breite > vorlage_b - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_RECHTS_MM) {
    neue_breite = vorlage_b - obj_x - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_RECHTS_MM;
    neue_hoehe = Math.round(neue_breite / bild_ratio);
  }

  //zu weit unten?
  if (obj_y + neue_hoehe > vorlage_h - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_UNTEN_MM) {
    neue_hoehe = vorlage_h - obj_y - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_UNTEN_MM;
    neue_breite =  Math.round(neue_hoehe * bild_ratio);
  }


  if (neue_breite < EINDRUCK_EDITOR_MINDESTGROESSE_IN_MM) {
    neue_breite = EINDRUCK_EDITOR_MINDESTGROESSE_IN_MM;
    neue_hoehe = Math.round(neue_breite / bild_ratio);
  }

  if (id_edit_element.indexOf('bild') != -1 && neue_hoehe < EINDRUCK_EDITOR_MINDESTGROESSE_IN_MM) {
    neue_hoehe = EINDRUCK_EDITOR_MINDESTGROESSE_IN_MM;
    neue_breite =  Math.round(neue_hoehe * bild_ratio);
  }


  $('obj_breite_value').value = neue_breite;
  $('obj_hoehe_value').value = neue_hoehe;

  //px web
  var neue_breite_px_web = new_b_web + obj_groesse_old_values[2]*ratio_web_image;
  var neue_hoehe_px_web;

  $('obj_breite_px_value').value = mm2pt(neue_breite + 'mm', obj.orig_dpi);
  $('obj_hoehe_px_value').value = mm2pt(neue_hoehe + 'mm', obj.orig_dpi);

  var neue_breite_px_web = $('obj_breite_px_value').value * ratio_web_image;
  var neue_hoehe_px_web = $('obj_hoehe_px_value').value * ratio_web_image;

//  if (id_edit_element.indexOf('bild') != -1) {
//    neue_hoehe_px_web = Math.round(neue_breite_px_web / bild_ratio);
//  } else {
//    neue_hoehe_px_web = new_h_web + obj_groesse_old_values[3]*ratio_web_image;
//  }
//
//
//  if (neue_breite_px_web < EINDRUCK_EDITOR_MINDESTGROESSE_IN_PIXEL)
//  {
//    neue_breite_px_web = EINDRUCK_EDITOR_MINDESTGROESSE_IN_PIXEL;
//    neue_hoehe_px_web = Math.round(neue_breite_px_web / bild_ratio);
//  }
//
//  if (neue_hoehe_px_web < EINDRUCK_EDITOR_MINDESTGROESSE_IN_PIXEL)
//  {
//    neue_hoehe_px_web = EINDRUCK_EDITOR_MINDESTGROESSE_IN_PIXEL;
//    neue_breite =  Math.round(neue_hoehe_px_web * bild_ratio);
//  }


  obj_vorschau(neue_breite_px_web, neue_hoehe_px_web);

  //px 100%
  var neue_breite_px = neue_breite_px_web / ratio;
  $('obj_breite_px_value').value = Math.round(neue_breite_px);
  $('obj_hoehe_px_value').value = Math.round(neue_breite_px / bild_ratio);
} // obj_vorschau_update


function obj_vorschau(b, h) {
  var obj_vorschau_b = b+"px";
  var obj_vorschau_h = h+"px";
  $('obj_vorschau').setStyle({width: obj_vorschau_b, height: obj_vorschau_h});
}

function enable_text_editor(id) {
  reinit_layers();
  var obj = vorlage.texte[id];
  enable_editor(obj);

  toolbox_init_groesse_position();

  if ($('toolbox_obj_x'))
  {
    $('toolbox_obj_x').innerHTML         = pt2mm(obj.x);
  }
  if ($('toolbox_obj_y'))
  {
    $('toolbox_obj_y').innerHTML         = pt2mm(obj.y);
  }
  if ($('toolbox_obj_x_px'))
  {
    $('toolbox_obj_x_px').innerHTML      = Math.round(mm2pt(obj.x));
  }
  if ($('toolbox_obj_y_px'))
  {
    $('toolbox_obj_y_px').innerHTML      = Math.round(mm2pt(obj.y));
  }
  if ($('toolbox_obj_breite'))
  {
    $('toolbox_obj_breite').innerHTML    = pt2mm(obj.b, obj.orig_dpi);
  }
  if ($('toolbox_obj_hoehe'))
  {
    $('toolbox_obj_hoehe').innerHTML     = pt2mm(obj.h, obj.orig_dpi);
  }
  if ($('toolbox_obj_breite_px'))
  {
    $('toolbox_obj_breite_px').innerHTML = Math.round(mm2pt(obj.b, obj.orig_dpi));
  }
  if ($('toolbox_obj_hoehe_px'))
  {
    $('toolbox_obj_hoehe_px').innerHTML  = Math.round(mm2pt(obj.h, obj.orig_dpi));
  }

  toolbox_position_mm_edit();
  toolbox_groesse_mm_edit();
  toolbox_text_open();
}

function apply_standardtext(textobj) {
  if (id_edit_element &&
      id_edit_element.indexOf('text') != -1) {

    var id = id_edit_element.replace('text', '');

    vorlage.texte[id].schrift_groesse   = textobj.schrift_groesse;
    vorlage.texte[id].schrift_serie     = textobj.schrift_serie;
    vorlage.texte[id].schrift_form      = textobj.schrift_form;
    vorlage.texte[id].absatzausrichtung = textobj.absatzausrichtung;
    vorlage.texte[id].schrift_familie   = textobj.schrift_familie;
    vorlage.texte[id].schrift_farbe     = textobj.schrift_farbe;
    vorlage.texte[id].name              = textobj.name;

    vorlage.texte[id].text              = textobj.text.replace('\r\n', '<br>');
    vorlage.texte[id].text              = vorlage.texte[id].text.replace('\n', '<br>');

    vorlage.texte[id].standardtext      = textobj.id;
    vorlage.texte[id].silbentrennung    = textobj.silbentrennung;
    vorlage.texte[id].zeilenabstand     = textobj.zeilenabstand;

    $('control_font').value = vorlage.texte[id].schrift_familie;
    $('control_fontsize').value = vorlage.texte[id].schrift_groesse;
	 zeilenabstand = vorlage.texte[id].zeilenabstand;
	 zeilenabstand = zeilenabstand.substr(0, zeilenabstand.indexOf('%'));
	 // $('value_linespacing_' + zeilenabstand).addClassname('active');
	 selected_values = $('select_linespacing').select('li.active');
	 selected_values.each(function(item) {
	  	item.removeClassName('active');
	 });
	 jQuery('#value_linespacing_' + zeilenabstand).addClass('active');
    //$('control_linespacing').value = vorlage.texte[id].zeilenabstand;
    // $('control_font_color').value = vorlage.texte[id].schrift_farbe;
    disable_buttons_for_font(vorlage.texte[id].schrift_familie);
    set_text_align(vorlage.texte[id].absatzausrichtung);

    //reinit textman
    close_textman(false);
    open_textman();

    save_element({create_eindruck: 1});
    close_toolbox_standardtexte();
  } else {
    add_element('textbox', {standardtext: textobj.id});
    close_toolbox_standardtexte();
  }
} //apply_standardtext

function add_element(typ, opts) {
  if (typeof(opts) == "undefined") {
    opts = {};
  }

  appear_loading();

  var postBody = 'aktTplID='+vorlage.id+'&typ='+typ+'&aktBaID='+aktBaID+'&bestellID='+bestellID+'&userID='+userID;
  if (opts.standardtext) {
    postBody += '&standardtext='+opts.standardtext;
  }
  if (opts.dateiname) {
    postBody += '&dateiname='+opts.dateiname;
  }
  if (opts.breite) {
    postBody += '&breite='+opts.breite;
  }
  if (opts.hoehe) {
    postBody += '&hoehe='+opts.hoehe;
  }
  if (opts.farbe) {
    postBody += '&farbe='+opts.farbe;
  }
  if (opts.apply_as_new_text) {
    postBody += '&apply_as_new_text='+opts.apply_as_new_text;
  }

  new Ajax.Request(
    'ajax_vorlage_add_element.php',
    {
      method: "post",
      postBody: postBody,
      onSuccess: cb_vorlage_add_element
    }
  );
} // add_element

function cb_vorlage_add_element(transport) {
  var response = transport.responseText;
  cb_eval_json(response);

  if (vorlage.new_element_typ) {
    delete vorlage.new_element_id;
    close_element({add_element: 1});
    reinit_layers();
    cb_zeige_vorlage(transport, {neu: 1});

    if (vorlage.apply_as_new_text) {
      close_textman();
      return;
    }
  }
} // cb_vorlage_add_element

function disable_all_absatz() {
  $('absatz-links').className = 'feprop-button-up';
  $('absatz-rechts').className = 'feprop-button-up';
  $('absatz-zentriert').className = 'feprop-button-up';
  $('absatz-block').className = 'feprop-button-up';
}

function schriftart_geaendert() {
  var font = $('control_font').value;
  disable_buttons_for_font(font);

  id = id_edit_element.replace('text', '');
  vorlage.texte[id].schrift_familie = font;

  //schliesse Textman, aber speichere nicht
  close_textman(false, true);

  save_element({create_eindruck: 1});
}

function schriftgroesse_geaendert() {
  id = id_edit_element.replace('text', '');
  vorlage.texte[id].schrift_groesse = $('control_fontsize').value;

  //schliesse Textman, aber speichere nicht
  close_textman(false, true);

  save_element({create_eindruck: 1});
}

function zeilenabstand_geaendert(zeilenabstand) {
  id = id_edit_element.replace('text', '');
  // vorlage.texte[id].zeilenabstand = $('control_linespacing').value;
  vorlage.texte[id].zeilenabstand = zeilenabstand;
  selected_values = $('select_linespacing').select('li.active');
  selected_values.each(function(item) {
  		item.removeClassName('active');
  });
  $('value_linespacing_' + zeilenabstand).addClassName('active');
  //schliesse Textman, aber speichere nicht
  close_textman(false, true);

  save_element({create_eindruck: 1});
}

function schriftfarbe_geaendert(color, elementtyp) {
  //$('schriftfarbe').style.backgroundColor = farben[$('schriftfarbe').value].background_color;
  //$('schriftfarbe').style.color           = farben[$('schriftfarbe').value].color;

  if (elementtyp == 'textbox') {
    id = id_edit_element.replace('text', '');
    // vorlage.texte[id].schrift_farbe = $('control_font_color').value;
    vorlage.texte[id].schrift_farbe = color;
    color_chooser_win.close();

    //schliesse Textman, aber speichere nicht
    close_textman(false, true);

    save_element({create_eindruck: 1});
  //$('font_colors').fade();
  }
  if (elementtyp == 'bild') {
    id = id_edit_element.replace('bild', '');
    vorlage.bilder[id].image_color = color;
    color_chooser_win.close();


                  save_element({create_eindruck:       1,
                                  remove_img_cache:    1,
                                  remove_img_cache_id: id});



  }
}

function show_font_colors( ){
	//$('font_colors').appear();
  id = id_edit_element.replace('text', '');

  color_chooser_win = popUP('popup.php?art=color_chooser','Farbwähler',500,400,'no','yes','yes');
  color_chooser_win.initial_color = vorlage.texte[id].schrift_farbe;
  color_chooser_win.elementtyp = 'textbox';
}


function select_color_image() {
  if (id_edit_element.indexOf('bild') != -1) {
    var id = id_edit_element.replace('bild', '');
    color_chooser_win = popUP('popup.php?art=color_chooser','Farbwähler',500,400,'no','yes','yes');
    color_chooser_win.initial_color = vorlage.bilder[id].image_color;
    color_chooser_win.initial_elementtyp = 'bild';
  }
  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    color_chooser_win = popUP('popup.php?art=color_chooser','Farbwähler',500,400,'no','yes','yes');
    color_chooser_win.initial_color = vorlage.texte[id].schrift_farbe;
    color_chooser_win.elementtyp = 'textbox';
  }
}


function text_geaendert() {
}

function obj_hoehe_geaendert() {
  var h = $('obj_hoehe_value').value;
  $('obj_hoehe_px_value').value = mm2pt(h + 'mm', obj.orig_dpi);
  var remove_img_cache = 0;
  var remove_img_cache_id = -1;
  var changed_image_width = -1;

  if (id_edit_element.indexOf('bild') != -1) {
    var new_b = Math.round(h * bild_ratio);
    $('obj_breite_value').value = new_b;
    $('obj_breite_px_value').value = mm2pt(new_b + 'mm', obj.orig_dpi);
    remove_img_cache = 1;
    remove_img_cache_id = id_edit_element.replace('bild', '');
    changed_image_width = id_edit_element.replace('bild', '');
  }

  save_element({create_eindruck:     1,
                 remove_img_cache:    remove_img_cache,
                 remove_img_cache_id: remove_img_cache_id,
                 changed_image_width: changed_image_width});
}

function obj_breite_geaendert() {
  var b = $('obj_breite_value').value;
  $('obj_breite_px_value').value = mm2pt(b + 'mm', obj.orig_dpi);
  var remove_img_cache = 0;
  var remove_img_cache_id = -1;
  var changed_image_width = -1;

  if (id_edit_element.indexOf('bild') != -1) {
    var new_h = Math.round(b / bild_ratio);
    $('obj_hoehe_value').value = new_h;
    $('obj_hoehe_px_value').value = mm2pt(new_h+'mm', obj.orig_dpi);
    remove_img_cache = 1;
    remove_img_cache_id = id_edit_element.replace('bild', '');
    changed_image_width = id_edit_element.replace('bild', '');
  }

  save_element({create_eindruck:     1,
                 remove_img_cache:    remove_img_cache,
                 remove_img_cache_id: remove_img_cache_id,
                 changed_image_width: changed_image_width});
}

function obj_posx_geaendert() {
  $('obj_posx_px_value').value = mm2pt($('obj_posx_value').value+'mm');
  save_element({create_eindruck: 1});
}

function obj_posy_geaendert() {
  $('obj_posy_px_value').value = mm2pt($('obj_posy_value').value+'mm');
  save_element({create_eindruck: 1});
}


function toggle_button(button, aktiv) {
  if (typeof(aktiv) != "undefined" && $(aktiv).className == 'verstecken') {
    return false;
  }

  if (button.indexOf('absatz') != -1) {
    disable_all_absatz();
  }

  if ($(button).className == 'feprop-button-up') {
    $(button).className = 'feprop-button-down';
  } else {
    $(button).className = 'feprop-button-up';
  }

  return true;
}

function disable_buttons_for_font(font) {
  var id = id_edit_element;
  var obj;
  if (id.indexOf('bild') != -1) {
    //bildelement
    id = id.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id.indexOf('text') != -1) {
     //textelement
    id = id.replace('text', '');
    obj = vorlage.texte[id];
  }

  //show("a",schriften[font]);
  if (schriften[font].name_bold != '') {
    if (is_editable(obj, 'control_text_bold')) {
      fade('control_text_bold_disabled');
      appear('control_text_bold');
    }
  } else {
    fade('control_text_bold');
    appear('control_text_bold_disabled');
  }
  if (schriften[font].name_italic != '') {
    if (is_editable(obj, 'control_text_italic')) {
      fade('control_text_italic_disabled');
      appear('control_text_italic');
    }
  } else {
    fade('control_text_italic');
    appear('control_text_italic_disabled');
  }

  fade('control_text_underline_disabled');
  appear('control_text_underline');
}

//schreibe Aenderungen zurueck
function save_element(opts) {
  //alert('save_element');
  if (typeof(opts) == "undefined") {
    opts = {};
  }

  var id = id_edit_element;
  var obj;
  if (id.indexOf('bild') != -1) {
    //bildelement
    id = id.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id.indexOf('text') != -1) {
     //textelement
    id = id.replace('text', '');
    obj = vorlage.texte[id];
  }

  fade('obj_vorschau');
  fade('obj_editor_ecke_se');

  if (opts.overwrite_size != 1) {
    obj.b = $('obj_breite_value').value;
    if (obj.b != '*' && obj.b != 0 && obj.b.indexOf('mm') == -1) {
      obj.b += 'mm';
    }

    obj.h = $('obj_hoehe_value').value;
    if (obj.h != '*' && obj.h != 0 && obj.h.indexOf('mm') == -1) {
      obj.h += 'mm';
    }
  }

  obj.x = $('obj_posx_value').value + 'mm';
  obj.y = $('obj_posy_value').value + 'mm';

  init_layers_done = false;

  var vorlage_json = escape(Object.toJSON(vorlage));
  //show('vorlage', vorlage_json);


  var postBody = 'vorlage='+vorlage_json+
          '&aktBaID='+aktBaID+'&bestellID='+bestellID+'&userID='+userID;

  if (opts.create_eindruck == 1) {
    postBody += '&create_eindruck=1';
  }

  if (opts.rotate_image == 1) {
    postBody += '&rotate_image=1'+
          '&rotate_image_id='+opts.rotate_image_id+
          '&rotate_image_degrees='+opts.rotate_image_degrees;
  }

  if (opts.remove_img_cache == 1 || opts.rotate_image == 1) {
    postBody += '&remove_img_cache=1'+
          '&remove_img_cache_id='+opts.remove_img_cache_id;
  }

  if (opts.farbigkeit == 1) {
    postBody += '&farbigkeit=1';
  }

  if (typeof(opts.changed_image_width) != "undefined") {
    postBody += '&changed_image_width='+opts.changed_image_width;
  }


  appear_loading();

   new Ajax.Request(
    "ajax_update_vorlage.php",
    {
      method: "post",
      postBody: postBody,
      onSuccess: cb_update_vorlage,
      // Handle 404
      on404: function(t) {
        alert('Error 404: location "' + t.statusText + '" was not found.');
      },
      // Handle other errors
      onFailure: function(t) {
        alert('Error ' + t.status + ' -- ' + t.statusText);
      }
    }
  );

  return true;
}


function cb_eval_json(response) {
  //show('cb_update_vorlage', response);
  fade_loading();

  try
  {
    vorlage = response.evalJSON(true);
  }
  catch(err)
  {
    alert(res_javascript["error_json_eindruck"]);
    location.href = location.href;
  }
}


function cb_update_vorlage(transport) {
  var response = transport.responseText;
  cb_eval_json(response);

  if (vorlage.error == 'check_image_width_error') {
    alert(res_javascript["error_dpi"].
            replace('%s1', EINDRUCK_EDITOR_BILD_MINDESTAUFLOESSUNG_DPI).
            replace('%s2', vorlage.image_width_error_max_width));

    delete vorlage.error;
    delete vorlage.image_width_error_max_width;

    zeige_element_rahmen();
  }

  delete vorlage.rotate_image;
  delete vorlage.farbigkeit;
  delete vorlage.changed_image_width;

  if (vorlage.create_eindruck == 1) {
    delete vorlage.create_eindruck;
    zeige_vorlage_preview(vorlage);
  }

  if (id_edit_element.indexOf('bild') != -1) {
    enable_bild_editor(id_edit_element.replace('bild', ''));
  }
  if (id_edit_element.indexOf('text') != -1) {
    enable_text_editor(id_edit_element.replace('text', ''));
    open_textman();
  }
}

function cb_zeige_vorlage(transport, opts) {
  var response = transport.responseText;
  cb_eval_json(response);

  zeige_vorlage_preview(vorlage, opts);
}

function zeige_vorlage_preview(vorlage, opts) {
  if (typeof(opts) == "undefined") {
    opts = {};
  }

  $('eindruck_bild_vorschau').src = vorlage.eindruck_vorschau_klein;

  delete vorlage.eindruck_vorschau_klein;
  delete vorlage.eindruck_vorschau_gross;

  layer = layer_sort();
  //init_layer_manager();
  if (id_edit_element != '') {
    //layman_activate_layer('layman_div_'+id_edit_element, {no_text_editor: 1});
  }

  //show('zeige_vorlage_preview opts', opts);
  if (opts && opts.remove_element == 1) {
    zeige_element_rahmen(false);
  } else {
    if (!opts.neu) {
      zeige_element_rahmen();
    }
  }

  if (opts && opts.move_layer == 1) {
    zeige_element_rahmen(false);
  }

  if (opts && opts.neu == 1) {
    edit_element({neu: 1});
  }

  if (opts && opts.history_apply_history == 1) {
    zeige_element_rahmen(false);
  }

} // zeige_vorlage_preview


function change_image_src_and_rebuild(val, b, h, farbe, reuse_image, dpi) {
  if (typeof(farbe) == "undefined") {
    farbe = 1;
  }
  if (typeof(reuse_image) == "undefined") {
    reuse_image = true;
  }

  if (typeof(dpi) != "undefined") {
    b = pt2mm(b, dpi);
    h = pt2mm(h, dpi);
  }

  window.setTimeout(function() {
    if (reuse_image &&
        id_edit_element &&
        id_edit_element.indexOf('bild') != -1) {

      var id = id_edit_element.replace('bild', '');

      //bildelement
      vorlage.bilder[id].dateiname = val;
      vorlage.bilder[id].b = b;
      vorlage.bilder[id].h = h;
      vorlage.bilder[id].farbe = 1;
      vorlage.bilder[id].dateiname_ziel = '';

//      var breite_slider = parseInt(pt2mm(b).replace(/mm/, ''));
//      var hoehe_slider = parseInt(pt2mm(h).replace(/mm/, ''));
//
//      $('obj_breite_value').value = breite_slider;
//      $('obj_hoehe_value').value = hoehe_slider;

      save_element({create_eindruck: 1, farbigkeit: 1, overwrite_size: 1});
    }
    else
    {
      /* immer ein neues Bild-Objekt anlegen */
      //nicht erlaubt, ein neues Bild anzulegen
      if (typeof(vorlage.editable.neues_bild) != "undefined" && vorlage.editable.neues_bild == 1) {
        add_element('bild', {dateiname: val, breite: b, hoehe: h, farbe: farbe});
      }
    }
  },1);
} // change_image_src_and_rebuild

function init_eindruck_editor() {
  init_layers();
  toolbox_enable_eindruck_history();
  open_textman();
}

function init_layers() {
  if (init_layers_done) {
    return;
  } else {
    init_layers_done = true;
  }
  var obj;

  //show('init_layers');

  for (var s=0; s<=vorlage.max_sortierung; s++) {

    for (var i=0; i < vorlage.texte.length; i++) {
      obj = vorlage.texte[i];
      if (obj.spezial == 'neu') {
        continue;
      }
      if (obj.sortierung == s) {
        var id = 'text'+i;
        if (id != id_edit_element) {
          //alert('create_web_layer '+'text'+i+' '+obj.spezial);
          create_web_layer(obj, id);
        }
      }
    }

    for (var i=0; i < vorlage.bilder.length; i++) {
      obj = vorlage.bilder[i];
      if (obj.spezial == 'neu') {
        continue;
      }
      if (obj.sortierung == s) {
        var id = 'bild'+i;
        if (id != id_edit_element) {
          create_web_layer(obj, id);
        }
      }
    }

  }
}

function reinit_layers() {
  drop_layers();
  init_layers_done = false;
  init_layers(id_edit_element);
}

function drop_layers() {
  //show('drop all');
  var cont = $('eindruck_vorschau_container');
  for (i=cont.childNodes.length-1; i>=0 ; i--) {
    cont.removeChild(cont.childNodes[i]);
  }
}


function create_web_layer(obj, id) {
  //show('create layer '+id);

  var div = document.getElementById("obj_layer_dummy").cloneNode(true);
  div.setAttribute('id', id);
  div.onclick = activate_layer;
  if (obj.typ == 'bild') {
    div.ondblclick = dbl_click_obj_image;
  }
  div.onmouseover = show_layer_by_mouse;
  div.onmouseout = hide_layer_by_mouse;
  $('eindruck_vorschau_container').appendChild(div);

  var vorlage_preview_resolution_klein_72 = mm2pt(vorlage.preview_resolution_klein);
  var vorlage_breite_72 = mm2pt(vorlage.b);
  var vorlage_hoehe_72  = mm2pt(vorlage.h);
  var ratio = vorlage_preview_resolution_klein_72 / vorlage_breite_72;

  var obj_b_72 = 0;
  var obj_h_72 = 0;

  if (obj.typ == 'bild') {
    obj_b_72 = Math.round(mm2pt(obj.dateiname_ziel_width) * ratio);
    obj_h_72 = Math.round(mm2pt(obj.dateiname_ziel_height) * ratio);
  } else {
    obj_b_72 = Math.round(mm2pt(obj.b) * ratio);
    obj_h_72 = Math.round(mm2pt(obj.h) * ratio);
  }

  var obj_x_72 = Math.round(mm2pt(obj.x) * ratio);
  var obj_y_72 = Math.round(mm2pt(obj.y) * ratio);

  if (obj.typ == 'textbox') {
    if (obj.orientation == 'lu') {
      obj_y_72 = Math.round(mm2pt(vorlage_hoehe_72) * ratio) - obj_h_72 - obj_y_72;
    }
  }


  var img_pos = findPos($('eindruck_bild_vorschau'));
//show('eindruck_bild_vorschau', {x:img_pos[0], y:img_pos[1]});
//show('ele', {x:obj_x_72, y:obj_y_72});
//show('ele groesse', {orig_b: obj.b, b:obj_b_72, orig_h: obj.h, h:obj_h_72});

//show('offset', Element.viewportOffset($('eindruck_bild_vorschau')));
//show('obj', obj);

  var star_x = img_pos[0] + obj_x_72;
  var star_y = img_pos[1] + obj_y_72;

  var obj_vorschau_b = obj_b_72+"px";
  var obj_vorschau_h = obj_h_72+"px";
//show('move to', {x:star_x, y:+star_y});

//alert(obj.typ+" "+obj.id+" id "+id+" h "+obj.h+" rendered "+obj_vorschau_h);
  if (obj_vorschau_b == 'px' || obj_b_72 <= 0) {obj_vorschau_b = '15px';}
  if (obj_vorschau_h == 'px' || obj_h_72 <= 0) {obj_vorschau_h = '15px';}
  $(id).setStyle({width: obj_vorschau_b, height: obj_vorschau_h});
  new Effect.Move(id,  {x: star_x,
                        y: star_y,
                        mode: 'absolute',
                        duration: 0});
  appear(id);
//  div.style.removeAttribute("backgroundColor", false);
}


function activate_layer() {
  //show('activate_layer', this.id);
  edit_element({}, this.id)
}


function show_layer_by_mouse() {
  this.style.borderWidth = '1px';
}


function hide_layer_by_mouse() {
  this.style.borderWidth = '0px';
}


function rotate_image() {
  var id  = id_edit_element.replace('bild', '');
  save_element({create_eindruck:       1,
          rotate_image:          1,
          rotate_image_id:      id,
          rotate_image_degrees: 90});
}


function layer_move_back() {
  layer_move('back');
}


function layer_move_backwards() {
  layer_move('backwards');
}


function layer_move_forwards() {
  layer_move('forwards');
}


function layer_move_front() {
  layer_move('front');
}


function layer_move(ziel) {
  var sortierung = 0;

  if (id_edit_element.indexOf('bild') != -1) {
    sortierung = vorlage.bilder[id_edit_element.replace('bild', '')].sortierung;
  }
  if (id_edit_element.indexOf('text') != -1) {
    sortierung = vorlage.texte[id_edit_element.replace('text', '')].sortierung;
  }

  if (ziel != 'back' && ziel != 'backwards' && ziel != 'forwards' && ziel != 'front' ||
      sortierung == 0) {
    return;
  }

  appear_loading();

  var postBody = 'aktTplID='+vorlage.id+
            '&sortierung='+sortierung+
            '&ziel='+ziel+
            '&aktBaID='+aktBaID+
            '&bestellID='+bestellID+
            '&userID='+userID;

  new Ajax.Request(
    'ajax_vorlage_move_layer.php',
    {
      method: "post",
      postBody: postBody,
      onSuccess: cb_vorlage_move_layer
    }
  );
}


function cb_vorlage_move_layer(transport) {
  var response = transport.responseText;
  cb_eval_json(response);

  if (vorlage.move_layer) {
    delete vorlage.move_layer;
    cb_zeige_vorlage(transport, {move_layer: 1});
  }
} // cb_vorlage_add_element


function layman_open_texteditor() {
  open_textman();
}


function preview_open_texteditor() {
  if (textman_opened) {
    close_textman();
  }
  open_textman('normal');
}

function get_alignment_from_string(align) {
  var textalign = 'justify';
  switch (align) {
    case 'linksbuendig':
    case 'links':
    case 'left':
      textalign = 'left';
      break;
    case 'rechtsbuendig':
    case 'rechts':
    case 'right':
      textalign = 'right';
      break;
    case 'zentriert':
    case 'center':
      textalign = 'center';
      break;
    case 'blocksatz':
    case 'block':
    case 'justify':
    default:
      textalign = 'justify';
      break;
  }
  return textalign;
}


function open_textman() {
//  if (!id_edit_element ||
//      id_edit_element.indexOf('text') == -1) {
//    return;
//  }

if ($('controls_textman_row1')) {
		fade('controls_textman_row1');
	}

  textman_opened = true;

  var fontweight = 'normal';
  var fontstyle = 'normal';
  var textalign = 'justify';
  var color = '#000000';
  var schrift_familie = 'Helvetica';
  var schrift_groesse = '12';

  if (vorlage.neuer_text) {
    if (vorlage.neuer_text.schrift_serie != 'normal') {
      fontweight = 'bold';
    }
    if (vorlage.neuer_text.schrift_form != 'normal') {
      fontstyle = 'italic';
    }

    textalign = get_alignment_from_string(vorlage.neuer_text.absatzausrichtung);
    //color = farben[vorlage.neuer_text.schrift_farbe]['background_color'];
    color = calc_cmyk_to_rgb(vorlage.neuer_text.schrift_farbe);
    schrift_familie = vorlage.neuer_text.schrift_familie;
    schrift_groesse = vorlage.neuer_text.schrift_groesse;
  }

  if (id_edit_element && id_edit_element.indexOf('text') != -1) {
    var i = id_edit_element.replace('text', '');

    if (vorlage.texte[i].schrift_serie != 'normal') {
      fontweight = 'bold';
    }
    if (vorlage.texte[i].schrift_form != 'normal') {
      fontstyle = 'italic';
    }

    textalign = get_alignment_from_string(vorlage.texte[i].absatzausrichtung);
    //if (typeof(farben[vorlage.texte[i].schrift_farbe]) != "undefined") {
      //color = farben[vorlage.texte[i].schrift_farbe]['background_color'];
    color = calc_cmyk_to_rgb(vorlage.texte[i].schrift_farbe);
    //} else {
      //color = farben['0 0 0 1']['background_color'];
    //  color = calc_cmyk_to_rgb('0 0 0 1');
   // }
    
    schrift_familie = vorlage.texte[i].schrift_familie;
    schrift_groesse = vorlage.texte[i].schrift_groesse;
  }
//alert(color);

  if (color == '#FFFFFF') color = '#000000';

  var currentTime = new Date();
  var style = 'font-family:'+schrift_familie+'; '+
              'font-size:'+schrift_groesse+'px; '+
              'color:'+color+'; '+
              'font-weight: '+fontweight+'; '+
              'font-style: '+fontstyle+'; '+
              'text-align: '+textalign+';';

  //alert(style);
  $('textman_earea').src = 'js/eArea/eArea/blank.html?t='+currentTime.getTime()+"&style="+escape(style);
} // open_textman


//http://www.easyrgb.com/index.php?X=MATH&H=14#text14
//http://www.easyrgb.com/index.php?X=MATH&H=12#text12
function calc_cmyk_to_rgb(cmyk_string) {

  var cmyk = cmyk_string.split(" ");
  var c = parseFloat(cmyk[0]);
  var m = parseFloat(cmyk[1]);
  var y = parseFloat(cmyk[2]);
  var k = parseFloat(cmyk[3]);

  //CMYK -> CMY
  //CMYK and CMY values from 0 to 1
  c = ( c * ( 1 - k ) + k );
  m = ( m * ( 1 - k ) + k );
  y = ( y * ( 1 - k ) + k );


  //CMY -> RGB
  //CMY values from 0 to 1
  //RGB results from 0 to 255

  var r = Math.round(( 1 - c ) * 255);
  var g = Math.round(( 1 - m ) * 255);
  var b = Math.round(( 1 - y ) * 255);
//alert((('#'+r)+g)+b);
  return (('#'+dec2hex(r))+dec2hex(g))+dec2hex(b);
}

function dec2hex(n){
    n = parseInt(n);var c = 'ABCDEF';
    var b = n / 16;var r = n % 16;b = b-(r/16);
    b = ((b>=0) && (b<=9)) ? b : c.charAt(b-10);
    return ((r>=0) && (r<=9)) ? b+''+r : b+''+c.charAt(r-10);
}

function set_text_for_earea(text) {
  if (typeof (text) == "undefined" && id_edit_element && id_edit_element.indexOf('text') != -1) {
    var i = id_edit_element.replace('text', '');
    text = vorlage.texte[i].text;

    if (vorlage.texte[i].clean_parent_text == 1 && text_aus_vater_vorlage(text)) {
        text = ' ';
    }

    text = unescape(text);
    if (vorlage.texte[i].schrift_serie != 'normal') {
      text = '<span style="font-weight: bold;">'+text+'</span>';
    }
    if (vorlage.texte[i].schrift_form != 'normal') {
      text = '<span style="font-style: italic;">'+text+'</span>';
    }
  }

  if (typeof (text) == "undefined") {
    text = ' ';
  }

  //unescaping
  text = text.replace(/BACKSLASH/g, "\\");
  text = text.replace(/SINGLEQUOTE/g, "'");
  text = text.replace(/PLUSSIGN/g, "+");

  editableAreaSetContents("textman_earea", text);
  //setFocusEarea("textman_earea"); //funktioniert nicht richtig

  $('textman_earea').contentWindow.focus()
} // eof set_text_for_earea


function close_textman(save, apply_without_save) {
  if (typeof(id_edit_element) == "undefined" || !id_edit_element && id_edit_element.indexOf('text') == -1) {
    add_element('textbox', {apply_as_new_text: true});
    return;
  }

  if (typeof(save) == "undefined") {
    save = true;
  }
  if (typeof(apply_without_save) == "undefined") {
    apply_without_save = false;
  }

  //var id = 'layman_text_'+id_edit_element;
  var text = editableAreaGetContents("textman_earea");
  //$(id).innerHTML = text;

  //Word-Text??
  if (text.indexOf('mso-') != -1 ||
       text.indexOf('<meta') != -1) {
    text = cleanWord(text);
    text = cleanAllTags(text);
    text = text.replace(/\n/g, '<br>');
  }

  //escaping
  //show('close_textman', text);
  text = text.replace(/\\/g, 'BACKSLASH');
  text = text.replace(/'/g, "SINGLEQUOTE");
  text = text.replace(/\+/g, "PLUSSIGN");
  text = text.replace(/<p>/ig, "");
  text = text.replace(/<\/p>/ig, "<br>");
  //show('close_textman', text);

  //text = escape(text);

  //trim
  text = text.replace(/^\s+/, '').replace (/\s+$/, '');

  //abschliessende <br> entfernen
  text = text.replace(/<br>$/i, '');
  text = text.replace(/<br><\/span>$/i, '</span>');
  text = text.replace(/<br><\/span><\/span>$/i, '</span></span>');
  text = text.replace(/<br><\/span><\/span><\/span>$/i, '</span></span></span>');
  text = text.replace(/<br><\/span><\/span><\/span><\/span>$/i, '</span></span></span></span>');
  text = text.replace(/<br><\/span><\/span><\/span><\/span><\/span>$/i, '</span></span></span></span></span>');

  text = text.replace(/<img[^>]*>/i, '');


  var i = id_edit_element.replace('text', '');

  if (save && vorlage.texte[i].text != text) {
    vorlage.texte[i].text = text;
    save_element({create_eindruck: 1});
  }
  if (apply_without_save) {
    vorlage.texte[i].text = text;
  }


  //unescaping
  text = text.replace(/BACKSLASH/g, "\\");
  text = text.replace(/SINGLEQUOTE/g, "'");
  text = text.replace(/PLUSSIGN/g, "+");


  editableAreaSetContents("textman_earea", text);


  //appear('obj_vorschau_open_texteditor');
  if ($('textman'))
  {
    fade('textman');
  }
  if ($('obj_vorschau_texteditor_clean_format'))
  {
    fade('obj_vorschau_texteditor_clean_format');
  }
  if ($('obj_vorschau_texteditor_clean_word'))
  {
    fade('obj_vorschau_texteditor_clean_word');
  }

  textman_opened = false;
} // close_textman


function text_clean_format(serie, form) {
  var val;
  var i_text = id_edit_element.replace('text', '');

  if (typeof(serie) == "undefined") {
    serie = 'normal';
  }
  if (typeof(form) == "undefined") {
    form = 'normal';
  }
  vorlage.texte[i_text].schrift_serie = serie;
  vorlage.texte[i_text].schrift_form = form;

  if (textman_opened) {
    val = editableAreaGetContents("textman_earea");
  } else {
    val = vorlage.texte[i_text].text;
  }

  text = cleanAllTags(val);

  if (textman_opened) {
    set_text_for_earea(text);
  } else {
    vorlage.texte[i_text].text = text;
    save_element({create_eindruck: 1});
  }
} // text_clean_format


function cleanAllTags(val) {
  var laenge = val.length;
  var text = '';
  var flag = true;
  var br = false;

  for (var i=0;i<laenge;i++) {
    var zeichen = val.substring(i, i+1);
    var threechars = val.substring(i, i+3);
    if (zeichen == '<') {
      flag = false;
    }
    if (zeichen == '>') {
      flag = true;
      if (br) {
        text += "<br>";
        br = false;
      }
    } else {
      if (flag) {
        text += zeichen;
      }
    }
    if (threechars == '<' + 'br') {
      br = true;
    }
  }
  return text;
}

function text_align_left(pressed) {
  if (typeof(pressed) == "undefined")
  {
    pressed = true;
  }

  var obj;
  var id = 0;
  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  if (pressed &&
      (obj.absatzausrichtung == 'linksbuendig' ||
       obj.absatzausrichtung == 'links' ||
       obj.absatzausrichtung == 'left')) {
    obj.absatzausrichtung = 'justify';
    fade('control_text_align_left_pressed');
    appear('control_text_align_left');
    fade('control_text_align_justify');
    appear('control_text_align_justify_pressed');
  } else {
    obj.absatzausrichtung = 'left';
    fade('control_text_align_center_pressed');
    fade('control_text_align_right_pressed');
    fade('control_text_align_justify_pressed');
    fade('control_text_align_left');

    if (is_editable(obj, 'absatzausrichtung')) {
      appear('control_text_align_center');
      appear('control_text_align_right');
      appear('control_text_align_justify');
      appear('control_text_align_left_pressed');
    }else {
      appear('control_text_align_center_disabled');
      appear('control_text_align_right_disabled');
      appear('control_text_align_justify_disabled');
      appear('control_text_align_left_disabled');
    }
  }
  if (pressed) {

    //schliesse Textman, aber speichere nicht
    close_textman(false, true);

    save_element({create_eindruck: 1});
  }
}

function text_align_center(pressed) {
  if (typeof(pressed) == "undefined") {
    pressed = true;
  }
  var obj;
  var id = 0;
  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  if (pressed &&
      (obj.absatzausrichtung == 'zentriert' ||
       obj.absatzausrichtung == 'center')) {
       obj.absatzausrichtung = 'justify';
    fade('control_text_align_center_pressed');
    appear('control_text_align_center');
    fade('control_text_align_justify');
    appear('control_text_align_justify_pressed');
  } else {
    obj.absatzausrichtung = 'center';
    fade('control_text_align_left_pressed');
    fade('control_text_align_right_pressed');
    fade('control_text_align_justify_pressed');
    fade('control_text_align_center');
    if (is_editable(obj, 'absatzausrichtung')) {
      appear('control_text_align_left');
      appear('control_text_align_right');
      appear('control_text_align_justify');
      appear('control_text_align_center_pressed');
    } else {
      appear('control_text_align_center_disabled');
      appear('control_text_align_right_disabled');
      appear('control_text_align_justify_disabled');
      appear('control_text_align_left_disabled');
    }
  }
  if (pressed) {

    //schliesse Textman, aber speichere nicht
    close_textman(false, true);

    save_element({create_eindruck: 1});
  }
}

function text_align_right(pressed) {
  if (typeof(pressed) == "undefined") {
    pressed = true;
  }
  var obj;
  var id = 0;
  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  if (pressed &&
      (obj.absatzausrichtung == 'rechtsbuendig' ||
       obj.absatzausrichtung == 'rechts' ||
       obj.absatzausrichtung == 'right')) {
    obj.absatzausrichtung = 'justify';
    fade('control_text_align_right_pressed');
    appear('control_text_align_right');
    fade('control_text_align_justify');
    appear('control_text_align_justify_pressed');
  } else {
    obj.absatzausrichtung = 'right';
    fade('control_text_align_center_pressed');
    fade('control_text_align_left_pressed');
    fade('control_text_align_justify_pressed');
    fade('control_text_align_right');
    if (is_editable(obj, 'absatzausrichtung')) {
      appear('control_text_align_center');
      appear('control_text_align_left');
      appear('control_text_align_justify');
      appear('control_text_align_right_pressed');
    } else {
      appear('control_text_align_center_disabled');
      appear('control_text_align_right_disabled');
      appear('control_text_align_justify_disabled');
      appear('control_text_align_left_disabled');
    }
  }
  if (pressed) {

    //schliesse Textman, aber speichere nicht
    close_textman(false, true);

    save_element({create_eindruck: 1});
  }
}

function text_align_justify(pressed) {
  if (typeof(pressed) == "undefined") {
    pressed = true;
  }
  var obj;
  var id = 0;
  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  if (pressed &&
      (obj.absatzausrichtung == 'blocksatz' ||
       obj.absatzausrichtung == 'block' ||
       obj.absatzausrichtung == 'justify')) {
    obj.absatzausrichtung = 'center';
    fade('control_text_align_justify_pressed');
    appear('control_text_align_justify');
    fade('control_text_align_center');
    appear('control_text_align_center_pressed');
  } else {
    obj.absatzausrichtung = 'justify';
    fade('control_text_align_center_pressed');
    fade('control_text_align_right_pressed');
    fade('control_text_align_left_pressed');
    fade('control_text_align_justify');
    if (is_editable(obj, 'absatzausrichtung')) {
      appear('control_text_align_center');
      appear('control_text_align_right');
      appear('control_text_align_left');
      appear('control_text_align_justify_pressed');
    } else {
      appear('control_text_align_center_disabled');
      appear('control_text_align_right_disabled');
      appear('control_text_align_justify_disabled');
      appear('control_text_align_left_disabled');
    }
  }
  if (pressed) {

    //schliesse Textman, aber speichere nicht
    close_textman(false, true);

    save_element({create_eindruck: 1});
  }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////
//Functions for Tabpanes
//////////////////////////////////////////////////////////////////////////////////////////////////////


function init_layer_manager() {
  clear_layer_manager();

  var bilder = 0;
  var texte = 0;
  var img_no = 0;
  var txt_no = 0;

  for (var i=0; i < layer.length; i++) {
    var obj = layer[i];
    if (obj.typ == 'bild') {
      bilder++;
      img_no = parseInt(obj.orig_id.replace('bild', '')) + 1;
      var data = {layman_div_dummy:            'layman_div_'+obj.orig_id,
                    layman_div_class:            'layer_manager_object',
                    layman_image_no_dummy:       img_no,
                    layman_image_img_dummy:      obj.dateiname,
                    layman_image_dpi_dummy:      'dpi',
                    layman_image_color_dummy:    'color',
                    layman_up_dummy:             'layman_move_forwards_'+obj.orig_id,
                    layman_down_dummy:           'layman_move_backwards_'+obj.orig_id,
                    layman_remove_element_dummy: 'layman_remove_element_'+obj.orig_id};

      var div = Builder.node('div', {id:'layman_image_div_'+i});
      $('tab-page-1-content').appendChild(div);
      $(div).innerHTML = layman_image_template.evaluate(data);
    }
    if (obj.typ == 'textbox') {
      texte++;
      txt_no = parseInt(obj.orig_id.replace('text', '')) + 1;
      var data = {layman_div_dummy:            'layman_div_'+obj.orig_id,
              layman_div_class:      'layer_manager_object',
              layman_text_no_dummy:        txt_no,
              layman_text:                 obj.text.replace('\n', '<br>'),
              layman_up_dummy:             'layman_move_forwards_'+obj.orig_id,
              layman_down_dummy:           'layman_move_backwards_'+obj.orig_id,
              layman_remove_element_dummy: 'layman_remove_element_'+obj.orig_id,
              layman_text_dummy:       'layman_text_'+obj.orig_id//,
              //layman_edit_text_dummy:      'layman_edit_text_'+obj.orig_id
              };

      var div = Builder.node('div', {id:'layman_text_div_'+i});
      $('tab-page-1-content').appendChild(div);
      $(div).innerHTML = layman_text_template.evaluate(data);
    }
  }
}

function clear_layer_manager() {
  var cont = $('tab-page-1-content');
  for (i=cont.childNodes.length-1; i>=0 ; i--) {
    cont.removeChild(cont.childNodes[i]);
  }
}

function layer_sort() {
  var max = vorlage.max_sortierung;
  var lay = [];
  var obj;

  for (var i=0; i < max;i++) {
    lay[i] = [];
  }
  for (var i=0; i < vorlage.texte.length; i++) {
    obj = vorlage.texte[i];
    obj.orig_id = 'text'+i;
    lay[max-obj.sortierung] = obj;
  }
  for (var i=0; i < vorlage.bilder.length; i++) {
    obj = vorlage.bilder[i];
    obj.orig_id = 'bild'+i;
    lay[max-obj.sortierung] = obj;
  }
  return lay;
}

function _layman_activate_layer(id) {
  layman_deactivate_layers();

  $(id).setAttribute("class", "layer_manager_object_active");
  $(id).setAttribute("className", "layer_manager_object_active");
}

function layman_activate_layer(id, opts) {
  if (typeof(opts) == "undefined") {
    opts = {};
  }

  id = id.replace('layman_div_', '');
  if (id == id_edit_element) {
    if (id.indexOf('text') != -1 && !textman_opened && !opts.no_text_editor) {
      layman_open_texteditor();
    }
  } else {
    edit_element({}, id);
  }
}

function layman_deactivate_layers() {

  for (var i=0; i < layer.length; i++) {
    var obj = layer[i];
    if (typeof(obj.orig_id) == "undefined") {
      continue;
    }
    var id = 'layman_div_'+obj.orig_id;

    $(id).setAttribute("class", "layer_manager_object");
    $(id).setAttribute("className", "layer_manager_object");

    if (id_edit_element != obj.orig_id) {
      fade('layman_move_forwards_'+obj.orig_id);
      appear('layman_move_forwards_'+obj.orig_id+'_disabled');

      fade('layman_move_backwards_'+obj.orig_id);
      appear('layman_move_backwards_'+obj.orig_id+'_disabled');

      fade('layman_remove_element_'+obj.orig_id);
      appear('layman_remove_element_'+obj.orig_id+'_disabled');

      /*
      if (obj.orig_id.indexOf('text') != -1) {
        Effect.Fade('layman_edit_text_'+obj.orig_id, {duration: 0});
        Effect.Appear('layman_edit_text_'+obj.orig_id+'_disabled', {duration: 0});
      }
      */
    }
  }
}



function toolbox_toggle_layouts() {
  Effect.toggle('toolbox_layouts_content');
}

function show_select_template() {
	$('select_template').show();
}

function show_select_linespacing() {
	$('select_linespacing').show();
}

function toolbox_toggle_texttemplates() {
  var ubn = 0;
  if (id_edit_element &&
      id_edit_element.indexOf('text') != -1) {
    ubn = 1;
  }

  $('toolbox_standardtexte_iframe').src = 'popup.php?art=stdtext&ubn='+ubn+'&gruppe=1';
  
  $('select_template_preset').addClassName('aktiv');
  if ($('select_template_own')) {
    $('select_template_own').removeClassName('aktiv');
  }

  var div = $('select_template');
  var div_pos = findPos(div);

  $('toolbox_standardtexte').style.left = div_pos[0]+90+'px';
  $('toolbox_standardtexte').style.top = div_pos[1]+2+'px';
  $('toolbox_standardtexte').setStyle({opacity: 0});
  $('toolbox_standardtexte').style.display = 'block';

  new Effect.Opacity('toolbox_standardtexte', {
    duration: 0.25,
    transition: Effect.Transitions.linear,
    from: 0,
    to: 1
  });
}


function toolbox_text_open() {
  if ($('toolbox_image_props_container'))
  {
    for (var i = 0; i < $('toolbox_image_props_container').childNodes.length; i++) {
      /* if ($('toolbox_image_props_container').childNodes[i].id == 'toolbox_position_mm') {
        var div_toolbox_position_mm    = $('toolbox_image_props_container').removeChild($('toolbox_position_mm'));
        $('toolbox_text_props_container').appendChild(div_toolbox_position_mm);
      }

      if ($('toolbox_image_props_container').childNodes[i].id == 'toolbox_position_px') {
        var div_toolbox_position_px    = $('toolbox_image_props_container').removeChild($('toolbox_position_px'));
        $('toolbox_text_props_container').appendChild(div_toolbox_position_px);
      } */
      if ($('toolbox_image_props_container').childNodes[i].id == 'toolbox_position_mm_edit') {
        var div_toolbox_position_mm_edit    = $('toolbox_image_props_container').removeChild($('toolbox_position_mm_edit'));
        $('toolbox_text_props_container').appendChild(div_toolbox_position_mm_edit);
      }

      if ($('toolbox_image_props_container').childNodes[i].id == 'toolbox_position_px_edit') {
        var div_toolbox_position_px_edit    = $('toolbox_image_props_container').removeChild($('toolbox_position_px_edit'));
        $('toolbox_text_props_container').appendChild(div_toolbox_position_px_edit);
      }

      if ($('toolbox_image_props_container').childNodes[i].id == 'toolbox_values_mm_link') {
        var div_toolbox_values_mm_link = $('toolbox_image_props_container').removeChild($('toolbox_values_mm_link'));
        $('toolbox_text_props_container').appendChild(div_toolbox_values_mm_link);
      }

      if ($('toolbox_image_props_container').childNodes[i].id == 'toolbox_values_px_link') {
        var div_toolbox_values_px_link = $('toolbox_image_props_container').removeChild($('toolbox_values_px_link'));
        $('toolbox_text_props_container').appendChild(div_toolbox_values_px_link);
      }
    }
  }

  if ($('toolbox_add_textfield_content'))
  {
    appear('toolbox_add_textfield_content');
  }
}

function toolbox_text_close()
{
  if ($('toolbox_text_props_container'))
  {
    for (var i = 0; i < $('toolbox_text_props_container').childNodes.length; i++) {
      if ($('toolbox_text_props_container').childNodes[i].id == 'toolbox_position_mm') {
        var div_toolbox_position_mm    = $('toolbox_text_props_container').removeChild($('toolbox_position_mm'));
        $('toolbox_image_props_container').appendChild(div_toolbox_position_mm);
      }

      if ($('toolbox_text_props_container').childNodes[i].id == 'toolbox_position_px') {
        var div_toolbox_position_px    = $('toolbox_text_props_container').removeChild($('toolbox_position_px'));
        $('toolbox_image_props_container').appendChild(div_toolbox_position_px);
      }

      if ($('toolbox_text_props_container').childNodes[i].id == 'toolbox_values_mm_link') {
        var div_toolbox_values_mm_link = $('toolbox_text_props_container').removeChild($('toolbox_values_mm_link'));
        $('toolbox_image_props_container').appendChild(div_toolbox_values_mm_link);
      }

      if ($('toolbox_text_props_container').childNodes[i].id == 'toolbox_values_px_link') {
        var div_toolbox_values_px_link = $('toolbox_text_props_container').removeChild($('toolbox_values_px_link'));
        $('toolbox_image_props_container').appendChild(div_toolbox_values_px_link);
      }
    }
  }

  if ($('toolbox_add_textfield_content'))
  {
    fade('toolbox_add_textfield_content');
  }
}

function toolbox_image_open() {
//  if ($('toolbox_add_image_content')) {
//  	appear('toolbox_add_image_content');
//  }
}

function toolbox_image_close() {
//  if ($('toolbox_add_image_content')) {
//  	fade('toolbox_add_image_content');
//  }
}

function toolbox_add_textfield() {
  add_element('textbox');
}

function open_image_manager(new_image_obj_allowed) {
  if (typeof(new_image_obj_allowed) == 'undefined') {
    new_image_obj_allowed = true;
  }

  if (!new_image_obj_allowed) {
    //wenn kein obj ausgewählt oder eine textbox
    if (typeof(id_edit_element) == "undefined" || id_edit_element.indexOf('bild') == -1) {
      return false;
    }
  }

  if (typeof(id_edit_element) != 'undefined') {
    if (id_edit_element.indexOf('bild') != -1) {
      var i = id_edit_element.replace('bild', '');
      if (!is_editable(vorlage.bilder[i], 'dateiname')) {
        return false;
      }
    }
  }

  popUP('popup.php?art=dateien','Dateiverwaltung',550,600,'no','yes','yes');
}

function toolbox_image_color_changed(color) {
  var i = id_edit_element.replace('bild', '');
  // vorlage.bilder[i].farbe = $('toolbox_image_color').value;
  vorlage.bilder[i].farbe = color;
  save_element({create_eindruck: 1, farbigkeit: 1, remove_img_cache: 1, remove_img_cache_id: i});
}

function black_white() {
  var i = id_edit_element.replace('bild', '');

  if (vorlage.bilder[i].farbe == 1)
  {
    vorlage.bilder[i].farbe = 0;
  }
  else
  {
    vorlage.bilder[i].farbe = 1;
  }

  vorlage.bilder[i].dateiname_ziel = '';
  save_element({create_eindruck: 1, farbigkeit: 1});
}

function toolbox_values_mm() {
  // fade('toolbox_groesse_px');
  if ($('toolbox_groesse_mm')) {
  	appear('toolbox_groesse_mm');
  }
  // fade('toolbox_position_px');
  appear('toolbox_position_mm');
  // fade('toolbox_values_mm_link');
  // appear('toolbox_values_px_link');
}

function toolbox_values_px() {
  fade('toolbox_groesse_mm');
  appear('toolbox_groesse_px');
  fade('toolbox_position_mm');
  appear('toolbox_position_px');
  // fade('toolbox_values_px_link');
  appear('toolbox_values_mm_link');
}

function toolbox_groesse_mm_edit() {
  var id;
  var obj;
  var typ;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
    typ = 'bild';
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
    typ = 'text';
  }

  if (typ == 'bild')
  {
    $('toolbox_obj_breite_mm_edit').value = Math.round(pt2mm(obj.b, obj.orig_dpi).replace('mm', ''));
    $('toolbox_obj_hoehe_mm_edit').value  = Math.round(pt2mm(obj.h, obj.orig_dpi).replace('mm', ''));
  }
  else
  {
    $('toolbox_obj_breite_mm_edit').value = Math.round(pt2mm(obj.b).replace('mm', ''));
    $('toolbox_obj_hoehe_mm_edit').value  = Math.round(pt2mm(obj.h).replace('mm', ''));
  }

  // fade('toolbox_groesse_mm_show');
  // fade('toolbox_values_px_link');

  if (is_editable(obj, 'groesse')) {
    appear('toolbox_groesse_mm_edit');
  } else {
    fade('toolbox_groesse_mm_edit')
  }
}

function toolbox_groesse_px_edit() {
  var i = id_edit_element.replace('bild', '');

  $('toolbox_obj_breite_px_edit').value = Math.round(mm2pt(vorlage.bilder[i].b, vorlage.bilder[i].orig_dpi));
  $('toolbox_obj_hoehe_px_edit').value = Math.round(mm2pt(vorlage.bilder[i].h, vorlage.bilder[i].orig_dpi));
  // fade('toolbox_groesse_px_show');
  // fade('toolbox_values_mm_link');
  if ($('toolbox_grosse_px_edit')) {
  	appear('toolbox_groesse_px_edit');
  }
}



function toolbox_obj_groesse_check(einheit) {
  var id;
  var obj;
  var typ;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
    typ = 'bild';
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
    typ = 'text';
  }

  var obj_x = parseInt(pt2mm(obj.x+'').replace(/mm/, ''));
  var obj_y = parseInt(pt2mm(obj.y+'').replace(/mm/, ''));
  var vorlage_b = parseInt(pt2mm(vorlage.b+'').replace(/mm/, ''));
  var vorlage_h = parseInt(pt2mm(vorlage.h+'').replace(/mm/, ''));

  var neue_breite;
  var neue_hoehe;

  if (einheit == 'mm') {
    neue_breite = parseInt($('toolbox_obj_breite_mm_edit').value);
    neue_hoehe  = parseInt($('toolbox_obj_hoehe_mm_edit').value);
  } else {
    neue_breite = parseInt(pt2mm($('toolbox_obj_breite_px_edit').value).replace(/mm/, ''));
    neue_hoehe  = parseInt(pt2mm($('toolbox_obj_hoehe_px_edit').value).replace(/mm/, ''));
  }

  if (isNaN(neue_breite) || neue_breite < 0) {
    neue_breite = 0;
  }
  if (isNaN(neue_hoehe) || neue_hoehe < 0) {
    neue_hoehe = 0;
  }

  //zu weit rechts?
  if (obj_x + neue_breite > vorlage_b - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_RECHTS_MM) {
    neue_breite = vorlage_b - obj_x - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_RECHTS_MM;
    neue_hoehe = Math.round(neue_breite / bild_ratio);

    if (einheit == 'mm') {
      $('toolbox_obj_breite_mm_edit').value = neue_breite;
      $('toolbox_obj_hoehe_mm_edit').value = neue_hoehe;
    } else {
      $('toolbox_obj_breite_px_edit').value = mm2pt(neue_breite+'mm');
      $('toolbox_obj_hoehe_px_edit').value = mm2pt(neue_hoehe+'mm');
    }
  }

  //zu weit unten?
  if (obj_y + neue_hoehe > vorlage_h - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_UNTEN_MM) {
    neue_hoehe = vorlage_h - obj_y - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_UNTEN_MM;
    neue_breite =  Math.round(neue_hoehe * bild_ratio);

    if (einheit == 'mm') {
      $('toolbox_obj_breite_mm_edit').value = neue_breite;
      $('toolbox_obj_hoehe_mm_edit').value = neue_hoehe;
    } else {
      $('toolbox_obj_breite_px_edit').value = mm2pt(neue_breite+'mm');
      $('toolbox_obj_hoehe_px_edit').value = mm2pt(neue_hoehe+'mm');
    }
  }

  //zu klein?
  if ($('toolbox_obj_breite_mm_edit').value < EINDRUCK_EDITOR_MINDESTGROESSE_IN_MM)
  {
    neue_breite = EINDRUCK_EDITOR_MINDESTGROESSE_IN_MM;
    neue_hoehe = Math.round(neue_breite / bild_ratio);

    if (einheit == 'mm') {
      $('toolbox_obj_breite_mm_edit').value = neue_breite;
      $('toolbox_obj_hoehe_mm_edit').value = neue_hoehe;
    } else {
      $('toolbox_obj_breite_px_edit').value = mm2pt(neue_breite+'mm');
      $('toolbox_obj_hoehe_px_edit').value = mm2pt(neue_hoehe+'mm');
    }
  }
  if (typ == 'bild' && $('toolbox_obj_hoehe_mm_edit').value < EINDRUCK_EDITOR_MINDESTGROESSE_IN_MM)
  {
    neue_hoehe = EINDRUCK_EDITOR_MINDESTGROESSE_IN_MM;
    neue_breite =  Math.round(neue_hoehe * bild_ratio);

    if (einheit == 'mm') {
      $('toolbox_obj_breite_mm_edit').value = neue_breite;
      $('toolbox_obj_hoehe_mm_edit').value = neue_hoehe;
    } else {
      $('toolbox_obj_breite_px_edit').value = mm2pt(neue_breite+'mm');
      $('toolbox_obj_hoehe_px_edit').value = mm2pt(neue_hoehe+'mm');
    }
  }
}

function toolbox_obj_position_check(einheit) {
  var id;
  var obj;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  var new_posx;
  var new_posy;

  if (einheit == 'mm') {
    new_posx = parseInt($('toolbox_obj_x_mm_edit').value);
    new_posy = parseInt($('toolbox_obj_y_mm_edit').value);
  } else {
    new_posx = parseInt(pt2mm($('toolbox_obj_x_px_edit').value).replace(/mm/, ''));
    new_posy = parseInt(pt2mm($('toolbox_obj_y_px_edit').value).replace(/mm/, ''));
  }

  if (isNaN(new_posx) || new_posx < 0) {
    new_posx = 0;
  }
  if (isNaN(new_posy) || new_posy < 0) {
    new_posy = 0;
  }

  //zu weit links?
  if (new_posx < EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_LINKS_MM) {
    new_posx = EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_LINKS_MM;

    if (einheit == 'mm') {
      $('toolbox_obj_x_mm_edit').value = new_posx;
    } else {
      $('toolbox_obj_x_px_edit').value = mm2pt(new_posx+'mm');
    }
  }
  //zu weit oben?
  if (new_posy < EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_OBEN_MM) {
    new_posy = EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_OBEN_MM;

    if (einheit == 'mm') {
      $('toolbox_obj_y_mm_edit').value = new_posy;
    } else {
      $('toolbox_obj_y_px_edit').value = mm2pt(new_posy+'mm');
    }
  }

  var obj_b = parseInt(pt2mm(obj.b+'', obj.orig_dpi).replace(/mm/, ''));
  var obj_h = parseInt(pt2mm(obj.h+'', obj.orig_dpi).replace(/mm/, ''));
  var vorlage_b = parseInt(pt2mm(vorlage.b+'').replace(/mm/, ''));
  var vorlage_h = parseInt(pt2mm(vorlage.h+'').replace(/mm/, ''));
  var ecke_se_x = new_posx + obj_b;
  var ecke_se_y = new_posy + obj_h;

  //zu weit rechts?
  if (ecke_se_x+EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_RECHTS_MM > vorlage_b) {
    new_posx = vorlage_b - obj_b - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_RECHTS_MM;

    if (einheit == 'mm') {
      $('toolbox_obj_x_mm_edit').value = new_posx;
    } else {
      $('toolbox_obj_x_px_edit').value = mm2pt(new_posx+'mm');
    }
  }

  //zu weit unten?
  if (ecke_se_y+EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_UNTEN_MM > vorlage_h) {
    new_posy = vorlage_h - obj_h - EINDRUCK_EDITOR_MINDEST_ABSTAND_RAND_UNTEN_MM;
    if (einheit == 'mm') {
      $('toolbox_obj_y_mm_edit').value = new_posy;
    } else {
      $('toolbox_obj_y_px_edit').value = mm2pt(new_posy+'mm');
    }
  }

}



function toolbox_obj_breite_mm_changed() {
  if (id_edit_element.indexOf('bild') != -1) {
    var b = $('toolbox_obj_breite_mm_edit').value;
    var new_h = Math.round(b / bild_ratio);
    $('toolbox_obj_hoehe_mm_edit').value = new_h;
  }
  toolbox_obj_groesse_check('mm');
}

function toolbox_obj_hoehe_mm_changed() {
  if (id_edit_element.indexOf('bild') != -1) {
    var h = $('toolbox_obj_hoehe_mm_edit').value;
    var new_b = Math.round(h * bild_ratio);
    $('toolbox_obj_breite_mm_edit').value = new_b;
  }
  toolbox_obj_groesse_check('mm');
}

function toolbox_obj_breite_px_changed() {
  if (id_edit_element.indexOf('bild') != -1) {
    var b = $('toolbox_obj_breite_px_edit').value;
    var new_h = Math.round(b / bild_ratio);
    $('toolbox_obj_hoehe_px_edit').value = new_h;
  }
  toolbox_obj_groesse_check('px');
}

function toolbox_obj_hoehe_px_changed() {
  if (id_edit_element.indexOf('bild') != -1) {
    var h = $('toolbox_obj_hoehe_px_edit').value;
    var new_b = Math.round(h * bild_ratio);
    $('toolbox_obj_breite_px_edit').value = new_b;
  }
  toolbox_obj_groesse_check('px');
}


function toolbox_groesse_px_save() {
  var remove_img_cache = 0;
  var remove_img_cache_id = -1;
  var changed_image_width = -1;

  var id;
  var obj;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  if (id_edit_element.indexOf('bild') != -1) {
    var new_h = $('toolbox_obj_hoehe_px_edit').value;
    var new_b = $('toolbox_obj_breite_px_edit').value;
    $('obj_hoehe_px_value').value = new_h;
    $('obj_hoehe_value').value = pt2mm(new_h, obj.orig_dpi);
    $('obj_breite_px_value').value = new_b;
    $('obj_breite_value').value = pt2mm(new_b, obj.orig_dpi);
    remove_img_cache = 1;
    remove_img_cache_id = id_edit_element.replace('bild', '');
    changed_image_width = id_edit_element.replace('bild', '');
  }

  save_element({create_eindruck:     1,
                 remove_img_cache:    remove_img_cache,
                 remove_img_cache_id: remove_img_cache_id,
                 changed_image_width: changed_image_width});
}

function toolbox_groesse_mm_save() {
  var remove_img_cache = 0;
  var remove_img_cache_id = -1;
  var changed_image_width = -1;

  var id;
  var obj;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  var new_h = $('toolbox_obj_hoehe_mm_edit').value;
  var new_b = $('toolbox_obj_breite_mm_edit').value;
  $('obj_hoehe_value').value = new_h;
  $('obj_breite_value').value = new_b;

  if (id_edit_element.indexOf('bild') != -1) {
    $('obj_hoehe_px_value').value = mm2pt(new_h+'mm', obj.orig_dpi);
    $('obj_breite_px_value').value = mm2pt(new_b+'mm', obj.orig_dpi);

    remove_img_cache = 1;
    remove_img_cache_id = id_edit_element.replace('bild', '');
    changed_image_width = id_edit_element.replace('bild', '');
  }
  else
  {
    $('obj_hoehe_px_value').value = mm2pt(new_h+'mm');
    $('obj_breite_px_value').value = mm2pt(new_b+'mm');
  }

  save_element({create_eindruck:      1,
                 remove_img_cache:    remove_img_cache,
                 remove_img_cache_id: remove_img_cache_id,
                 changed_image_width: changed_image_width});
}

function toolbox_groesse_mm_edit_cancel() {
  fade('toolbox_groesse_mm_edit');
  appear('toolbox_groesse_mm_show');
  appear('toolbox_values_px_link');
}

function toolbox_groesse_px_edit_cancel() {
  fade('toolbox_groesse_px_edit');
  if ($('toolbox_groesse_px_show'))
  {
    appear('toolbox_groesse_px_show');
  }
  if ($('toolbox_values_mm_link'))
  {
    appear('toolbox_values_mm_link');
  }
}


function toolbox_position_mm_edit() {
  var id;
  var obj;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  $('toolbox_obj_x_mm_edit').value = pt2mm(obj.x).replace('mm', '');
  $('toolbox_obj_y_mm_edit').value = pt2mm(obj.y).replace('mm', '');
  if ($('toolbox_position_mm_show')) {
  	fade('toolbox_position_mm_show');
  }
  if (is_editable(obj, 'position')) {
    appear('toolbox_position_mm_edit');
  } else {
    fade('toolbox_position_mm_edit')
  }
  //fade('toolbox_values_px_link');
}

function toolbox_position_px_edit() {
  var id;
  var obj;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  $('toolbox_obj_x_px_edit').value = mm2pt(obj.x);
  $('toolbox_obj_y_px_edit').value = mm2pt(obj.y);
  if ($('toolbox_position_px_show')) {
  	fade('toolbox_position_px_show');
  }
  appear('toolbox_position_px_edit');
  // fade('toolbox_values_mm_link');
}

function toolbox_obj_x_mm_changed() {
  toolbox_obj_position_check('mm');
}

function toolbox_obj_y_mm_changed() {
  toolbox_obj_position_check('mm');
}

function toolbox_obj_x_px_changed() {
  toolbox_obj_position_check('px');
}

function toolbox_obj_y_px_changed() {
  toolbox_obj_position_check('px');
}

function toolbox_position_px_save() {
  $('obj_posx_px_value').value = $('toolbox_obj_x_px_edit').value;
  $('obj_posy_px_value').value = $('toolbox_obj_y_px_edit').value;
  $('obj_posx_value').value = pt2mm($('obj_posx_px_value').value).replace('mm', '');
  $('obj_posy_value').value = pt2mm($('obj_posy_px_value').value).replace('mm', '');
  save_element({create_eindruck: 1});
}

function toolbox_position_mm_save() {
  $('obj_posx_value').value = $('toolbox_obj_x_mm_edit').value;
  $('obj_posy_value').value = $('toolbox_obj_y_mm_edit').value;
  $('obj_posx_px_value').value = mm2pt($('obj_posx_value').value+'mm');
  $('obj_posy_px_value').value = mm2pt($('obj_posy_value').value+'mm');
  save_element({create_eindruck: 1});
}

function toolbox_position_mm_edit_cancel() {
  fade('toolbox_position_mm_edit');
  if ($('toolbox_position_mm_show')) {
  	appear('toolbox_position_mm_show');
  }
  if ($('toolbox_values_px_link')) {
  	appear('toolbox_values_px_link');
  }
}

function toolbox_position_px_edit_cancel() {
  fade('toolbox_position_px_edit');
  appear('toolbox_position_px_show');
  appear('toolbox_values_mm_link');
}


function toolbox_init_groesse_position()
{
//  if (id_edit_element.indexOf('bild') != -1)
//  {
    if ($('toolbox_groesse_mm_edit'))
    {
      if($('toolbox_groesse_mm_edit').style.display != 'none')
      {
        // toolbox_groesse_mm_edit_cancel();
      }
    }
    if ($('toolbox_groesse_px_edit'))
    {
      if($('toolbox_groesse_px_edit').style.display != 'none')
      {
        // toolbox_groesse_px_edit_cancel();
      }
    }
//  }

  if ($('toolbox_position_mm_edit'))
  {
    if($('toolbox_position_mm_edit').style.display != 'none')
    {
      // toolbox_position_mm_edit_cancel();
    }
  }
  if ($('toolbox_position_px_edit'))
  {
    if($('toolbox_position_px_edit').style.display != 'none')
    {
      // toolbox_position_px_edit_cancel();
    }
  }
}


function toolbox_obj_align_center() {
  var id;
  var obj;
  if (id_edit_element.indexOf('bild') != -1) {
    id = id_edit_element.replace('bild', '');
    obj = vorlage.bilder[id];
  }

  if (id_edit_element.indexOf('text') != -1) {
    id = id_edit_element.replace('text', '');
    obj = vorlage.texte[id];
  }

  $('obj_posx_px_value').value = parseInt(mm2pt(vorlage.b)/2 - mm2pt(obj.b)/2);
  $('obj_posx_value').value = pt2mm($('obj_posx_px_value').value).replace(/mm/, '');

  if (id_edit_element.indexOf('text') != -1) {
    //schliesse Textman, aber speichere nicht
    close_textman(false, true);
  }

  save_element({create_eindruck: 1});
}



//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////////////
//Quelle: http://aktuell.de.selfhtml.org/artikel/javascript/utf8b64/utf8.htm#a5
//////////////////////////////////////////////////////////////////////////////////////////////////////

function decode_utf8(utftext) {
    var plaintext = "";var i=0;var c=c1=c2=0;
    // while-Schleife, weil einige Zeichen uebersprungen werden
    while(i < utftext.length)
    {
      c = utftext.charCodeAt(i);
      if (c<128) {
        plaintext += String.fromCharCode(c);
        i++;}
      else if((c>191) && (c<224)) {
        c2 = utftext.charCodeAt(i+1);
        plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
        i+=2;}
      else {
        c2 = utftext.charCodeAt(i+1);c3 = utftext.charCodeAt(i+2);
        plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
        i+=3;}
      }
    return plaintext;
  }


function vorlage_decode_utf8() {
  for (var i=0; i < vorlage.texte.length; i++) {
    //show('1',vorlage.texte[i].text);
    vorlage.texte[i].text = decode_utf8(vorlage.texte[i].text);
    //show('2',vorlage.texte[i].text);
    vorlage.texte[i].name = decode_utf8(vorlage.texte[i].name);
  }
}


function earea_button_italic() {
  var i = id_edit_element.replace('text', '');

//  if (textman_opened) {
    vorlage.texte[i].schrift_form = 'normal';
    earea_button_click('italic');
//  } else {
//    if (vorlage.texte[i].schrift_form == 'normal') {
//      text_clean_format(vorlage.texte[i].schrift_serie, 'italic');
//    } else {
//      text_clean_format(vorlage.texte[i].schrift_serie, 'normal');
//    }
//  }
}

function earea_button_bold() {
  var i = id_edit_element.replace('text', '');

//  if (textman_opened) {
    vorlage.texte[i].schrift_serie = 'normal';
    earea_button_click('bold');
//  } else {
//    if (vorlage.texte[i].schrift_serie == 'normal') {
//      text_clean_format('bold', vorlage.texte[i].schrift_form);
//    } else {
//      text_clean_format('normal', vorlage.texte[i].schrift_form);
//    }
//  }
}

function earea_button_underline() {
  var i = id_edit_element.replace('text', '');

//  if (textman_opened) {
    //vorlage.texte[i].schrift_serie = 'normal';
    earea_button_click('underline');
//  } else {
//    if (vorlage.texte[i].schrift_serie == 'normal') {
//      text_clean_format('bold', vorlage.texte[i].schrift_form);
//    } else {
//      text_clean_format('normal', vorlage.texte[i].schrift_form);
//    }
//  }
}

function earea_button_click(command) {
  // Explorer reformats HTML during document.write() removing quotes on element ID names
  // so we need to address Explorer elements as window[elementID]

  if (window["textman_earea"]) {window["textman_earea"].document.execCommand(command, false, null);}
  else {document.getElementById("textman_earea").contentWindow.document.execCommand(command, false, null);}
}

function text_import_word() {
  if (!textman_opened) {
    open_textman('normal');
  }
  appear('div_word_import');
  $('textarea_word_import').value = '';
}

function close_import_word() {
  var text = editableAreaGetContents("textman_earea");
  var wordtext = $('textarea_word_import').value;
  //alert(text);
  //alert(wordtext);
  wordtext = wordtext.replace(/\n/g, '<br>');

  if ((text == '<P>&nbsp;</P>' || text == '<br>')) {
    text = wordtext;
  }
  else
  {
    text += wordtext;
  }

  editableAreaSetContents("textman_earea", text);
  $('textarea_word_import').value = '';
  Effect.Fade('div_word_import', {duration: 0});
}

function eindruck_entfernen(im_warenkorb, on_remove_jump_to_page) {
  if (!confirm('Diese Seitengestaltung wirklich entfernen?\n(andere Seitengestaltungen werden nicht entfernt.)')) {
    return false;
  }
  if (im_warenkorb == 1) {
    location.href = "index.php?&page=10&subpage=0&remove_template="+vorlage.id;
  } else {
    location.href = "index.php?&page=10&in_warenkorb=0&on_remove_jump_to_page="+on_remove_jump_to_page+"&remove_template="+vorlage.id;
  }
}

function close_toolbox_standardtexte() {
  fade('toolbox_standardtexte');
  fade('select_template');
}

function appear_loading() {
  var div = $('eindruck_editor_div');
  var div_pos = findPos(div);

  new Effect.Move('loading',{
              x: div_pos[0]+div.offsetWidth/2,
              y: div_pos[1]+div.offsetHeight/2,
              mode: 'absolute',
              duration: 0});
  appear('loading');
}

function fade_loading() {
  new Effect.Fade('loading',{duration: 0});
}

function texte_aus_vater_vorlage() {
  var texte = [];
  for (var i=0; i < vorlage.texte.length; i++) {
    var t = vorlage.texte[i].text.substring(0, 15);
    texte[t] = 1;
  }
  for (var i=0; i < vorlage_vererbt_von.texte.length; i++) {
    var t = vorlage_vererbt_von.texte[i].text.substring(0, 15);
    if (texte[t] == 1) {
      return vorlage_vererbt_von.texte[i].text;
    }
  }
  return false;
}


function text_aus_vater_vorlage(text) {
  var texte = [];
  var t = text.substring(0, 15);
  texte[t] = 1;
  for (var i=0; i < vorlage_vererbt_von.texte.length; i++) {
    var t = vorlage_vererbt_von.texte[i].text.substring(0, 15);
    if (texte[t] == 1) {
      return vorlage_vererbt_von.texte[i].text;
    }
  }
  return false;
}

function bild_aus_vater_vorlage(bild) {
  for (var i=0; i < vorlage_vererbt_von.bilder.length; i++) {
    if (vorlage_vererbt_von.bilder[i].dateiname  == bild) {
      return true;
    }
  }
  return false;
}


function druckfreigabe(im_warenkorb) {
  var erg = texte_aus_vater_vorlage();
  if (im_warenkorb == 0) {  // wenn der Artikel nicht im Warenkorb liegt
     if (erg) {
      erg = erg.replace('<br>', "\n");
      alert(res_javascript["druckfreigabe2"]+'\n\n'+erg+'\n\n\n'+res_javascript["druckfreigabe3"]);
    } else if (vorlage.texte.length == 0 && vorlage.bilder.length == 0) {
      if (vorlage.background_pdf == '') {
        //wenn keine Texte oder Bilder da sind, dann Abbruch
        alert(res_javascript["druckfreigabe4"]);
      } else {
        //wenn zwar keine Texte/Bilder da sind, aber ein PDF hinterlegt wurde, dann leeres PDF zulassen
        location.href = "index.php?page=10&subpage=0&in_warenkorb=1&druckfreigabe="+vorlage.id;
      }
    } else if (confirm(res_javascript["druckfreigabe1"]) == true) {
      location.href = "index.php?page=10&subpage=0&in_warenkorb=1&druckfreigabe="+vorlage.id;
    }
  } else {
    if (erg) {
      erg = erg.replace('<br>', "\n");
      alert(res_javascript["druckfreigabe2"]+'\n\n'+erg+'\n\n\n'+res_javascript["druckfreigabe3"]);
    } else if (vorlage.texte.length == 0 && vorlage.bilder.length == 0) {
      if (vorlage.background_pdf == '') {
        //wenn keine Texte oder Bilder da sind, dann Abbruch
        alert(res_javascript["druckfreigabe4"]);
      } else {
        //wenn zwar keine Texte/Bilder da sind, aber ein PDF hinterlegt wurde, dann leeres PDF zulassen
        location.href = "index.php?&page=10&subpage=0&druckfreigabe="+vorlage.id;
      }
    } else {
      location.href = "index.php?&page=10&subpage=0&druckfreigabe="+vorlage.id;
    }
  }
}

function zurueck() {
  location.href="index.php?&page=14&subpage=0";
}

function toolbox_enable_eindruck_history() {
  if (userID > 0 && show_toolbox_eindruck_history) {
    // appear('toolbox_element_spacer_history');
    // appear('toolbox_eindruck_history');
  }
}

function toolbox_toggle_eindruck_history() {
  if (!show_toolbox_eindruck_history) return;

  $('toolbox_eindruck_history_div_iframe').src = 'popup.php?art=eindruck_history';

  $('select_template_own').addClassName('aktiv');
  $('select_template_preset').removeClassName('aktiv');

  var div = $('select_template');
  var div_pos = findPos(div);

  $('toolbox_eindruck_history_div').style.left = div_pos[0]+175+'px';
  $('toolbox_eindruck_history_div').style.top = div_pos[1]-30+'px';
  $('toolbox_eindruck_history_div').setStyle({opacity: 0});
  $('toolbox_eindruck_history_div').style.display = 'block';

  new Effect.Opacity('toolbox_eindruck_history_div', {
    duration: 0.25,
    transition: Effect.Transitions.linear,
    from: 0,
    to: 1
  });


  $('eindruck_history_eindruck_preview_loading').style.left = div_pos[0]+309+'px';
  $('eindruck_history_eindruck_preview_loading').style.top = div_pos[1]+145+'px';
  $('eindruck_history_eindruck_preview_loading').setStyle({opacity: 0});
  $('eindruck_history_eindruck_preview_loading').style.display = 'block';

  new Effect.Opacity('eindruck_history_eindruck_preview_loading', {
    duration: 0,
    transition: Effect.Transitions.linear,
    from: 0,
    to: 1
  });

}

function close_toolbox_eindruck_history() {
  close_toolbox_eindruck_history_eindruck_preview_loading();
  fade('toolbox_eindruck_history_div');
}

function close_toolbox_eindruck_history_eindruck_preview_loading() {
  fade('eindruck_history_eindruck_preview_loading');
}

function eindruck_history_show_eindruck(bild) {
  $('eindruck_history_eindruck_preview_img').src = bild;

//  var div = $('select_template_own');
//  var div_pos = findPos(div);

//  $('eindruck_history_eindruck_preview').style.left = div_pos[0]+350+'px';
//  $('eindruck_history_eindruck_preview').style.top = div_pos[1]-80+'px';
  $('eindruck_history_eindruck_preview').style.left = '180px';
  $('eindruck_history_eindruck_preview').style.top = '180px';
  $('eindruck_history_eindruck_preview').setStyle({opacity: 0});
  $('eindruck_history_eindruck_preview').style.display = 'block';

  new Effect.Opacity('eindruck_history_eindruck_preview', {
    duration: 0.25,
    transition: Effect.Transitions.linear,
    from: 0,
    to: 1
  });
}

function eindruck_history_hide_eindruck() {
  fade("eindruck_history_eindruck_preview");
}

function apply_vorlage_from_history(id, unique, mode) {
  close_toolbox_eindruck_history();
  close_toolbox_alternative_layout();

  appear_loading();
  var postBody = 'aktTplID='+vorlage.id+
                 '&apply_id='+id+
                 '&apply_unique='+unique+
                 '&aktBaID='+aktBaID+
                 '&mode='+mode+
                 '&userID='+userID;

  new Ajax.Request(
    'ajax_history_apply_layout.php',
    {
      method: "post",
      postBody: postBody,
      onSuccess: cb_history_apply_history
    }
  );
}

function cb_history_apply_history(transport) {
  var response = transport.responseText;
  cb_eval_json(response);

  close_element();
  reinit_layers();

  if (vorlage.vererbt_von > 0) {

    var postBody = 'aktTplID='+vorlage.vererbt_von;

    new Ajax.Request(
      'ajax_load_parent_layout.php',
      {
        method: "post",
        postBody: postBody,
        onSuccess: cb_load_parent_layout
      }
    );
  }

  cb_zeige_vorlage(transport, {history_apply_history: 1});
}

function cb_load_parent_layout(transport) {
  var response = transport.responseText;

  fade_loading();

  try
  {
    vorlage_vererbt_von = response.evalJSON(true);
  }
  catch(err)
  {
    alert(res_javascript["error_json_eindruck"]);
    location.href = location.href;
  }
}

function toolbox_toggle_alternative_layout() {
  //alert('vater: '+vorlage_vererbt_von.id);
  $('toolbox_alternative_layout_div_iframe').src = 'popup.php?art=alternative_layout&parent='+vorlage_vererbt_von.id+'&layout1='+artikel_seite_vorlage+'&layout2='+artikel_seite_vorlage2;

  var div = $('toolbox_alternative_layout');
  var div_pos = findPos(div);

  $('toolbox_alternative_layout_div').style.left = div_pos[0]+175+'px';
  $('toolbox_alternative_layout_div').style.top = div_pos[1]-30+'px';
  $('toolbox_alternative_layout_div').setStyle({opacity: 0});
  $('toolbox_alternative_layout_div').style.display = 'block';

  new Effect.Opacity('toolbox_alternative_layout_div', {
    duration: 0.25,
    transition: Effect.Transitions.linear,
    from: 0,
    to: 1
  });


  $('alternative_layout_eindruck_preview_loading').style.left = div_pos[0]+309+'px';
  $('alternative_layout_eindruck_preview_loading').style.top = div_pos[1]+145+'px';
  $('alternative_layout_eindruck_preview_loading').setStyle({opacity: 0});
  $('alternative_layout_eindruck_preview_loading').style.display = 'block';

  new Effect.Opacity('alternative_layout_eindruck_preview_loading', {
    duration: 0,
    transition: Effect.Transitions.linear,
    from: 0,
    to: 1
  });
}

function close_toolbox_alternative_layout() {
  close_toolbox_alternative_layout_eindruck_preview_loading();
  fade('toolbox_alternative_layout_div');
}

function close_toolbox_alternative_layout_eindruck_preview_loading() {
  fade('alternative_layout_eindruck_preview_loading');
}

function alternative_layout_show_eindruck(bild) {
  $('alternative_layout_eindruck_preview_img').src = bild;

  var div = $('toolbox_alternative_layout');
  var div_pos = findPos(div);

  $('alternative_layout_eindruck_preview').style.left = div_pos[0]+350+'px';
  $('alternative_layout_eindruck_preview').style.top = div_pos[1]-80+'px';
  $('alternative_layout_eindruck_preview').setStyle({opacity: 0});
  $('alternative_layout_eindruck_preview').style.display = 'block';

  new Effect.Opacity('alternative_layout_eindruck_preview', {
    duration: 0.25,
    transition: Effect.Transitions.linear,
    from: 0,
    to: 1
  });
}

function alternative_layout_hide_eindruck() {
  fade("alternative_layout_eindruck_preview");
}

function image_is_default(obj) {
  //Beispiel data/user_000000/i6/i6fubfl8dsm8kp6d26q26a6al3/uploads/orig/Rot-Star.jpg
  //Beispiel data/69/user_013669/uploads/orig/13669_1105_38299_79278696_0387.pdf
  //Beispiel data/dekor/glocke.png
//alert(obj.dateiname); 
  if (obj.dateiname.indexOf('uploads/orig') != -1) {
    return false;
  }
  if (obj.dateiname.indexOf('data/dekor') != -1 && obj.dateiname.indexOf('pic_logo.png') != -1) {
    return true;
  }
  if (obj.dateiname.indexOf('data/dekor') != -1) {
    return false;
  }
  return true;
}

function is_editable(obj, attr) {
  //alert(obj.typ+" "+obj.id+" "+attr);
  if (typeof(obj) == "undefined") {
    alert('is_editable, obj undefined');
    return false;
  }
  if (typeof(obj.editable) == "undefined") {
    alert('is_editable, obj.editable undefined');
    return false;
  }

  var old_attr = attr;

  if (typeof(obj.editable[attr]) == "undefined") {
    switch (attr) {
      case 'control_remove_element':attr = 'delete';break;
      case 'textman_control_text_align_left':
      case 'control_shape_align_center':attr = 'position';break;
      case 'textman_control_text_align_right':
      case 'textman_control_text_align_justify':attr = 'absatzausrichtung';break;
      case 'textman_control_font':
      case 'control_font':attr = 'schrift_familie';break;
      case 'textman_control_fontsize':
      case 'control_fontsize':attr = 'schrift_groesse';break;
      case 'textman_control_font_color':
      case 'control_font_color':attr = 'schrift_farbe';break;
      case 'control_linespacing':attr = 'zeilenabstand';break;
      case 'control_text_italic':attr = 'schrift_form';break;
      case 'control_text_bold':attr = 'schrift_serie';break;
      case 'control_black_white':attr = 'farbe';break;
      case 'control_colored':attr = 'farbe';break;
      case 'control_word_import':attr = 'text';break;
      case 'control_select_color':
        if (obj.typ == 'textbox') {
          if (typeof(obj.editable['schrift_farbe']) == "undefined" || obj.editable['schrift_farbe'] != 1) {
            return false;
          } else {
            return true;
          }
        } else {
          if (obj.image_opaque_color == '') {
            return false;
          } else {
            return true;
          }
        }
        break;
    }
  }

  //alert('id '+obj.id+' attr '+attr+' '+obj.editable[attr]);
  if (typeof(obj.editable[attr]) != "undefined") {
    if (obj.editable[attr] == 1) {
      return true;
    }
    return false;
  } else {
    //show('undef attr', obj);
    alert('id '+obj.id+' attr '+attr+' ('+old_attr+')');
  }

  return true;
}



//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////

Event.observe(document, 'keydown', function(event){if(event.keyCode == Event.KEY_DELETE) keypressed_delete(event);});

function keypressed_delete(event) {
//  if (textman_opened) {
//    return false;
//  }

  if (typeof(id_edit_element) != 'undefined' &&
       (id_edit_element.indexOf('bild') != -1 || id_edit_element.indexOf('text') != -1)) {

    var id;
    var obj;
    if (id_edit_element.indexOf('bild') != -1) {
      id = id_edit_element.replace('bild', '');
      obj = vorlage.bilder[id];
    }

    if (id_edit_element.indexOf('text') != -1) {
      id = id_edit_element.replace('text', '');
      obj = vorlage.texte[id];
    }

    if (is_editable(obj, 'delete')) {
      remove_element();
    }
  }
}
