DL=true;

/* ADMIN FORMS */
var upd_tid_ttl=false;var upd_tid_fld=false;
function upd_tid(){if(!upd_tid_ttl){upd_tid_ttl=document.getElementById('ttl');};if(!upd_tid_fld){upd_tid_fld=document.getElementById('tid');};
  if(upd_tid_ttl&&upd_tid_fld&&(upd_tid_ttl.form.elements['cmd'].value=='add')){var ttl=upd_tid_ttl.value;var tid=translit(ttl);upd_tid_fld.value=tid;}}
function checkTID(obj){
  if(obj.elements['tid']){var tid=obj.elements['tid'].value;
    if(!tid.length){alert('Текстовый маркер не может быть пустым!');obj.elements['tid'].focus();return(false);}
    else{var test_tid=new RegExp("^[a-zA-Z0-9_-]+$",'g');
      if(!test_tid.test(tid)){alert('Текстовый маркер может содержать только латинские буквы, цифры и символы: - и _!');obj.elements['tid'].focus();return(false);}else{return(true);}}}else{return(true);}
  return(false);
}
function checkTTL(obj){if(obj.elements['ttl']){if(obj.elements['ttl'].value.length){return(true);}else{alert('Вы не указали заголовок!');obj.elements['ttl'].focus();}}else{return(true);};return(false);}
function checkItemForm(obj){
  if(!checkTID(obj)||!checkTTL(obj)){return(false);}
  return(true);
}

// 1040 - 1071
// 1072 - 1103

function delete_news(){if(confirm('Вы действительно хотите удалить эту новость?')){var frm=document.getElementById('news_form');if(frm){frm.elements['cmd'].value='delete';frm.submit();}}}
function delete_list_item(){if(confirm('Вы действительно хотите удалить этот элемент?')){var frm=document.getElementById('list_form');if(frm){frm.elements['cmd'].value='delete';frm.submit();}}}
function delete_photo_gallery(){if(confirm('Вы действительно хотите удалить эту фотогалерею?')){var frm=document.getElementById('photo_form');if(frm){frm.elements['cmd'].value='delete';frm.submit();}}}
function delete_billboard(){if(confirm('Вы действительно хотите удалить этот биллборд?')){var frm=document.getElementById('billboard_form');if(frm){frm.elements['cmd'].value='delete';frm.submit();}}}
function delete_video_page(){if(confirm('Вы действительно хотите удалить эту страницу?')){var frm=document.getElementById('video_form');if(frm){frm.elements['cmd'].value='delete';frm.submit();}}}

/* ADMIN MENUS */
function generateMenuItem(trg,msid){
  var tr=document.createElement('TR');trg.appendChild(tr);var td1=document.createElement('TD');tr.appendChild(td1);
  var td2=document.createElement('TD');tr.appendChild(td2);var td3=document.createElement('TD');tr.appendChild(td3);td3.align="right";
  var td4=document.createElement('TD');td4.width=30;tr.appendChild(td4);
  
  var inp1=document.createElement('INPUT');inp1.className="menu_ttl";inp1.type="text";inp1.name="ttl["+msid+"][]";inp1.value="";inp1.size=28;
  var inp2=document.createElement('INPUT');inp2.className="menu_dsc";inp2.type="text";inp2.name="dsc["+msid+"][]";inp2.value="";inp2.size=58;
  var inp3=document.createElement('INPUT');inp3.className="menu_cst";inp3.type="text";inp3.name="cst["+msid+"][]";inp3.value="";inp3.size=4;
  var inp4=document.createElement('INPUT');inp4.type="hidden";inp4.name="menu_id["+msid+"][]";inp4.value="";
  
  td1.appendChild(document.createTextNode('«'));td1.appendChild(inp1);td1.appendChild(document.createTextNode('» — '));
  td2.appendChild(inp4);td2.appendChild(inp2);td3.appendChild(inp3);
  td3.appendChild(document.createTextNode(' '));
  
  var del_link=document.createElement('A');del_link.className='admin_link';del_link.href='javascript:void(0);';del_link.onclick='delete_menu_position(this,event);';
  del_link.appendChild(document.createTextNode('del'));
  td4.appendChild(del_link);
  
  var b=document.createElement('B');td3.appendChild(b);
  var s=document.createElement('STRIKE');b.appendChild(s);
  s.appendChild(document.createTextNode('р'));
}
function add_menu_item(obj,ev,msid){var tbl=obj.parentNode.parentNode.parentNode.parentNode;generateMenuItem(tbl.tBodies[1],msid);}
function add_menu_section(obj,ev,msid){
  var frm=document.getElementById('menu_form');
  frm.elements['add_section'].value='1';
  frm.submit();
}
function delete_menu_section(obj,ev,msid){
  if(confirm('Вы действительно хотите удалить этот раздел?')){
    var frm=document.getElementById('menu_form');
    frm.elements['delete_section'].value=msid;
    frm.submit();
  }
}
function delete_menu_position(obj,ev){
  var tr=obj.parentNode.parentNode;
  var tb=tr.parentNode;
  
  var ttl_td=tr.cells[0];var ttl_inp=false;
  for(var i=0;i<ttl_td.childNodes.length;i++){if(ttl_td.childNodes[i].tagName=='INPUT'){ttl_inp=ttl_td.childNodes[i];}}
  if(ttl_inp.value){ttl_inp.value='';}
  tr.style.display='none';
  
}

