ACC SHELL

Path : /srv/www/vhosts/petrikov/admin/scripts/
File Upload :
Current File : /srv/www/vhosts/petrikov/admin/scripts/salyarea.js

function dump_props(obj, obj_name) {
   var result = "";
   for (var i in obj) {
      try{result += obj_name + "." + i + " = " + obj[i] + "\n\n\n";
      }catch(e){
        result += obj_name + "<b>N/A</b>\n\n\n";
      }
   }
   result=result.replace(/([^\n])\n([^\n])/gi,"$1$2");
   result=result.replace(/\n\n\n/gi,"<br>");
   newTestWindow=window.open("", "_blank", "");
   newTestWindow.document.write('<html><head><style type="text/css">*{font-family: verdana, tahoma, sans-serif; font-size: 12px;}</style></head><body>'+
                      result+
                      '</body></html>');
   newTestWindow.document.close();
}

var isRichText = false;
// Initialise the editor object;
// Set browser vars
var ua = navigator.userAgent.toLowerCase();
var isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1));
var isGecko = (ua.indexOf("gecko") != -1);
var isSafari = (ua.indexOf("safari") != -1);
var isKonqueror = (ua.indexOf("konqueror") != -1);
//check to see if designMode mode is available
//Safari/Konqueror think they are designMode capable even though they are not
if (document.getElementById && document.designMode && !isSafari && !isKonqueror)
	isRichText = true;
	
var ModeVisible='textarea';

function SalyAreaInit(){
  var SalyDocument = frames['SalyEditor'].document;
  var iframe_html = '<html><head><style type="text/css">*{font-family: verdana, tahoma, sans-serif; font-size: 12px;}</style></head><body>'+
      "</body></html>";
  SalyDocument.open();
  SalyDocument.write(iframe_html);
  SalyDocument.close();
  SalyDocument.designMode = "On";

  try{
    SalyDocument.addEventListener("keypress", geckoKeyPress, true);
  }catch (e) {}

  new_height = document.body.offsetHeight - document.getElementById('menu').offsetHeight;
  document.getElementById('AddImg').style.top=
      document.getElementById('AddLink').style.top=
          0+document.getElementById('menu').offsetHeight+(isIE?0:-1)+'px';
  document.getElementById('SalyArea').style.height=new_height+'px';
  document.getElementById('SalyEditor').style.height=new_height+'px';
  setTimeout("SwitchMode();", 100);
}

function Tidy(){
	if(ModeVisible=='iframe'){
    if (document.all)
  		var text = frames['SalyEditor'].document.body.innerHTML;
  	else
  		var text = document.getElementById('SalyEditor').contentWindow.document.body.innerHTML;
  }else{
    text=document.getElementById('SalyArea').value;
  }

  text=text.replace(/<\/P>/gi,"<BR>");
  text=text.replace(/<H1>(.*?)<\/H1>/gim,"<B>$1</B></BR>");
  text=text.replace(/<\/EM>/gim,'</I>');
  text=text.replace(/<EM>/gim,'<I>');
  text=text.replace(/<\/STRONG>/gim,'</B>');
  text=text.replace(/<STRONG>/gim,'<B>');
  text=text.replace(/<span\sstyle="([^"]*?)font-weight:\sbold([^"]*?)">(.*?)<\/span>/gim,'<B><span style="$1$2">$3</span></B>');
  text=text.replace(/<span\sstyle="([^"]*?)text-decoration:\sunderline([^"]*?)">(.*?)<\/span>/gim,'<U><span style="$1$2">$3</span></U>');
  text=text.replace(/<span\sstyle="([^"]*?)font-style:\sitalic([^"]*?)">(.*?)<\/span>/gim,'<I><span style="$1$2">$3</span></I>');
  text=text.replace(/<\/?[^(\/|I|U|B|BR|IMG|A|UL|LI)][^>]*?>/gim,'');

  if(ModeVisible=='iframe'){
    if (document.all)
      frames['SalyEditor'].document.body.innerHTML = text;
  	else
  		document.getElementById('SalyEditor').contentWindow.document.body.innerHTML = text;
  }else{
    document.getElementById('SalyArea').value=text;  
  }
}

function SwitchMode(){
  if(ModeVisible=='iframe'){
  	if (document.all)
  		text = frames['SalyEditor'].document.body.innerHTML;
  	else
  		text = document.getElementById('SalyEditor').contentWindow.document.body.innerHTML;
    text = text.replace(/<BR>/gi,"<BR>\n");
    text = text.replace(/\n{1,}/gi,"\n");
    document.getElementById('SalyArea').value = text;
    document.getElementById('SalyArea').style.display='block';
    document.getElementById('SalyEditor').style.display='none';
    ModeVisible='textarea';
  }else{
    text = document.getElementById('SalyArea').value;
    text = text.replace(/\n+/,'');
    if (document.all)
  		frames['SalyEditor'].document.body.innerHTML = document.getElementById('SalyArea').value;
  	else
  		document.getElementById('SalyEditor').contentWindow.document.body.innerHTML = document.getElementById('SalyArea').value;
    document.getElementById('SalyArea').style.display='none';
    document.getElementById('SalyEditor').style.display='block';
    ModeVisible='iframe';
  }
}

function SalyCommand(command, option){
	//function to perform command
	var EdFrame = document.getElementById('SalyEditor').contentWindow;
	try{
		EdFrame.focus();
	  EdFrame.document.execCommand(command, false, option);
		EdFrame.focus();
	}catch (e){}
}

