

/*   Exogens.RUEN.JS 1.00.002                               Сайт / Site: exogens.ru                                   */
/*   Copyright © Exogens, Inc., 2003-2010                   Электронная почта / Email: mail@exogens.ru                */
/*                                                                                                                    */
/*   Ссылки:                                                                                                          */
/*   • основная информация по RUEN'у:  http://exogens.ru/produkty/ruen/                                               */
/*   • справочно-техническая информация по RUEN'у:  http://faq.exogens.ru/produkty/ruen/                              */



// label ruen_add
function ruen_add(starter, tags1, tags2)
{ 
  var ruentext = document.getElementById(starter);
  ruentext.focus();  

  // IE 
  if (document.selection)  
  { 
    var selected = document.selection.createRange(); 
    if(selected.text) { selected.text = tags1 + selected.text + tags2; }  else { ruentext.value = ruentext.value + tags1 + tags2; } 
  } else

  // Opera & etc.
  if (typeof(ruentext.selectionStart) == 'number') 
  { 
    if (ruentext.selectionStart != ruentext.selectionEnd) 
    { 
      var selectionstart = ruentext.selectionStart; 
      var selectionend = ruentext.selectionEnd; 
      selected = ruentext.value.substr(selectionstart,selectionend-selectionstart); 
      ruentext.value = ruentext.value.substr(0, selectionstart) + tags1 + selected + tags2 + ruentext.value.substr(selectionend); 
    } 
    else { ruentext.value = ruentext.value + tags1 + tags2; } 
  } 
}



// label ruen_images
function ruen_images(starter)
{
  var ruenmessage = document.getElementById('ruenmessage');

  ruenmessage.style.top = '0px';
  ruenmessage.style.left = '0px';
  ruenmessage.style.width = '100%';
  ruenmessage.style.height = '100%';
  ruenmessage.style.position = 'fixed';
  ruenmessage.style.display = 'block';

  var imgsrc = starter.src;
  imgsrc = imgsrc.replace('.p.jpg', '.jpg');
  imgsrc = imgsrc.replace('.p.gif', '.gif');

  ruenmessage.innerHTML = '<div onclick="document.getElementById(\'ruenmessage\').style.display = \'none\'; return false;">'
  + '<div style="position: fixed; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.85; background-color: #fff;"></div>'

  + '<div style="position: fixed; z-index: 5; top: 0; left: 0; width: 100%; height: 100%; opacity: 1;">'
  + '<p style="padding: 5px; text-align: right"><a href="#" onclick="document.getElementById(\'ruenmessage\').style.display = \'none\'; return false;">Закрыть</a></p>'
  + '<center style="padding: 70px 0 30px;"><img src="' + imgsrc + '" alt="" onclick="document.getElementById(\'ruenmessage\').style.display = \'none\';" class="ruen_photo"><br>'
  + starter.title
  + '</center>'
  + '</div>';

  + '</div>';
}



// label ruen_message
function ruen_message(starter, title, text, textclass, link)
{
  var ruenmessage = document.getElementById('ruenmessage');
  var width = 300;
  var height = 200;


  ruenmessage.style.width = width + 'px';
  ruenmessage.style.background = '#ffffff';
  ruenmessage.style.opacity = 0.85;
  ruenmessage.style.filter = 'alpha(opacity=85)';
  ruenmessage.style.position = 'absolute';
  ruenmessage.className = 'ruen_message';



  ruenmessage.innerHTML = '<div class="ruen_message_title">' + title + '</div>';
  ruenmessage.innerHTML += '<div class="' + textclass + ' ruen_message_text">' + text + '</div>';
  ruenmessage.innerHTML += '<div class="ruen_message_buttons">';
  if (link)
  {
    ruenmessage.innerHTML += '<input type="button" value="Нет" class="ruen_message_button" onclick="document.getElementById(\'ruenmessage\').style.display = \'none\'">';
    ruenmessage.innerHTML += '<input type="button" value="Да" class="ruen_message_button" onclick="location.href = \'' + link + '\'">';
  }
  else
  {
    ruenmessage.innerHTML += '<input type="button" value="OK" class="ruen_message_button" onclick="document.getElementById(\'ruenmessage\').style.display = \'none\'">';
  }
  ruenmessage.innerHTML += '</div>';



  var top = starter.offsetTop - Math.ceil(height / 2);
  var left = starter.offsetLeft - 150;
  while (starter.offsetParent && 'undefind') { top += starter.offsetParent.offsetTop; left += starter.offsetParent.offsetLeft; starter = starter.offsetParent; }
  if (top < 0) { top = 5; }
  if (left + width > document.body.clientWidth) { left = document.body.clientWidth - width - 10; }
  if (left < 0) { left = 10; }
  ruenmessage.style.top = top + 'px';
  ruenmessage.style.left = left + 'px';

  ruenmessage.style.display = 'block';
}



