var editGruppen=Array();
function swapEditTable(showID){
	for(var i=0;i<editGruppen.length;i++){
		$(editGruppen[i]).style.display="none";
		$("tbl"+editGruppen[i]).style.borderWidth="1px 1px 1px 1px";
	}
	div=$(showID);
	div.style.display="block";
	$("tbl"+showID).style.borderWidth="1px 1px 0px 1px";
}

function roundShapes(){
   var roundCorners = Rico.Corner.round.bind(Rico.Corner);
   roundCorners('tlbMainTdMenu',{border: '#00ff00'});
	alert("READY");
}

function swapForumDisplay(elem, img, root_path, forum_id, user_id){
	//function galajax(url, parameters, debug){
	url=root_path+"view/ajax_forum.php5";
	parameters="action=read&user_id="+user_id+"&forum_id="+forum_id;
	var ret=swapDisplay(elem,img,root_path);
	if(ret==2) // Nur, wenn der Block geöffnet wurde
		if(user_id!=-1) // -1 kommt, wenn der user nicht eingelogged ist
			galajax(url,parameters,false);
}

function changeIcon(img, img1, img2){
	if(img.src==img2)
		img.src=img1;
	else
		img.src=img2;
}

function swapDisplay(elem, img, root_path){
	if(elem.style.display=="block"){
		// Block schließen
		elem.style.display="none";
		if(img)
			img.src=root_path+"img/plus.gif";
		return 1;
	}else{
		elem.style.display="block";
		if(img)
			img.src=root_path+"img/minus.gif";
		// Block öffnen
		return 2;
	}
}

function getSelectedText(input){
  input.focus();
  /* f?r Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einf?gen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    return insText;
  }
  /* 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);
	return insText;
  }
}

function insertLink(txtarea){
	var sel=getSelectedText(txtarea);
	var link="";
	var text="";
	if(sel.substring(0,5)=="http:")
		link=sel;
	if(sel.substring(0,4)=="www.")
		link="http://"+sel;
	if(link==""){
		link="http://";
		text=sel;
	}
	
	link=prompt("Linkadresse: ", link);
	text=prompt("Text:", text);
	var ins="";
	if(text!="")
		ins="[url="+link+"]"+text+"[/url]";
	else
		ins="[url]"+link+"[/url]";
	insertBBTag(txtarea, ins,"",true);
	
}

function insertTag(input, tag){

}

function insertBBTag(input, aTag, eTag, delText) {
  input.focus();
  /* f?r Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einf?gen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
	if(!isUndefined(delText)){
	    range.text = aTag + eTag;
	}else{
		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);
	if(!isUndefined(delText)){
	    input.value = input.value.substr(0, start) + aTag + eTag + input.value.substr(end);
	}else{ // Selektierten Text behalten
	    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);
  }
}


function loadNextAndPrevImage(){
	// Bilder vorladen und verstecken
	/**
	for(var i=jsLoadImages.length-1;i>=0;i--){
		// alert(jsLoadImages[i]);
		var img = new Image();		
		img.src=jsLoadImages[i];
		img.style.display='none';
		//img.style.display='block';
		//alert("LOAD "+jsLoadImages[i]);
		document.body.appendChild(img);
	}
	**/
    for(var img = new Array, i = 0; i < jsLoadImages.length; i++) {
      img[i] = new Image;
      img[i].src = jsLoadImages[i];
		img[i].style.display='none';
		//img[i].style.display='block';
		//alert("LOAD "+jsLoadImages[i]);
		document.body.appendChild(img[i]);
    }	
	
}
function changeFCKEditorSize(parentID){
    var minSize="100px";
    var maxSize="500px";
    var p=$(parentID);
	var img=$('maximizeButton_'+parentID);
	
	if(p.style.height==maxSize){
		// Minimize
		p.style.height=minSize;
		img.src=img.src.replace(/minimize.gif/, "maximize.gif");
	}else{
		// Maximize
		p.style.height=maxSize;
		img.src=img.src.replace(/maximize.gif/, "minimize.gif");
	}
}

