/******************************************
   phpBB FORUM JAVASCRIPT
******************************************/    

    // bbCode control by
    // subBlue design
    // www.subBlue.com

    // Startup variables
    var imageTag = false;
    var theSelection = false;

    // Check for Browser & Platform for PC & IE specific bits
    // More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
    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);

    // Helpline messages
    b_help = "{L_BBCODE_B_HELP}";
    i_help = "{L_BBCODE_I_HELP}";
    u_help = "{L_BBCODE_U_HELP}";
    q_help = "{L_BBCODE_Q_HELP}";
    c_help = "{L_BBCODE_C_HELP}";
    l_help = "{L_BBCODE_L_HELP}";
    o_help = "{L_BBCODE_O_HELP}";
    p_help = "{L_BBCODE_P_HELP}";
    w_help = "{L_BBCODE_W_HELP}";
    a_help = "{L_BBCODE_A_HELP}";
    s_help = "{L_BBCODE_S_HELP}";
    f_help = "{L_BBCODE_F_HELP}";

    // Define the bbCode tags
    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;

    // Shows the help messages in the helpline window
    function helpline(help) {
	    document.post.helpbox.value = eval(help + "_help");
    }


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

    // Replacement for arrayname.push(value) not implemented in IE until version 5.5
    // Appends element to the array
    function arraypush(thearray,value) {
	    thearray[ getarraysize(thearray) ] = value;
    }

    // Replacement for arrayname.pop() not implemented in IE until version 5.5
    // Removes and returns the last element of an array
    function arraypop(thearray) {
	    thearraysize = getarraysize(thearray);
	    retval = thearray[thearraysize - 1];
	    delete thearray[thearraysize - 1];
	    return retval;
    }

    function checkForm() {

	    formErrors = false;    

	    if (document.post.message.value.length < 2) {
		    formErrors = "{L_EMPTY_MESSAGE}";
	    }

	    if (formErrors) {
		    alert(formErrors);
		    return false;
	    } else {
		    bbstyle(-1);
    <!-- BEGIN switch_username_select -->
		    SetCookie('guest_name', document.post.username.value, exp);
    <!-- END switch_username_select -->
		    //formObj.preview.disabled = true;
		    //formObj.submit.disabled = true;
		    return true;
	    }
    }

    function emoticon(text) {
	    var txtarea = document.post.message;
	    text = ' ' + text + ' ';
	    if (txtarea.createTextRange && txtarea.caretPos) {
		    var caretPos = txtarea.caretPos;
		    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		    txtarea.focus();
	    } else {
		    txtarea.value  += text;
		    txtarea.focus();
	    }
    }

    function bbfontstyle(bbopen, bbclose) {
	    var txtarea = document.post.message;

	    if ((clientVer >= 4) && is_ie && is_win) {
		    theSelection = document.selection.createRange().text;
		    if (!theSelection) {
			    txtarea.value += bbopen + bbclose;
			    txtarea.focus();
			    return;
		    }
		    document.selection.createRange().text = bbopen + theSelection + bbclose;
		    txtarea.focus();
		    return;
	    }
	    else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	    {
		    mozWrap(txtarea, bbopen, bbclose);
		    return;
	    }
	    else
	    {
		    txtarea.value += bbopen + bbclose;
		    txtarea.focus();
	    }
	    storeCaret(txtarea);
    }


    function bbstyle(bbnumber) {
	    var txtarea = document.post.message;

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

	    if (bbnumber == -1) { // Close all open tags & default button names
		    while (bbcode[0]) {
			    butnumber = arraypop(bbcode) - 1;
			    txtarea.value += bbtags[butnumber + 1];
			    buttext = eval('document.post.addbbcode' + butnumber + '.value');
			    eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
		    }
		    imageTag = false; // All tags are closed including image tags :D
		    txtarea.focus();
		    return;
	    }

	    if ((clientVer >= 4) && is_ie && is_win)
	    {
		    theSelection = document.selection.createRange().text; // Get text selection
		    if (theSelection) {
			    // Add tags around selection
			    document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
			    txtarea.focus();
			    theSelection = '';
			    return;
		    }
	    }
	    else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	    {
		    mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
		    return;
	    }
    	
	    // Find last occurance of an open tag the same as the one just clicked
	    for (i = 0; i < bbcode.length; i++) {
		    if (bbcode[i] == bbnumber+1) {
			    bblast = i;
			    donotinsert = true;
		    }
	    }

	    if (donotinsert) {		// Close all open tags up to the one just clicked & default button names
		    while (bbcode[bblast]) {
				    butnumber = arraypop(bbcode) - 1;
				    txtarea.value += bbtags[butnumber + 1];
				    buttext = eval('document.post.addbbcode' + butnumber + '.value');
				    eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
				    imageTag = false;
			    }
			    txtarea.focus();
			    return;
	    } else { // Open tags
    	
		    if (imageTag && (bbnumber != 14)) {		// Close image tag before adding another
			    txtarea.value += bbtags[15];
			    lastValue = arraypop(bbcode) - 1;	// Remove the close image tag from the list
			    document.post.addbbcode14.value = "Img";	// Return button back to normal state
			    imageTag = false;
		    }
    		
		    // Open tag
		    txtarea.value += bbtags[bbnumber];
		    if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
		    arraypush(bbcode,bbnumber+1);
		    eval('document.post.addbbcode'+bbnumber+'.value += "*"');
		    txtarea.focus();
		    return;
	    }
	    storeCaret(txtarea);
    }

    // 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;
    }

    // Insert at Claret position. Code from
    // http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
    function storeCaret(textEl) {
	    if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
    }






