

////////////////////////////////////////
////////////////////////////////////////
// WORKER
////////////////////////////////////////
////////////////////////////////////////

////////////////////////////////////////
// Contentgroesse
////////////////////////////////////////
SCREEN_SIZE_WIDTH  = screen.width;
SCREEN_SIZE_HEIGHT = screen.height;

////////////////////////////////////////
// MousePosition
////////////////////////////////////////
//Aktuelle Mouseposition
var MOUSE_POS_X = 0;
var MOUSE_POS_Y = 0;
var MOUSE_PAGEPOS_X = 0; 
var MOUSE_PAGEPOS_Y = 0;

// Mouse-Position:
function handleMouseMove(Ereignis) {
   MOUSE_POS_X = (MS) ? window.event.clientX : Ereignis.pageX - window.pageXOffset;
	MOUSE_POS_Y = (MS) ? window.event.clientY : Ereignis.pageY - window.pageYOffset;
   MOUSE_PAGEPOS_X = MOUSE_POS_X + ((MS) ? document.body.scrollLeft : window.pageXOffset);
   MOUSE_PAGEPOS_Y = MOUSE_POS_Y + ((MS) ? document.body.scrollTop  : window.pageYOffset);
   //alert( "Pos: " + MOUSE_POS_X + " / " + MOUSE_POS_Y);
}

document.onmousemove = handleMouseMove;


function getElementSize(el) {
	var r = { x: el.offsetLeft , y: el.offsetTop, w:el.offsetWidth, h:el.offsetHeight };

   while(el.offsetParent != null && el.offsetParent.tagName != "BODY") {
      el = el.offsetParent;
      r.x += el.offsetLeft;
      r.y += el.offsetTop;
   }

	return r;
}


function getDim(obj) {
   var r = { x: obj.offsetLeft, y: obj.offsetTop, w:obj.offsetWidth, h:obj.offsetHeight };
   while(obj.offsetParent != null && obj.offsetParent.tagName != "BODY") {
      obj = obj.offsetParent;
      r.x += obj.offsetLeft;
      r.y += obj.offsetTop;
   }
   return r;
}

function getFormByName(name) {
   return document[name];
}


////////////////////////////////////////
// OnloadScripts
////////////////////////////////////////
var onLoadScriptArray = null;
function registerOnLoadScript(sCode){
	if(onLoadScriptArray==null) onLoadScriptArray = new Array();
	onLoadScriptArray[onLoadScriptArray.length] = sCode;
}
function startOnLoadScripts(){
	if(onLoadScriptArray!=null){
		for(var i = 0; i<onLoadScriptArray.length;i++) eval(onLoadScriptArray[i]);
	}
}


// -------------------------------------------------
// --- openImageWindow -----------------------------
// -------------------------------------------------
// Funktion zum Zoomen von bildern
function openImageWindow(nWidth, nHeight, sImgUrl) {
	var features = 'width='+(nWidth+25)+', height='+(nHeight+30);
	var win = window.open('','',features);
	win.document.open();
	win.document.writeln("<html><head><title></title></head><body style='background-color:#fff;'>");
	win.document.writeln("<table height='100%' border='0' cellspacing='0' cellpadding='0' align='center'><tr><td><a href=\"javascript:window.close()\"><img src=\""+sImgUrl+"\" border=\"0\" alt=\"\"></a></td></tr></table>");
	win.document.writeln("</body></html>");
	win.document.close();
}

function openWindowAfterBody(nWidth, nHeight, sText) {
	var features = 'width='+(nWidth+25)+', height='+(nHeight+30);
	var win = window.open('','',features);
	win.document.open();
	win.document.writeln("<html><head><title></title></head><body>");
	win.document.writeln(sText);
	win.document.writeln("</body></html>");
	win.document.close();
}

function HTMLListe (Typ) {
  document.write("<" + Typ + "l>");
  for (var i = 1; i < HTMLListe.arguments.length; i++)
    document.write("<li>" + HTMLListe.arguments[i] + "</li>");
  document.write("</" + Typ + "l>");
}


