Вход Регистрация
Файл: usr/plugins/js/bb_editor.js
Строк: 166
<?php
function insertBB(code, type) 
{
    if(
userMod == true)
    {
        var 
obj = window.opener.document.getElementById(textareaName);
    }
    else
    {
        var 
obj = gid(textareaName);
    }

    if (
window.getSelection)
    {
        
start = obj.selectionStart;
        
end = obj.selectionEnd;
        var 
selectedText = obj.value.substr(start,end-start);
    }
    else if (
document.selection)
    {
    
        var 
txt = document.selection.createRange();  
        var clone = 
txt.duplicate();
        var 
oldstr=txt.text; 
        
        
txt.collapse();
        clone.
moveToElementText(obj);
        clone.
setEndPoint('EndToEnd', txt);
        
        var 
start=clone.text.length;
        var 
end=start+oldstr.length;
        
        var 
selectedText = obj.value.substr(start,end-start);
    }
    
    if(
selectedText.length > 3)
    {
        var 
change = true;
    }
    else
    {
        var 
change = false;
    }
    
    if(
code == 'image')
    {
        if (
change == true)
        {
            
insertCode('img');
        }
        else
        {
            var 
desc = prompt('Адрес картинки:', 'http://');
            var 
align = prompt('Выравнивание(center|left|right):', 'center');
            if(
desc)
            {
                
insertCode('img', align, desc);
            }
        }
    }
    else if(
code == 'url')
    {
    
        var 
url = prompt('Адрес:', 'http://');
        if(
url)
        {
            if (
change == true)
            {
                
insertCode('url', url);
            }
            else
            {
                var 
desc = prompt('Описание ссылки:', 'Перейти по адресу');
                if(!
desc) var desc = 'Перейти по адресу';
                
insertCode('url', url, desc);
            }
        }
        else
        {
            
alert('Вы не ввели адрес сылки!');
        }
    }
    else if(
code == 'mail')
    {
        var 
mail = prompt('Введите почту:', '');
        if(
mail)
        {
            if(
isValidEmail(mail))
            {            
                if (
change == true)
                {
                    
insertCode('email', mail);
                }
                else
                {
                    var 
desc = prompt('Описание:', 'мой e-mail');
                    if(!
desc) var desc = 'мой e-mail';
                    
insertCode('email', mail, desc);
                }
            }
            else
            {
                
alert('E-Mail имеет неправильный формат (email@site.ru)!');
            }
        }
        else
        {
            
alert('Вы не ввели адрес почты!');
        }
    }
    else if(
type == 'smile')
    {
        
insertCode('smile', code);
    }
    else
    {
        
insertCode(code, type);
    }
    
hideBBPanel();
}

function 
insertIN(code, module)
{
    if(
module != 'user')
    {
        
gid(textareaName).value += code;
    }
    else
    {
        
window.opener.document.getElementById(textareaName).value += code;
    }
}

function 
insertCode(code, add, simple) 
{ 
    var 
start,end;
    if(
userMod == true)
    {
        var 
obj = window.opener.document.getElementById(textareaName);
    }
    else
    {
        var 
obj = gid(textareaName);
    }
    
    
obj.focus();
    var 
miniCode = new Array('[hr]', 'smile', 'iwannamini');
    
    if(
simple)
    {
        if((
code == 'img' || code == 'thumb') && add == 'center')
        {
            var 
toAdd = '[center]['+code +']'+simple+'[/'+code+'][/center]';
        }
        else
        {
            var 
toAdd = '['+code + (add ? '=' + add : '') +']'+simple+'[/'+code+']';
        }
    }
    else
    {
        var 
toAdd = '['+code + (add ? '=' + add : '') +']{val}[/'+code+']';
    }
    
    if(
in_array(miniCode, code))
    {
        var 
toAdd = add ? add : code;
    }

    if (
window.getSelection)
    {
        
start = obj.selectionStart;
        
end = obj.selectionEnd;
        
obj.value = obj.value.substr(0,start)+toAdd.replace('{val}', obj.value.substr(start,end-start))+obj.value.substr(end); 
        
obj.setSelectionRange(start+code.length+2+(add ? add.length+1 : ''),end+code.length+2+(add ? add.length+1 : ''));   
        
    }
    else if (
document.selection)
    {
    
        var 
txt = document.selection.createRange();  
        var clone = 
txt.duplicate();
        var 
oldstr=txt.text; 
        
        
txt.collapse();
        clone.
moveToElementText(obj);
        clone.
setEndPoint('EndToEnd', txt);
        
        var 
start=clone.text.length;
        var 
end=start+oldstr.length;
        
        
obj.value = obj.value.substr(0,start)+toAdd.replace('{val}', obj.value.substr(start,end-start))+obj.value.substr(end);
        
        if (
oldstr)
        {
            clone.
findText(oldstr); 
            clone.
select();
        } 
        else 
        {
            
txt.moveStart("character",start+code.length+2+(add ? add.length+1 : ''));
            
txt.collapse();
            
txt.select();
        }
    }
    
hideBBPanel();
}

function 
changeHeight(action) 
{
    var 
area = gid(textareaName);

    if (
action == 'plus') 
    {
        var 
rows = +5;
    } 
    else 
    {
        var 
rows = -5;
    }

    var 
checkRows = area.rows + rows;

    if (
checkRows >= 5 && checkRows < 25) 
    {
        
area.rows = checkRows;
        return 
true;
    }

    return;
}

function 
QuickQuote(date, id)
{
 var 
txt = ''; 
 
window.txt= '';
      if (
document.getSelection)
      {
              
window.txt=document.getSelection()
      }
      else if (
document.selection)
      {
              
window.txt=document.selection.createRange().text;
      }
      if (
window.txt == txt)
      {
            
alert('Сначала выделите текст!'); 
      }
      else 
      {
        
gid(id).value += '[quote]' + window.txt + '[/quote]';     
      }
      
      
     
}

function 
hideBBPanel()
{
    if(
document.getElementById("test") != null)
    {
        
alert(123);
        if(
gid(textareaName + '_codes').style.display !== "none")
        {
            
gid(textareaName + '_codes').style.display = 'none';
        }    
        
        if(
gid(textareaName + '_smiles').style.display !== "none")
        {
            
gid(textareaName + '_smiles').style.display = 'none';
        }    
        
        if(
gid(textareaName + '_fonts').style.display !== "none")
        {
            
gid(textareaName + '_fonts').style.display = 'none';
        }
    }
}

function 
mainArea(name)
{
    if(
textareaName != name)
    {
        
textareaName = name;
    }
}
?>
Онлайн: 1
Реклама