function GetE(id) {
	return document.getElementById(id);
}

/**
 * Für Ajax
 */
function statusReady()
{
	try {
		document.getElementById("loaderContainer").style.display = "none";
	}
	catch (e)	{}

}
function statusLoading()
{
	try {
		document.getElementById("loaderContainer").style.display = "";
	}
	catch (e)	{}
}

/**
 * Für Textfeld in Bausteinen
 */
function insert(aTag, eTag, formname, elementname) {
	var input = document.forms[formname].elements['CMS_VAR['+elementname+']'];
	input.focus();

	/* für Internet Explorer */
	if(typeof document.selection != 'undefined') {
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = aTag + insText + eTag;

		/* Anpassen der Cursorposition */
		range = document.selection.createRange();

		if (insText.length == 0) {
			range.move('character', -eTag.length);
		}
		else {
			range.moveStart('character', aTag.length + insText.length + eTag.length);
		}

		range.select();
	}

	/* für neuere auf Gecko basierende Browser */
	else if(typeof input.selectionStart != 'undefined') {
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);

		/* Anpassen der Cursorposition */
		var pos;

		if (insText.length == 0) {
			pos = start + aTag.length;
		}
		else {
			pos = start + aTag.length + insText.length + eTag.length;
		}

		input.selectionStart = pos;
		input.selectionEnd = pos;
	}

	/* für die übrigen Browser */
	else {
		/* Abfrage der Einfügeposition */
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');

		while(!re.test(pos)) {
			pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
		}

		if(pos > input.value.length) {
			pos = input.value.length;
		}

		/* Einfügen des Formatierungscodes */
		var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
		input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
	}
}






/**
 * Allgemeine Ajax-Abrage
 * @param link - Link der Abzufragenden Seite mittels GET
 * @param id - wenn null, dann wird das Ergebnis aus Rückgabewert der
 *             Funktion ausgegeben, sonst an document.getElementById(id).innerHTML
 * @param string - Wenn id null, dann Rückgabe, sonst bool
 */
var lastResult = "";
var lastId = "";

function getByAjax(link, id, alternativeReturn)
{
	//alert(link);

	statusLoading();
	// globale Instanz von XMLHttpRequest
	var xmlHttp = false;

	// XMLHttpRequest-Instanz erstellen
	// ... für Internet Explorer
	try {
	    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
	    try {
	        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch(e) {
	        xmlHttp  = false;
	    }
	}
	// ... für Mozilla, Opera und Safari
	if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
	    xmlHttp = new XMLHttpRequest();
	}


	if (xmlHttp)
	{
	    xmlHttp.open('GET', link, true);

	    xmlHttp.onreadystatechange = function ()
	    {
		    if (xmlHttp.readyState == 4)
		    {
		    	// Loginzeit verstrichen, dann enthält responseText die gesamte Loginseite
		    	// --> also weiterleiten auf sich selbst, um ausgeloggt zu werden
		    	var re = /^\s*<!DOCTYPE/gi;
				if(re.exec(xmlHttp.responseText)) {
					window.location.href='content.php';
					return;
				}

		    	if(alternativeReturn)
		    	{
		    		lastResult = xmlHttp.responseText;
		    		lastId = id;
		    		eval(alternativeReturn + "();");
		    		lastResult = "";
		    		lastId = "";
		    	}
		    	else
		    	{
			    	document.getElementById(id).innerHTML = xmlHttp.responseText;
			    	activeTree = false;
		    	}
		    	statusReady();
		    }
	    };
	    }

	 xmlHttp.send(null);

}



/**
 * Für Verlinkungsblock
 * diffInput - Werden mehrere Link Bausteine verwendet muss teilweise nicht das aktuelle serializedArr an den Request übergeben werden, sondern eine vorherige Version.
 */