/* ADMIN IMAGES */
var cell_width=106;var cell_height=81;var cell_offset=6;var cells_in_row=5;var MID=0;var preview_md_cc=false;var REPOS_SCRIPT_PATH='/tools/ajax.php';

var mov_obj=false;var mov_osx=0;var mov_osy=0;var mov_sx=0;var mov_sy=0;
function my_xyfunc(event){
  if(mov_obj){
    getXY(event);
    var new_x=mov_osx+(event.pageX-mov_sx);
    var new_y=mov_osy+(event.pageY-mov_sy);

    var tlx=Math.abs(mov_osx-new_x);var tly=Math.abs(mov_osx-new_x);var tl=(tlx>tly)?tlx:tly;if(move_track_length<tl){move_track_length=tl;}
    
    mov_obj.style.left=new_x+'px';
    mov_obj.style.top=new_y+'px';
    checkCollisions();
    cancelEvent(event);
  }
}
xyfunc=my_xyfunc;
var start_ndx=false;
var last_mov_obj=false;
var move_track_length=0;
var changing_position=false;
function my_mufunc(event){
  if(mov_obj){
    mov_obj.style.left=mov_osx+'px';
    mov_obj.style.top=mov_osy+'px';
    if(start_ndx!=parseInt(mov_obj.id)){
      var rep_id=parseInt(mov_obj.getAttribute("alt"));
      if(last_coll_obj){
        var rep_to=parseInt(last_coll_obj.getAttribute("alt"));
        if(rep_id&&rep_to){
          
          var loading_repos=document.getElementById('loading_repos');loading_repos.style.display='block';
          
          var func=function(a,t){var resp=a.responseText;ajax0();resp=parseInt(resp);
            switch(resp){
              case 5:break;
              default:alert('ERROR: '+resp);break;
            }
            var loading_repos=document.getElementById('loading_repos');loading_repos.style.display='none';
            changing_position=false;
            return(true);
          }
          var params='sid='+sid+'&cmd=repos&mid='+MID+'&rep_id='+rep_id+'&rep_to='+rep_to;
          ajaxpost(REPOS_SCRIPT_PATH,params,false,false,false,func);
          changing_position=true;
        }
      }
    }
    
    mov_obj.style.zIndex=10;
    if(mov_obj.removeEventListener){
      mov_obj.removeEventListener("mousemove",my_xyfunc,false);
      mov_obj.removeEventListener("mousemoveup",my_mufunc,false);
    }else if(mov_obj.detachEvent){
      mov_obj.detachEvent("onmousemove",my_xyfunc);
      mov_obj.detachEvent("onmousemoveup",my_mufunc);
    }

    mov_obj=false;
    last_coll_obj=false;
    cancelEvent(event);
  }
}
mufunc=my_mufunc;