// label ruen_te_addimage - Добавление изображения
var addimageplace = 'center';
var addimagetype = 'photo';
var addimagepreviewwidth = 160;
var addimagepreviewheight = 120;

function ruen_te_addimage()
{ 
  document.getElementById('tefaddimage').style.display = 'block';
  document.getElementById('tefaddimage1').style.display = 'block';
  document.getElementById('tefaddimage2').style.display = 'block';

  addimagecount = addimagecount + 1;
  if (addimagecount / 2 == Math.ceil(addimagecount / 2)) { addimagestyle = ' class="ruen_content ruen_isdark"'; } else { addimagestyle = ''; }


  addimagecontent =  '<table class="ruen_content"><tr' + addimagestyle + '><td rowspan="6" class="ruen_content small center" style="width: 30px; padding-top: 5px;">' + addimagecount + '</td>'

 + '<td width="150" align="right">Файл изображения</td><td><input type="file" name="file[' + addimagecount + ']" class="ruen_long ruen_right">';

  if (addimagecount == 1) { addimagecontent = addimagecontent + '<p class="ruen_help">Поддерживаются форматы JPEG, GIF, PNG.</p>'; }
  addimagecontent = addimagecontent + '</td></tr>'

 + '<tr' + addimagestyle + '><td class="ruen_content" width="150" align="right">Комментарий</td><td class="ruen_content"><input name="addimagetitle[' + addimagecount + ']" type="text" class="ruen_long"><br>'
 + '<input type="checkbox" name="addimagetitleplace[' + addimagecount + ']" id="addimagetitleplace' + addimagecount + '" class="ruen_radio"><label for="addimagetitleplace' + addimagecount + '"> размещать под изображением</label> (только если расположение по центру)';

  if (addimagecount == 1) { addimagecontent = addimagecontent + '<p class="ruen_help">Два-три слова, точно характеризующие изображение.</p>'; }

  addimagecontent += '</td></tr>';



  addimagecontent += '<tr' + addimagestyle + '><td width="150" align="right">Тип</td><td class="ruen_content">';

  addimagecontent += '<label onclick="addimagetype=\'photo\'"><input type="radio" name="type[' + addimagecount + ']" class="ruen_radio" value="photo"';
    if (addimagetype == 'photo') addimagecontent += ' checked';
    addimagecontent += '> фотография</label> &nbsp; ';

  addimagecontent += '<label onclick="addimagetype=\'preview\'"><input type="radio" name="type[' + addimagecount + ']" class="ruen_radio" value="preview"';
    if (addimagetype == 'preview') addimagecontent += ' checked';
    addimagecontent += '> как превьюв ';

    addimagecontent += '<select name="previewwidth[' + addimagecount + ']" class="ruen_short" title="Ограничение размеров превьюва по ширине" onchange="addimagepreviewwidth = this.value">';
    for (i=8; i<161; i++)
    {
      addimagecontent = addimagecontent + '<option value="' + i*5 + '"';
      if (addimagepreviewwidth == i*5) { addimagecontent = addimagecontent + ' selected'; }
      addimagecontent = addimagecontent + '>' + i*5;
    }
    addimagecontent = addimagecontent + '</select> x ' + '<select name="previewheight[' + addimagecount + ']" class="ruen_short" title="Ограничение размеров превьюва по высоте" onchange="addimagepreviewheight = this.value">';
    for (i=8; i<161; i++)
    {
      addimagecontent = addimagecontent + '<option value="' + i*5 + '"';
      if (addimagepreviewheight == i*5) { addimagecontent = addimagecontent + ' selected'; }
      addimagecontent = addimagecontent + '>' + i*5;
    }
    addimagecontent = addimagecontent + '</select> ';
    addimagecontent += '</label> ';

  addimagecontent += '</td></tr>';



  addimagecontent += '<tr' + addimagestyle + '><td width="150" align="right">Расположение</td><td class="ruen_content">';

  addimagecontent += '<label onclick="addimageplace=\'left\'"><input type="radio" name="place[' + addimagecount + ']" class="ruen_radio" value="left"';
    if (addimageplace == 'left') addimagecontent += ' checked';
    addimagecontent += '> слева</label> &nbsp; ';

  addimagecontent += '<label onclick="addimageplace=\'center\'"><input type="radio" name="place[' + addimagecount + ']" class="ruen_radio" value="center"';
    if (addimageplace == 'center') addimagecontent += ' checked';
    addimagecontent += '> по центру</label> &nbsp; ';

  addimagecontent += '<label onclick="addimageplace=\'right\'"><input type="radio" name="place[' + addimagecount + ']" class="ruen_radio" value="right"';
    if (addimageplace == 'right') addimagecontent += ' checked';
    addimagecontent += '> справа</label> &nbsp; ';

  addimagecontent += '<label onclick="addimageplace=\'\'"><input type="radio" name="place[' + addimagecount + ']" class="ruen_radio" value=""';
    if (addimageplace == '') addimagecontent += ' checked';
    addimagecontent += '> без выравнивания</label> &nbsp; ';

  addimagecontent += '</td></tr>';



  addimagecontent += '<tr' + addimagestyle + '><td width="150" align="right">Оформление</td><td class="ruen_content">'
 + '<input type="radio" name="addimageclass[' + addimagecount + ']" value="photo" id="addimageclassphoto' + addimagecount + '" class="ruen_radio" checked><label for="addimageclassphoto' + addimagecount + '"> как фотография</label> &nbsp; '
 + '<input type="radio" name="addimageclass[' + addimagecount + ']" value="preview" id="addimageclasspreview' + addimagecount + '" class="ruen_radio"><label for="addimageclasspreview' + addimagecount + '"> как превьюв</label> &nbsp; '
 + '<input type="radio" name="addimageclass[' + addimagecount + ']" value="none" id="addimageclassnone' + addimagecount + '" class="ruen_radio"><label for="addimageclassnone' + addimagecount + '"> без оформления</label> &nbsp; '
 + '<br></td></tr>';


  addimagecontent += '<tr' + addimagestyle + '><td width="150" align="right">Коррекция</td><td class="ruen_content">'
 + '<select name="addimageprocesswidth[' + addimagecount + ']" class="ruen_short" title="Ограничение размеров изображения по ширине" onchange="addimagedewidth = this.value;"><option value="">без ограничений &nbsp; &nbsp;</option>';
 for (i=8; i<161; i++) {  addimagecontent = addimagecontent + '<option value="' + i*5 + '"'; if (addimagedewidth == i*5) { addimagecontent = addimagecontent + ' selected'; } addimagecontent = addimagecontent + '>' + i*5; }
  addimagecontent = addimagecontent + '</select> x ' + '<select name="addimageprocessheight[' + addimagecount + ']" class="ruen_short" title="Ограничение размеров изображения по высоте" onchange="addimagedeheight = this.value;"><option value="">без ограничений &nbsp; &nbsp;</option>';
 for (i=8; i<161; i++) {  addimagecontent = addimagecontent + '<option value="' + i*5 + '"'; if (addimagedeheight == i*5) { addimagecontent = addimagecontent + ' selected'; } addimagecontent = addimagecontent + '>' + i*5; }
  addimagecontent = addimagecontent + '</select> - ограничение размеров<br>'
 + '</td></tr>';


  addimagecontent += '</table>';


  var addimagediv = document.createElement('div')
  addimagediv.innerHTML = addimagecontent;
  document.getElementById('tefaddimage').appendChild(addimagediv)
  document.getElementById('text').style.height = '100px';
}



