var baseurl = '';
var mediaurl = 'http://www.myboo.ch/media/';

function AjaxLink(contentId, link, indicator, pagenum) {
    if(!indicator) indicator = 'indicator';
    var pagelink;
    if(pagenum) pagelink = '?showpage='+pagenum;
    var ajax = new Ajax.Updater(
    {success: contentId},
    '/ajax/'+link+'.html'+pagelink,
    {method: 'get',
    onFailure: reportError,
    encoding: 'ISO-8859-1',
    onLoading:function(request){Element.show(indicator)},
    onComplete:function(request){Element.hide(indicator)}
    });
}

function AjaxPost(contentId, link, contentForm) {
    var ajax = new Ajax.Updater(
    {success: contentId},
    '/ajax/'+link+'.html',
    {method: 'post',
    encoding: 'ISO-8859-1',
    postBody: 'content='+$F(contentForm),
    onFailure: reportError,
    onLoading:function(request){Element.show('indicator_input')},
    onComplete:function(request){Element.hide('indicator_input')}
    });
}

function reportError(request) {
    $F('articles_ajax') = "Error";
}

var pop = null;

function popdown() {
  if (pop && !pop.closed) pop.close();
}

function popup(obj,w,h) {
  var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
  if (!url) return true;
  w = (w) ? w += 20 : 450;  // 150px*150px is the default size
  h = (h) ? h += 25 : 650;
  var args = 'width='+w+',height='+h+',resizable,scrollbars';
  popdown();
  pop = window.open(url,'',args);
  return (pop) ? false : true;
}

window.onunload = popdown;
window.onfocus = popdown;


/**
 *
 * @access public
 * @return void
 **/
var curImageId;
function select_user_image(imageId){
    image = document.getElementById(imageId);
    imageCheckbox = document.getElementById('userimg_'+imageId);
    curImage = document.getElementById(curImageId);
    curImageCheckbox = document.getElementById('userimg_'+curImageId);

    image.style.borderColor='#000000';
    image.style.backgroundColor='#dff8d7';
    image.style.borderStyle='solid';
    if(curImageId && curImageId != imageId){
    curImage.style.borderColor='#AAAAAA';
    curImage.style.backgroundColor='#FFFFFF';
    curImage.style.borderStyle='solid';

    curImageCheckbox.click();
    }

    imageCheckbox.click();
    curImageId = imageId;
}

/**
 *
 * @access public
 * @return void
 **/
function show_userimg(userId, userGender){
    if(userId > 0){
        return overlib('<img src=\''+mediaurl+'img/user_images/'+userId+'_thumb_small.jpg\' width=\'59\' height=\'71\'>');
    } else {
        return overlib('<img src=\''+mediaurl+'img/placeholder/user_'+userGender+'_small.gif\' width=\'59\' height=\'71\'>');
    }
}


function clone_this(objButton){
  tmpNode = objButton.form.elements[0].parentNode.cloneNode(true);
  tmpNode.getElementsByTagName('input')[2].style.display='inline';
  tmpNode.getElementsByTagName('input')[0].value='';
  tmpNode.getElementsByTagName('input')[1].value='';
  tmpElm=document.createElement('input');
  tmpElm.type=objButton.form.elements[0].type;
  tmpElm.name=objButton.form.elements[0].name;
  tmpElm.id=objButton.form.elements.length;

  var objNode = objButton.parentNode;
  while(objNode.nodeName.toLowerCase() != "dl"){
    objNode = objNode.parentNode;
  }

  objNode.insertBefore(tmpNode, objNode.getElementsByTagName("dd")[objNode.getElementsByTagName("dd").length-1]);
}

function remove_this(obj)
{
    obj.parentNode.parentNode.removeChild(obj.parentNode);
}


/**
 * shoutbox (chars left)
 * @access public
 * @return void
 **/
function textCounter(field, countfield, maxlimit){
    if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit);
    else countfield.innerHTML = maxlimit - field.value.length;
}

/**
 *
 * @access public
 * @return void
 **/
 var emoticons_active = false;
function emoticons_slider(){
	Effect.toggle('emoticons_extended','slide', {duration:'0.5'} );
	if(!emoticons_active){
	document.getElementById('emoticons_arrow').innerHTML=' - ';
	emoticons_active = true;
	} else {
		document.getElementById('emoticons_arrow').innerHTML=' + ';
		emoticons_active = false;
	}

	return false;
}

var htmldir = "http://eraffe.diekosmonauten.net/media/img/site/board/"; /* weiß grad nicht mehr genau, was genau der pfad ist Oo */

var opentags = new Object();