var dd_matrix=new Array();
var last_coll_obj=false;
function checkCollisions(){
  var cnt=mov_obj.parentNode;
  var w=parseInt(mov_obj.style.width);var h=parseInt(mov_obj.style.height);
  var mx=parseInt(mov_obj.style.left);var my=parseInt(mov_obj.style.top);
  
  var coll_ndx=false;var coll_obj=false;
  var tx=0;var ty=0;var sumx=0;var sumy=0;
  for(var i=0;i<dd_matrix.length;i++){
    if(dd_matrix[i]==mov_obj){continue;}
    tx=parseInt(dd_matrix[i].style.left);
    ty=parseInt(dd_matrix[i].style.top);
    if(((tx+w)<mx)||(tx>(mx+w))||((ty+h)<my)||(ty>(my+h))){
      continue;
    }else{
      sumx=w-Math.abs(tx-mx);
      sumy=h-Math.abs(ty-my);
      if((sumx>(w/2+5))&&(sumy>(h/2+5))){

        mov_sx+=tx-mov_osx;
        mov_sy+=ty-mov_osy;
        mov_osx=tx;
        mov_osy=ty;

        coll_ndx=i;
        coll_obj=cnt.childNodes[i];
        break;
      }
    }
  }
  if(coll_obj){last_mov_obj=mov_obj;
    var mov_obj_ndx=parseInt(mov_obj.id);
    last_coll_obj=dd_matrix[coll_ndx];
    if(mov_obj_ndx>coll_ndx){for(var i=(mov_obj_ndx-1);i>=coll_ndx;i--){dd_matrix[i+1]=dd_matrix[i];dd_matrix[i+1].id=(i+1);}}
    else{for(var i=(mov_obj_ndx+1);i<=coll_ndx;i++){dd_matrix[i-1]=dd_matrix[i];dd_matrix[i-1].id=(i-1);}}
    mov_obj.id=coll_ndx;dd_matrix[coll_ndx]=mov_obj;
    var row=0;var cell=0;
    for(var i=0;i<dd_matrix.length;i++){
      if(i==coll_ndx){
        if(cell>=cells_in_row-1){row++;cell=0;}else{cell++;}
        continue;
      }
      dd_matrix[i].style.top=(row*(cell_height+cell_offset))+'px';
      dd_matrix[i].style.left=(cell*(cell_width+cell_offset))+'px';
      if(cell>=cells_in_row-1){row++;cell=0;}else{cell++;}
    }
  }
}

function clickBlockFunction(){return false;}

var first_touch=true;
function preview_md(obj,event,cb){
  if(changing_position||!DL||pv_click_opened){return;}
  if(cb){var cBubble=document.getElementById('preview_md_cb');if(cBubble&&cBubble.checked){preview_md_cc=true;}else{preview_md_cc=false;return;}}
  move_track_length=0;
  
  if(first_touch){
    var cnt=obj.parentNode;
    first_touch=false;
    for(var i=0;i<cnt.childNodes.length;i++){
      if(cnt.childNodes[i].tagName=='DIV'){
        var mxid=dd_matrix.length;
        cnt.childNodes[i].id=mxid;
        
        if(cnt.childNodes[i].addEventListener){
          cnt.childNodes[i].addEventListener("click",pv_click,false);
        }else if(cnt.childNodes[i].attachEvent){
          cnt.childNodes[i].attachEvent('onclick',pv_click);
        }
        
        dd_matrix[mxid]=cnt.childNodes[i];
      }
    }
  }
  getXY(event);
  start_ndx=parseInt(obj.id);mov_obj=obj;
  mov_osx=parseInt(obj.style.left);
  mov_osy=parseInt(obj.style.top);
  mov_sx=gx;mov_sy=gy;
  if(mov_obj.addEventListener){
    mov_obj.addEventListener("mousemove",my_xyfunc,false);
    mov_obj.addEventListener("mouseup",my_mufunc,false);
  }else if(mov_obj.attachEvent){
    mov_obj.attachEvent('onmousemove',my_xyfunc);
    mov_obj.attachEvent('onmouseup',my_mufunc);
  }
  mov_obj.style.zIndex=100;
  cancelEvent(event);
}
function delete_from_matrix(obj){
  var new_dd_matrix=new Array();
  for(var i=0;i<dd_matrix.length;i++){if(dd_matrix[i]!=obj){new_dd_matrix[new_dd_matrix.length]=dd_matrix[i];}}
  dd_matrix=new_dd_matrix;obj.parentNode.removeChild(obj);
  var row=0;var cell=0;
  for(var i=0;i<dd_matrix.length;i++){
    dd_matrix[i].style.top=(row*(cell_height+cell_offset))+'px';
    dd_matrix[i].style.left=(cell*(cell_width+cell_offset))+'px';
    dd_matrix[i].id=i;
    if(cell>=cells_in_row-1){row++;cell=0;}else{cell++;}
  }
}