// label ruen_te_addemail - Добавление электронной почты
function ruen_te_addemail()
{
  var ruentext = document.getElementById('text');
  ruentext.focus();
  var emailcode = '';

  // IE
  if (document.selection)
  {
    var selected = ruentext.document.selection.createRange();
    if (selected.text > '')
    {
      email = '<a href=mailto:' + selected.text + '>' + selected.text + '</';
      for (emailnum = 0; emailnum < email.length / 4; emailnum++) { emailcode = emailcode + '"'+email.substring(emailnum*4, emailnum*4+4) + '"+'; }
      selected.text = '<' + 'script type="text/javascript"> document.write(' + emailcode + '"a>"); </' + 'script>';
  } } else

  // Opera & etc.
  if (typeof(ruentext.selectionStart) == 'number') 
  { 
    if (ruentext.selectionStart != ruentext.selectionEnd) 
    { 
      var selectionstart = ruentext.selectionStart; 
      var selectionend = ruentext.selectionEnd; 
      selected = ruentext.value.substr(selectionstart,selectionend-selectionstart); 
      email = '<a href=mailto:' + selected + ' >' + selected + '</';
      for (emailnum = 0; emailnum < email.length / 4; emailnum++) { emailcode = emailcode + '"'+email.substring(emailnum*4, emailnum*4+4) + '"+'; }
      emailcode = '<' + 'script type="text/javascript"> document.write(' + emailcode + '"a>"); </' + 'script>';
      ruentext.value = ruentext.value.substr(0, selectionstart) + emailcode + ruentext.value.substr(selectionend); 
    } 
  } 
}



// label fixPNG
// http://www.tigir.com/js/fixpng.js (author Tigirlas Igor)
function fixPNG(element)
{
  if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
  {
    var src;
    if (element.tagName=='IMG')
    {
      if (/\.png$/.test(element.src))
      {
        src = element.src;
        element.src = "/exogens.ruen/common/p.gif";
      }
    }
    else
    {
      src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
      if (src)
      {
        src = src[1];
        element.runtimeStyle.backgroundImage="none";
      }
    }
    if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
  }
}
