function viewdateselector(name,value,elid){
    var oSelector, sName=name, sValue=value, sPath='/ima/js/date/';
    oSelector = new DateSelector(sName, sValue, sPath);
    $(elid).appendChild(oSelector.oNode);
}
function newindow(url){
    window.open(url,'newindow', 'toolbar=0, location=0,resizable=1,scrollbars=1, directories=0,menubar=0,height=500,width=484');
    
}
function getSelText(){
    var txt = '';
    if (window.getSelection){
        txt = window.getSelection();
    }else if (document.getSelection){
        txt = document.getSelection();
    }else if (document.selection){
        txt = document.selection.createRange().text;
    }
    return txt;
}
window.addEvent('domready',function(){
    $$('.gotocat').each(function(item,index){
        item.addEvent('change',function(){
            window.location.href=this.value;
        });
    });
    $$('.banby').each(function(item,index){
        item.addEvent('click',function(){
            newindow(this.get('href'));
            return false;
        });
    });
    $$('tr.sendpmsg').each(function(item,index){
        item.getPrevious('tr.uinfo').setStyle('height',item.getParent('td.author').getSize().y - 18);
    });
	
    $$('tr.zebra').each(function(item,index){
        item.addEvents({
            'mousemove':function(){
                this.getChildren('td').each(function(el){
                    el.setStyle('background-color','#F4F4F4');
                });
            },
            'mouseout':function(){
                this.getChildren('td').each(function(el){
                    el.setStyle('background','none');
                });
            }
        });
    });
    document.getElements('form').each(function(item){
        item.addEvent('submit',function(){
            if(this.getElement('.formsubmited')) {
                return false;
            }
            else{
                new Element('div',{
                    'style':{
                        'display':'none'
                    },
                    'class':'formsubmited'
                }).inject(this);
                this.getElements('input[type=submit].submit').each(function(item2){
                    //item2.set('disabled','disabled');
                    item2.setStyles({
                        'background-color':'#929292',
                        'color':'#fff'
                    });
                });
            }
        });
    });
});
function putBB(textarea, opening, closing) {
    if (textarea.selectionStart<textarea.selectionEnd) {
        var before = textarea.value.substr(0, textarea.selectionStart);
        var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd-textarea.selectionStart);
        var after = textarea.value.substr(textarea.selectionEnd);
        textarea.value = before + '['+opening+']'+selection+'['+closing+']'+after;
        textarea.selectionStart = before.length+opening.length+2;
        textarea.selectionEnd = 0;
    } else {
        var s = document.selection.createRange();
        if (s.text){
            s.text='['+opening+']'+s.text+'['+closing+']';
            s.select();
        }
    }
    textarea.focus();
}

function bb_init(){
    if($('bbbold'))$('bbbold').addEvent('click',function(){
        putBB(this.form.content, 'B', '/B');
    });
    if($('bbitalic'))$('bbitalic').addEvent('click',function(){
        putBB(this.form.content, 'I', '/I');
    });
    if($('bbunderline'))$('bbunderline').addEvent('click',function(){
        putBB(this.form.content, 'U', '/U');
    });
    if($('bbhref'))$('bbhref').addEvent('click',function(){
        putBB(this.form.content, 'URL=', '/URL');
    });
    if($('bbquote')){
        $('bbquote').addEvent('click',function(){
            if(getSelText()!=''){
                if(this.form.content.value.trim()=='') this.form.content.value += '[QUOTE]'+getSelText()+'[/QUOTE]\n';
                else this.form.content.value += '\n[QUOTE]'+getSelText()+'[/QUOTE]\n';
            }
        });
    }
}

function posturls(){
    // Клеим к кнопке
    $$('a.posturl').each(function(item,index){
        item.addEvent('click',function(){
            prompt("Копирование прямой ссылки этого сообщения, для сохранения в буфере обмена",this.get('href'))
            return false;
        });
        
    });

//    onclick='prompt("Копирование прямой ссылки этого сообщения, для сохранения в буфере обмена","");return false;' title='Ссылка на это сообщение'
}