var pv_click_obj=false;
var pv_click_opened=false;
var pv_click_id=0;
var pv_new_title='';
function pv_click(event){
  if(pv_click_opened){return;}
  last_mov_obj=false;
  if(preview_md_cc){cancelEvent(event);}
  else if(move_track_length<5){
    var itd=document.getElementById('imagetitlediv');
    var itf=document.getElementById('image_title');
    if(itd&&itf){
      pv_click_obj=event.srcElement?event.srcElement:event.target;
      for(var j=0;j<pv_click_obj.childNodes.length;j++){
        if((pv_click_obj.childNodes[j].tagName=='INPUT')&&(pv_click_obj.childNodes[j].getAttribute('type')=='checkbox')){
          pv_click_id=pv_click_obj.childNodes[j].value;
          break;
        }
      }
      itf.value='';
      var pv_xy=gXY(pv_click_obj);
      itd.style.display='block';
      itd.style.top=pv_xy[1]+Math.abs((parseInt(pv_click_obj.style.height)-parseInt(itd.style.height))/2)+'px';
      itd.style.left=pv_xy[0]-Math.abs((parseInt(pv_click_obj.style.width)-parseInt(itd.style.width))/2)+'px';
      itf.focus();itf.value=pv_click_obj.getAttribute("title");
      pv_click_opened=true;
    }
  }
}
function saveImageTitle(frm){
  var itf=document.getElementById('image_title');
  if(itf&&pv_click_id){
    pv_new_title=itf.value;
    if(pv_new_title!=pv_click_obj.getAttribute("title")){
      var params='sid='+sid+'&cmd=genGalleryTitle&mid='+MID+'&id='+pv_click_id+'&title='+encodeURI(pv_new_title);
      var func=function(a,t){var resp=a.responseText;ajax0();parts=resp.split('|');parts[0]=parseInt(parts[0]);
        switch(parts[0]){
          case 1:pv_click_obj.setAttribute("title",pv_new_title);break;
          default:alert('ERROR: '+resp);break;
        }
        var loading_repos=document.getElementById('loading_repos');loading_repos.style.display='none';
        var itd=document.getElementById('imagetitlediv');if(itd){itd.style.display='none';}
        pv_click_opened=pv_click_obj=pv_click_id=false;
        pv_new_title='';
        return(true);
      }
      var loading_repos=document.getElementById('loading_repos');loading_repos.style.display='block';
      ajaxpost('/tools/ajax.php',params,false,false,false,func);
      return(false);
    }
  }
  var itd=document.getElementById('imagetitlediv');if(itd){itd.style.display='none';}
  pv_click_opened=pv_click_obj=pv_click_id=false;
  pv_new_title='';
  return(false);
}


var selectAllPreviewsSelected=false;
function selectAllPreviews(obj,ev,root_id){
  var cnt=document.getElementById(root_id);
  if(cnt){
    var div=null;
    var c=0;
    for(var i=0;i<cnt.childNodes.length;i++){
      if(cnt.childNodes[i].tagName=='DIV'){
        div=cnt.childNodes[i];
        for(var j=0;j<div.childNodes.length;j++){
          if((div.childNodes[j].tagName=='INPUT')&&(div.childNodes[j].getAttribute('type')=='checkbox')){
            div.childNodes[j].checked=!selectAllPreviewsSelected;c++;
            break;
          }
        }
      }
    }
    if(c){
      selectAllPreviewsSelected=!selectAllPreviewsSelected;
      if(selectAllPreviewsSelected){
        if(!confirm("ПРЕДУПРЕЖДЕНИЕ\nВы отметили все фотографии к удалению, после сохранения все изображения будут удалены.")){
          selectAllPreviews(obj,ev,root_id);
        }
      }
    }
  }
}
