cursorPos = 0;

function goMenuLanguage()
{
   pageUrl = '/admin/menu_list/'+document.frm.slLanguage.selectedIndex+'/'
   window.location = pageUrl
}

function addMenuElement()
{
  parts = document.frm.slPath.options[document.frm.slPath.selectedIndex].text.split(" ");
  document.frm.tfContent.value += '\n' + parts[0] + '|' + parts[6] + '|' + parts[0];
}

function addColor(nameColor)
{
   if ( nameColor != 0 )
   {
      textColor = "<span style='color:"+nameColor+"'></span>";
      insertText(textColor);
   }
}

function insertText(text)
{
   // IE && Opera
   if (document.frm.tfContent.createTextRange && document.frm.tfContent.caretPos)
   {
      var caretPos=document.frm.tfContent.caretPos;
      caretPos.text=text;//caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
   }
   // Mozilla && FireFox
   else if ( document.frm.tfContent.setSelectionRange )
   {
      var strFirst = document.frm.tfContent.value.substr(0, cursorPos);
      var strEnd   = document.frm.tfContent.value.substr(cursorPos, document.frm.tfContent.value.length);
      document.frm.tfContent.value = strFirst + text + strEnd;
      cursorPos = strFirst.length + text.length
      document.frm.tfContent.selectionStart = document.frm.tfContent.selectionEnd = cursorPos;
   }
   else document.frm.tfContent.value += text;
}

function storeCaret()
{
   if (document.frm.tfContent.createTextRange) document.frm.tfContent.caretPos = document.selection.createRange().duplicate();
   else cursorPos = document.frm.tfContent.selectionStart;
}

function previewImage(img_path)
{
   win = open("","Предпросмотр","scrollbars=yes,status=yes,width=500,height=300");
   win.document.open();
   win.document.write("<img src='"+img_path+"'>");
   win.document.close();
}

function addTable()
{
   var i = 0, j = 0;
   tableContent = '\n<table border=\"0\" class=\"black11 table_grey\">\n';

   rowNum = prompt("Количество строк: ", 1);
   colNum = prompt("Количество столбцов: ", 1);

   for (i = 0; i < rowNum; i++)
   {
      tableContent += '<tr>\n';
      for (j = 0; j < colNum; j++)
         tableContent += '   <td></td>\n';
      tableContent += '</tr>\n';
   }

   tableContent += '</table>';
   
   insertText(tableContent);
}

function displey(obj, img)
{
   if (document.getElementById(obj).style.display == '')
   {
      document.getElementById(obj).style.display = 'none'
      document.getElementById(img).src = '/images/plus.gif'
   }
   else
   {
      document.getElementById(obj).style.display = '';
      document.getElementById(img).src = '/images/minus.gif'
   }
}

var ie = document.all;
var ns6 = document.getElementById && !document.all;
var hintHOffset="0px"
var hintVOffset="20"

function showHint(text, obj, e, width)
{
  if ( (ie||ns6) && document.getElementById("hintbox") )
  {
    objHint = document.getElementById("hintbox")
    objHint.innerHTML = text
    objHint.style.left = objHint.style.top = -500
    if ( width != "" ) objHint.style.width = width

    objHint.x = getposOffset(obj, "left")
    objHint.y = getposOffset(obj, "top")

    objHint.style.left = objHint.x + parseInt(hintHOffset) + obj.offsetWidth + "px"
    objHint.style.top = objHint.y + parseInt(hintVOffset) + "px"

    objHint.style.visibility = "visible"
    obj.onmouseout = hideHint
  }
}

function getposOffset(obj, offsetType)
{
  var offsetTotal = (offsetType == "left")? obj.offsetLeft : obj.offsetTop;
  var parentElement = obj.offsetParent;

  while ( parentElement != null )
  {
    offsetTotal = (offsetType == "left")? offsetTotal + parentElement.offsetLeft : offsetTotal + parentElement.offsetTop;
    parentElement = parentElement.offsetParent;
  }
  return offsetTotal;
}

function createHint()
{
  var divBlock = document.createElement("div")
  divBlock.setAttribute("id", "hintbox")
  document.body.appendChild(divBlock)
}

function hideHint(e)
{
  objHint.style.visibility = "hidden"
  objHint.style.left = "-500px"
}

window.onload = createHint

function checkMenuList()
{
  if ( document.frm.tfContent.value.length == 0 )
  {
    document.frm.tfContent.focus()
    alert('Список меню пустой!');
    return false;
  }

  return true;
}