function showtopic_init(){
    $$('.posts .author .name').each(function(item,index){
        item.addEvent('click',function(){
            var date = this.getParent('.author')
            .getParent('tr')
            .getPrevious('tr')
            .getElement('.date')
            .get('text')
            .clean();
            $('wysiwyg').value += '[B]'+this.get('html') + ' ' + date + '[/B]';
        });
    });
}
function agreed_init(){
    $('yes').addEvent('change',function(){
        if(this.checked==1) {
            $('submit').setStyle('background-color','#0D6597');
            $('submit').set('disabled',false);
        };
    });
    $('no').addEvent('change',function(){
        if(this.checked==1) {
            $('submit').setStyle('background-color','#929292');
            $('submit').set('disabled',true);
        }
    });
    $('yes').getParent('form').addEvent('submit',function(event){
        if(($('yes').checked==0||$('no').checked==1) && $('upass').value.trim()==''){
            return false;
        }
    });
}
function register_init(){
    $('agreement').checked = false;
    $('agreement').addEvent('change',function(){
        //if(this.checked==true) $('submit').setStyle('background-color','#0D6597');
        //else $('submit').setStyle('background-color','#929292');
        if(this.checked==true) {
            if(this.checked==true) $('submit').setStyle('background-color','#0D6597');
            $('submit').set('disabled',false);
        }
        else {
            $('submit').setStyle('background-color','#929292');
            $('submit').set('disabled',true);
        }
                
    });
    $('agreement').getParent('form').addEvent('submit',function(){
        if($('agreement').checked==false) return false;
    });


    redirectcounter_init();
}
function redirectcounter_init(){
    if($('redirectcounter')){
        if($('redirectcounter').get('html').trim()==''){
            $('redirectcounter').set('html',5);
        }
        addCount = function(){
            var now = $('redirectcounter').get('html').toInt();
            if(now>0) $('redirectcounter').set('html',now-1);
            else window.location.href = $('redirectcounter').getProperty('url');
        };
        addCount.periodical(1000);
    }
}
function msgs_init(){
    lines = $$('tr.gray');
    for(var i = 0; i<lines.length; i++){
        lines[i].getChildren('td').each(function(item,index){
            item.addEvent('click',function(e){
                var click_x = e.page.x;
                var click_y = e.page.y;
                var coords = this.getParent('tr.gray').getElement('input').getCoordinates();
                var x_beg = coords.left;
                var x_end = x_beg+coords.width;
                var y_beg = coords.top;
                var y_end = y_beg+coords.height;
                if((click_x>=x_beg && click_x<=x_end) && (click_y>=y_beg && click_y<=y_end)){}
                else{
                    if(this.getParent('tr.gray').getElement('input').checked==true)this.getParent('tr.gray').getElement('input').checked = false;
                    else this.getParent('tr.gray').getElement('input').checked = true;
                }
            });
        });
    }
}
function ajaxuser_init(url){
    var uname = $('sendmsgto');
    uname.getParent('form').addEvent('submit',function(e){
        if(uname.get('focused')==1)return false;
    });
    var ajaxlist = new Element('div', {
        'styles':{
            'width':uname.getCoordinates().width-2,
            'background-color':'#fff',
            'border':'solid 1px #000',
            'border-top':'none',
            'position':'absolute',
            'top':uname.getCoordinates().top+uname.getCoordinates().height,
            'left':uname.getCoordinates().left,
            'display':'none'
        }
    }).inject(document.body);
    window.addEvent('resize',function(){
        ajaxlist.setStyle('top',uname.getCoordinates().top+uname.getCoordinates().height);
        ajaxlist.setStyle('left',uname.getCoordinates().left);
    });
    uname.addEvent('keyup',function(e){
        var keycode = e.key;
        this.setProperty('focused',1);
        if(keycode=='up' || keycode=='down' || keycode=='enter' || keycode=='esc'){
            if(keycode=='esc') {
                ajaxlist.empty();
                ajaxlist.setStyle('display','none');
            }
            else if(ajaxlist.getStyle('display').trim()!='none'){
                var el = ajaxlist.getElement('div.selected');
                if(el!=null){
                    if(keycode=='down') {
                        el.set('class','unselected');
                        if(el.getNext('div')!=null) el.getNext('div').set('class','selected');
                        else ajaxlist.getFirst('div').set('class','selected');
                    }
                    else if(keycode=='up') {
                        el.set('class','unselected');
                        if(el.getPrevious('div')!=null) el.getPrevious('div').set('class','selected');
                        else ajaxlist.getLast('div').set('class','selected');
                    }
                }
                else{
                    if(keycode=='down') ajaxlist.getFirst('div').set('class','selected');
                    else if(keycode=='up') ajaxlist.getLast('div').set('class','selected');
                }
                var el = ajaxlist.getElement('div.selected');
                if(keycode=='enter'){
                    uname.set('value',el.get('html'));
                    ajaxlist.empty();
                    ajaxlist.setStyle('display','none');
                }
            }
        }
        else{
            var unameval = uname.get('value').trim();
            if(unameval!=''){
                new Request.JSON({
                    url:url,
                    method:'post',
                    data:{
                        uname:unameval
                    },
                    onComplete:function(name){
                        ajaxlist.empty();
                        ajaxlist.setStyle('display','none');
                        if(name.length>0){
                            for(var i = 0;i<name.length;i++){
                                new Element('div', {
                                    'html':name[i],
                                    'class':'unselected',
                                    'styles':{
                                        'cursor':'pointer',
                                        'padding-left':'10px',
                                        'width':ajaxlist.getStyle('width').toInt()-10
                                    },
                                    'events':{
                                        'mouseover':function(){
                                            this.getParent('div').getElements('div').each(function(item,index){
                                                item.set('class','unselected');
                                            });
                                            this.set('class','selected');
                                        },
                                        'mouseleave':function(){
                                            this.set('class','unselected');
                                        },
                                        'click':function(){
                                            uname.set('value',this.get('html'));
                                            ajaxlist.setStyle('display','none');
                                            ajaxlist.empty();
                                        }
                                    }
                                }).inject(ajaxlist);
                            }
                            ajaxlist.setStyle('display','block');
                        }
                    }
                }).send();
            }
        }
    });
    uname.addEvent('blur',function(){
        if(false == Browser.Engine.trident4){
            (function(){
                ajaxlist.setStyle('display','none');
            }).delay(500);
            this.setProperty('focused',0);
        }
        else{
            (function(){
                ajaxlist.setStyle('display','none');
            }).delay(1000);
            this.setProperty('focused',0);
        }
    });
    uname.addEvent('focus',function(){
        this.setProperty('focused',1);
    });
}
function ban_message(mid,date,ustatus,ipstatus){
    window.addEvent('domready',function(){
        Cookie.write('alertmsg', '1', {
            duration: 1
        });
        var main = new Element('div',{
            'class':'alertmsg'
        }).inject(document.body);
        if(!Browser.Engine.trident) {
            main.setStyles({
                'position':'fixed'
            });
        }
        new Element('div',{
            'html':'<img src="/ima/alert.gif" alt=""/>',
            'styles':{
                'height':'134px',
                'float':'left',
                'width':'25px',
                'text-align':'right',
                'margin-right':'18px'
            }
        }).inject(main);
        if(ipstatus != 0){
            new Element('div',{
                'html':'Ваш IP адрес был заблокирован за нарушение правил сайта до '+date,
                'class':'title'
            }).inject(main);
        }
        else{
            new Element('div',{
                'html':'Ваш аккаунт был заблокирован за нарушение правил сайта до '+date,
                'class':'title'
            }).inject(main);
        }
        new Element('div',{
            'html':'Для выяснения причины блокировки обратитесь к модератору '+mid,
            'class':'content'
        }).inject(main);
        new Element('img',{
            'src':'/ima/cross.gif',
            'alt':'Закрыть',
            'title':'Закрыть',
            'styles':{
                'position':'absolute',
                'top':'3px',
                'right':'3px',
                'cursor':'pointer'
            },
            'events':{
                'click':function(){
                    this.getParent('div.alertmsg').dispose();
                }
            }
        }).inject(main);
    });
}
function createBox(title,id){
    try {
        if(id==null)$$('.alertmsg').dispose();
        else $(id).dispose();
    } catch (e){}

    
    var main = new Element('div',{
        'class':'alertmsg',
        'styles':{
            'position':'fixed',
            'padding':0,
            'width':'415px',
            'height':'125px'
        }
    }).grab(new Element('div',{
        'styles':{
            'height':'20px',
            'width':'100%',
            'background-color':'#F4F4F4',
            'font-size':'10px',
            'line-height':'19px',
            'padding':'0 12px',
            'margin-bottom':'15px'
        },
        'text':title
    }));
    new Element('img',{
        'src':'/ima/cross.gif',
        'alt':'Закрыть',
        'title':'Закрыть',
        'styles':{
            'position':'absolute',
            'top':'6px',
            'right':'3px',
            'cursor':'pointer'
        },
        'events':{
            'click':function(){
                this.getParent('div.alertmsg').dispose();
            }
        }
    }).inject(main);
    if(id!=null)main.set('id',id);
    return main;
}

