﻿// -----------------------------------------------------------------
// MUSS BEI NK UMBEDINGT NACH UFG8 KONVERTIERT WERDEN !!!!!!!!
// -----------------------------------------------------------------

if(pathVar.indexOf("http") == -1) {
	var path = "http://" + pathVar;	
}
else {
	var path = pathVar;	
}

// Stylesheet
document.write('<link rel="stylesheet" href="' + absCorrect + 'icms/icms_admin_v2.css">');

// Images preloaden
open_ms = new Image();
open_ms.src = path + "icms/images/fe_icons/open_ms.gif";
open_off = new Image();
open_off.src = path + "icms/images/fe_icons/open_off.gif";
pos_ms = new Image();
pos_ms.src = path + "icms/images/fe_icons/pos_ms.gif";
pos_off = new Image();
pos_off.src = path + "icms/images/fe_icons/pos_off.gif";
into_cb_ms = new Image();
into_cb_ms.src = path + "icms/images/fe_icons/into_cb_ms.gif";
into_cb_off = new Image();
into_cb_off.src = path + "icms/images/fe_icons/into_cb_off.gif";
open_cb_ms = new Image();
open_cb_ms.src = path + "icms/images/fe_icons/open_cb_ms.gif";
open_cb_off = new Image();
open_cb_off.src = path + "icms/images/fe_icons/open_cb_off.gif";
del_this_ms = new Image();
del_this_ms.src = path + "icms/images/fe_icons/del_this_ms.gif";
del_this_off = new Image();
del_this_off.src = path + "icms/images/fe_icons/del_this_off.gif";
info_r_ms = new Image();
info_r_ms.src = path + "icms/images/fe_icons/info_r_ms.gif";
info_r_off = new Image();
info_r_off.src = path + "icms/images/fe_icons/info_r_off.gif";
info_o_ms = new Image();
info_o_ms.src = path + "icms/images/fe_icons/info_o_ms.gif";
info_o_off = new Image();
info_o_off.src = path + "icms/images/fe_icons/info_o_off.gif";
info_g_ms = new Image();
info_g_ms.src = path + "icms/images/fe_icons/info_g_ms.gif";
info_g_off = new Image();
info_g_off.src = path + "icms/images/fe_icons/info_g_off.gif";
refresh_ms = new Image();
refresh_ms.src = path + "icms/images/fe_icons/refresh_ms.gif";
refresh_off = new Image();
refresh_off.src = path + "icms/images/fe_icons/refresh_off.gif";
new_ms = new Image();
new_ms.src = path + "icms/images/fe_icons/new_ms.gif";
new_off = new Image();
new_off.src = path + "icms/images/fe_icons/new_off.gif";
bg_pg_ms = new Image();
bg_pg_ms.src = path + "icms/images/fe_icons/bg_pg_ms.gif";
bg_pg_off = new Image();
bg_pg_off.src = path + "icms/images/fe_icons/bg_pg_off.gif";
icms_tp_b_off = new Image();
icms_tp_b_off.src = path + "icms/images/fe_icons/tp.gif";
icms_tp_b_ms = new Image();
icms_tp_b_ms.src = path + "icms/images/fe_icons/tp_b.gif";

var XX,YY;
//var icms_change_state = new Array;
var icms_subContent_array = new Array;


function icms_btn_ms(pic,txtStatus,sourceSub)
{
	if(txtStatus)
		window.status=txtStatus;
	pic.src = pic.src.replace(/_off/,"_ms");
}

function icms_btn_off(pic)
{
	window.status="buttonover2";
	pic.src = pic.src.replace(/_ms/,"_off");
	window.status="";
}

function resetLayer(lid)
{
	if (lid == containerId) return;

	n = document.getElementById("movebelowlayer"+lid);
	bd = document.body;
	n = n.parentNode.removeChild(n);
	bd.appendChild(n);
}

// move functionality
rely = 23;
relx = 1;
popDownDelay = 300;
moveopened = false;
timeouthandler = null;

