function confirmAction(target_link, str) {
  if (!str) str="записи"  
  if (confirm("Удаление "+str+" . . . \r\nВы действительно хотите этого ?"))
     location.href=target_link;
}


function winopen(URL) {
window.open(URL,'WindowName','height=500,width=500');
}

function HideShow(node) {	
 with (document.all[node].style) 
   if (display == 'none') display = ''; else display = 'none'; 
 return false
}

function HideShowID(id)
    {
      if (id.style.display=='none') { id.style.display=''; }
      else { id.style.display='none'; }
    }

function setCheckboxes(the_form, the_select,  do_check)
{       
    var elts      = (typeof(document.forms[the_form].elements[the_select]) != 'undefined')
                  ? document.forms[the_form].elements[the_select]
                  : (typeof(document.forms[the_form].elements[the_select]) != 'undefined')
          ? document.forms[the_form].elements[the_select]
          : document.forms[the_form].elements[the_select];
    var elts_cnt  = (typeof(elts.length) != 'undefined')
                  ? elts.length
                  : 0;
    if (elts_cnt) {
        for (var i = 0; i < elts_cnt; i++) {
            elts[i].checked = do_check;
        } // end for
    } else {
        elts.checked        = do_check;
    } // end if... else

    return true;
} // end of the 'setCheckboxes()' function 


function suggestPassword(the_form, name)
{
  var pwchars = "abcdefhjmnpqrstuvwxyz23456789ABCDEFGHJKLMNPQRSTUVWYXZ"; //.,:";
  var passwordlength = 16;    // do we want that to be dynamic?  no, keep it simple :)
  var passwd = '';

  for (i=0;i<passwordlength;i++)
  {
    passwd+=pwchars.charAt(Math.floor(Math.random()*pwchars.length))
  }

  the_form.all[name].value = passwd;
  return true;
}
function suggestCopy(the_form, name_from, name_to) {
		the_form.all[name_to].value  = the_form.all[name_from].value ;
 return true;
}


function writeToolBar(){
var sHTML = "";

sHTML += "<table width=100% border=0 cellpadding=0 cellspacing=0><tr style=\"cursor:hand\"><td id=\"tToolsBar2\" valign=\"top\">";
sHTML += "<td>";
sHTML += "&nbsp;&nbsp;&nbsp;<span onclick=\"changeBR_NR()\"><b>BR_NR</b></span>&nbsp;";
sHTML += "<img src=\"images/buttons_search.jpg\" width=26 height=26 alt=\""+lang["A_ButtonLabel_SearchReplac"]+"\" onclick=\"replace_string()\">&nbsp;";

sHTML += "</td></tr></table>";
document.write(sHTML);
}

function getSelect(){
        oSelection = document.selection.createRange();
       if (oSelection==null) return "";
         return oSelection;
}


function changeBR_NR() {

        var sHTML = document.composeForm.body_textatea.selection.createRange();
        var newHTML = sHTML.Text;
   alert(eval("newHTML"));
        newHTML = newHTML.replace(/<BR><BR>/gi, "<br><br>\r\n " );
        newHTML = newHTML.replace(/<br><br>/gi, "<br><br>\r\n");
   alert(eval("newHTML"));
        sHTML.pasteHTML(newHTML);
 return true;
}

// Peplacs
function replace_string(iobj){
   if (getSelect()=="") { 
              alert("Выделите текст для обработки");
              return; 
       }

      var sHTML = getSelect();
      var newHTML = sHTML.text;

      var param = new Array(iobj);
      var words = showModalDialog("ext/replace.phtml",param,"dialogWidth:440px; dialogHeight:90px; help:0; status:0");
      
        var re = new RegExp(words[0],"gi");
        newHTML = newHTML.replace(re, words[1]);

        sHTML.pasteHTML(""+newHTML+"");
 return true;
}


function GetHtml() {
    return document.composeForm.body.value;
 }

function getCursorPos(textElement) {
	
	
 var sOldText = textElement.value;
 var objRange = document.selection.createRange();
 var sOldRange = objRange.text;
 var sWeirdString = '#%~';

 objRange.text = sOldRange + sWeirdString; objRange.moveStart('character', (0 - sOldRange.length - sWeirdString.length));

 var sNewText = textElement.value;
 objRange.text = sOldRange;

   for (i=0; i <= sNewText.length; i++) {
     var sTemp = sNewText.substring(i, i + sWeirdString.length);
     if (sTemp == sWeirdString) {
     var cursorPos = (i - sOldRange.length);
//         alert("Курсор - "+ cursorPos);
    return cursorPos;
   }
  }
}


function splitEdit() 
{
var sel=document.selection.createRange();
sel.collapse();

var sel_before=sel.duplicate();
var sel_after=sel.duplicate();
   
sel.moveToElementText(document.all.EDITOR);
sel_before.setEndPoint("StartToStart",sel); 
sel_after.setEndPoint("EndToEnd",sel); 
   
text_before=sel_before.text
text_after=sel_after.text;
   
}

// setSelectionRange(start, end) - данный метод создающий текстовое выделение в случае когда start и end совпадают установит курсор в нужную позицию

function MoveCursorPos(inputObject, position)
{		
   if (inputObject.createTextRange)  {
         var r = inputObject.createTextRange();
         if (position==0) {
             r.collapse(true); // Этот метод производит сжатие содержимого текущего объекта TextRange в точку и помещает его в начале или конце исходного содержимого объекта. 
             r.select();   
         } else { 
			  
            inputObject.focus(); 
            var r1 = document.selection.createRange(); 				
            r1.move ('character', position); 
            r1.select (); 			
            inputObject.focus (); 
          }
    } 
} // MoveCursorPos