function loadLinkContent(lang, id, show, param, diffInput)
{
	if(typeof diffInput == 'undefined' || diffInput == null)
		diffInput = serializedArr;
	
	// globale Instanz von XMLHttpRequest
	var xmlHttp = false;

	// XMLHttpRequest-Instanz erstellen
	// ... für Internet Explorer
	try {
	    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
	    try {
	        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch(e) {
	        xmlHttp  = false;
	    }
	}
	// ... für Mozilla, Opera und Safari
	if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
	    xmlHttp = new XMLHttpRequest();
	}


	if (xmlHttp)
	{
		if(window.linkerBase)
			var lb = window.linkerBase;
		else
			var lb = '/';
		
//        if(typeof console != 'undefined') {
            var params = 'lang='+lang+'&input='+diffInput+'&show='+show+'&param='+param;
            xmlHttp.open('POST', lb+'linker.php', true);
            
            xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xmlHttp.setRequestHeader("Content-length", params.length);
            xmlHttp.setRequestHeader("Connection", "close");
            
            xmlHttp.onreadystatechange = function ()
            {
                if (xmlHttp.readyState == 4)
                {
                    var tempText = xmlHttp.responseText;
                    // Try... catch block verhindert, dass beim IE ein Fehler angezeigt wird.
                    try {
                        document.getElementById(id).innerHTML=tempText;
                    } catch(e) {}

                    if(show == 8)
                        LoadAnchorNamesAndIds();
                }
            };
            xmlHttp.send(params);
//        } else {
//            xmlHttp.open('GET', lb+'linker.php?lang='+lang+'&input='+diffInput+'&show='+show+'&param='+param, true);
//            xmlHttp.onreadystatechange = function ()
//            {
//                if (xmlHttp.readyState == 4)
//                {
//                    var tempText = xmlHttp.responseText;
//                    // Try... catch block verhindert, dass beim IE ein Fehler angezeigt wird.
//                    try {
//                        document.getElementById(id).innerHTML=tempText;
//                    } catch(e) {}
//
//                    if(show == 8)
//                        LoadAnchorNamesAndIds();
//                }
//            };
//            xmlHttp.send(null);
//        }
	}
}


/**
 * Für Verlinkungsblock
 */
function loadLinkBox(myValue, newPJs, serializedArr)
{
	if(typeof newPJs == 'undefined' || newPJs == null)
		newPJs = pJs;
	
	loadLinkContent(con_lang,'linkContent'+newPJs+'_1',myValue,0, serializedArr);
	loadLinkContent(con_lang,'linkContent'+newPJs+'_2',0,0, serializedArr);

	if(myValue == 1 || myValue == 2)
	{
		loadLinkContent(con_lang,'linkContent'+newPJs+'_3',200,0);
	}
	else
	{
		loadLinkContent(con_lang,'linkContent'+newPJs+'_3',0,0);
	}
}


/**
 * Für Verlinkungsblock
 */
