//  Рисуем начальный тег слоя, исходя из типа браузера
var layerRef="null";
var styleSwitch="null";
var lastMenu="null";
var menus = new Array("Layer1","Layer2","Layer3","Layer4","Layer5","Layer6","Layer7");
var timeoutid = null;
var number_layer_show=null;
var number_left_show=null;
var timeoutid_left  =null;
var not_shide_id    =null;
var not_shide_brends_id    =null;
// Определяем тип браузера, исходя из этого устанавливаем правила обращения к слоям
function close_menu_edit()
  {
   var menu=document.getElementById('emenu');
   if(!menu) return;
   menu.style.display="none";
  }
function show_menu_edit(id,parent_id)
  {
   var menu=document.getElementById('emenu');
   if(!menu) return;
   //clear_menu_edit();
   document.edit_menu.reset();
   var srcoll=getScrollXY();
   menu.style.left   =parseInt(document.body.clientWidth/2 -parseInt(menu.style.width)/2)+"px";
   //menu.style.top    =parseInt((window.innerHeight ? window.innerHeight : document.body.clientHeight)/2-150)-(window.innerHeight ? 0 : 100)+"px";
   var coord_y=srcoll[1]+200+"px";
   menu.style.top    =coord_y;
   //---
   document.edit_menu.id.value=id;
   document.edit_menu.parent_id.value=parent_id;
   if(id>0)
     {
      try     { ajax_request = new ActiveXObject("Microsoft.XMLHTTP");}
      catch(e){ ajax_request = new XMLHttpRequest();                  }
      //---
      if(ajax_request!=null)
        {
         ajax_request.onreadystatechange = ProcessGetMenuInfo;
         ajax_request.open("GET", '/admin/menu?a[getinfo]&id='+parseInt(id),true);
         ajax_request.send(null);
        }
     }
   var button_add=document.getElementById('button_add');
   //---
   if(id==0)
     {
      if(button_add)
        {
         button_add.value='добавить';
        }
      //---
     }
   else
     {
      if(button_add)
        {
         button_add.value='Обновить';
        }
     }
   menu.style.display='block';
  }

function ShowL(number)
  {
   /*
   if( timeoutid != null ) clearTimeout( timeoutid );
   var td=document.getElementById('td_'+number);
   var menu=document.getElementById('menu'+number);
   //---
   if(number_layer_show!=null) HideL(number_layer_show);
   //---
   var layer_menu=document.getElementById("Layer"+number);
   if(layer_menu)
     {
      var x=findPosX(td);
      layer_menu.style.top        =369+"px";
      layer_menu.style.left       =x+"px";
      layer_menu.style.visibility ="visible";
      layer_menu.style.display    ="block";
     }
   if(td)
     {
      td.style.backgroundImage="url('/image/but_active.jpg')";
      if(menu) menu.style.color="#ffffff";
     }
   number_layer_show=number;
   */
}
//---
function TimeoutHideL(number) 
  {
   if( timeoutid != null ) clearTimeout( timeoutid );
   timeoutid = setTimeout( 'HideL("'+number+'");', 300 );
  }
function DelTimer()
  {
   if( timeoutid != null ) clearTimeout( timeoutid );
   timeoutid=null;
   if(number_layer_show!=null)ShowL(number_layer_show);
  }
//  Скрываем слой по его ID
function HideL(number)
  {
   /*
   var layer_menu=document.getElementById("Layer"+number);
   if(layer_menu)
     { 
      layer_menu.style.visibility = "hidden";
      layer_menu.style.display    = "none";
      var m=document.getElementById("menu"+number);
     }
   var td_menu=document.getElementById("td_"+number);
   if(td_menu)
     {
      if(not_shide_id!=number)
        {
         td_menu.style.backgroundImage="url('/image/but_inactive.jpg')";
         var menu=document.getElementById('menu'+number);
         if(menu) menu.style.color="#000000";
        }
     }
     */
   
} 

function findPosX(obj)
  {
   var currleft = 0;
   if (obj.offsetParent)
      while (obj.offsetParent && obj.offsetParent.id!='menu_top') 
        {
         currleft += obj.offsetLeft
         obj = obj.offsetParent;
        }
   else if (obj.x) currleft += obj.x;
   return currleft;
  }

function findPosY(obj)
  {
   var currtop = 0;
   if (obj.offsetParent)
      while (obj.offsetParent && obj.offsetParent.id!='menu_top')
        {
         currtop += obj.offsetTop
         obj = obj.offsetParent;
        }
   else if (obj.y) currtop += obj.y;
   return currtop;
  }