function preview(obj, $module)
{
  if ( $module == 1 )
  {
    if ( !checkPage() ) return;
  }
  else if ( $module == 2 )
  {
    if ( !checkNews() ) return;
  }

  win = window.open('','preview','height=400,width=400,resizable=0,scrollbars=1')

  win.document.write("<head><link rel='stylesheet' type='text/css' href='/templates/style.css'></head><body>");
  win.document.write("<div class='blue_box black13'>Предварительный просмотр <b>\"" + obj.tfTitle.value + "\"</b></div>");
  win.document.write("<div class='preview'>" + obj.tfContent.value + "</div>");
  win.document.write("</body>");
  win.focus()
}

function checkPage()
{
  pattern = /^[a-zA-Z0-9_]{1,25}$/;
  name = document.frm.tfName.value;
  if ( pattern.exec(name) == null )
  {
    document.frm.tfName.style.backgroundColor = "#FFCCCC";
    document.frm.tfName.focus()
    alert('В поле Адрес(URL) разрешены только анг. буквы и цифры!');
    return false;
  }

  if ( document.frm.tfName.value.length == 0 )
  {
    document.frm.tfName.style.backgroundColor = "#FFCCCC";
    document.frm.tfName.focus()
    alert('Поле Адрес(URL) пустое!');
    return false;
  }

  if ( document.frm.tfTitle.value.length == 0 )
  {
    document.frm.tfTitle.style.backgroundColor = "#FFCCCC";
    document.frm.tfTitle.focus()
    alert('Поле Заголовок пустое!');
    return false;
  }

  if ( document.frm.tfContent.value.length == 0 )
  {
    document.frm.tfContent.style.backgroundColor = "#FFCCCC";
    document.frm.tfContent.focus()
    alert('Поле Текст пустое!');
    return false;
  }

  return true;
}

function checkUser()
{
  pattern = /^[a-zA-Z0-9_]{1,25}$/;
  name = document.frm.tfName.value;
  if ( pattern.exec(name) == null )
  {
    document.frm.tfName.style.backgroundColor = "#FFCCCC";
    document.frm.tfName.focus()
    alert('В поле Имя/Ник разрешены только анг. буквы и цифры!');
    return false;
  }

  if ( document.frm.tfName.value.length == 0 )
  {
    document.frm.tfName.style.backgroundColor = "#FFCCCC";
    document.frm.tfName.focus()
    alert('Поле Имя/Ник пустое!');
    return false;
  }

  pattern = /^[\w\-\.\_]{2,20}\@[\w\-\.]{2,20}\.\w{2,3}$/i;
  email = document.frm.tfEMail.value;
  if ( pattern.exec(email) == null )
  {
    document.frm.tfEMail.style.backgroundColor = "#FFCCCC";
    document.frm.tfEMail.focus()
    alert('Поле E-Mail содержит некорректный адрес!');
    return false;
  }

  if ( document.frm.tfPassw.value.length < 5 && document.frm.tfPassw.value != 'md5' )
  {
    document.frm.tfPassw.style.backgroundColor = "#FFCCCC";
    document.frm.tfPassw.focus()
    alert('Поле Пароль должно быть больше 4 символов!');
    return false;
  }

  return true;
}

// выбрать все checkbox
function checkAll()
{
   for (i=0; i < document.frm.elements.length; i++)
   {
      if (document.frm.elements[i].name.match(/^chk/))
      {
        if (document.frm.elements[i].checked) document.frm.elements[i].checked = false;
        else document.frm.elements[i].checked = true;
      }
   }
}

function showTpl()
{
  //tplFile = document.frm.slTplFiles.options[document.frm.slTplFiles.selectedIndex].text.split(" ");
  document.frm.operation.value = 'show';
  document.frm.submit();
}

function checkNews()
{
  if ( document.frm.tfTitle.value.length == 0 )
  {
    document.frm.tfTitle.style.backgroundColor = "#FFCCCC";
    document.frm.tfTitle.focus()
    alert('Поле Заголовок пустое!');
    return false;
  }

  pattern = /^\d{1,2}\:\d{1,2} \d{1,2}\.\d{1,2}\.\d{1,4}$/;
  date = document.frm.tfDate.value;
  if ( pattern.exec(date) == null )
  {
    document.frm.tfDate.style.backgroundColor = "#FFCCCC";
    document.frm.tfDate.focus()
    alert('В поле Дата указан не верный формат даты. Пример: 14:07 16.12.2006');
    return false;
  }

  if ( document.frm.tfContent.value.length == 0 )
  {
    document.frm.tfContent.style.backgroundColor = "#FFCCCC";
    document.frm.tfContent.focus()
    alert('Поле Текст пустое!');
    return false;
  }

  return true;
}