function showPreviewFileImage(root_path){
	var img=$('imgPreviewImage');
	var sel=$('files');
	var selImage=sel.options[sel.selectedIndex].value;
	img.style.display='block';
	var newURL=root_path+"view/file.php5?file_id="+selImage;
	if(img.src==newURL) return;
	img.src=newURL;

}
/** 
	zeigt das aktuell ausgew?hlte Vorschaubild an
**/
function showPreviewImage(root_path){

	var img=$('imgPreviewImage');
	var sel=$('previewImages');
	var selImage=sel.options[sel.selectedIndex].value;
	img.style.display='block';
	var newURL=root_path+"view/thumb.php5?image_id="+selImage;
	if(img.src==newURL) return;
	img.src=newURL;
}

/**
	ruft den dialog f?r das ausw?hlen des Vorschaubildes auf
**/
function selectPreviewImage(){
	var div=$('divPreviewImages');
	div.style.display='block';
	div.style.left="200";
	div.style.top="200";
	// Aktuelle Auswahl setzen
	var sel=$('previewImages');
	for(var i=0;i<sel.options.size;i++){
		if(sel.options[i].value==$("previewImage").value){
			sel.options[i].selected=true
			return;
		}
	}
}


function galajax(url, parameters, debug){
	pars=parameters;
	if(debug==true){
		window.open(url+"?"+parameters);
		return;
	}
		var myAjax	 = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: pars, 
				onComplete: showGalAjaxResponse
			});	
}

function showGalAjaxResponse(resp){
	//alert(resp.responseText);
	var xml=resp.responseXML;

	var resp=xml.getElementsByTagName("execute");
	var execute=resp[0].firstChild.nodeValue;
	eval(execute);

}

   function getDirectChildrenByTag(e, tagName) {
      var kids = new Array();
      var allKids = e.childNodes;
      for( var i = 0 ; i < allKids.length ; i++ )
         if ( allKids[i] && allKids[i].tagName && allKids[i].tagName == tagName )
            kids.push(allKids[i]);

      return kids;
   }

   
   
	function getLeftOffset(el){		
		var left=getLeftRecursive(el, 0);
		return left;
	}
	function getLeftRecursive(el, left){
		//if(isObject(el))
			left=left+el.offsetLeft;
		//alert("LEFT: "+left);
		if(isObject(el.offsetParent)){
			//alert("PARENT: "+el.offsetParent+", left: "+left);
			left=getLeftRecursive(el.offsetParent, left);
		}
		return left;
	}	
	function getTopOffset(el){		
		var top=getTopRecursive(el, 0);
		return top;
	}
	function getTopRecursive(el, top){
		if(isObject(el))
			top=top+el.offsetTop;
		//alert("TOP: "+top);
		if(isObject(el.offsetParent)){
			//alert("PARENT: "+el.offsetParent.name+", top: "+top);
			top=getTopRecursive(el.offsetParent, top);
		}
		return top;
	}   


function isAlien(a) {
   return isObject(a) && typeof a.constructor != 'function';
}

function isArray(a) {
    return isObject(a) && a.constructor == Array;
}

function isBoolean(a) {
    return typeof a == 'boolean';
}

function isEmpty(o) {
    var i, v;
    if (isObject(o)) {
        for (i in o) {
            v = o[i];
            if (isUndefined(v) && isFunction(v)) {
                return false;
            }
        }
    }
    return true;
}

function isFunction(a) {
    return typeof a == 'function';
}

function isNull(a) {
    return typeof a == 'object' && !a;
}

function isNumber(a) {
    return typeof a == 'number' && isFinite(a);
}

function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}

function isString(a) {
    return typeof a == 'string';
}

function isUndefined(a) {
    return typeof a == 'undefined';
} 
   