function popUpMoveLayer(sourceSub, lid)
{
	if(!lid) lid = "";
	if(sourceSub)
		moveopened = sourceSub;

	//icms_change_state[moveopened] = true;
	//alert("status nun gesetzt (auf true)");

	if(timeouthandler) clearTimeout(timeouthandler);

	// set position
	x = getImageXfromLeft("movepic"+moveopened);
	//alert("movepic"+moveopened);
	//x = getAbsX(document.getElementById("movepic"+moveopened));
	y = getImageYfromTop("movepic"+moveopened);
	//setXPos("movebelowlayer"+lid,y+ry);
	//setYPos("movebelowlayer"+lid,x+rx);

	n = document.getElementById("movebelowlayer"+lid);	
	n.style.left = (x + relx) + 'px';
	n.style.top = (y + rely) + 'px';
	n.style.visibility = 'visible';
	x = getImageXfromLeft("movebelowlayer"+lid);
	y = getImageYfromTop("movebelowlayer"+lid);
}

function popDownMoveLayer(lid)
{
	if(!lid) lid = "";
	if(moveopened)
	{
		if(timeouthandler) clearTimeout(timeouthandler);
		timeouthandler = setTimeout("hideMoveLayer('"+lid+"')",popDownDelay);
	}

}

function hideMoveLayer(lid)
{
	if(!lid) lid = "";
	//myMouseOut(icms_subContent_array[ii]);

	hideLayer("movebelowlayer"+lid);
	moveopened=false;
}

function moveSubcontentBelow(sourceSub)
{
	if(confirm('Möchten Sie diese Ansicht wirklich verschieben?'))
	{
		window.open(absCorrect + "de/confirm_hiddenaction.html?content.action=moveSubcontentBelow:"+containerId+":"+moveopened+":"+sourceSub,'','width=1,height=1,scrollbars=no,resizable=no');
	}
}


// layer functions
// ************************** Layer-Functions ************************************
function getLayerObject(name)
{
 	if(document.layers)
 	{
 		return document.layers[name];
 	}
 	else
 	{
 		return document.getElementById(name).style;
 	}
 }

 function setLayerHTML(layerName,html)
 {
 	myLayer = getLayerObject(layerName);
 	if(document.layers)
 	{
 		myLayer.document.open();
 		myLayer.document.write(html);
 		myLayer.document.close();
 	}
 	else
 	{
 		myLayer = document.getElementById(layerName);
 		myLayer.innerHTML = html;
 	}


 }

 function showLayer(layerName){
        myLayer = getLayerObject(layerName);
		myLayer.visibility="visible";
 }

 function hideLayer(layerName){
        myLayer = getLayerObject(layerName);
		myLayer.visibility="hidden";
 }
function getYPos(layerName) {
    myLayer = getLayerObject(layerName);
	mbtop = myLayer.top;
	//Für IE das 'px' von der Pos.Angabe entfernen
	mbtop=parseInt(mbtop); if (isNaN(mbtop)) mbtop=0;
	return mbtop;
 }

function getXPos(layerName) {
    myLayer = getLayerObject(layerName);
	mbleft = myLayer.left;
	//Für IE das 'px' von der Pos.Angabe entfernen
	mbleft=parseInt(mbleft); if (isNaN(mbleft)) mbleft=0;
	return mbleft;
 }

function setYPos(layerName, xpos) {
    myLayer = getLayerObject(layerName);
	myLayer.left=(xpos+'px');
}

function setXPos(layerName, ypos) {
    myLayer = getLayerObject(layerName);
	myLayer.top=(ypos+'px');
}



function getImageXfromLeft(imgID,mydoc) {
  if(!mydoc) mydoc = document;
  myImage = mydoc.getElementById(imgID);
	
  if(!myImage)
  {
  	alert("Achtung!\nDas Bild "+imgID+", welches zur relativen Positionierung gebraucht wird, scheint nicht vorhanden zu sein.");
  	return false;
  }
return docjslib_getRealLeft(myImage);
}

function getImageYfromTop(imgID,mydoc) {
  if(!mydoc) mydoc = document;
  myImage = mydoc.getElementById(imgID);
  if(!myImage)
  {
//  	alert("Achtung!\nDas Bild "+imgID+", welches zur relativen Positionierung gebraucht wird, scheint nicht vorhanden zu sein.");
  	return false;
  }
	return docjslib_getRealTop(myImage);
}

// funcitons to get position of a picture
function docjslib_getRealLeft(imgElem) {
        xPos = imgElem.offsetLeft;
        tempEl = imgElem.offsetParent;
       
          while (tempEl != null) {
          		xPos += tempEl.offsetLeft;
                tempEl = tempEl.offsetParent;
          }
     
        return xPos;
}

