function setPopupPos(id, caller_id, offset_top, offset_left)
{
  el = document.getElementById(id);
  c = document.getElementById(caller_id);
  if (el && c)
  {
    el.style.top = (absTop(c) + offset_top) + "px";
    el.style.left = (absLeft(c) + offset_left) + "px";        
  }
}

function absLeft(el)
{
  return (el.offsetParent.offsetParent.offsetParent) ? el.offsetLeft + absLeft(el.offsetParent) : el.offsetLeft;
}

function absTop(el)
{
  return (el.offsetParent) ? el.offsetTop + absTop(el.offsetParent) : el.offsetTop;
}

function setProperty(id, property, value)
{
  var el = document.getElementById(id);
  if (el)
  {
    Spry.Effect.setStyleProp(el, property, value);
  }
}
function setDisabled(id, value)
{
  var el = document.getElementById(id);
  if (el)
  {
    el.disabled = value;
  }
}
function setValue(id, value)
{
  var el = document.getElementById(id);
  if (el)
  {
    el.value = value;
  }
}

function fileBrowserImageClicked(file)
{
	syn = parent.document.getElementById("bild_syntax");
	if (syn)
	{
		if (file.indexOf(".gif") > 0 || 
		    file.indexOf(".jpg") > 0 || 
		    file.indexOf(".jpeg") > 0 || 
		    file.indexOf(".tif") > 0 || 
		    file.indexOf(".tiff") > 0 || 
		    file.indexOf(".png") > 0 )
		{
			if (file.indexOf("tn_") > 0)
			{
				syn.value = "bildzoom{" + file + "|title|right}";		
			}
			else
			{
				syn.value = "bild{" + file + "|title|right}";		
			}
		}
		else
		{
			syn.value = "url{" + file + "|link text|_blank}";		
		}
		syn.select();
	}
}

function createTextNode(id, text)
{
  var el = document.getElementById(id);
  var node = document.createTextNode(text);
  while (el && el.firstChild)
  {
    el.removeChild(el.firstChild);
  }
  if (el)
  {
    el.appendChild(node);
  }
}
function setValueForID(id, value)
{
  var el = document.getElementById(id);
  if (el)
  {
    el.value = value;
  }
}

function deactivate_spryacceptagb()
{
  spryacceptagb.isRequired=false;
}
function activate_spryacceptagb()
{
  spryacceptagb.isRequired=true;
}

function showLoader() 
{ 
  var loader = document.getElementById('imgloader'); 
  if (loader) 
  { 
    loader.style.display = 'inline'; 
  } 
} 

///////////////////////////////////////////////////////
// from http://www.quirksmode.org/js/cookies.html 
function createCookie(name,value,days)
{
  if (days) 
  {
	  var date = new Date();
	  date.setTime(date.getTime()+(days*24*60*60*1000));
	  var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) 
{
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) 
  {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) 
{
  createCookie(name,"",-1);
} 
//
///////////////////////////////////////////////////////

function setupFade(elementObj, FadeObj)
{
  if (FadeObj.direction == Spry.forwards)
  { 
    if (FadeObj.initialized && Spry.Effect.isInvisible(elementObj))
    {// make visible, but not for the first time!
      Spry.Effect.enforceVisible(elementObj);
    }
    FadeObj.initialized = true;
  }
}
function finishFade(elementObj, FadeObj)
{
  if ((FadeObj.direction == Spry.forwards && (FadeObj.options.to < FadeObj.options.from)) || 
      (FadeObj.direction == Spry.backwards && (FadeObj.options.from < FadeObj.options.to)))
  {// make element invisible!
    Spry.Effect.setStyleProp(elementObj, 'visibility', 'hidden');
  }
}