//---
function win_getViewPage()
  {
   if(navigator.appName=="Microsoft Internet Explorer")
     {
      return([document.documentElement.clientWidth, document.documentElement.clientHeight]);
     }
   else
      return([document.body.clientWidth, document.body.clientHeight]);
  }
//---
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}
//---
function ProcessGetMenuInfo()
  {
   abortRequestTimeOut = window.setTimeout("ajax_request.abort();AbortRequest();", 200000);
   //---
   if(ajax_request.readyState==4)
     {
      clearTimeout(abortRequestTimeOut);
      //---
      if(ajax_request.status == 200 && ajax_request.responseText!='error' && ajax_request.responseText!='')
        {
         RefreshMenuData(ajax_request.responseText,'Редактирование меню');
         //---
         SetFormDisable(false);
        }
      else
        {
         AbortRequest();
        }
     }
  }
//---
function SetFormDisable(is_disable)
  {
   var elements=document.edit_menu.elements;
   for(var i=0;i<elements.length;++i)
      elements[i].disabled=is_disable;
  }
//---
function AbortRequest()
  {
   var obj_title=document.getElementById('form_title');
   //---
   if(!obj_title) return;
   //---
   obj_title.innerHTML='Error request';
  }
//---
function RefreshMenuData(txt,editmenu)
  {
   var result   =txt.split("\n");
   var item     =null;
   var tag      ='';
   var obj_title=document.getElementById('window_header');
   //---
   if(obj_title) obj_title.innerHTML=editmenu;
   //---
   for(var i=0;i<result.length;++i)
     {
      if(result[i].indexOf("\t")<0) continue;
      //---
      item=result[i].split("\t");
      if(item.length>2 || item[0]=='password') continue;
      //---
      var obj=document.getElementsByName('d['+item[0]+']');
      if(obj && obj.length>0)
        {
         tag=obj[0].tagName.toLowerCase();
         //---
         if(obj[0].type=='checkbox')
           {
            obj[0].value=1;
            obj[0].checked=parseInt(item[1]);
           }
         else if(tag=='input' || tag=='textarea')
           {
            while(item[1].indexOf('|||')>=0)
               item[1]=item[1].replace('|||',"\n");
            //---
            if(obj.length>1) for(var j=0;j<obj.length;++j) obj[j].checked=(obj[j].value==item[1]);
            else             obj[0].value=item[1];
           }
         else if(tag=='select')
           {
            obj[0].value=parseInt(item[1]);
           }
        }
      else // maybe this is checkbox
        {
         obj=document.getElementsByName('d['+item[0]+'][]');
         if(obj && obj.length>0)
           {
            item[1]=parseInt(item[1]);
            //---
            for(var j=0;j<obj.length;++j) obj[j].checked=(obj[j].value&item[1]);
           }
        }
     }
  }
//---
  function MenuValidator(frm)
    {
     if(frm.url.value=='')
       {
        alert("Поле Url name не может быть пустым")
        return false;
       }
     //---
     return true;
    }
//--- перемещение диалогового окна
var win_SelectedItem;
var win_SelectedX, win_SelectedY;
var win_aMouseX,   win_aMouseY;
var win_checkMove = 0;
//---
var win_old_onmousemove=null;
var win_old_onmouseup  =null;

function win_down(event)
  {
   if(!event) event=window.event;
   //---
   win_SelectedItem=document.getElementById("emenu");
   //---
   win_SelectedX=parseInt(win_SelectedItem.style.left);
   win_SelectedY=parseInt(win_SelectedItem.style.top);
   //---
   win_aMouseX  = event.clientX;
   win_aMouseY  = event.clientY;
   win_checkMove= 1;
   //---
   win_old_onmousemove=document.onmousemove;
   win_old_onmouseup  =document.onmouseup;
   //---
   document.onmousemove=win_drag;
   document.onmouseup  =function(event){win_checkMove=0;};
  }

function win_drag(event)
  {
   if(win_checkMove!=1) return false;
   //---
   if(!event) event=window.event;
   //---
   win_SelectedItem.style.left=parseInt(win_SelectedX+(event.clientX-win_aMouseX))+"px";
   win_SelectedItem.style.top =parseInt(win_SelectedY+(event.clientY-win_aMouseY))+"px";
   //---
   return false;
  }

function win_drop(event)
  {
   document.onmousemove=win_old_onmousemove;
   document.onmouseup  =win_old_onmouseup;
   //---
   win_old_onmousemove=null;
   win_old_onmouseup  =null;
  }