function findPosX(obj) {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
        
    if((curleft+400)>document.body.offsetWidth)
        curleft=document.body.offsetWidth-400;
    return curleft;
  }

  function findPosY(obj) {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;                
    return curtop;
  }






var currentItem = '';
function ChangeClass(item, newclass) {
    item.className = newclass;
}

function ShowContent(id) {

    tempObj = document.getElementById(id);
    if(tempObj==null) { return false; }

	if(currentItem != '')
	{
		ChangeClass(document.getElementById(currentItem), "paneheader");
		currentItem = id;
		ChangeClass(document.getElementById(currentItem), "paneheaderselected");
	}
	else
	{
		currentItem = id;
		ChangeClass(document.getElementById(currentItem), "paneheaderselected");
	}
	var sid = id +'c';
	//alert(id);
	var cnt = 3;
	for(u=1;u<cnt +1;u++)
	{
		var item = document.getElementById('ibOBarh' +u +'c');
		item.style.display = "none";
	}
	
	var item = document.getElementById(sid);
	item.style.display = "block";
}


wowheadSearch = false;
function goWowhead() {
    wowheadSearch = true;
    wowheadUrl = 'http://www.wowhead.com/?search='+document.getElementById('wowhead_val').value;
    window.open(wowheadUrl,'wowhead');
}



function colorizeMenu() {
    h1text = document.getElementsByTagName('h1')[0].innerHTML;
    menuItems = document.getElementById('main_menu').getElementsByTagName('img');

    for (i = 0; i <= menuItems.length - 1; i++) {
        if (menuItems[i].getAttribute('alt').toLowerCase() == h1text.toLowerCase()) { colorMenuItem(menuItems[i]); }
    }

    if(location.search.indexOf("aktuelt")>0 || location.search.length==0) { colorMenuItem(menuItems[0]); }
    if(location.search.indexOf("information")>0) { colorMenuItem(menuItems[1]); }
    if(location.search.indexOf("dkp")>0) { colorMenuItem(menuItems[4]); }
    if(location.search.indexOf("kontakt")>0) { colorMenuItem(menuItems[5]); }
}

function colorMenuItem(imgObj) {
    imgSrc = imgObj.getAttribute('src');
    imgObj.src = imgSrc.substr(0, imgSrc.lastIndexOf("_") + 1) + 'on.gif';
}



var sb_timer;
function getShoutbox() {
    var xmlHttp;

    try
    {    // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {    // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    
    
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4) {     
            shoutboxContainer = document.getElementById('shoutbox');
            
            shoutboxContainer.innerHTML = '';
            var t = document.createElement('div');
            t.innerHTML = xmlHttp.responseText;
            shoutboxContainer.appendChild(t);
            
            startSbTimer();
        }
    }

    xmlHttp.open("GET","shout.php",true);
    xmlHttp.send(null);
}

function stopSbTimer() {
    window.clearTimeout( sb_timer );
}

function startSbTimer() {
    sb_timer = window.setTimeout("getShoutbox();", 8000);
}



function init() {
  ShowContent('ibOBarh3');
  getOnlineList();
}


function shoutSubmitted() {
}


function toggleOnlineList(show) {
    zeLink = document.getElementById('online_div');
    zeBox  = document.getElementById('online_list_div');
    
    if(show) {
        zeBox.style.display = '';
        zeBox.style.top     = (findPosY(zeLink)-zeBox.offsetHeight)+'px'; 
        zeBox.style.left    = findPosX(zeLink)+'px';
        zeLink.style.backgroundImage = 'url(/images/spring/online_on.gif)';        
    } else {
        zeBox.style.display = 'none';
        zeLink.style.backgroundImage = 'url(/images/spring/online_off.gif)';
    }
}




function getOnlineList() {    	    
    var xmlHttp;

    try
    {    // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {    // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4) {
            container = document.getElementById('online_div');
            
            container.innerHTML = '';
            var t = document.createElement('div');
            t.innerHTML = xmlHttp.responseText;
            container.appendChild(t);
        }
    }

    xmlHttp.open("GET","fetch_url.php?id=onlinelist",true);
    xmlHttp.send(null);
}




filterCount  = 0;
filterOn     = false;
dkpViewArray = new Array();

function changeTrState(obj) {
    trId = obj.value.substr(3,obj.value.length-2);

    if(obj.checked) { dkpViewArray.push(trId); }
    else {
        for(i=0;i<=dkpViewArray.length-1;i++) {
            if(dkpViewArray[i]==trId) { dkpViewArray.splice(i,1); }
        }
    }
}

function autoFilter() {
    filterTrs(false);
    if(document.getElementById('players').value.length>0) {
    
        playerArr = document.getElementById('players').value.split(",");
        inputs    = document.getElementsByTagName("input");    
    
        for(i=0;i<=inputs.length-1;i++) {
            if(inputs[i].getAttribute('type')=='checkbox') {
                for(a=0;a<=playerArr.length-1;a++) {
                    if(inputs[i].getAttribute('id')=='dkp_'+playerArr[a]) {
                        inputs[i].checked = true;
                        changeTrState(inputs[i]);
                    }
                }
            }
        }
        
        filterTrs(true);
    }
}

function filterTrs(filterOn) {
    for(i=0;i<=filterCount-1;i++) { 
        trObj = document.getElementById('tr'+i);
        
        if(filterOn) {
            trObj.style.display='none';
            
            for(a=0;a<=dkpViewArray.length-1;a++) {
                trObj = document.getElementById('tr'+dkpViewArray[a]);
                if(dkpViewArray[a]==i) {trObj.style.display=''; }
            }        
        } else {
            trObj.style.display='';
        }
    }
}