var dom = (document.getElementById)? true : false;
var mnus = new Array();
var opened = new Array();


function getelem(id){
 return (dom)?document.getElementById(id):document.all[id]
}

function sh(id){
 var el=getelem(id);
 //alert(el);
 el.style.display=(el.style.display=='block')?'none':'block';
 var el1=getelem('im'+id);
 if (el1)
 {
  el1.src = '/img/n1' + ((el.style.display=='block')?'2':'1') + '.gif';
 }
 return (el.style.display);
}

function op(id){
 //ret=sh(id);
 if (document.images["mimg"+id]) document.images["mimg"+id].src=(ret=='block'?'thm/nodedown.gif':'thm/node.gif')
 //alert('setting cookie ' + id + ' to ' + ret);
 //document.cookie = 'menu'+id+'='+escape(ret)
}

function check(which){
 var frm=eval('document.forms.'+which);
 var la=0
 for (var e = 0; e < frm.elements.length; e++){
   var el = frm.elements[e];
   if (el.tc){
    if (!la && el.tc=='email'  && (el.value.indexOf("@")<0 || el.value.indexOf(".")<1)){ alert('Неверный email'); la=1; }
    if (!la && el.tc=='пароль') var password1=el.value;
    if (!la && el.tc=='пароль2' && password1!=el.value){ alert('Пароли не совпадают'); la=1; }
    if (!la && el.value==""){
      alert('Пустое поле "'+el.tc+'"');
      la=1;
    }
   }
 }
 return (!la)?true:false;
}


function inop(formname, elem,vall,txt){
  var opt = parent.document.createElement("OPTION")
  el=eval("document.forms."+formname+"."+elem)
  el.options.add(opt)
  opt.value=txt
  opt.innerText=vall
}

function ShowMenu(id)
{
 for (i = 0; i < opened.length; i++)
 {
  if (opened[i] == 1 && id != i)
   HideMenu(i);
 } 
 var mn = getelem('ls'+id);
 if (mn)
 {
  getelem('l'+id).src = "prv/img/lnodes.gif";
  getelem('ll'+id).style.background = '#0280D5';
  mn.style.visibility = 'visible';
  clearTimeout(mnus[id]); 
  opened[id] = 1; 
 }
}

function StTmOut(id)
{
 mnus[id] = setTimeout("HideMenu("+id+")", 500);
}

function HideMenu(id)
{
 var mn = getelem('ls'+id);
 if (mn)
 {
  mn.style.visibility = 'hidden';
  opened[id] = 0;
  getelem('l'+id).src = "prv/img/lnode.gif";
  getelem('ll'+id).style.background = '#EEF0F2';
 }
}

function addfavor()
{
  window.external.addFavorite('http://otdyx.ru', 'Отдых.ru Агентство путешествий');
}

function check(which){
 var frm=eval('document.forms.'+which);
 var la=0
 for (var e = 0; e < frm.elements.length; e++){
   var el = frm.elements[e];
   if (el.tc){
    if (!la && el.tc=='email'  && (el.value.indexOf("@")<0 || el.value.indexOf(".")<1)){ alert('Неверный email'); la=1; }
    if (!la && el.tc=='пароль') var password1=el.value;
    if (!la && el.tc=='пароль2' && password1!=el.value){ alert('Пароли не совпадают'); la=1; }
    if (!la && el.value==""){
      alert('Пустое поле "'+el.tc+'"');
      la=1;
    }
   }
 }
 return (!la)?true:false;
}
 
