var imageTag = false;
var theSelection = false;

var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);

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_win   = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac    = (clientPC.indexOf("mac")!=-1);

bbcode = new Array();
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]');
imageTag = false;

function getarraysize(thearray) {
    for (i = 0; i < thearray.length; i++) {
        if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
            return i;
        }
    return thearray.length;
}

function arraypush(thearray,value) {
    thearray[ getarraysize(thearray) ] = value;
}

function arraypop(thearray) {
    thearraysize = getarraysize(thearray);
    retval = thearray[thearraysize - 1];
    delete thearray[thearraysize - 1];
    return retval;
}

function bbstyle(bbnumber, element) {

    donotinsert = false;
    theSelection = false;
    bblast = 0;

    var myElement = document.getElementById( element );

    if (bbnumber == -1) {
        while (bbcode[0]) {
            butnumber = arraypop(bbcode) - 1;
            myElement.value += bbtags[butnumber + 1];
        }
        imageTag = false;
        myElement.focus();
        return;
    }

    if ((clientVer >= 4) && is_ie && is_win)
        theSelection = document.selection.createRange().text;
        
    if (theSelection) {
        document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
        myElement.focus();
        theSelection = '';
        return;
    }
    
    for (i = 0; i < bbcode.length; i++) {
        if (bbcode[i] == bbnumber+1) {
            bblast = i;
            donotinsert = true;
        }
    }

    if (donotinsert) {
        while (bbcode[bblast]) {
                butnumber = arraypop(bbcode) - 1;
                myElement.value += bbtags[butnumber + 1];
                imageTag = false;
            }
            myElement.focus();
            return;
    } else {
    
        if (imageTag && (bbnumber != 14)) {
            myElement.value += bbtags[15];
            lastValue = arraypop(bbcode) - 1;
            imageTag = false;
        }
        
        myElement.value += bbtags[bbnumber];
        if ((bbnumber == 14) && (imageTag == false)) imageTag = 1;
        arraypush(bbcode,bbnumber+1);
        myElement.focus();
        return;
    }
}

function SelectImage( url, target ) {
    window.open(
        url + "?mod=image&action=SelectImage&id=" + target,
        "SelectImage",
        "width=500,height=320,location=0,menubar=0,resizable=1,scrollbars=1,status=1,titlebar=1"
    );
}

