
// DOM for all browsers
//
function obj(name) {
	if(document.all) 	return eval("document.all."+name);
	else 				return document.getElementById(name);
}


function show_only_div ( id ) {
	obj('editlayer_menu').style.visibility='hidden';		obj('editlayer_menu').style.display='none';
	obj('editlayer_node').style.visibility='hidden';		obj('editlayer_node').style.display='none';
	obj('editlayer_node_out').style.visibility='hidden';	obj('editlayer_node_out').style.display='none';
	obj('editlayer_code').style.visibility='hidden';		obj('editlayer_code').style.display='none';
	obj('editlayer_func').style.visibility='hidden';		obj('editlayer_func').style.display='none';
	obj('editlayer_attrib').style.visibility='hidden';		obj('editlayer_attrib').style.display='none';
	obj('editlayer_version').style.visibility='hidden';		obj('editlayer_attrib').style.display='none';

	obj(id).style.visibility='visible';
	obj(id).style.display='block';
}



function edit_prepare ( area , table , field , id , nodename , article , allow_edit ) {
	show_adminlayer();
	if( edit_data[id] ) {
		data	= unescape( edit_data[id] );
	} else {
		data	= "";
	}
	obj('edit_value_'+area).value		= data;
	obj('edit_table_'+area).value		= table;
	obj('edit_field_'+area).value		= field;
	obj('edit_id_'   +area).value		= id;

	if( obj('edit_nodename_'	+area) )	obj('edit_nodename_'	+area).value		= nodename;
	if (obj('edit_article_'		+area) ) 	obj('edit_article_'		+area).value		= article;
	
	obj('output_table').innerHTML	= table;
	obj('output_name').innerHTML	= nodename;
	obj('output_article').innerHTML	= field;
	show_only_div( 'editlayer_node' );

//	if( allow_edit!='list' ) {
//		fckeditor_replace('edit_value_data');
//	}
	
}

function popup (adr) {
	win = window.open(adr, "", "width=300,height=400,left=100,top=200");
	win.focus();
}



// Thank you to http://aktuell.de.selfhtml.org/artikel/javascript/utf8b64/utf8.htm
function decode_utf8( utftext ) {
	var plaintext = ""; var i=0; var c=c1=c2=0;
	// while-Schleife, weil einige Zeichen uebersprungen werden
	while(i<utftext.length)
		{
		c = utftext.charCodeAt(i);
		if (c<128) {
			plaintext += String.fromCharCode(c);
			i++;}
		else if((c>191) && (c<224)) {
			c2 = utftext.charCodeAt(i+1);
			plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
			i+=2;}
		else {
			c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2);
			plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
			i+=3;}
		}
	return plaintext;
}


// Thank you to http://aktuell.de.selfhtml.org/artikel/javascript/utf8b64/utf8.htm
function encode_utf8(rohtext) {
	// dient der Normalisierung des Zeilenumbruchs
	rohtext = rohtext.replace(/\r\n/g,"\n");
	var utftext = "";
	for(var n=0; n<rohtext.length; n++)
		{
		// ermitteln des Unicodes des  aktuellen Zeichens
		var c=rohtext.charCodeAt(n);
		// alle Zeichen von 0-127 => 1byte
		if (c<128)
			utftext += String.fromCharCode(c);
		// alle Zeichen von 127 bis 2047 => 2byte
		else if((c>127) && (c<2048)) {
			utftext += String.fromCharCode((c>>6)|192);
			utftext += String.fromCharCode((c&63)|128);}
		// alle Zeichen von 2048 bis 66536 => 3byte
		else {
			utftext += String.fromCharCode((c>>12)|224);
			utftext += String.fromCharCode(((c>>6)&63)|128);
			utftext += String.fromCharCode((c&63)|128);}
		}
	return utftext;
}


function show_adminlayer() {
	obj('adminlayer_trigger').style.visibility	= 'hidden';
	obj('adminlayer').style.visibility			= 'visible';
	obj('adminlayer').style.display				= 'block';
	show_only_div( 'editlayer_code' );
}

function close_adminlayer() {
	obj('adminlayer_trigger').style.visibility	= 'visible';
	obj('adminlayer').style.visibility			= 'hidden';
	obj('adminlayer').style.display				= 'none';
	
	show_only_div( 'editlayer_code' );
	obj('editlayer_code').style.visibility='hidden';
	obj('editlayer_code').style.display='none';
}

function delete_adminlayer() {
	obj('adminlayer_trigger').style.display		= 'none';
	obj('adminlayer').style.display				= 'none';
}


function fckeditor_replace( id ) {

	var oEditor ;
	if ( typeof( FCKeditorAPI ) != 'undefined' )
		oEditor = FCKeditorAPI.GetInstance( id ) ;

	if( ! oEditor  ) {
		var sBasePath = "../fckeditor/" ;
		var oFCKeditor = new FCKeditor( id ) ;
		oFCKeditor.BasePath	= sBasePath ;
		oFCKeditor.Width = '100%' ;
		oFCKeditor.Height = '550' ;
		oFCKeditor.ReplaceTextarea() ;
	} else {
		oEditor.SetHTML( document.getElementById(id).value )
	}
}

function body_onload() {
	if( body_onload_custom ) {
		body_onload_custom();
	}
}

function createXMLHttpRequest() {
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	try { return new XMLHttpRequest(); } catch(e) {}
	alert("XMLHttpRequest not supported");
	return null;
}