function AddBB(tag, field, guidedmode, selfieldid)
{

    selbuttonid = "ButtonID_" + tag;
	string = "";

	el = document.getElementById(field);
	el.focus();

	if(typeof el.selectionStart != 'undefined')
	{
		var browser = "gecko";
		var pos = el.selectionStart;
		// 2007-08-28 Daniel Pieper (dani@kuse.de)
		var scrollPosLeft = el.scrollLeft;
		var scrollPosTop = el.scrollTop;
	}
	else if(el.createTextRange)
	{
		var browser = "ie";
	}

	// Array zur Speicherung der Button-Status erstellen (falls es nicht bereits existiert)
	if(typeof(opentags[field]) == "undefined")
	{
		opentags[field] = new Object();
	}


	switch(tag)
	{

		case 'B':
		case 'u':
		case 'i':
		case 's':
		case 'quote':
		case 'rot':
		case 'gruen':
		case 'blau':

			// Status prüfen, neuen Status speichern und Button-BG anpassen
			if(typeof(opentags[field][tag]) == "undefined")
			{
				opentags[field][tag] = 0;
			}

			if(opentags[field][tag] == 0) // Tag noch nicht offen - Anfang-Tag setzen
			{
				var style = "url("+htmldir+"bb_bg_active.gif)";

				document.getElementById(selbuttonid).style.backgroundImage = style;
				document.getElementById(selbuttonid).style.borderColor = "#AAAAAA";
				document.getElementById(selbuttonid).innerHTML = tag + " *";

				var insStr = "[" + tag + "]";

				opentags[field][tag] = 1; // Tag nun offen - Status merken

			}
			else if(opentags[field][tag] == 1) // Tag bereits offen - Schluss-Tag setzen
			{

				var style = "url("+htmldir+"bb_bg.gif)";

				document.getElementById(selbuttonid).style.backgroundImage = style;
				document.getElementById(selbuttonid).style.borderColor = "#CCCCCC";
				document.getElementById(selbuttonid).innerHTML = tag;

				var insStr = "[/" + tag + "]";
				opentags[field][tag] = 0; // Tag nun geschlossen - Status merken
			}

			// Text einfügen (browserabhängig)

			if(browser == "gecko") // Gecko
			{

				var start = el.selectionStart;

			    var end = el.selectionEnd;


			    var insText = el.value.substring(start, end);

				if(start != end) // nichts markiert
				{
					el.value = el.value.substr(0, start) + "[" + tag + "]" + insText + "[/" + tag + "]" + el.value.substr(end);
					/* Anpassen der Cursorposition */
					var pos;
					if (insText.length == 0)
					{
						pos = start + tag.length + 2;
					}
					else
					{
						pos = start + tag.length + insText.length + tag.length + 5;
					}

				}
				else
				{
					el.value = el.value.substr(0, pos) + insStr + el.value.substr(pos); // Tag setzen
					pos += insStr.length;
				}


				el.selectionStart = pos;
				el.selectionEnd = pos;

			}
			else if(browser == "ie") // IE & Co
			{
				var range = document.selection.createRange();
			    var insText = range.text;

				if(insText.length == 0) // kein Text markiert
				{
					if(opentags[field][tag] == 0) // Tag noch nicht offen - Anfang-Tag setzen
					{
					    range.text = insStr + insText;
					}
					else if (opentags[field][tag] == 1) // Tag bereits offen - Schluss-Tag setzen
					{
					    range.text = insText + insStr;
					}

					range.move('character', range.text.length);
				}
				else
				{
					range.text = "[" + tag + "]" + insText + "[/" + tag + "]";
					range.moveStart('character', el.value.substr(0, pos) + insText.length + 5 + tag.length + tag.length); //insStr.length + el.value.substr(0, pos)
					opentags[field][tag] = 0;
				}

				range.select();

			}

			break;

		case "img":
		case "url":
		case "emoticon":

			if(tag == 'img')
			{
				if(guidedmode == "on")
				{
					string = prompt("Bitte geben Sie die Adresse des Bildes ein.");
				}

				var insStr = "[img]" + string + "[/img]";
			}
			else if(tag == 'emoticon')
			{
			   emoticon_cut = document.getElementById(selfieldid).getAttribute('alt');
               var insStr = " "+emoticon_cut+" ";
			}
			else if(tag == 'url')
			{
				if(guidedmode == "on")
				{
					string = prompt("Bitte geben Sie die Link-Adresse ein.");
					string2 = prompt("Bitte geben Sie den Link-Text ein.");
				}

				var insStr = "[url=" + string +"]" + string2 + "[/url]";
			}
		// Text an Cursor-Position einfügen (browserabhängig)
			if(browser == "gecko") // Gecko
			{

				el.value = el.value.substr(0, pos) + insStr + el.value.substr(pos); // Anfangs-Tag setzen
				pos += insStr.length;

				el.selectionStart = pos;
				el.selectionEnd = pos;
				// 2007-08-28 Daniel Pieper (dani@kuse.de)
				el.scrollTop = scrollPosTop;
				el.scrollLeft = scrollPosLeft;
			}
			else if(browser == "ie") // IE & Co
			{
				var range = document.selection.createRange();
			    var insText = range.text;
			    range.text = insStr + insText;

				/* Anpassen der Cursorposition */
				range = document.selection.createRange();
				if(insText.length != 0)
				{
					range.moveStart('character', insStr.length + insText.length);
				}
				range.select();


				if(insStr.length != 0)
				{
					range.moveStart('character', insStr.length + el.value.substr(0, pos));
				}
				range.select();
			}


			break;


	}

	document.getElementById( field ).focus();
}