function enter_init(){
    $('upass').addEvents({
        'focus':function(){
            $('forguests').setStyle('display','none');
            $('submit').setStyle('background-color','#0D6597');
            $('submit').set('disabled',false);
        },
        'blur':function(){
            if(this.value.trim()=='') {
                $('forguests').setStyle('display','block');
                $('submit').setStyle('background-color','#929292')
                $('submit').set('disabled',true);
            }
            else {
                $('forguests').setStyle('display','none');
                $('submit').setStyle('background-color','#0D6597')
                $('submit').set('disabled',false);
            }
        }
    });
}
function tiny_mce(){
    tinyMCE_GZ.init({
        plugins : "safari,table,advhr,advlink,inlinepopups,preview,searchreplace,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking",
        themes : 'advanced',
        languages : "ru",
        disk_cache : true,
        debug : false
    });
    tinyMCE.init({
        mode : "exact",
        elements : "wysiwyg",
        language : "ru",
        theme : "advanced",
        plugins : "safari,table,advhr,advlink,inlinepopups,preview,searchreplace,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking",
        theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
        theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,cleanup,code,|,preview,|,forecolor,backcolor",
        theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,iespell,advhr,|,ltr,rtl,|,fullscreen",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true
    });
}
function minisearch_init(){
    var el = $$('.minisearch input.field')[0];
    if(el){
        if(el.value.trim()=='')el.value = 'Ключевое слово';
        el.addEvents({
            'click':function(){
                if(this.value.trim()=='Ключевое слово') this.value='';
            },
            'blur':function(){
                if(this.value.trim()=='') this.value='Ключевое слово';
            }
        });
        $$('.minisearch form').each(function(item,index){
            item.addEvent('submit',function(){
                if(this.keywords.value.trim()=='Ключевое слово'||this.keywords.value.trim()=='') {
                    return false;
                }
            });
        });
    }
}