function OnUrlChange(pJs)
{
	var textbox = document.getElementById(pJs + '_link');
	var protokollbox = document.getElementById(pJs + '_protokoll');

	var oRegex = new Object() ;
	oRegex.UrlOnChangeProtocol = /^(http|https|ftp|news):\/\/(?=.)/gi ;
	oRegex.UrlOnChangeTestOther = /^((javascript:)|[#\/\.])/gi ;


	var sUrl = textbox.value ;
	var sProtocol = oRegex.UrlOnChangeProtocol.exec( sUrl ) ;

	if ( sProtocol )
	{
		sUrl = sUrl.substr( sProtocol[0].length ) ;
		textbox.value = sUrl ;
		protokollbox.value = sProtocol[0].toLowerCase() ;
	}
	else if ( oRegex.UrlOnChangeTestOther.test( sUrl ) )
	{
		protokollbox.value = '' ;
	}
}


/**
 * Für Verlinkungsblock
 */
function showHidePopUpData(myValue,boxName)
{
	if(myValue == 2)
		document.getElementById(boxName).style.display='block';
	else
		document.getElementById(boxName).style.display='none';
}








/**
 * Findet Verwendung beim "PreSave"
 */
function show_that(jname,jpos,jmark,jmax)
{
	//document.write("Name: "+jname+" POS: "+jpos+" Mark: "+jmark+" MAX: "+jmax);
	for(i=1;i<=jmax;i++)
	{document.getElementById(jname+"_"+jpos+"_"+i).style.display='none';}
	document.getElementById(jname+"_"+jpos+"_"+jmark).style.display='';
}






/**
 * Details in Baustein
 */
function show_more_settings (id)
{
	document.getElementById('hiddn_'+id).style.display='';
	document.getElementById('c_lnk_'+id).style.display='';
	document.getElementById('o_lnk_'+id).style.display='none';
}
function show_less_settings (id)
{
	document.getElementById('hiddn_'+id).style.display='none';
	document.getElementById('c_lnk_'+id).style.display='none';
	document.getElementById('o_lnk_'+id).style.display='';
}






/**
 * Hauptmenue Backend
 */
function menue(id, anz)
{
	for(i=1;i<=anz;i++)
	{
		if(document.getElementById('buta'+i))
		{
			document.getElementById('buta'+i).style.display='none';
			document.getElementById('buti'+i).style.display='';
			document.getElementById('men'+i).style.display='none';
		}
	}

	document.getElementById('buti'+id).style.display='none';
	document.getElementById('buta'+id).style.display='';
	document.getElementById('men'+id).style.display='';
}

function execCommand (command) {
   if (document.execCommand) {
     if (a.P.contains(document.selection.createRange().parentElement()))
       document.execCommand(command);
   }
}






/**
 * Für den Mouseovereffekt an den Tabellen im Backend
 */
function changecolor(tablerowid, reset, restore_color)
{
	theCells = document.getElementById(tablerowid).getElementsByTagName('td');
	rowCellsCnt = theCells.length;

	for (c = 0; c < rowCellsCnt; c++)
	{
		// Mouseover
		if (reset == false)
		{
			theCells[c].style.backgroundColor = '#CBE5B9';
		}

		// Mouseout
		else
		{
			if(restore_color != "")
			{
				theCells[c].style.backgroundColor = restore_color;
			}
			else
			{
				if (theCells[c].className == "ct_dark")
				{
					theCells[c].style.backgroundColor = '#B9DCFC';
				}
				else
				{
					theCells[c].style.backgroundColor = '#DAECFE';
				}
			}

		}
	}
}



/**
 * Setzt alle CSS-Klassen der Elemente eines bestimmten >type< unterhalb
 * eines Elementes >parentId< auf >defaultClass<. Das element mit der
 * >elementId< wird jedoch auf >elementClass< gesetzt.
 * NUTZEN:
 * Z.B. Hovereffekt. Alle Elemente sollen wieder auf die Standardklasse
 * gesetzt werden, die den Button unsichtbar erscheinen lassen, ein be-
 * stimmtes jedoch auf die markante Klasse, um es sichtbar werden zu
 * lassen.
 * (Wird z.B. in ArticleProperties eingesetzt)
 */
function classChanger(type, parentId, elementId, defaultClass, elementClass, langFlagSupport) {
	var parentE = document.getElementById(parentId);
	var selfE = document.getElementById(elementId);
	var elements = parentE.getElementsByTagName(type);
	for (var i=0;i<elements.length;i++){
		if(in_array(elements[i],parentE.childNodes)) {
			if(elements[i] == selfE) {
				elements[i].className = elementClass;
			} else {
				elements[i].className = defaultClass;
			}
		}
	}

	if(langFlagSupport) {
		var Ausdruck = /.*?([0-9]+)$/;
		Ausdruck.exec(elementId);
		var target = document.getElementById(langFlagSupport + RegExp.$1);

		var specialStyle = 'languageSwitcherActive';
		var normalStyle  = 'languageSwitcher';

		var links = target.parentNode.getElementsByTagName('a');
		for (i=0;i<links.length;i++) {
			links[i].className = normalStyle;
		}
		target.className = specialStyle;
	}
}


function in_array(item,arr) {
for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
return false;
}









/**
 * Standard-MM-Funktionen
 */
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function tmt_findObj(n){
	var x,t; if((n.indexOf("?"))>0&&parent.frames.length){t=n.split("?");
	x=eval("parent.frames['"+t[1]+"'].document.getElementById('"+t[0]+"')");
	}else{x=document.getElementById(n)}return x;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}

function MM_openBrWindow(theURL,winName,features) {
	window.open(theURL,winName,features);
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}





/**
 * ********************************
 * Funktionen der KategorieListe
 */


/**
 * RESPONSE - Sichtbarkeit
 */
function toggleVisibility()
{
	result = lastResult;
	picArr = lastId.getElementsByTagName('img');

	if(result == 1)	{
		picArr[0].src = 'images/admin/minibut_str_xauge.gif';
	}
	else if(result == 0)	{
		picArr[0].src = 'images/admin/minibut_str_auge.gif';
	}
}

/**
 * RESPONSE - Geschützter Bereich
 */
function toggleProtection()
{
	result = lastResult;
	picArr = lastId.getElementsByTagName('img');

	if(result == 1)	{
		picArr[0].src = 'images/admin/minibut_str_schloss.gif';
	}
	else if(result == 0)	{
		picArr[0].src = 'images/admin/minibut_str_xschloss.gif';
	}
}

/**
 * RESPONSE und RELOAD - Hochschieben
 */
function moveup()
{
    getByAjax(lastResult, lastId);
}

/**
 * RESPONSE und RELOAD - Runterschieben
 */
function movedown()
{
	getByAjax(lastResult, lastId);
}

/**
 * RESPONSE und RELOAD - Runterschieben
 */
function farMoving()
{
	getByAjax(lastResult, lastId);
}

/**
 * RESPONSE und RELOAD - Löschen
 */
function deleteCat()
{
	if(lastResult == "1")
		alert('Diese Kategorie kann nicht gelöscht werden, weil Unterkategorien vorhanden sind!');
	else if(lastResult == "2")
		alert('Diese Kategorie kann nicht gelöscht werden, weil Artikel enthalten sind!');
	else
		getByAjax(lastResult, lastId);
}


	/*
	var Arr=new Array();
	var tab=document.getElementById("Id_der_Tabelle");
	var tbdy=tab.getElementsByTagName("tbody")[0];
	var nzeilen=tbdy.getElementsByTagName("tr").length;
	var nspalten=tbdy.getElementsByTagName("tr")[0].getElementsByTagName("td").length;

	// hin
	for(var z=0;z<nzeilen;z++)
	{
		var zeile=tbdy.getElementsByTagName("tr")[z].getElementsByTagName("td");
		Arr[z]=new Array(nspalten);

		for(var s=0;s<nspalten;s++)
			Arr[z][s]=zeile[s].firstChild.nodeValue;
	}

	// und zurück:
	for(var z=0;z<nzeilen;z++)
	{
		var zeile=tbdy.getElementsByTagName("tr")[z].getElementsByTagName("td");
		for(var s=0;s<nspalten;s++)
			zeile[s].firstChild.nodeValue=Arr[z][s];
	}
	*/






/* Directedit */
function setElements()
{
	if (document.getElementById('directedit_settings'))
	{
		obj        = document.getElementById('directedit_settings');
		objOverlay = document.getElementById('directedit_overlay');

		var newWidth  = (document.documentElement.clientWidth / 2) - 290;
		var newHeight = (((document.documentElement.clientHeight - 51) / 2) - 310) + 51;

		if (newWidth < 0)
		{
			newWidth = 0;
		}

		if (newHeight < 0)
		{
			newHeight = 0;
		}

		obj.style.top = newHeight+'px';
		obj.style.left = newWidth+'px';

		objOverlay.style.position = 'absolute';
		objOverlay.style.zIndex = '998';
		objOverlay.style.left = '0';
		objOverlay.style.top = '51px';
		objOverlay.style.width = document.documentElement.clientWidth+"px";
		objOverlay.style.height = document.documentElement.clientHeight - 51+"px";
	}
}

function initSettings()
{
	if (document.getElementById('directedit_settings'))
	{
		var obj        = document.getElementById('directedit_settings');
		var objOverlay = document.getElementById('directedit_overlay');

		setElements(obj, objOverlay);

		if (obj.style.display == 'none' || obj.style.display == '')
		{
			obj.style.display = 'block';
			objOverlay.style.display = 'block';
		}
		else
		{
			obj.style.display = 'none';
			objOverlay.style.display = 'none';
		}
	}
}

function uploader() {
	if (document.getElementById('upload_form')) {
		document.getElementById('upload_form').style.display = 'none';
		document.getElementById('loader').style.display = 'block';
	}
	return;
}

function getFlash(filename, filename_bild, width, height, transparent, qualitaet)
{
	document.write('<object type="application/x-shockwave-flash" data="'+filename+'" width="'+width+'" height="'+height+'">');

		if (transparent = '1')
		{
			document.write('<param name="wmode" value="transparent">');
		} else {
			document.write('<param name="wmode" value="opaque">');
		}

		document.write('<param name="movie" value="'+filename+'">');
		document.write('<param name="quality" value="'+qualitaet+'">');
		document.write('<img src="'+filename_bild+'" width="'+width+'" height="'+height+'" border="0">');
	document.write('</object>');
}

function ShowSettingsByCatType(value) {
	if (value == '1') {
		document.getElementById('eins').style.display='block';
		document.getElementById('zwei').style.display='none';
		document.getElementById('drei').style.display='none';
		document.getElementById('vier').style.display='none';
	} else if (value == '2') {
		document.getElementById('eins').style.display='none';
		document.getElementById('zwei').style.display='block';
		document.getElementById('drei').style.display='none';
		document.getElementById('vier').style.display='none';
	} else if (value == '3') {
		document.getElementById('eins').style.display='none';
		document.getElementById('zwei').style.display='none';
		document.getElementById('drei').style.display='block';
		document.getElementById('vier').style.display='none';
	} else if (value == '4') {
		document.getElementById('eins').style.display='none';
		document.getElementById('zwei').style.display='none';
		document.getElementById('drei').style.display='none';
		document.getElementById('vier').style.display='block';
	}
}

function popup(url, name, width, height) {
	if (!name) {
		name = 'popup';
	}
	window.open(url, name, 'width='+width+', height='+height+', menubar=no, status=no, toolbar=no, scrollbars=no, location=no');
}

function languageframe(lang, attributes, file)
{
	document.getElementById('frame').src = file + '?con_lang=' + lang + '&' + attributes;
}


function changeLanguage(con_lang)
{
	var elements = document.getElementsByName('multilang');
	var count = elements.length;

	for (i=0; i<count; i++) {
		if (elements[i].id == con_lang) {
			elements[i].style.display = 'block';
			document.getElementById('flag_'+elements[i].id).style.borderBottom = '2px #f00 solid';
		} else {
			elements[i].style.display = 'none';
			document.getElementById('flag_'+elements[i].id).style.borderBottom = 'none';
		}
	}
}

window.onresize = setElements;



//Funktion für die Auswahl eines Ankers
var bHasAnchors ;

function LoadAnchorNamesAndIds()
{
    var FCKTools = oEditor.FCKTools ;
	// Since version 2.0, the anchors are replaced in the DOM by IMGs so the user see the icon
    // to edit them. So, we must look for that images now.
	var aAnchors = new Array() ;
	var i ;
	var oImages = oEditor.FCK.EditorDocument.getElementsByTagName( 'IMG' ) ;
	for( i = 0 ; i < oImages.length ; i++ )
	{
		if ( oImages[i].getAttribute('_fckanchor') )
			aAnchors[ aAnchors.length ] = oEditor.FCK.GetRealElement( oImages[i] ) ;
	}

	// Add also real anchors
	var oLinks = oEditor.FCK.EditorDocument.getElementsByTagName( 'A' ) ;
	for( i = 0 ; i < oLinks.length ; i++ )
	{
		if ( oLinks[i].id && ( oLinks[i].id.length > 0 ) )
			aAnchors[ aAnchors.length ] = oLinks[i] ;
	}

	//bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;
	bHasAnchors = ( aAnchors.length > 0) ;

	for ( i = 0 ; i < aAnchors.length ; i++ )
	{
		var sName = aAnchors[i].id ;
		if ( sName && sName.length > 0 )
			FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ;
	}

	var selList = GetE('cmbAnchorName');
	var currAnchor = GetE('cmbCurrentAnchorName');
	
	if(currAnchor != null) {
		for(var i=0; i<= selList.length-1; i++)
		{
			if(selList.options[i].text == currAnchor.value) {
				selList.selectedIndex = i;
				break;
			}
		}
	}

	ShowE( 'divSelAnchor'	, bHasAnchors ) ;
	ShowE( 'divNoAnchor'	, !bHasAnchors ) ;
}

function show_addresses(){
	var i,ret = false;
	// Ausblenden
	for(i=0;i<=10;i++){
		if(document.getElementById('hide_addresses_'+i) && document.getElementById('hide_addresses_'+i).style.display == ''){
			document.getElementById('hide_addresses_'+i).style.display = 'none';
			ret = true;
		}
	}
	if(ret)
		return
	// Einblenden
	for(i=0;i<=10;i++){
		if(document.getElementById('hide_addresses_'+i)){
			document.getElementById('hide_addresses_'+i).style.display = '';
		}
	}
}

/**
 * prüft ob Flash Aktiviert ist
 */
function checkFlash()
{
		if(typeof(navigator.plugins["Shockwave Flash"]) == "object") { return true; }
		else if(typeof(ActiveXObject) == "function") {
			for(var i = 8; i < 15; i ++) {
				try {
					if(typeof(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i)) == "object"){return true;}
				}catch(error){}
			}
		}
		return false;
}

function openImageEditPopup(fileName, folderName)
{
    var url = 'media_edit_image.php?file=' + fileName + '&folder=' + folderName;
    var editPopup = window.open(url, 'editImagePopup', 'resizable=yes,scrollbars=yes,width=990,height=780');

    maximizeWindow(editPopup);

    try {
        editPopup.focus();
    } catch(e) {}

    return false;
}

function maximizeWindow(windowElement) {
    try {
        windowElement.moveTo(0, 0);
    } catch(e) {
        return;
    }

    if (document.all) {
        window.resizeTo(screen.availWidth,screen.availHeight);
    } else if (windowElement.document.layers || windowElement.document.getElementById) {
        if (windowElement.outerHeight < screen.availHeight || windowElement.outerWidth < screen.availWidth) {
            windowElement.outerHeight = screen.availHeight;
            windowElement.outerWidth = screen.availWidth;
        }
    }
}

function addPrettyPhoto( obj )
{
  var aHref = $(obj).attr('href');

  var imgTitle = $(obj).find('img').attr('alt');
  var imgDesc = $(obj).attr('title');

  longDesc= imgDesc.split("\n");
  if( longDesc.length > 1 )
    imgDesc = '<strong>' + longDesc[0] + '</strong><br/>' + longDesc[1];

  $.prettyPhoto.open( aHref , imgTitle , imgDesc );

  return;
}

/**
 * Change the default value of an Input Button or an Password field on focus
 */
function infieldLabel()
{
	jQuery("#header input[type=text],#header input[type=password]").live('focusin',function(){
		if(jQuery(this).data("oldvalue") == null || jQuery(this).data("oldvalue") == jQuery(this).val())
		{
			jQuery(this).data("oldvalue",jQuery(this).val());
			jQuery(this).val("");
			if(jQuery(this).data("oldtype") == "password" )
			{
				var newObj = cloneInput('password', this );
				newObj.data("oldtype","password");
				newObj.data("oldvalue", jQuery(this).data('oldvalue') );
				jQuery(this).replaceWith( newObj );
				window.setTimeout(function(){
					newObj.focus();
				},500);
			}
		}
	}).live('focusout',function(){
		if(jQuery(this).val() == "")
		{
			jQuery(this).val(jQuery(this).data("oldvalue"));
			if(jQuery(this).data("oldtype") == "password" )
			{
				var newObj = cloneInput('text', this );
				newObj.data("oldtype","password");
				newObj.data("oldvalue", jQuery(this).data('oldvalue') );
				jQuery(this).replaceWith( newObj );
			}
		}
	}).each(function(){
		if( jQuery(this).attr('type') == 'password' )
		{
			var newObj = cloneInput('text', this );
			newObj.data("oldtype","password");
			newObj.data("oldvalue", jQuery(this).data('oldvalue') );
			jQuery(this).replaceWith( newObj );
		}
	});
}

function cloneInput( type , originalInput )
{
	var inp = jQuery('<input type="'+type+'" />');
	
	inp.addClass( jQuery(originalInput).attr('class') );
	inp.attr( 'name', jQuery(originalInput).attr('name') );
	inp.attr( 'value', jQuery(originalInput).attr('value') );
	return inp;
}

