//------------------------------------------
// Invision Power Board v1.3
// Forums JS File
// (c) 2005 Invision Power Services, Inc.
//------------------------------------------

/*--------------------------------------------*/
// INIT
/*--------------------------------------------*/

var newtext;
var text_html        = new Array;
var _desc_clicked    = 0;
var topic_links_init = 0;
var uagent           = navigator.userAgent.toLowerCase();
var is_safari        = ( (uagent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var is_opera  = (uagent.indexOf('opera') != -1);
var is_webtv  = (uagent.indexOf('webtv') != -1);
var is_ie     = ( (uagent.indexOf('msie') != -1) && (!is_opera) && (!is_safari) && (!is_webtv) );
var is_ie4    = ( (is_ie) && (uagent.indexOf("msie 4.") != -1) );
var is_moz    = ( (navigator.product == 'Gecko')  && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_ns     = ( (uagent.indexOf('compatible') == -1) && (uagent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_ns4    = ( (is_ns) && (parseInt(navigator.appVersion) == 4) );
var is_kon    = (uagent.indexOf('konqueror') != -1);
var is_win    =  ( (uagent.indexOf("win") != -1) || (uagent.indexOf("16bit") !=- 1) );
var is_mac    = ( (uagent.indexOf("mac") != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var ua_vers   = parseInt(navigator.appVersion);
var sess             = ( ipb_var_s != "" ) ? '&s='+ipb_var_s : '';
var selection = '';
var ipb_pages_shown = 0;
var ipb_pages_array = new Array();

function Insert(text)
{
        if (text!="") paste("[quote]"+text+"[/quote]\n", 0);
}

function Insertcomm(text)
{
        if (text!="") paste("[quote]"+text+"[/quote]\n", 0);
}

function ins(name)
{
        if (name!="") paste('[b]'+name+'[/b], ');
}

function paste(text)
{
        if (!text) return;
        my_show_div(my_getbyid('qr_open'));
        t = document.forms['REPLIER'].Post;
        t.focus();
        if (document.selection && document.selection.createRange)
        {
                document.selection.createRange().text = text;
        }
        else if (t.setSelectionRange)
        {
                var start = t.selectionStart;
                var end = t.selectionEnd;
                var sel1 = t.value.substr(0,start);
                var sel2 = t.value.substr(end);
                t.value = sel1 + text + sel2;
                t.setSelectionRange(start+text.length, start+text.length);
        }
        else t.value += text;

        setTimeout(function(){t.focus();},100);
}

function get_selection()
{
        var theSelection = '';
        if (window.getSelection) theSelection = window.getSelection();
        if (document.getSelection) theSelection = document.getSelection();
        if (document.selection && document.selection.createRange) theSelection = document.selection.createRange().text;
        selection = theSelection;
        return theSelection;
}

function PopUp(url, name, width,height,center,resize,scroll,posleft,postop)
{
        if (posleft != 0) { x = posleft }
        if (postop  != 0) { y = postop  }

        if (!scroll) { scroll = 1 }
        if (!resize) { resize = 1 }

        if ((parseInt (navigator.appVersion) >= 4 ) && (center))
        {
                X = (screen.width  - width ) / 2;
                Y = (screen.height - height) / 2;
        }
        if (scroll != 0) { scroll = 1 }

        var Win = window.open( url, name, 'width='+width+',height='+height+',top='+Y+',left='+X+',resizable='+resize+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no');
}

function std_window_resize( box, pix )
{
        var cur_height = parseInt( box.rows ) ? parseInt( box.rows ) : 20;
        var new_height = cur_height + pix;
        if ( new_height > 0 ) box.rows = new_height;
}

function viewtopic(list)
{
        var topic_div = 'distribution_topic';
        var topicobj;
        var html = '';
        var value = list;
        if (value=='15')
        {
                html += "<input type='text' id='" + topic_div + "' name='" + topic_div + "' size='35' class='forminput' value='Введите линк на раздачу' onfocus=\"this.value = ''\" /> ";
        }
        topicobj = document.getElementById( topic_div );
        topicobj.innerHTML = html;
}

function validatesubmit(list)
{
        var value = list;
        if (value != 'no')
        {
                document.getElementById('move').disabled   = false;
                document.getElementById('delete').disabled = true;
        }
        else
        {
                document.getElementById('move').disabled   = true;
                document.getElementById('delete').disabled = false;
        }
}

function changeflag(list)
{
        var html = '';
        var value = list;
        if (value)
        {
                html += img_dir + "/" + value + ".gif";
        }
        document.images.flagpreview.src = html;
}

function RootOpsf(id, ids)
{
  var obj = new String(ids);
  var arr = obj.split(",");
  for( var e in arr ) { expMenu("forum_plus_"+arr[e]); }
  ShowHide("forum_plus_"+id, "forum_minus_"+id);
}

function ShowHide(id1, id2)
{
        if (id1 != '') expMenu(id1);
        if (id2 != '') expMenu(id2);
}

function expMenu(id)
{
        if ( ! id ) return;
        if ( itm = my_getbyid(id) )
        {
                if (itm.style.display == "none") my_show_div(itm);
                else my_hide_div(itm);
        }
}

function delete_post_ajax(pid, key)
{
        var text = 'Вы действительно хотите удалить это сообщение?';
        if( isNaN( pid ) ) return;
        if( ! key ) return;
        if ( confirm( text ) ) ajax_request( 'act=delpost&p='+pid+'&auth_key='+key+sess );
        else alert ('Не хотите - как хотите :)');
}

function delete_post(theURL, type)
{
        var text = ( type == 1 ) ? 'Вы действительно хотите удалить эту картинку?' : 'Вы действительно хотите удалить это сообщение?';
        if (confirm(text)) window.location.href=theURL;
        else alert ('Не хотите - как хотите :)');
}

function confirmdecline(theURL)
{
        var text = 'Подтвердите Ваш отказ от скачивания.';
        if (confirm(text)) window.location.href=theURL;
        else alert ('В следующий раз не ошибайтесь. :)');
}

function confirmdone(theURL1, theURL2)
{
        var text = 'Хотите сразу поблагодарить автора раздачи?';
        if (confirm(text)) window.location.href=theURL1;
        else window.location.href=theURL2;
}

function my_getbyid(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];
        return itm;
}

function my_show_div(itm)
{
        if ( ! itm ) return;
        itm.style.display = "";
}

function my_hide_div(itm)
{
        if ( ! itm ) return;
        itm.style.display = "none";
}

function do_pay_user(mid, pid, name)
{
        if( ! mid ) return;
        if( ! pid ) return;
        reason = document.getElementById('reason').value;
        admin_opts = document.getElementById('admin_opts') ? document.getElementById('admin_opts').checked ? 1 : 0 : 0;
        size = parseInt(document.getElementById('size').value);
        credit = parseInt(document.getElementById('credit').value);
        if( ( mid == pid ) && ( admin_opts == 0 ) )
        {
                alert ('Вы не можете сами себе передавать активности.');
                return;
        }
        if( ( isNaN( size ) ) || ( size == 0 ) )
        {
                alert ('Вы не ввели количество, либо неправильно заполнили поле передаваемых Вами активностей.\nВведите в это поле количество активностей в целом цифровом значении, отличном от нуля.');
                return;
        }
        ajax_request('act=payuser&user_name='+escape(name)+'&pay_user='+pid+'&size='+size+'&credit='+credit+'&admin_opts='+admin_opts+sess+'&reason='+escape(reason));
}

function span_to_input( type, itm, tid )
{
        var html_value = '';
        tid      = tid ? tid : 0;

        //----------------------------------
        // Prevent double click when desc open
        //----------------------------------

        if( isNaN( itm ) )
        {
                return false;
        }

        if( isNaN( tid ) )
        {
                return false;
        }

        if ( _desc_clicked )
        {
                return false;
        }

        _desc_clicked = 1;

        text_html[ itm ] = document.getElementById( type + '-' + itm ).innerHTML;

        //----------------------------------
        // Topic title
        //----------------------------------

        if ( type == 'priority' )
        {
                perm_max_length = 1;
                max_size = 1;
        }
        else if ( type == 'paysize' )
        {
                perm_max_length = 4;
                max_size = 4;
        }
        else
        {
                perm_max_length = 250;
                max_size = 40;
        }

        if ( type == 'reason' )
        {
               ajax_request('act=edititem&CODE=02&itm='+itm+'&type='+type+sess);
        }
        else if ( type == 'content' )
        {
               ajax_request('act=edititem&CODE=03&itm='+itm+'&type='+type+sess);
        }
        else
        {
                html_value += text_html[ itm ].replace( '"/g', '&quot;');
                document.getElementById( type + '-' + itm ).innerHTML = '<input id="edit-'+itm+'" class="forminput" maxlength="'+perm_max_length+'" type="text" size="'+max_size+'" onblur="itm_blur(\''+itm+'\', \''+type+'\', \''+tid+'\')" onkeypress="itm_keypress(event, \''+itm+'\', \''+type+'\', \''+tid+'\')" />';
                document.getElementById( 'edit-' + itm ).focus();
                document.getElementById( 'edit-' + itm ).value += html_value;
        }
        return false;
}

itm_blur = function( itm, type, tid )
{
        newtext = document.getElementById( 'edit-' + itm ).value;
        newtext = ( newtext != "" ) ? newtext : ( ( type == 'priority' ) ? 0 : text_html[ itm ] );
        tid      = tid ? tid : 0;

        if( type == 'priority' || type == 'paysize' )
        {
                if( ! isNaN( newtext ) )
                {
                        itm_save( itm, newtext, type, tid );
                }
        }
        else
        {
                itm_save( itm, newtext, type, tid );
        }
}

itm_keypress = function( evt, itm, type, tid )
{
        if ( is_safari )
        {
                return false;
        }
        evt      = evt ? evt : window.event;
        newtext = document.getElementById( 'edit-' + itm ).value;
        newtext = ( newtext != "" ) ? newtext : ( ( type == 'priority' ) ? 0 : text_html[ itm ] );
        tid      = tid ? tid : 0;
        if ( ( evt.keyCode == 13 || evt.keyCode == 3 ) && newtext != "" )
        {
                if( type == 'priority' || type == 'paysize' )
                {
                        if( type == 'priority' ) document.queue.submit = false;
                        if( ! isNaN( newtext ) )
                        {
                                itm_save( itm, newtext, type, tid );
                        }
                }
                else
                {
                        itm_save( itm, newtext, type, tid );
                }
        }
}

itm_save = function( itm, newtext, type, tid )
{
        var donotedit = 0;

        if ( newtext == text_html[ itm ] )
        {
                donotedit = 1;
        }
        _desc_clicked = 0;

        document.getElementById( type + '-' + itm ).innerHTML = newtext;
        if ( donotedit )
        {
                return false;
        }

        if ( type == 'priority' )
        {
                ajax_request('act=edititem&CODE=00&mid='+itm+'&tid='+tid+sess+'&text='+escape(newtext));
        }
        else if ( type == 'paysize' )
        {
                ajax_request('act=edititem&CODE=05&pay='+itm+sess+'&text='+escape(newtext));
        }

        return false;
}

function ajax_request(query_string)
{
        if (query_string.length<2000)
        {
                var t=document.createElement('script');
                t.type="text/javascript";
                t.src='ajax.php?'+query_string+"&__=" +Math.random();
                var d=document.getElementById('appendajax');
                d.appendChild(t);
        }
        else
        {
                var http = get_http();
                http.open('POST', 'ajax.php?__=' +Math.random(), true);
                http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                //http.setRequestHeader('Content-Type', 'application/octet-stream');
                http.send(query_string);
                http.onreadystatechange = function()
                {
                        if (http.readyState == 4) ajax_ev(http.responseText);
                }
        }
}

function get_http()
{
        var xmlhttp;
        if (!xmlhttp && typeof (XMLHttpRequest) != undefined)
        {
                try
                {
                        xmlhttp = new XMLHttpRequest();
                }
                catch (e)
                {
                        try
                        {
                                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
                        }
                        catch (E)
                        {
                                xmlhttp = false;
                        }
                }
        }
        return xmlhttp;
}

function ajax_ev(a)
{
        eval(a);
}

function encodeurl( url )
{
        return escape(url).replace(/\+/g, "%2B");
}

function dialog_show(authdialog, fleidfocusneeded, width)
{
        var oTop = document.documentElement.scrollTop;
        my_getbyid( 'auth' ).style.display = "block";
                my_getbyid( authdialog ).style.width = width + 'px';
                my_getbyid( authdialog ).style.left = '50%';
                my_getbyid( authdialog ).style.top = parseInt(oTop, 10) + 'px';
                document.documentElement.style.overflow = "hidden";
        //document.documentElement.scroll = "no";
        //scroll(0, oTop);
        //itm_scroll(event);
        //window.event.returnValue = false;
}

function dialog_hide(id)
{
        if ( my_getbyid('logindialog') )
                {
                        my_getbyid('logindialog').style.position = 'absolute';
                            my_getbyid('logindialog').style.left = '-2000px';
                            my_getbyid('auth').style.display = "none";
                        document.documentElement.style.overflow = 'auto';
                }
                else if ( id && my_getbyid('imgdeldialog-' + id) )
                {
                            my_getbyid('imgdeldialog-' + id).style.position = 'absolute';
                            my_getbyid('imgdeldialog-' + id).style.left = '-2000px';
                            my_getbyid('auth').style.display = "none";
                        document.documentElement.style.overflow = 'auto';
                }
}
document.documentElement.onkeydown = function(e)
{
                if (!e) e = event;
                if( e.keyCode == 27 ) dialog_hide('');
}

itm_scroll = function(e)
{
                if (!e) e = window.event;
                /*if( e.preventDefault )
                e.preventDefault();
        else*/
                e.returnValue = false;
}
function CPoint(x, y) { this.x = this.y = null; this.reshape(x, y); }
CPoint.prototype.reshape = function(x, y) { this.x = x; this.y = y; };
CPoint.prototype.toString = function() { return "CPoint [x = " + this.x + ", y = " + this.y + "]"; };
function ieheight()
{
                var bg = document.getElementById('body').offsetHeight;
                document.getElementById('bg').style.height = bg + 'px';
}
window.onload = ieheight;