function tdOut(row){
  row.removeClassName("active");
}

function tdOver(row){
  row.addClassName("active");
}

function openAdminNavigation(){
  $('admin_content_body').style.marginLeft = '213px;';
  $('admin_navigation').show();
  $('admin_navigation_open').hide();  
}

function showHelp(){
  Effect.toggle('admin_info_content','BLIND');
}



function ajax_submit(ajax_url, post_vars){
  
  var post = "ajax_post=true";
  post += "&" + $(post_vars).serialize();
  
  new Ajax.Request(ajax_url, {
    postBody: post,
    onComplete: function(transport) {
      cms_react(transport.responseText.evalJSON());
  }
});
    
}


function cms_show_message(message){
    $('admin_info_content_text').innerHTML = '<p class="info">' + message + '<br /><br /></p>';
    $('admin_info_content').show();
}

function cms_react(json){
  if(json.message){
    cms_show_message(json.message);
  }
  
  if(json.eval){
    eval(json.eval);
  }
  
  if(json.reload){
    parent_reload(); 
  }
  
   if(json.reload_page){
    location.href = json.reload_page;
  }
}

function parent_focus(){
  if(is_parent()){
    opener.window.focus();
  }
}

function is_parent(){
  if(window.opener){
    return true;
  }
  else return false;
}


function parent_reload(url){
  if(is_parent()){
    if(!url){
      url = opener.location.href + " ";
    }
  
    opener.location.href = url;
  } 
}

function livemodus_goto(link, width){
  if(!width) width = 700;
  
  parts = link.split("?");
  name = parts[0].replace(/\W/g, "");
  
  var Teil = name.substr(10, name.length - 1);
  wind = window.open(link, ""+ Teil + "",'height=550,width='+ width +',location=no,menubar=no,resizable=yes,status=yes,toolbar=no,scrollbars=yes');
  wind.focus();
  
  return false;
}

function livemodus_goto_link(link, width){
  return livemodus_goto(link.href, width);  
}


function chooseImage(link){
  livemodus_goto(link);
}

function chooseImage_action(field_id, image_id){
  $('id_' + field_id).value=image_id; 
  
  var post = "ajax_post=true";
  post += "&image_id=" + image_id;
  post += "&field_name=" + field_id;
  
  new Ajax.Request(ajax_image_get_url, {
    postBody: post,
    onComplete: function(transport) {
      back = transport.responseText.evalJSON();
      $('image_'+ back.field_name).innerHTML=back.image;
      $('delete_'+ back.field_name).toggle();
  }
});
}


function update_template_info(template){
    if(is_parent()) $('template_info').innerHTML=opener.document.getElementById('template_' + template).innerHTML;
}

function reloadparent_css(){
    
  	// Style-Sheet erneuern
		for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { 
				var split = a.href.split("/");
				var last = split.length - 1;
				var theitem = split[last];
				var split2 = theitem.split("?");
				var now = new Date();
				a.href = a.href  + "?cache=ABC"  +  now. getHours() + now.getMinutes() + now.getSeconds();
		}
}

var ResizeableTextarea = Class.create();
ResizeableTextarea.prototype = {
	initialize: function(obj)
	{
		if(obj.className == 'noresize') {
			return;
		}
		this.max_height = 500;
		this.min_height = 50;
		this.element = obj;
	},
	build: function() {
		// Add wrapper
		this.wrapper = document.createElement('div');
		this.wrapper.className = 'resizable-textarea';
		this.element.parentNode.insertBefore(this.wrapper, this.element);
		
		// Add resizer
		this.resizer = document.createElement('div');
		this.resizer.className = 'resizer';
		this.wrapper.appendChild(this.resizer);
	
		// Set formats
		this.element.style.marginBottom = '0px';
		this.wrapper.style.width = this.element.offsetWidth + 'px';

		// Wrap textarea
		this.element.parentNode.removeChild(this.element);
		this.wrapper.insertBefore(this.element, this.resizer);

		Event.observe(this.resizer, "mousedown", this.startDrag.bindAsEventListener(this), false);
	},
	startDrag: function(e)
	{
		this.element.style.opacity = 0.5;
	
		// Capture mouse
		var th = this;
		document.onmousemove = function(e) { th.doDrag(e); };
		document.onmouseup = function(e) { th.stopDrag(e); };		

		// Store drag offset
		this.dragOffset = e.clientY - this.resizer.offsetTop;
	},
	doDrag: function(event) 
	{
		event = event || window.event;
		var y = event.clientY - this.element.offsetTop;

		// Use min/max height when too small/big
		var height = Math.max(this.min_height, y - this.dragOffset);
		var height = Math.min(this.max_height, height);
		
		// Apply height
		this.wrapper.style.height = height + this.resizer.offsetHeight + 'px';
		this.element.style.height = height + 'px';
	},
	stopDrag: function(e)
	{
		this.element.style.opacity = 1.0;
		
		// Reset event handlers
		document.onmousemove = 'undefined';
		document.onmouseup = 'undefined';
	}
}


Event.observe(window, "load", initResizableTextareas, false);
Event.observe(window, "load", initTooltips, false);

function initResizableTextareas(){
	var textareas = $A(document.getElementsByTagName("textarea"));
	textareas.each(function(textarea) { 
    if(!textarea.hasClassName("notresizable")){
      //textarea.onkeypress = growTextarea;
      new ResizeableTextarea(textarea).build(); 
    }
  });
}

function initTooltips(){
    var elements = $$('.tooltip');
    elements.each(function(element){
      element.observe('mouseover', showTooltip);      
    });   
}

function removeTooltip(event){
  element = event.element();
  id = element.identify();
  
  $('tooltip_' + id).remove();
  //new Effect.Opacity('tooltip_' + id, { from: 1.0, to: 0.0, duration: 1.5 });
}

function showTooltip(event){
    element = event.element();
    id = element.identify();
    
    if(!element.readAttribute("tooltip")) return;
    if($('tooltip_' + id)) {
      $('tooltip_' + id).show();
      return ;
    }
    element.observe('mouseout', removeTooltip); 
    
    var tooltip = new Element('div', { 'class': 'tooltip_show', 'id':'tooltip_' + id}).update(element.readAttribute("tooltip"));
    element.insert({bottom: tooltip}); 
}