//---
function changeLogin()
  {
   var login=document.getElementById("login");
   if(login)
     {
      if(login.value=='Логин') login.value='';
     }
  }
//---
function changePassword()
  {
   var pass=document.getElementById("pass");
   if(pass && pass.value=='пароль')
     {
      pass.value='';
     }
  }
//---
function deletePassword()
  {
   var pass=document.getElementById("pass");
   if(pass)
     {
      if(pass.value=='') pass.value='пароль';
     }
  }
//---
function deleteLogin()
  {
   var login=document.getElementById("login");
   if(login)
     {
      if(login.value=='') login.value='Логин';
     }
  }
//---
function changeSerache()
  {
   var search=document.getElementById("search");
   if(search)
     {
      if(search.value=='поиск по каталогу') search.value='';
     }
  }
function deleteSearche()
  {
   var search=document.getElementById("search");
   if(search)
     {
      if(search.value=='') search.value='поиск по каталогу';
     }
  }
//---
function ShowLeftMenu(number)
  {
   if( timeoutid_left != null ) clearTimeout( timeoutid_left );
   var td=document.getElementById('lf_'+number);
   //---
   if(number_left_show!=null) HideLeft(number_left_show);
   //---
   var layer_menu=document.getElementById("leftmenu_"+number);
   if(layer_menu)
     {
      var x=findPosX(td);
      var y=findPosY(td)
      layer_menu.style.top        =y+1+"px";
      layer_menu.style.left       =x+190+"px";
      layer_menu.style.visibility ="visible";
      layer_menu.style.display    ="block";
     }
   if(td)
     {
      td.className="butActive";
     }
   number_left_show=number;
  }
  
//---
function TimeoutHideLeft(number) 
  {
   if( timeoutid_left != null ) clearTimeout( timeoutid_left );
   timeoutid_left = setTimeout( 'HideLeft("'+number+'");', 300 );
  }
function DelTimerLeft()
  {
   if( timeoutid_left != null ) clearTimeout( timeoutid_left );
   timeoutid_left=null;
   if(number_left_show!=null)   ShowLeft(number_left_show);
  }
//---
function show_menu_view(id)
  {
   
   var menu=document.getElementById('emenu');
   if(!menu) return;
   menu.style.display='block';
   
   //clear_menu_edit();
   document.edit_menu.reset();
   var srcoll=getScrollXY();
   menu.style.left   =parseInt(document.body.clientWidth/2 -parseInt(menu.style.width)/2)+"px";
   var coord_y=srcoll[1]+200+"px";
   menu.style.top    =coord_y;
   //---
   document.edit_menu.view_id.value=id;
   if(id>0)
     {
      try     { ajax_request = new ActiveXObject("Microsoft.XMLHTTP");}
      catch(e){ ajax_request = new XMLHttpRequest();                  }
      //---
      if(ajax_request!=null)
        {
         ajax_request.onreadystatechange = ProcessGetViewInfo;
         ajax_request.open("GET", '/admin/products?a[getview]&id='+parseInt(id)+"&"+Math.random(),true);
         ajax_request.send(null);
        }
     }
   var button_add=document.getElementById('button_add');
   if(id==0)
     {
      var oEditor = FCKeditorAPI.GetInstance('content') ;
      // Check the active editing mode.
      if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG )
        {
         // Insert the desired HTML.
         oEditor.SetData('') ;
        }
      
     }
   
  }
function ProcessGetViewInfo()
  {
   abortRequestTimeOut = window.setTimeout("ajax_request.abort();AbortRequest();", 200000);
   //---
   if(ajax_request.readyState==4)
     {
      clearTimeout(abortRequestTimeOut);
      //---
      if(ajax_request.status == 200 && ajax_request.responseText!='error' && ajax_request.responseText!='')
        {
         var result   =ajax_request.responseText.split("\n");
         var f=document.forms["edit_menu"];
         var menu=document.getElementById('emenu');
         f.name.value=result[0];
         menu.style.display='block';
         var cont=document.getElementById('content');
         var s='';
         for( var i in result) if(i!=0)s+=result[i]+"\n";
         if(s)
           {
            var oEditor = FCKeditorAPI.GetInstance('content') ;
		      // Check the active editing mode.
		      if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG )
		        {
		         // Insert the desired HTML.
		         oEditor.SetData(s) ;
		        }
           }
         
        }
      else
        {
         AbortRequest();
        }
     }
  }
