// 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 = "Tekst pogrubiony: [b]tekst[/b]  (alt+b)";
        i_help = "Tekst kursywą: [i]tekst[/i]  (alt+i)";
        u_help = "Tekst podkreślony: [u]tekst[/u]  (alt+u)";
        q_help = "Cytat: [quote]tekst[/quote]  (alt+q)";
        c_help = "Pokaż kod: [code]kod[/code]  (alt+c)";
        l_help = "Lista: [list]tekst[/list] (alt+l)";
        o_help = "Lista uporządkowana: [list=]tekst[/list]  (alt+o)";
        p_help = "Wstaw obrazek: [img]http://adres_obrazka[/img]  (alt+p)";
        w_help = "Wstaw adres: [url]http://adres[/url] or [url=http://adres]Tekst adresu[/url]  (alt+w)";
        a_help = "Zamknij wszystkie otwarte tagi bbCode";
        s_help = "Kolor czcionki: [color=red]tekst[/color]  Rada: możesz także podać color=#FF0000";
        f_help = "Rozmiar czcionki: [size=x-small]mały tekst[/size]";

        // 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 = "Musisz wpisać wiadomość przed wysłaniem";
            }

            if (formErrors)
            {
                alert(formErrors);
                return false;
            }
            else
            {
                bbstyle(-1);
                //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) == ' ' ? caretPos.text + text + ' ' : caretPos.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;
            txtarea.focus();

            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 zmiana_news(id, dzial)
        {
            advAJAX.setDefaultParameters({
                 onInitialization : function(obj) { document.getElementById(obj.tag).innerHTML = "Przygotowywanie..."; },
                 onLoading : function(obj) { document.getElementById(obj.tag).innerHTML = "Pobieranie wiadomości, proszę czekać..."; },
                 onSuccess : function(obj) {
                     if(obj.responseText  != "1")
                     {
                         document.getElementById(obj.tag).innerHTML = obj.responseText;
                     }
                     else document.getElementById(obj.tag).innerHTML = "Wystąpił błąd w działaniu aplikacji";
                 }
            });
            advAJAX.post({
                parameters : {
                    "id" : id,
                    "dzial" : dzial
                },
                tag: "news_spodek",
                url: "glowna/pobierz_news.php"
            });
        }
        function zmiana_promocji(id, dzial)
        {
            advAJAX.setDefaultParameters({
                 onSuccess : function(obj) {
                     if(obj.responseText  != "1")
                     {
                         document.getElementById(obj.tag).innerHTML = obj.responseText;
                     }
                     else document.getElementById(obj.tag).innerHTML = "Wystąpił błąd w działaniu aplikacji";
                 }
            });
            advAJAX.post({
                parameters : {
                    "id" : id,
                    "dzial" : dzial
                },
                tag: "promocje",
                url: "glowna/promocje.php"
            });
        }
        function subs_link(link, powrot)
        {
            advAJAX.setDefaultParameters({
                 onSuccess : function(obj) {
                     document.getElementById(obj.tag).innerHTML = obj.responseText;
                     var oFrom = document.getElementById("subform");
                     if(link == 'powrot')    oFrom.action = "ligabp/subskrypcja.php?action=add";
                     else if(link == 'aktywacja') oFrom.action = "ligabp/subskrypcja.php?action=activ";
                     else if(link = 'rezygnacja') oFrom.action = "ligabp/subskrypcja.php?action=del";
                     if(link == 'aktywacja' || link == 'rezygnacja')
                     {
                         var oLink = document.getElementById("a_" + link);
                     }
                     else
                     {
                         var oLink = document.getElementById(powrot);
                     }
                     if(link == 'aktywacja' || link == 'rezygnacja')
                     {
                         oLink.innerHTML = '<a href="javascript:subs_link(\'powrot\', \'a_' + link + '\')" class="subskrypcja">Zapisz się<\/a>';
                     }
                     else if(powrot == 'a_aktywacja')
                     {
                         oLink.innerHTML = '<a href="javascript:subs_link(\'aktywacja\')" class="subskrypcja">Wyślij aktywację<\/a>';
                     }
                     else if(powrot == 'a_rezygnacja')
                     {
                         oLink.innerHTML = '<a href="javascript:subs_link(\'rezygnacja\')" class="subskrypcja">Rezygnacja<\/a>';
                     }
                 }
            });
            if(link == 'powrot')    advAJAX.get({tag: "subform", url: "ligabp/subskrypcja.php?action=add"});
            else if(link == 'aktywacja') advAJAX.get({tag: "subform", url: "ligabp/subskrypcja.php?action=activ"});
            else if(link = 'rezygnacja') advAJAX.get({tag: "subform", url: "ligabp/subskrypcja.php?action=del"});
        }
        function zmiana_meczy(kolejka, kraj, liga)
        {
            advAJAX.setDefaultParameters({
                  onLoading : function(obj) { document.getElementById(obj.tag).innerHTML = "Pobieranie danych, proszę czekać..."; },
                 onSuccess : function(obj) {
                     if(obj.responseText  != "1")
                     {
                         document.getElementById(obj.tag).innerHTML = obj.responseText;
                     }
                     else document.getElementById(obj.tag).innerHTML = "Wystąpił błąd w działaniu aplikacji";
                 }
            });
            advAJAX.post({
                parameters : {
                    "kolejka" : kolejka,
                    "kraj" : kraj,
                    "liga" : liga
                },
                tag: "mecze",
                url: "glowna/mecze.php"
            });
        }
        function updateObjects(nazwa) {
            advAJAX.assign(document.getElementById(nazwa), {
                onSuccess : function(obj) {//alert(obj.responseText);
                    document.getElementById(nazwa).innerHTML = obj.responseText;
                }
            }
            );
        }


        /***********************************************
        * Overlapping Content link- ? Dynamic Drive (www.dynamicdrive.com)
        * This notice must stay intact for legal use.
        * Visit http://www.dynamicdrive.com/ for full source code
        ***********************************************/

        function overlay(curobj, subobj)
        {
            if(document.getElementById)
            {
                var subobj=document.getElementById(subobj);
                var parentobj = document.getElementById(curobj);
                var left = parentobj.offsetLeft + 80;
                var top = parentobj.offsetTop -150;
                subobj.style.left = left + "px"
                subobj.style.top= top +"px"
                subobj.style.display="block"
                return false
            }
            else
            {
                return true
            }
        }
        function overlayclose(subobj)
        {
            document.getElementById(subobj).style.display="none"
        }

        function tabelaSwitch(tabelaName)
        {
            var oTable_short = document.getElementById(tabelaName+'_short');
            var oTable = document.getElementById(tabelaName);
            var oA = document.getElementById('rozwin_zwin');
            if(oTable_short.style.display == '' || oTable_short.style.display == 'block')
            {
                oTable_short.style.display = 'none';
                oTable.style.display = 'block';
                oA.innerText = 'Zwiń tabelę';
            }
            else
            {
                oTable_short.style.display = 'block';
                oTable.style.display = 'none';
                oA.innerText = 'Rozwiń tabelę';
            }
        }