function showDeceptionWindow(oSpan, iElId, sPageUrl) 
{
    var sPromtTitle = 'Введите новое значение';

    // procces as numeric
    var iCurrentVal = $(oSpan).getElement('.value').get('text',sSpanValue);
    var iView = parseInt( prompt(sPromtTitle, iCurrentVal) );
    if(iView || iView == 0) {
        var sSpanValue = iView > 0 ? '+' + iView : iView;
        $(oSpan).getElement('.value').set('text',sSpanValue);
    }
    else {
        return;
    }
    //send ajax request with changed data;
    if(iView || iView == 0) {
        var myRequest = new Request({
            method: 'post',
            url: sPageUrl
        }).send("el_id=" + iElId + "&value=" + iView);
    }
}

function setDeceptionDateValue(sSeletor, sPageUrl, isNull)
{
    // define date value;
    var sDate = isNull == undefined ? $(sSeletor).value : '';
    new Request({
        method: 'post',
        url: sPageUrl
    }).send("&value=" + sDate);

    var sMessage = isNull != undefined ? 'Дата обнулена' : 'Дата задана' ;
    alert(sMessage);
}

function gotopage(url){
    page = prompt('Введите номер страницы:','');
    $try(function(){
        page = page.toInt();
        if($type(page)=='number'){
            window.location.href = url + 'page_' + page + '?#comments';
        }
    });
    
    
}