function ShowBnrs(id)
  {
   var banner       =document.getElementById('bnrs_'+id);
   var window_banner=document.getElementById('emenu');
   if(!banner || !window_banner) return;
   var srcoll=getScrollXY();
   window_banner.style.left   =parseInt(document.body.clientWidth/2 -parseInt(window_banner.style.width)/2)+"px";
   var coord_y=srcoll[1]+200+"px";
   window_banner.style.top    =coord_y;
   window_banner.style.display='block'
   setTimeout('ToEditBanner('+id+')',400);
   document.edit_menu.id.value=id;
  }
function ToEditBanner(id)
  {
   var banner       =document.getElementById('bnrs_'+id);
   var window_banner=document.getElementById('emenu');
   if(!banner || !window_banner) return;
   //---
   var s=banner.innerHTML;
   var oEditor = FCKeditorAPI.GetInstance('content') ;

   // Check the active editing mode.
   if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG )
     {
      // Insert the desired HTML.
      oEditor.SetData(s) ;
     }
   
  }

function ShowImage(imagename,title)
{
 var image=document.getElementById('image_view');
 if(image)
   {
    var big_image=document.getElementById('image_image');
    if(big_image)
      {
       big_image.src=imagename;
       big_image.title=title;
       var title_span=document.getElementById('title_photo_window');
       if(title_span) title_span.innerHTML=title;
      }
    CentralWindow(image, 600,600);
    ShowBackgoround();
    image.style.visibility='visible';
    image.style.display='block';
   }
}
function CloseImage()
{
 var image=document.getElementById('image_view');
 if(image)
   {
    HideBackground();
    image.style.visibility='hidden';
    image.style.display='none';
   }
}
function ShowBackgoround()
{
 var back=document.getElementById('image_background');
 if(back)
   {
    var pagesize=getPageSize();
    var style   =back.style;
    //---
    style.width  =pagesize[0]+'px';
    style.height =pagesize[1]+'px';
    style.display="block";
    //---
    style=null;
   }
}
function HideBackground()
{
 var back=document.getElementById('image_background');
 if(!back) return;
 //---
 back.style.display="none";
}
function CentralWindow(id, width, height)
{
 var win=id;
 //---
 var arrayPageSizes = getPageSize();
 var arrayPageScrolls = getPageScroll();
 //---
 var boxTop = arrayPageScrolls[1] + ((arrayPageSizes[3] - height) / 2);
 var boxLeft = ((arrayPageSizes[0] - width) / 2);
 //---
 win.style.top = (boxTop < 0) ? "0px" : boxTop + "px";
 win.style.left = (boxLeft < 0) ? "0px" : boxLeft + "px";
 win=null;
}
//---
function getPageScroll()
 {
  var yScroll;
  if (self.pageYOffset)
    {
     yScroll = self.pageYOffset;
    }
  else if (document.documentElement && document.documentElement.scrollTop)
    {
    yScroll = document.documentElement.scrollTop;
    }
  else if (document.body)
    {
     yScroll = document.body.scrollTop;
    }
  //---
  arrayPageScroll = new Array('',yScroll) 
  return arrayPageScroll;
 }
//---
function getPageSize(){
 
 var xScroll, yScroll;
 
 if (window.innerHeight && window.scrollMaxY)
   {
    xScroll = document.body.scrollWidth;
    yScroll = window.innerHeight + window.scrollMaxY;
   }
 else if (document.body.scrollHeight > document.body.offsetHeight)
   {
    xScroll = document.body.scrollWidth;
    yScroll = document.body.scrollHeight;
   }
 else
   {
    xScroll = document.body.offsetWidth;
    yScroll = document.body.offsetHeight;
   }
 //---
 var windowWidth, windowHeight;
 if (self.innerHeight)
   { 
    windowWidth = self.innerWidth;
    windowHeight = self.innerHeight;
   }
 else if (document.documentElement && document.documentElement.clientHeight)
   {
    windowWidth = document.documentElement.clientWidth;
    windowHeight = document.documentElement.clientHeight;
   }
 else if (document.body)
   {
    windowWidth = document.body.clientWidth;
    windowHeight = document.body.clientHeight;
   }
 //---
 if(yScroll < windowHeight)
   {
    pageHeight = windowHeight;
   }
 else
   { 
    pageHeight = yScroll;
   }
 //---
 if(xScroll < windowWidth)
   {
    pageWidth = windowWidth;
   }
 else
   {
    pageWidth = xScroll;
   }
 //---
 arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
 return arrayPageSize;
}

