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_moz = 0;
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]','[link]','[/link]','[link=]','[/link]','[img]','[/img]','[url]','[/url]','[stream]','[/stream]','[fade]','[/fade]','[scroll]','[/scroll]','[swf width= height=]','[/swf]','[center]','[/center]','[youtube]','[/youtube]');
imageTag = false;

function helpline(help)
{
       document.post.helpbox.value = eval(help + "_help");
}

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 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)
       {
              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;
              txtarea.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];
                     txtarea.focus();
                     theSelection = '';
                     return;
              }
       }
       else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
       {
              mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
              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;
                            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
       {
              if (imageTag && (bbnumber != 14))
              {
                     txtarea.value += bbtags[15];
                     lastValue = arraypop(bbcode) - 1;
                     document.post.addbbcode14.value = "Img";
                     imageTag = false;
              }
              
              txtarea.value += bbtags[bbnumber];
              if ((bbnumber == 14) && (imageTag == false)) imageTag = 1;
              arraypush(bbcode,bbnumber+1);
              eval('document.post.addbbcode'+bbnumber+'.value += "*"');
              txtarea.focus();
              return;
       }
       storeCaret(txtarea);
}

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 mpFoto(img)
{
       foto1= new Image();
       foto1.src=(img);
       mpControl(img);
}

function mpControl(img)
{
       if ( (foto1.width != 0) && (foto1.height != 0) )
       {
              viewFoto(img);
       }
       else
       {
              mpFunc = "mpControl('"+img+"')";
              intervallo = setTimeout(mpFunc,20);
       }
}

function viewFoto(img)
{
       largh = foto1.width + 20;
       altez = foto1.height + 20;
       string = "width="+largh+",height="+altez;
       finestra = window.open(img, "", string);
}

function setCheckboxes(theForm, elementName, isChecked)
{
       var chkboxes = document.forms[theForm].elements[elementName];
       var count = chkboxes.length;
       if ( count )
       {
              for (var i = 0; i < count; i++)
              {
                     chkboxes[i].checked = isChecked;
              }
       }
       else
       {
              chkboxes.checked = isChecked;
       }
       return true;
}

var selectedText = quoteAuthor = '';

function quoteSelection()
{
       theSelection = false;
       if (selectedText) theSelection = selectedText;
       else if (document.selection && document.selection.createRange) theSelection = document.selection.createRange().text;

       if (theSelection)
       {
              emoticon( (document.post.message.value ? '' : '') + '[quote' + (quoteAuthor ? '="' + quoteAuthor + '"' : '') + ']' + theSelection + '[/quote]');
              document.post.message.focus();
              selectedText = quoteAuthor = theSelection = '';
              return;
       }
       else
       {
              alert(no_text_selected);
       }
}

function displayWindow(url, width, height)
{
       var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=1,scrollbars=no,menubar=no' );
}

function hideLoadingPage()
{
       if (document.getElementById)
       {
               document.getElementById('hidepage').style.visibility = 'hidden';
       }
       else
       {
              if (document.layers)
              {
                     document.hidepage.visibility = 'hidden';
              }
              else
              {
                     document.all.hidepage.style.visibility = 'hidden';
              }
       }
}

function Active(what)
{
       what.style.backgroundColor=factive_color;
}

function NotActive(what)
{
       what.style.backgroundColor='';
}