function docjslib_getRealTop(imgElem) {
        yPos = imgElem.offsetTop;
        tempEl = imgElem.offsetParent;
        while (tempEl != null) {
                  yPos += tempEl.offsetTop;
                  tempEl = tempEl.offsetParent;
          }
        return yPos;
}

function getScrollX()
{
	var scrOfX = 0;
	if( typeof( window.pageXOffset ) == 'number' )
		scrOfX = window.pageXOffset;
	else
	{
		if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
			scrOfX = document.body.scrollLeft;
		else
		{
			if( document.documentElement &&
				( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
				scrOfX = document.documentElement.scrollLeft;
		}
	}
	return scrOfX;
}

function getScrollY()
{
	var scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' )
		scrOfY = window.pageYOffset;
	else
	{
		if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
			scrOfY = document.body.scrollTop;
		else
		{
			if( document.documentElement &&
				( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
				scrOfY = document.documentElement.scrollTop;
		}
	}
	return scrOfY;
}


// Refreshpage (cache-abfrage)
function refreshPage() {
	if (document.location.href.indexOf("cache=refreshurl") != -1) {
		document.location.reload();
	}
	else	{
		var urlParts = (document.location.href+'#').split('#');

		if (document.location.href.indexOf("?") != -1) {
			newUrl=urlParts[0] + '&cache=refreshurl'+((urlParts[1]!='')?('#'+urlParts[1]):'');
		}
		else	{
			newUrl=urlParts[0] + '?cache=refreshurl'+((urlParts[1]!='')?('#'+urlParts[1]):'');
		}
		document.location.replace(newUrl);
	}
}


function openPicWinCm(pFileName,pWinName,pWidth,pHeight,posWindow,einfuegwin)
{
	var isNS = (document.layers) ? true : false;
	if (isNS) pHeight = pHeight + 19;

	switch(posWindow)
	{
 		case "left":
 		xPosNewWindow=0;
 		break;
 		case "right":
 		xPosNewWindow=screen.width-pWidth-12;
 		break;
 		case "middle":
 		xPosNewWindow=(screen.width-pWidth)/2;
 		break;
 		default:
 		xPosNewWindow=(screen.width-pWidth)/2;
		break;
	}

	eval("allSettings = 'width="+pWidth+",height="+pHeight+",menubar=no,scrollbars=yes,status=no,resizable=yes,left='+xPosNewWindow+',top=0'");
	if (einfuegwin)
	{

		w1=window.open(pFileName,pWinName,allSettings);
		w1.window.focus();
	}
	else
	{
		w=window.open(pFileName,pWinName,allSettings);
		w.window.focus();
	}
}
// BEGIN Show icms-Bälkli

var elctr = 0;
var elcounter = new Array();
var hideconfig;

function doit(autohide)
{
	var ctrx = 0;	
	// Hide Toolbars
	for(var ctrx = 0; ctrx < elcounter.length; ctrx++)
	{
		if(document.getElementById(elcounter[ctrx]))
		{			
			if (autohide == 'show')
			{
				document.getElementById(elcounter[ctrx]).style.display = 'block';
				var xctr2 = "collection" + elcounter[ctrx];							
				if(document.getElementById(xctr2))
				{								
					//document.getElementById(xctr2).className = "hidecollection";
					document.getElementById(xctr2).className = document.getElementById(xctr2).className.replace(/_off/,"_on");
				}
				hideconfig = "show";
			}
			else if(document.getElementById(elcounter[ctrx]).style.display == 'none' && autohide == 0)
			{
				document.getElementById(elcounter[ctrx]).style.display = 'block';
				var xctr2 = "collection" + elcounter[ctrx];							
				if(document.getElementById(xctr2))
				{
					document.getElementById(xctr2).className = document.getElementById(xctr2).className.replace(/_off/,"_on");
				}
				hideconfig = "show";
			}
			else if (autohide == 0)
			{
				document.getElementById(elcounter[ctrx]).style.display = 'none';
				var xctr2 = "collection" + elcounter[ctrx];							
				if(document.getElementById(xctr2))
				{								
					//document.getElementById(xctr2).className = "hidecollection";
					document.getElementById(xctr2).className = document.getElementById(xctr2).className.replace(/_on/,"_off");
				}
				hideconfig = "hide";
			}			
			
		}	
	}

	if (document.getElementById("icmsconfig"))
	{
		if (hideconfig == "show")
		{
			document.getElementById("icmsconfig").src = document.getElementById("icmsconfig").src.replace(/_off/,"_on");
		}
		else
		{
			document.getElementById("icmsconfig").src = document.getElementById("icmsconfig").src.replace(/_on/,"_off");
		}
	}
}

function ShowConfig()
{
	var autohide = hideconfig == "show" ? "hide" : "show";

	try	{
	  var ajaxurl  = absCorrect + 'ajax.html';
		var pars = "personalizer.action=setuserdata:" + autohide;
		var myAjax = new Ajax.Request(ajaxurl, 
			{
				method: 'post',
				parameters: pars,
				asynchronous: false
			}
		);
	}
	catch (e) {
		window.open(ajaxurl + '?' + pars,'','width=1,height=1,scrollbars=no,resizable=no');
	}
}
// END Show icms-Bälkli


function NewPage(name, parentid)
{
    var redirect = '';
    try {
        var ajaxurl  = absCorrect + 'ajax.html';
        var pars = "navigation.action=saveAutoObject&navigation.name=" + escape(name) + "&navigation.parentid=" + parentid + "&navigation.output=1&content.action=newContent&content.name=" + escape(name) + '&content.redirect=no';
        var myAjax = new Ajax.Request(ajaxurl, 
                                {
                                    method: 'post',
                                    parameters: pars,
                                    asynchronous: false
                                }
                              );
        redirect = myAjax.transport.responseText;
    }
    catch (e) {
        window.open(ajaxurl + '?' + pars,'','width=1,height=1,scrollbars=no,resizable=no');
    }
    
    if (redirect.length > 0)
    {
        document.location.href = redirect;
    }
    else if (document.location.href.indexOf("cache=refreshall") > -1)
    {
        document.location.reload();
    }
    else
    {
        urlParts = (document.location.href+'#').split('#');
        if (document.location.href.indexOf("?") != -1)
        {
            newUrl = urlParts[0] + '&cache=refreshall'+((urlParts[1]!='')?('#'+urlParts[1]):'');
        }
        else
        {
            newUrl = urlParts[0] + '?cache=refreshall'+((urlParts[1]!='')?('#'+urlParts[1]):'');
        }
        
        document.location.href = newUrl;
        document.location.reload();
    }
}


  /************************************/
 /* Function for language-referencer */
/************************************/

/* remove a entry from the notelist */
function LanguageReference_removeVoid(removeVoid)
{
	try	{
		var ajaxurl  = absCorrect + 'ajax.html';
		var pars = "content.action=languageReference_removeVoid&content.removelrVoid="+ removeVoid;
		var myAjax = new Ajax.Request(ajaxurl, 
			{
				method: 'post',
				parameters: pars,
				asynchronous: false
			}
		);
	}
	catch (e) {
		window.open(ajaxurl + '?' + pars,'','width=1,height=1,scrollbars=no,resizable=no');
	}
	if(document.getElementById('linkingtr_'+removeVoid))
	{
		var tr = document.getElementById('linkingtr_'+removeVoid);
		tr.className = 'languagereferencTable_removed';
		tr.onmouseover = function(){};
		tr.onmouseout = function(){};
		tr.style.display = 'none';
	}
}

var LanguageReference = {
		setVoid: function(viewObjId) {
			jQuery.post(	absCorrect + 'ajax.html',
							{
								'content.action': 'languageReference_setVoid::'+viewObjId
							},
							function() {
								refreshPage();
							}
			);
			return false;
		},
		setNewRelation: function(voidOne, voidTwo) {
			jQuery.post(	absCorrect + 'ajax.html',
							{
								'content.action':		'languageReference_setNewRelation',
								'content.firstVoid':	voidOne,
								'content.secondVoid':	voidTwo
							},
							function() {
								refreshPage();
							}
			);
			return false;
		},
		delVoid: function(viewObjId, lang) {
			jQuery.post(	absCorrect + 'ajax.html',
							{
								'content.action': 	'languageReference_delVoid',
								'content.delVoid':	viewObjId,
								'content.delLang':	lang
							},
							function() {
								refreshPage();
							}
			);
			return false;
		},
		removeVoid: function(viewObjId) {
			jQuery.post(	absCorrect + 'ajax.html',
							{
								'content.action':		'languageReference_removeVoid',
								'content.removelrVoid':	viewObjId
							},
							function() {
								refreshPage();
							}
			);
			return false;
		}
};

/* remove the link in the db*/
function LanguageReference_delVoid(removeVoid, langkey)
{
	try	{
		var ajaxurl  = absCorrect + 'ajax.html';
		var pars = "content.action=languageReference_delVoid&content.delVoid="+ removeVoid +"&content.delLang="+ langkey;
		var myAjax = new Ajax.Request(ajaxurl, 
			{
				method: 'post',
				parameters: pars,
				asynchronous: false
			}
		);
	}
	catch (e)
	{
		window.open(ajaxurl + '?' + pars,'','width=1,height=1,scrollbars=no,resizable=no');
	}
}


function LanguageReference_setVoid(setVoid)
{
	try	{
		var ajaxurl  = absCorrect + 'ajax.html';
		var pars = "content.action=languageReference_setVoid::"+ setVoid;
		var myAjax = new Ajax.Request(ajaxurl, 
			{
				method: 'post',
				parameters: pars,
				asynchronous: false
			}
		);
	}
	catch (e)
	{
		window.open(ajaxurl + '?' + pars,'','width=1,height=1,scrollbars=no,resizable=no');
	}
}

function LanguageReference_setNewRelation(firstvoid, secondVoid)
{
	try	{
		var ajaxurl  = absCorrect + 'ajax.html';
		var pars = "content.action=languageReference_setNewRelation&content.firstVoid="+ firstvoid +"&content.secondVoid="+ secondVoid;
		var myAjax = new Ajax.Request(ajaxurl, 
			{
				method: 'post',
				parameters: pars,
				asynchronous: false
			}
		);
	}
	catch (e)
	{
		window.open(ajaxurl + '?' + pars,'','width=1,height=1,scrollbars=no,resizable=no');
	}
	refreshPage();
}

// this var will be set from the opener every second :-)
function LanguageReference_newWindow(langkey)
{ 
	if(!openers['LanguageReference_newWin'])
	{
		openers['LanguageReference_newWin'] = window.open(absCorrect, 'LanguageReference_newWin');
	}
	else
	{
		openers['LanguageReference_newWin'].refreshPage();
	}
	openers['LanguageReference_newWin'].focus();
}

function translationLinksPopup(template, languages, absCorrect, styleSet){
	var img = new Element('img').setStyle({
		'float': 'left'
	}).writeAttribute({
		'src': absCorrect + 'icms/images/' + styleSet + '/icons/editbars/language_off.gif',
		'alt': 'Zum Translation-Office',
		'title': 'Zum Translation-Office'
	});
	
	var popupDiv = new Element('div').setStyle({
		'border': '1px solid black',
		'position': 'absolute',
		'text-align': 'left',
		'z-index': '50000',
		'background-color': '#D0D3C9',
		'display': 'none',
		'float': 'left',
		'width': '60px'
	});
	
	for (var i = 0; i < languages.length; i++)
	{
		var a = new Element('a').addClassName('fadmin1').addClassName('fbold').setStyle({
			'width': 'auto',
			'cursor': 'pointer'
		}).writeAttribute({
			'href': absCorrect + 'icms/translation/translation.html?translation.file=' + template + '&translation.show_langs[' + languages[i] + ']=on&translation.submit_show_langs=1"',
			'target': '_blank'
		}).update(languages[i]);
		popupDiv.appendChild(a);
	}
	Event.observe(window, 'load', function()
	{
		document.body.appendChild(popupDiv);
	});
	
	var timeoutHandler = null;
	var over = function(){
		popupDiv.style.display = 'block';
		var pos = Element.cumulativeOffset(img);
		popupDiv.style.left = pos.left + 'px';
		popupDiv.style.top = (pos.top+23) + 'px';
		timeoutHandler && clearTimeout(timeoutHandler);
	};
	var hide = function(){
		popupDiv.style.display = 'none';
	}
	var out =  function(){
		timeoutHandler && clearTimeout(timeoutHandler);
		timeoutHandler = setTimeout(hide, 300);
	};
	
	img.onmouseover = function(){
		icms_btn_ms(img,'');
		over();
	};
	img.onmouseout = function(){
		icms_btn_off(img);
		out();
	}
	popupDiv.onmouseover = function(){
		over();
	};
	popupDiv.onmouseout = function(){
		out();
	}
	var allEl = document.getElementsByTagName('script');
	var lastEl = allEl[allEl.length-1];
	Event.observe(window, 'load', function()
	{
		lastEl.parentNode.insertBefore(img, lastEl);
	});
};