function ShowEditorForMain()
  {
   var obj_main=document.getElementById('editor_formain');
   if(obj_main) obj_main.style.display='block';
	
  }
function close_language_edit()
  {
   var menu=document.getElementById('emenu');
   if(!menu) return;
   menu.style.display="none";
  }
function show_language_edit(id,parent_id)
  {
   var menu=document.getElementById('emenu');
   if(!menu) return;
   document.edit_menu.reset();
   var srcoll=getScrollXY();
   menu.style.left   =parseInt(document.body.clientWidth/2 -parseInt(menu.style.width)/2)+"px";
   var coord_y=srcoll[1]+200+"px";
   menu.style.top    =coord_y;
   //---
   document.edit_menu.id.value=id;
   if(id>0)
     {
      try     { ajax_request = new ActiveXObject("Microsoft.XMLHTTP");}
      catch(e){ ajax_request = new XMLHttpRequest();                  }
      //---
      if(ajax_request!=null)
        {
         ajax_request.onreadystatechange = ProcessGetLanguageInfo;
         ajax_request.open("GET", '/admin/languages?a[getinfo]&id='+parseInt(id),true);
         ajax_request.send(null);
        }
     }
   var button_add=document.getElementById('button_add');
   //---
   if(id==0)
     {
      if(button_add)
        {
         button_add.value='добавить';
        }
      //---
     }
   else
     {
      if(button_add)
        {
         button_add.value='Обновить';
        }
     }
   menu.style.display='block';
  }
//---
function ProcessGetLanguageInfo()
  {
   abortRequestTimeOut = window.setTimeout("ajax_request.abort();AbortRequest();", 200000);
   //---
   if(ajax_request.readyState==4)
     {
      clearTimeout(abortRequestTimeOut);
      //---
      if(ajax_request.status == 200 && ajax_request.responseText!='error' && ajax_request.responseText!='')
        {
         RefreshMenuData(ajax_request.responseText,'Правка языка');
         //---
         //SetFormDisable(false);
        }
      else
        {
         AbortRequest();
        }
     }
  }
//--- правка комментариев
function edit_comment(id,comment_id_name, content_id_name)
   {
    
    var comment = document.getElementById(content_id_name);
    if(!comment) return;
    //---
    var text = document.getElementById('comment_'+id);
    if(!text) return;
    //---
    var guest_id = document.getElementById(comment_id_name);
    if(!guest_id) return;
    //---
    comment.value = text.innerHTML;
    guest_id.value = id;
   }
//--- ответ
function answer_comment(id,comment_id_name, content_id_name,answer_id,answer_id_name)
   {
    
    var comment = document.getElementById(content_id_name);
    if(!comment) return;
    //---
    var text = '';
    if(answer_id>0)
      {
       text = document.getElementById('answer_'+id);
       if(!text) return;
       //---
       text = text.innerHTML;
      }
    //---
    var guest_id = document.getElementById(comment_id_name);
    if(!guest_id) return;
    //---
    var answer = document.getElementById(answer_id_name);
    if(!answer) return;
    //---
    comment.value  = text;
    guest_id.value = id;
    answer.value   = answer_id;
    //---
    var title_comment= document.getElementById('title_comment');
    if(title_comment) title_comment.innerHTML = 'Ответ:';
   }
//---
function setHeightById()
   {
      var n = setHeightById.arguments.length;
      var args = setHeightById.arguments;

      if(n > 1)
         switch (isInteger(args[0]))
         {
            case true:
               for (i = 1; i < n; i++)
               {
                  element = document.getElementById(args[i]);
                  element.style.height = parseInt(args[0]) + "px";
               }
               break;
            case false:
               var element;
               var maxHeight = 0;
               /* */
               for (i = 0; i < n; i++)
               {
                  element = document.getElementById(args[i]);
                  // alert(args[i]);
                  if(maxHeight < parseInt(getElementHeight(element)))
                     maxHeight = parseInt(getElementHeight(element));
               }
               for (i = 0; i < n; i++)
               {
                  element = document.getElementById(args[i]);
                  element.style.height = maxHeight + "px";
               }
         }
   }
function isInteger(s)
   { // String s
      var i;
      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);
         if(!((c >= "0") && (c <= "9")))
            return false;
      }
      return true;
   }

function getElementHeight(element)
   {
      if(element.clientHeight)
      {
         return element.clientHeight;
      }
      else
      {
         if(element.offsetHeight)
         {
            return element.offsetHeight;
         }
      }
      return 10;
   }
