str_layer_text = '<div class="popup_layer"><div class="popup_layer_kopf"><div class="popup_layer_schliessen" onclick="div_entfernen(this);"><img src="/bilder/icons/button_delete_div.png" width="50" height="30" border="0" /></div><div class="popup_layer_bewegen" onmousedown="div_bewegen(this, 1);" onmouseup="div_bewegen(this, 0);" ><img src="/bilder/icons/button_move_div.png" width="50" height="30" border="0" /></div></div><div class="popup_layer_inhalt"></div></div>';

bestimme_seitenmasse = function()
{	
	weite_zentraler_div = $('zentrierter_body').getWidth();
	weite_gesamt = $('body').getWidth();

	hoehe_kopf = $('kopf').scrollHeight;
	hoehe_zentraler_div = $('zentrierter_body').scrollHeight;
	hoehe_gesamt = $('body').scrollHeight;

	if(weite_gesamt >= weite_zentraler_div)
	{
		bildschirm_ausgleich_x = ((weite_gesamt - weite_zentraler_div)/2);
	} else {
		bildschirm_ausgleich_x = 0;
	}
	bildschirm_ausgleich_y = 0;
}

click_position = function(event, _this, weite, hoehe, script, optionen)
{
	bestimme_seitenmasse();

	var link_id = $(_this).identify();
	position_link = getPosition($(link_id));

	if(((position_link.x - bildschirm_ausgleich_x) + weite) >= weite_gesamt)
	{
		bildschirm_ausgleich_x = Math.abs(weite_gesamt - ((position_link.x + weite) + 25));
	}
	if((position_link.y + hoehe) >= hoehe_gesamt)
	{
		bildschirm_ausgleich_y = Math.abs((hoehe_gesamt - (position_link.y + hoehe)) + 25);
	}

	if(!$(link_id + '_div'))
	{
		var element = $('zentrierter_body').insert({ top : str_layer_text});
		$(element).firstChild.id = link_id + '_div';
		var new_element = $(element).firstChild.id;

		bildschirm_ausgleich_y = bildschirm_ausgleich_y + hoehe_kopf; /* Ausgleich für zusätzliche Hohe des Kopfes */

		$(new_element).style.top = (position_link.y - bildschirm_ausgleich_y)+'px';
		$(new_element).style.left = (position_link.x - bildschirm_ausgleich_x)+'px';
		$(new_element).style.width = weite+'px';
		$(new_element).style.height = hoehe+'px';
		$(new_element).style.display = 'block';
		$(new_element).style.position = 'absolute';

		div_lade_daten(new_element, script, optionen);
	} else {
		position_div = getPosition(link_id + '_div');
		var x_pos = (position_link.x - bildschirm_ausgleich_x);
		var y_pos =  (position_link.y - bildschirm_ausgleich_y);
		new Effect.Move(link_id + '_div', {x: x_pos, y: y_pos, mode: 'absolute'});
		return false;
	}
}

function getPosition(element)
{
  var elem=element,tagname="",x=0,y=0;

  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
  {
    y+=elem.offsetTop;
    x+=elem.offsetLeft;
    tagname=elem.tagName.toUpperCase();

    if (tagname=="BODY")
      elem=0;

    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
  }

  position=new Object();
  position.x=x;
  position.y=y;
  return position;
}

div_entfernen = function(_this)
{
	var del_div = _this.parentNode.parentNode.identify();
	var time_function = '$(\''+del_div+'\').remove()';
	new Effect.DropOut(del_div);
	window.setTimeout( time_function, 1001);

	return true;
}
div_bewegen = function(_this, option)
{
	var id = _this.parentNode.parentNode.identify()
	if(option == 1)
	{
		$(id).setOpacity(0.7)
		mydrag = new Draggable(id);
	}
	if(option == 0)
	{
		mydrag.destroy();
	}
	$(id).setOpacity(1.0)
}

div_lade_daten = function(element, script, optionen)
{

	var url = script;
	
	optionen = optionen.gsub(' ','');
	var myAjax = new Ajax.Request( url,	{
										method: 'post',
										parameters: {
															optionen : optionen,
															div_id : element
														},
										onComplete: function(r)
										{
											$(element).lastChild.style.opacity = 1;
											$(element).lastChild.style.filter = 'alpha(opacity=100)';
											var json = r.responseText.evalJSON();
											if(json.bool == 'true')
											{
												$(element).lastChild.innerHTML = json.html;
												var neue_hoehe = $(element).lastChild.getHeight();
												$(element).style.height = neue_hoehe + 25;
												if(typeof json.height != 'undefined ')
												{
													$(element).style.height = json.height;
												}
												if(typeof json.width != 'undefined ')
												{
													$(element).style.width = json.width;
												}

												if(Object.isFunction(initLytebox) == true)
												{
													myLytebox = '';
													initLytebox();
												}
												return true;
											}
											if(json.bool == 'false')
											{
												$(element).lastChild.innerHTML = json.fehler;
												return true;
												
											}

											$(element).lastChild.innerHTML = 'Es ist ein Fehler aufgetreten!';

										},
										onFailure: function()
										{
											$(element).lastChild.innerHTML = 'Es ist ein Fehler aufgetreten!';
										}
									});
}