function showImgForm(){
  document.getElementById('AddImg').style.display="block";
  document.getElementById('AddLink').style.display="none";
  if (document.all) {/* IE */
    var selection = frames['SalyEditor'].document.selection;
		if (selection != null) rng = selection.createRange();
    document.getElementById('img_alt').value =''
    document.getElementById('img_title').value = ''
    document.getElementById('img_src').value = ''
  } else {/* FF */
    selection = document.getElementById('SalyEditor').contentWindow.document.defaultView.getSelection();
		rng = selection.getRangeAt(selection.rangeCount - 1).cloneRange();

    img_elements = document.getElementById('SalyEditor').contentWindow.document.getElementsByTagName("img")
    selected_img_element=null;
    for(i=0;i<img_elements.length;i++) {
      if(selection.containsNode(img_elements.item(i),true)){
        selected_img_element=img_elements.item(i);
        break;
      }
    }
    document.getElementById('img_alt').value = (selected_img_element==null)?'':selected_img_element.alt;
    document.getElementById('img_title').value = (selected_img_element==null)?'':selected_img_element.title;
    document.getElementById('img_src').value= (selected_img_element==null)?'':selected_img_element.src;
  }
}

function Imging(){
	_img_alt=document.getElementById('img_alt').value;
	_img_title=document.getElementById('img_title').value;
	_img_src=document.getElementById('img_src').value;
  if (document.all) {/* IE */
    rng.pasteHTML('<img src="'+_img_src+'" title="'+_img_title+'" alt="'+_img_alt+'">');
		rng.collapse(false);
		rng.select();
  } else {/* FF */
    newImg = document.createElement("img");
    newImg.setAttribute('alt', _img_alt);
    newImg.setAttribute('title', _img_title);
    newImg.setAttribute('src', _img_src);
    rng.deleteContents();
    rng.insertNode(newImg);
	}
}

function showLinkingForm(){
  document.getElementById('AddLink').style.display="block";
  document.getElementById('AddImg').style.display="none";
  if (document.all) {/* IE */
    var selection = frames['SalyEditor'].document.selection;
		if (selection != null) rng = selection.createRange();
    try{
      document.getElementById('link_href').value =
            rng.htmlText.match(/.*<a[^>]*?href="([^\">]*?)"[^>]*.*>/i)?
          rng.htmlText.replace(/.*<a[^>]*?href="([^\">]*?)"[^>]*.*>/i,"$1"):'';
      document.getElementById('link_title').value =
        rng.htmlText.match(/.*<a[^>]*?title="([^\">]*?)"[^>]*.*>/i)?
          rng.htmlText.replace(/.*<a[^>]*?title="([^\">]*?)"[^>]*.*>/i,"$1"):'';
      document.getElementById('link_target').value=
        rng.htmlText.match(/.*<a[^>]*?target=([^>]*?)>.*/i)?
          '_blank':'_self';
      document.getElementById('link_text').value = rng.text;
      //dump_props(rng,"rng");
    }catch(e){}
  } else {/* FF */
    selection = document.getElementById('SalyEditor').contentWindow.document.defaultView.getSelection();
		rng = selection.getRangeAt(selection.rangeCount - 1).cloneRange();
    
    a_elements = document.getElementById('SalyEditor').contentWindow.document.getElementsByTagName("a")
    selected_a_element=null;
    for(i=0;i<a_elements.length;i++) {
      if(selection.containsNode(a_elements.item(i),true)){
        selected_a_element=a_elements.item(i);
        break;
      }
    }
    document.getElementById('link_href').value = (selected_a_element==null)?'':selected_a_element.href;
    document.getElementById('link_title').value = (selected_a_element==null)?'':selected_a_element.title;
    document.getElementById('link_target').value= (selected_a_element==null)?'_self':selected_a_element.href;
    document.getElementById('link_text').value = rng.toString().replace(/\n+/g,'');
    //dump_props(document.getElementById('link_target'),'link_target');
	}
}

function Linking(){
	_link_href=document.getElementById('link_href').value;
	_link_title=document.getElementById('link_title').value;
	_link_target=document.getElementById('link_target').value;
	_link_text=document.getElementById('link_text').value
  if (document.all) {/* IE */
    rng.pasteHTML('<a href="'+_link_href+'" title="'+_link_title+'" target="'+_link_target+'">'+_link_text+'</a>');
		rng.collapse(false);
		rng.select();
  } else {/* FF */
    newLink = document.createElement("a");
    newLink.textContent = _link_text;
    newLink.setAttribute('href', _link_href);
    newLink.setAttribute('title', _link_title);
    newLink.setAttribute('target', _link_target);
    rng.deleteContents();
    rng.insertNode(newLink);
	}
}

function geckoKeyPress(evt) {
  //function to add bold, italic, and underline shortcut commands to gecko SalyEditors
  if (evt.ctrlKey){
		var key = String.fromCharCode(evt.charCode).toLowerCase();
		var cmd = '';
		switch (key){
			case 'b':cmd = "bold";break;
			case 'i':cmd = "italic";break;
			case 'u':cmd = "underline";break;
		}
		if (cmd){
			SalyCommand(cmd, null);
			// stop the event bubble
			evt.preventDefault();
			evt.stopPropagation();
		}
 	}
}

ACC SHELL 2018