var al, erel;
 function check2(formname, els)
 {
  var i;
   
  for (i = 0; i < els.length; i++)
  {
   var el, elv, eld;
   eld = els[i];   
   if (eld[1] == 'int')
   {
    el = document.forms[formname].elements[eld[0]];     
    elv = el.value;
    if (isNaN(elv) || elv=='')
    {
     er = 1;
     al = "Поле '"+eld[2]+"' должно быть числом\nField '"+eld[2]+"' should be an integer";
     ern = i;
     erel = document.forms[formname].elements[els[ern][0]];
     return false;
    }
    else if(eld[3] && eld[4] && !(elv>eld[3] && elv<eld[4]))
    {
     er = 1;
     al = "Поле '"+eld[2]+"' должно быть числом от "+eld[3]+" до "+eld[4]+"\nField '"+eld[2]+"' should be integer in range from "+eld[3]+" to "+eld[4];
     ern = i;
     erel = document.forms[formname].elements[els[ern][0]];
     return false;
    }     
   }
   else if (eld[1] == 'string')
   {
    el = document.forms[formname].elements[eld[0]];     
    elv = el.value;
    if (!elv)
    {
     er = 1;
     al = "Поле '"+eld[2]+"' должно быть непустой строкой\nField '"+eld[2]+"' should be non-empty string";
     ern = i;
     erel = document.forms[formname].elements[els[ern][0]];
     return false;
    }
   }
   else if (eld[1] == 'rbutton')
   {
    var j, sl;
    sl = 0;
    el = document.forms[formname].elements[eld[0]];     
    for (j = 0; j < el.length; j++)
    {
     if (el.item(j).checked) 
     {
      sl = 1;
      break;
     }
    }
    if (!sl)
    {
     er = 1;
     al = "Поле '"+eld[2]+"' - надо выбрать хотя бы одно значение\nField '"+eld[2]+"' - at least one value should be selected";
     ern = i;
     erel = document.forms[formname].elements[els[ern][0]].item(0);
     return false;
    }
   }
   else if(eld[1] == 'chbox')
   {
    var j, sl;
    sl = 0;
    for (j = eld[3]; j <= eld[4]; j ++)
    {     
     var ell;
     ell = document.forms[formname].elements[eld[0]+j];
     //alert('j = '+j+'; ell = '+ell+'; ell.checked = '+ell.checked+';ell.value = '+ell.value);
     if ((ell.type=='checkbox' && ell.checked) || (ell.type=='text' && ell.value != ''))
     {
      sl = 1;
      break;
     }
    }
    if (!sl)
    {
     er = 1;
     al = "Поле '"+eld[2]+"' - надо выбрать хотя бы одно значение\nField '"+eld[2]+"' - at least one value should be selected";;
     ern = i;
     erel = document.forms[formname].elements[els[ern][0]+eld[3]];
     return false;
    }
   }
   else if(eld[1] == 'select')
   {
    ell = document.forms[formname].elements[eld[0]];
    sl = 1;
    if (ell.selectedIndex < 1)
     sl = 0;
    if (!sl)
    {
     er = 1;
     al = "Надо выбрать значение в поле '"+eld[2]+"'\nYou should select value in '"+eld[2]+"'";
     ern = i;
     erel = document.forms[formname].elements[els[ern][0]];
     return false;
    }
   }
  }
  return true;
 }

 function check_main(formname, els)
 {
  if(!check2(formname, els)) 
  {
   alert(al); 
   erel.focus();
   return false;
  }
  return true; 
 }

 function check_forsave(formname, els)
 {
  var ttt = check3(formname, els);
  var msg;
  if (er)
  {
   msg = "Есть ошибки\nThere are errors\n";
   for (i = 0; i < ttt.length; i++)
   {
    msg += ttt[i]['msg']+"\n";
   }
  }
  else
  {
   msg = "Все правильно, протокол готов к занесению в базу\nAll OK";
  }
  alert(msg);
 }

 var er = 0;
 function check3(formname, els)
 {
  var i, c;
  var errs = new Array(); 
  for (i = 0; i < els.length; i++)
  {
   if (els[i])
   {
   var el, elv, eld;
   eld = els[i];
   
   c = errs.length;
   if (eld[1] == 'int')
   {
    el = document.forms[formname].elements[eld[0]];     
    elv = el.value;
    if (isNaN(elv) || elv=='')
    {
     errs[c] = new Array();
     errs[c]['msg'] = "Поле '"+eld[2]+"' должно быть числом\nField '"+eld[2]+"' should be an integer";
     errs[c]['n'] = i;
     er = 1;
    }
    else if(eld[3] && eld[4] && !(elv>eld[3] && elv<eld[4]))
    {
     errs[c] = new Array();     
     er = 1;
     errs[c]['msg'] = "Поле '"+eld[2]+"' должно быть числом от "+eld[3]+" до "+eld[4]+"\nField '"+eld[2]+"' should be integer in range from "+eld[3]+" to "+eld[4];
     errs[c]['n'] = i;
    }     
   }
   else if (eld[1] == 'string')
   {
    el = document.forms[formname].elements[eld[0]];     
    elv = el.value;
    if (!elv)
    {
     er = 1;
     errs[c] = new Array();
     errs[c]['msg'] = "Поле '"+eld[2]+"' должно быть непустой строкой\nField '"+eld[2]+"' should be non-empty string";
     errs[c]['n'] = i;
    }
   }
   else if (eld[1] == 'rbutton')
   {
    var j, sl;
    sl = 0;
    el = document.forms[formname].elements[eld[0]];     
    for (j = 0; j < el.length; j++)
    {
     if (el.item(j).checked) 
     {
      sl = 1;
      break;
     }
    }
    if (!sl)
    {
     er = 1;
     errs[c] = new Array();     
     errs[c]['msg'] = "Поле '"+eld[2]+"' - надо выбрать хотя бы одно значение\nField '"+eld[2]+"' - at least one value should be selected";
     errs[c]['n'] = i;
    }
   }
   else if(eld[1] == 'chbox')
   {
    var j, sl;
    sl = 0;
    for (j = eld[3]; j <= eld[4]; j ++)
    {     
     var ell;
     ell = document.forms[formname].elements[eld[0]+j];
     //alert('j = '+j+'; ell = '+ell+'; ell.checked = '+ell.checked+';ell.value = '+ell.value);
     if ((ell.type=='checkbox' && ell.checked) || (ell.type=='text' && ell.value != ''))
     {
      sl = 1;
      break;
     }
    }
    if (!sl)
    {
     er = 1;
     errs[c] = new Array();
     errs[c]['msg'] = "Поле '"+eld[2]+"' - надо выбрать хотя бы одно значение\nField '"+eld[2]+"' - at least one value should be selected";;
     errs[c]['n'] = i;
    }
   }
   else if(eld[1] == 'select')
   {
    ell = document.forms[formname].elements[eld[0]];
    sl = 1;
    if (ell.selectedIndex < 1)
     sl = 0;
    if (!sl)
    {
     er = 1;
     errs[c] = new Array();
     errs[c]['msg'] = "Надо выбрать значение в поле '"+eld[2]+"'\nYou should select value in '"+eld[2]+"'";
     errs[c]['n'] = i;
    }
   }
   }
  }
  return errs;
 }