// ------------------------------------------------------
// --- openImageDiv -------------------------------------
// ------------------------------------------------------
// Funktion zum Zoomen von Bildern mit DIV-Element 

function openImageDiv(sName, sIMGsrc, nLeft, nTop, nWidth, nHeight){
   width = nWidth;
   height = nHeight;
	
   if(!nWidth) nWidth = null; 
   if(!nHeight) nHeight = null; 

   var newDIV = getDivElement(sName, nWidth, nHeight);
   newDIV.innerHTML = "<img src=\""+sIMGsrc+"\">";
   newDIV.style.left = nLeft;
   newDIV.style.top = nTop;

   return newDIV;
}

function closeImageDiv(sName) {
   var newDIV = getDivElement(sName);
   newDIV.style.left = "-1000";
   newDIV.style.top = "-1000";
   return newDIV;
}

function openTextDivMousePos(sName, sText){
   var newDiv = openTextDiv(sName, sText, MOUSE_PAGEPOS_X, MOUSE_PAGEPOS_Y);
   return newDiv;
}

function openTextDiv(sName, sText, nLeft, nTop){

   var newDIV = getDivElement(sName, null, null);
   newDIV.innerHTML = sText;
   newDIV.style.left = nLeft;
   newDIV.style.top = nTop;

   return newDIV;
}

function closeTextDiv(sName) {
   var newDIV = getDivElement(sName);
   newDIV.style.left = "-1000";
   newDIV.style.top = "-1000";
   return newDIV;
}

// -------------------------------------------------
// --- DIV -----------------------------------------
// -------------------------------------------------
function getDivElement(sName, nWidth, nHeight){
	var objElement = getElem("id",sName,null);
	if(objElement!=null) return objElement;
	var newDIV = document.createElement("div");
	newDIV.id   = sName;
	newDIV.style.position="absolute";
   if(nWidth) newDIV.style.width = nWidth;
   if(nHeight) newDIV.style.height = nHeight;
	newDIV.style.top="-1000";
	newDIV.style.left="-1000";
	document.getElementsByTagName("body")[0].appendChild(newDIV);
	return newDIV;
}

// -------------------------------------------------
// --- Start Editor --------------------------------
// -------------------------------------------------

var objReturn = null;
function startEditor(objRet){
	objReturn = objRet;
	var win = showIFrameSizeableResize("Designer", "/js_css/system/editor/editor.html", 790,550);
	
}

// get the editor the edit-inputelement
function editorGetReturnObj(){
	return objReturn;
}



///////////////////////////////////////////////////////////////////////
// StyleHelper
///////////////////////////////////////////////////////////////////////

function setStyle(name, attr, value) {
    var rule = getStyleSheet(name);
    if(!rule) return null;
    if(typeof value != 'undefined') rule.style[attr] = value;
    return rule.style[attr];
}

function getStyleSheet(name) {
     if(!name || !document.styleSheets) return null;	 
     var i = document.styleSheets.length;
     while(i--)  {
         var rules = (typeof document.styleSheets[i].rules != 'undefined') ?
         document.styleSheets[i].rules : // IE
         document.styleSheets[i].cssRules; // MZ
         var j = rules.length;
         while(j--) if(rules[j].selectorText == name) return rules[j];
     }
     return null;
}

// -------------------------------------------------
// --- COOKIE --------------------------------
// -------------------------------------------------
function setCookie(name,value,expires,path,domain,secure) { 
   var today = new Date();
   // default prüfen
   if(expires==null)
      expires = new Date(today.getTime() + (365 * 86400000)); // 1 Jahr in Millis
   // cookie zusammenbauen
    var cookieString = name + "=" +escape(value) + 
       ( (expires) ? ";expires=" + expires.toGMTString() : "") + 
       ( (path) ? ";path=" + path : "") + 
       ( (domain) ? ";domain=" + domain : "") + 
       ( (secure) ? ";secure" : ""); 
    // cookie setzen
    document.cookie = cookieString; 
} 

function deleteCookie(name,path,domain) {
   alert(name);
   document.cookie = name+"='222'" + (path?";path="+path:"") + (domain?";domain="+domain:"") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

