function change_flag(select){select.style.backgroundImage=select.options[select.selectedIndex].style.backgroundImage;}


var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);

opentags = '';

//Selektierten Text taggen
function bbcode_set(start, end) {
    if ((clientVer >= 4) && is_ie && is_win) {
		theSelection = document.selection.createRange().text;
		if (theSelection) {
			// Add tags around selection
			document.selection.createRange().text = start + theSelection + end;
			instanz.focus();
			theSelection = '';
			return;
	    } else bbcode_opentag(start, end);
    } else if (instanz.selectionEnd && (instanz.selectionEnd - instanz.selectionStart > 0)) {
		    mozWrap(instanz, start, end);
		    return;
	} else bbcode_opentag(start, end);
	instanz.focus();
}
function bbcode_opentag(start, end) {
    if ( opentags.indexOf(end) != -1 ) {
        AddCode = end;
        opentags = opentags.replace(end,'');
    } else {
        AddCode = start;
        opentags = end + opentags;
    }
    bbcode_add(AddCode);
}

//Tags schliessen
function bbcode_closetags() {
	bbcode_add(opentags);
    opentags = '';
    lasttag = '';
}

function bbcode_add(AddCode) {
   	if ( instanz.createTextRange && instanz.caretPos )
	{
		var caretPos = instanz.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? AddCode + ' ' : AddCode;
	}
	else
	{
		instanz.value += AddCode;
	}
    instanz.focus();
}

//Bild
function bbcode_img() {
    imgurl = prompt("URL zum Bild eingeben:","http://");
	if ((imgurl != null) && (imgurl != "")) {
	    bbcode_add("[img]"+imgurl+"[/img] ");
    }
}

//Hyperlink
function bbcode_link() {
    linktext = prompt("Titel des Links:","");
    linkurl = prompt("URL des Links:","http://");
 	if ((linkurl != null) && (linkurl != "")) {
		if ((linktext != null) && (linktext != "")) bbcode_add("[URL="+linkurl+"]"+linktext+"[/URL] ");
		else bbcode_add("[URL]"+linkurl+"[/URL] ");
    }
}

// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + open + s2 + close + s3;
	return;
}

function getPosition(element) {
  var elem=element,tagname="",x=0,y=0;
  
  while((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined")) {
    y+=elem.offsetTop;
    x+=elem.offsetLeft;
    tagname=elem.tagName.toUpperCase();

    if(tagname=="BODY") elem=0;


    if(typeof(elem)=="object") if(typeof(elem.offsetParent)=="object") elem=elem.offsetParent;
  }
  position=new Object();
  position.x=x;
  position.y=y;
  return position;
}


function bbcode_smilies(obj) {
  if (document.getElementById) {
    pos = getPosition(obj);
    document.getElementById("smilies").style.left = pos.x+"px";
    document.getElementById("smilies").style.top = pos.y+"px";
    document.getElementById("smilies").style.display = 'block';
  } else if (document.all) {
    document.all.smilies.style.left = obj.style.left;
    document.all.smilies.style.top = obj.style.top;
    document.all.smilies.style.display = 'block';
  }
}