function tCo()
 {
  psp('pform','save');  
  var hr = document.location.href;
  var pos = hr.lastIndexOf('/');
  hr = hr.substr(pos+1);
  pos = hr.lastIndexOf('.');
  hr = hr.substr(0, pos);
  var t = document.location.href.substr(8);
  t = unescape(t);
  t = t.replace(/\//g,'\\');
  pos = t.lastIndexOf('\\');
  t = t.substr(0,pos);
  hr = t + '\\' + hr;
  var n = 1;
  var hr0;
  pos = hr.indexOf('_saved');
  if (pos == -1)
  {
   hr0 = hr + '_saved';
   hr = hr + '_saved';   
  }
  else
  {
   n = hr.substr(pos+6);
   hr0 = hr.substr(0,pos+6);
  }  
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  while (fso.FileExists(hr+'.html'))
  {
   n = (n-0)+1;
   hr = hr0 + n;
  }
  hr = hr + '.html';  
  var a = fso.CreateTextFile(hr, true);
  a.WriteLine("<html><head>");
  var l = document.getElementsByTagName('style');
  var i;
  for (i = 0; i < l.length; i++)
   a.Write(l.item(i).outerHTML);
  var l = document.getElementsByTagName('script');
  a.Write(l.item(0).outerHTML);
  a.Write('</head>');
  a.Write(document.body.outerHTML);
  a.Write('</html>');
  a.Close(); 
  alert('Файл сохранен');
 }

function loadpage(urla,fram){
     window.frames[fram].document.location = urla;
     //myElement=getelem(fram);
    // myElement.style.cursor = 'wait';
//     document.all.contentlayer.scrollTop = 0;
}

function lsl()
{
 var i;
 while(document.forms['edit'].elements['page'].options.length > 0)
 {
  document.forms['edit'].elements['page'].options[0] = null;
 }
 for (i = 0; i < window.frames['lsel'].document.forms['edit'].elements['page'].options.length; i++)
 {
  var opt = new Option(window.frames['lsel'].document.forms['edit'].elements['page'].options[i].innerText, window.frames['lsel'].document.forms['edit'].elements['page'].options[i].value);
  document.forms['edit'].elements['page'].options[i] = opt;
  if (document.forms['edit'].elements['op'].value == window.frames['lsel'].document.forms['edit'].elements['page'].options[i].value)
   document.forms['edit'].elements['page'].options[i].selected = 1;
 }
 /*var t = window.frames['lsel'].document.forms['edit'].elements['page'].innerHTML;
 document.forms['edit'].elements['page'].innerHTML = t;*/
}