function checkContact()
{
  if ( document.frm.tfName.value.length == 0 )
  {
    document.frm.tfName.style.backgroundColor = "#FFCCCC";
    document.frm.tfName.focus()
    alert('Поле Имя пустое!');
    return false;
  }

  pattern = /^[\w\-\.\_]{2,20}\@[\w\-\.]{2,20}\.\w{2,3}$/i;
  email = document.frm.tfEMail.value;
  if ( pattern.exec(email) == null )
  {
    document.frm.tfEMail.style.backgroundColor = "#FFCCCC";
    document.frm.tfEMail.focus()
    alert('Поле E-Mail содержит некорректный адрес!');
    return false;
  }

  if ( document.frm.tfSubject.value.length == 0 )
  {
    document.frm.tfSubject.style.backgroundColor = "#FFCCCC";
    document.frm.tfSubject.focus()
    alert('Поле Тема пустое!');
    return false;
  }

  if ( document.frm.tfContent.value.length == 0 )
  {
    document.frm.tfContent.style.backgroundColor = "#FFCCCC";
    document.frm.tfContent.focus()
    alert('Поле Текст пустое!');
    return false;
  }

  return true;
}

/*function previewImage(img_path)
{
   win = open("","Предпросмотр","scrollbars=yes,status=yes,width=500,height=300");
   win.document.open();
   win.document.write("<img src='"+img_path+"'>");
   win.document.close();
}*/

function addRowUpload()
{
  var tblFiles = document.getElementById('idTblFiles');
  var lastRow = tblFiles.rows.length;

  var i = lastRow + 1;
  var row = tblFiles.insertRow(lastRow);

  var cell = row.insertCell(0);
  var el = document.createElement('input');
  el.setAttribute('type', 'file');
  el.setAttribute('name', 'tfFile_' + i);
  el.setAttribute('size', '30');
  el.setAttribute('value', i);
  cell.appendChild(el);

  document.getElementById('hFilesNum').value = i;
}

function removeRowUpload()
{
  var tblFiles = document.getElementById('idTblFiles');
  var lastRow = tblFiles.rows.length;
  if (lastRow > 1)
  {
    tblFiles.deleteRow(lastRow - 1);
    document.getElementById('hFilesNum').value =  document.getElementById('hFilesNum').value - 1;
  }
}

function checkGalleryFolder()
{
  if ( document.frm.tfDirTitle.value.length == 0 )
  {
    document.frm.tfDirTitle.style.backgroundColor = "#FFCCCC";
    document.frm.tfDirTitle.focus()
    alert('Поле Имя пустое!');
    return false;
  }

  if ( document.frm.tfDirAddress.value.length == 0 )
  {
    document.frm.tfDirAddress.style.backgroundColor = "#FFCCCC";
    document.frm.tfDirAddress.focus()
    alert('Поле Адрес пустое!');
    return false;
  }

  return true;
}

function viewImage(path, size)
{
  win = open("", "Просмотр", size + ",resizable=1,scrollbars=1");

  //win.document.open();
  win.document.write("<head><link rel='stylesheet' type='text/css' href='/templates/admin_style.css'></head><body>");
  win.document.write("<div align='center'><img src='" + path + "'/><br/>");
  win.document.write("<button class='button_blue' style='margin: 5' onClick='self.close()'>Закрыть</button></div>");
  win.document.write("</body>");
  win.focus();

  return false;
}

function checkBackup()
{
  if ( document.frm.rbTypeBackup[1].checked == true )
  {
    pattern = /^[\w\-\.\_]{2,20}\@[\w\-\.]{2,20}\.\w{2,3}$/i;
    email = document.frm.tfEMail.value;
    if ( pattern.exec(email) == null )
    {
      document.frm.tfEMail.style.backgroundColor = "#FFCCCC";
      document.frm.tfEMail.focus()
      alert('Поле E-Mail содержит некорректный адрес!');
      return false;
    }
  }

  return true;
}

function showProduction(name)
{
  objImg = document.getElementById('prodImg');
  if ( objImg )
  {
    objImg.src = productions[name].img.src;

    objTitle = document.getElementById("prodTitle");
    objTitle.innerText = productions[name].title;

    objDesc = document.getElementById("prodDesc");
    objDesc.innerHTML = productions[name].desc;
  }
}