function storeCaret(textEl)
{
       if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

function emoticon(text)
{
       if (document.post.message.createTextRange && document.post.message.caretPos)
       {
              var caretPos = document.post.message.caretPos;
              caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
              document.post.message.focus();
       }
       else if (document.post.message.selectionStart != undefined)
       {
              document.post.message.value = document.post.message.value.substring(0, document.post.message.selectionStart) + text + document.post.message.value.substring(document.post.message.selectionStart);
              document.post.message.focus();
       }
       else
       {
              document.post.message.value += text;
              document.post.message.focus();
       }
}

function em(text)
{
       return emoticon(text);
}

function checkForm()
{
       formErrors = false;
       if (document.post.message.value.length < 2)
       {
              formErrors = l_empty_message;
       }

       if (formErrors)
       {
              alert(formErrors);
              return false;
       }
       else
       {
              bbstyle(-1);
              //formObj.preview.disabled = true;
              //formObj.submit.disabled = true;
              return true;
       }
}

function wrapSelection(h, strFore, strAft)
{
       h.focus();
       if (h.setSelectionRange)
       {
              var selStart = h.selectionStart, selEnd = h.selectionEnd;
              h.value = h.value.substring(0, selStart) + strFore + h.value.substring(selStart, selEnd) + strAft + h.value.substring(selEnd);
              h.setSelectionRange(selStart + strFore.length, selEnd + strFore.length);
       }
       else if (document.selection)
       {
              var oRange = document.selection.createRange();
              var numLen = oRange.text.length;
              oRange.text = strFore + oRange.text + strAft;
              //moveSelectionRange(oRange, -numLen, -strAft.length);
       }
       else
       {
              h.value += strFore + strAft;
       }
}
function imgcode(theform,imgcode,prompttext)
{
       tag_prompt = img_addr;
       inserttext = prompt(tag_prompt+"\n["+imgcode+"]xxx[/"+imgcode+"]",prompttext);
       if ((inserttext != null) && (inserttext != ""))
       theform.message.value += "["+imgcode+"]"+inserttext+"[/"+imgcode+"] ";
       theform.message.focus();
}

function namedlink()
{
        facebox('<h3>Wstaw donośnik URL</h3><br /><span style="float: left; #3e3e33; margin-left: 2px;">Nazwa linku:</span><input type="text" id="name" value="" class="facebox_input" /><br /><span style="float: left; #3e3e33; margin-left: 2px; margin-top: 5px;">Podaj adres:</span><input type="text" id="url" value="http://" class="facebox_input" /><br /><br /><input id="yes" type="button" value="Wstaw" class="facebox_button" /> &nbsp; <input type="button" value="Anuluj" class="facebox_button" onclick="faceboxClose();" />');

        $('#yes').click(function()
        {
                var thetype = 'url';
                var linkurl = $('#url').attr('value');
                var linktext = $('#name').attr('value');
                
                if ( linktext != '' && linkurl != '' || linkurl != 'http://' )
                {
                        post.message.value += "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
                        post.message.focus();
                        faceboxClose();
                }
                else
                {
                        $('#url').css('border', '1px solid red');
                        $('#name').css('border', '1px solid red');
                }
                
        });
}

function filter_freak()
{
       theSelection = document.selection.createRange().text;
       if (theSelection != '')
       {
              var caretPos = document.post.message.caretPos;
              var export_text = '';
              var current_char = '';
              for (i = 0; i <= caretPos.text.length; i++)
              {
                     current_char = caretPos.text.charAt(i);
                     if ( (i % 2) == 0 )
                     {
                            export_text += current_char.toUpperCase();
                     }
                     else
                     {
                            export_text += current_char.toLowerCase();
                     }
              }
              caretPos.text = export_text;document.post.message.focus();
              return;
       }
       alert(no_text_selected);
       return;
}
                     
function filter_l33t()
{
       theSelection = document.selection.createRange().text;
       if (theSelection != '')
       {
              var caretPos = document.post.message.caretPos;
              var export_text = '';
              var current_char = '';
              for (i = 0; i <= caretPos.text.length; i++)
              {
                     current_char = caretPos.text.charAt(i);
                     if ( (current_char == 'a') || (current_char == 'A') )
                     {
                            export_text += '4';
                     }
                     else if ( (current_char == 'e') || (current_char == 'E') )
                     {
                            export_text += '3';
                     }
                     else if ( (current_char == 'i') || (current_char == 'I') )
                     {
                            export_text += '1';
                     }
                     else if ( (current_char == 'o') || (current_char == 'O') )
                     {
                            export_text += '0';
                     }
                     else
                     {
                            export_text += current_char;
                     }
              }
              caretPos.text = export_text;document.post.message.focus();
              return;
       }
       alert(no_text_selected);
       return;
}

function onv(element)
{
       element.style.backgroundColor=faonmouse_color;
}

function onv2(element)
{
       element.style.backgroundColor=faonmouse2_color;
}

function ont(element)
{
       element.style.backgroundColor='';
}

function focus_field(def_field)
{
       if (document.getElementById(def_field))
       {
              document.getElementById(def_field).focus();
       }
}

function show_pagina(e)
{
       var sTop = document.body.scrollTop;
       var sLeft = document.body.scrollLeft;
       document.getElementById('s_pagina').style.display='block';
       document.getElementById('s_pagina').style.left=e.clientX-35+sLeft;
       document.getElementById('s_pagina').style.top=e.clientY+sTop-20;
       return;
}

function qc()
{
       if (document.post && document.post.message)
       {
              quoteSelection();
              return false;
       }
}

function qo()
{
       selectedText = document.selection? document.selection.createRange().text : document.getSelection();
}

function qu(username)
{
       if (window.getSelection && window.getSelection() || document.selection && document.selection.createRange && document.selection.createRange().text)
       {
              return true;
       }
       else
       {
              return false;
       }
}

function cp(what)
{
       what.style.cursor='pointer';
}

var PreloadFlag = false;
var expDays = 90;
var exp = new Date(); 
var tmp = '';
var tmp_counter = 0;
var tmp_open = 0;

exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function SetCookie(name, value) 
{
       var argv = SetCookie.arguments;
       var argc = SetCookie.arguments.length;
       var expires = (argc > 2) ? argv[2] : null;
       document.cookie = cname + name + "=" + escape(value) +
              ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
              ((cpath == null) ? "" : ("; path=" + cpath)) +
              ((cdomain == null) ? "" : ("; domain=" + cdomain)) +
              ((csecure == 1) ? "; secure" : "");
}

function getCookieVal(offset) 
{
       var endstr = document.cookie.indexOf(";",offset);
       if (endstr == -1)
       {
              endstr = document.cookie.length;
       }
       return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie(name) 
{
       var arg = cname + name + "=";
       var alen = arg.length;
       var clen = document.cookie.length;
       var i = 0;
       while (i < clen) 
       {
              var j = i + alen;
              if (document.cookie.substring(i, j) == arg)
                     return getCookieVal(j);
              i = document.cookie.indexOf(" ", i) + 1;
              if (i == 0)
                     break;
       } 
       return null;
}

function ShowHide(id1, id2, id3) 
{
       // System to show/hide page elements, cookie based
       // Take from Morpheus style Created by Vjacheslav Trushkin (aka CyberAlien)
       var res = expMenu(id1);
       if (id2 != '') expMenu(id2);
       if (id3 != '') SetCookie(id3, res, exp);
}
       
function expMenu(id) 
{
       var itm = null;
       if (document.getElementById) 
       {
              itm = document.getElementById(id);
       }
       else if (document.all)
       {
              itm = document.all[id];
       } 
       else if (document.layers)
       {
              itm = document.layers[id];
       }
       if (!itm) 
       {
              // do nothing
       }
       else if (itm.style) 
       {
              if (itm.style.display == "none")
              { 
                     itm.style.display = "inline"; 
                     return 1;
              }
              else
              {
                     itm.style.display = "none"; 
                     return 2;
              }
       }
       else 
       {
              itm.visibility = "show"; 
              return 1;
       }
}

function showMenu(id)
{
       var itm = null;
       if (document.getElementById) 
       {
              itm = document.getElementById(id);
       }
       else if (document.all)
       {
              itm = document.all[id];
       } 
       else if (document.layers)
       {
              itm = document.layers[id];
       }
       if (!itm) 
       {
              // do nothing
       }
       else if (itm.style) 
       {
              if (itm.style.display == "none")
              { 
                     itm.style.display = ""; 
                     return true;
              }
              else
              {
//                     itm.style.display = "none"; 
                     return true;
              }
       }
       else 
       {
              itm.visibility = "show"; 
              return true;
       }
}

function hideMenu(id)
{
       var itm = null;
       if (document.getElementById) 
       {
              itm = document.getElementById(id);
       }
       else if (document.all)
       {
              itm = document.all[id];
       } 
       else if (document.layers)
       {
              itm = document.layers[id];
       }
       if (!itm) 
       {
              // do nothing
       }
       else if (itm.style) 
       {
              if (itm.style.display == "none")
              { 
//                     itm.style.display = ""; 
                     return true;
              }
              else
              {
                     itm.style.display = "none"; 
                     return true;
              }
       }
       else 
       {
              itm.visibility = "hide"; 
              return true;
       }
}

function change_size(area_object, mode)
{
       var msg_cur_size = GetCookie('msg_size');
       var new_size = msg_cur_size;

       if ( mode == 1 )
       {
              new_size++;
              new_size2++;
              if ( new_size > 8 ) new_size = 8;
              if ( new_size2 > 8 ) new_size2 = 8;
              SetCookie('msg_size', new_size);
       }
       else if ( mode == -1 )
       {
              new_size = 0;
              new_size2 = 0;
              if ( new_size < 0 ) new_size = 0;
              if ( new_size2 < 0 ) new_size2 = 0;
              SetCookie('msg_size', new_size);
       }
       if (document.cookie.length) call_size = new_size;
       else call_size = new_size2;

       set_size(area_object, call_size);
}

function set_size(area_object, new_size)
{
       var default_width = 550;
       var default_height = 200;

       if ( new_size == "undefined" ) new_size = 0;

       area_object.style.width = (default_width + (30 * new_size)) + "px";
       area_object.style.height = (default_height + (100 * new_size)) + "px";
}

function chng(val)
{
    var nval = '#' + val.value;
    val.style.color = nval;
}

