﻿function setOpacity(value) {
   testObj.style.opacity = value/10;
   testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}


function hasClassName(elem, cname)
{
    if (!elem) return false;
    var a =  elem.className.split(/\s+/);
    for (var i = 0; i < a.length; i++)
    {
        if (a[i] == cname) return true;
    }
    return false;
}

function addClassName(elem, cname)
{
    if (!elem) return false;
    if (hasClassName(elem, cname)) return false;
    elem.className += ' '+cname;
    return true;
}

function delClassName(elem, cname)
{
    if (!elem) return false;
    var a =  elem.className.split(/\s+/);
    var newName = '';
    for (var i = 0; i < a.length; i++)
    if (a[i] != cname) newName += ' '+a[i];
    elem.className = newName;
    return true;
}

function removeChildrenRecursively(node)
{
    if (!node) return;
    while (node.ChildNodes()) {
        removeChildrenRecursively(node.firstChild);
        node.removeChild(node.firstChild);
    }
}

function removeElementById(nodeId) {

		if(!$(nodeId))return true;
	
    document.getElementById(nodeId).parentNode.removeChild(
                            document.getElementById(nodeId));
}

function removeElement(el) {
    el.parentNode.removeChild(el);
}


function $(e_id)
{
    return document.getElementById(e_id);
}

function screenSize() {
    var w, h; // Объявляем переменные, w - длина, h - высота
    w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth));
    h = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight));
    return {w:w, h:h}; 
}

function findPos(obj)
{
    if (!obj)
    {
         return [0,0];
    }
    var curleft = curtop = 0;
    if (obj.offsetParent)
    {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent)
        {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }
    
    return [curleft,curtop];
}

function eY(e)
{
	e = (e)? e : event;
  var y = 0;
  if(e.pageX || e.pageY)
  {
  	y = e.pageY;
  }
  else if (e.clientX || e.clientY)
  {
     y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
  }
  
  return y;
}

function eX(e)
{
	e = (e)? e : event;
  var x = 0;

  if (e.pageX || e.pageY)
  {
    x = e.pageX;
  }
  else if (e.clientX || e.clientY)
  {
    x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
  }
  return x;
}

function find_Col(x1,y1)
{
	var l = columns.length;
	for (var i = 0; i < l; i++)
	{
  		var bp = findPos(columns[i]);
	    var w = parseInt(columns[i].offsetWidth);
      var h = parseInt(columns[i].offsetHeight);
      if (x1 >= bp[0] && x1 <= (bp[0]+w))
      {  
      	return columns[i];
      }	  	
	}
	return false;
}	

function find_Col_L(x1,y1)
{
	
	var index = page.d.L_activ;
	var count =page.d.L[index].col_col;
	
	for (var i = 0; i < count; i++)
	{
		var name_colums = 'L'+index+'colums'+i;
		var el = $(name_colums);	
		
  		var bp = findPos(el);
	    var w = parseInt(el.offsetWidth);
      var h = parseInt(el.offsetHeight);
        
      if (x1 >= bp[0] && x1 <= (bp[0]+w) && y1>=bp[1])
      {  
      	//f_new_html_block('test',"offsetWidth:"+bp[0]+" px",0);
      	return el;
      }	  	
	}
	return false;
}	

function find_el(col,x1,y1)
{
	if(!col) {return false;}
	
	var index;
	var el_1;
	var b_name;
	
	//f_new_html_block('test',"<br>id:"+col.getAttribute('id')+"x1:"+x1+"y1:"+y1,0);
	
	for(var i in page.d.b)
	{
		index = page.d.b[i];
		b_name = "C_" + page.name_block_ + index;
		
		
		el_1 = $(b_name);
		if(el_1 == null)continue;
		//if(elem_1 == el_1) continue;
		
		//f_new_html_block('test',"<br>id:"+el_1.getAttribute('id'),1);
	
		var bp = findPos(el_1); 
		var w = parseInt(el_1.offsetWidth);
    var h = parseInt(el_1.offsetHeight);
	
		if ( y1 >= bp[1] && y1 <= (bp[1]+h) && x1>= bp[0] && x1 <= (bp[0]+w)	)
    {  
       return el_1;
    }	  
		
	}	

	return false;
}	
function check_obj_XY(obj,X,Y)
{//по координатам проверяет принадлежат ли они объекту
		var bp = findPos(obj); 
		var w = parseInt(obj.offsetWidth);
    var h = parseInt(obj.offsetHeight);
	
		if ( Y >= bp[1] && Y <= (bp[1]+h) && X>= bp[0] && X <= (bp[0]+w)	)
    {  
       return true;
    }	 
    return false;
}
	
function moveZoomBox_2(e){
	//перетаскиваем виджет
		e = (e)? e : event;

		var PosX = eX(e);
		var PosY = eY(e);
		
		var difY = PosY - Y;
		var difX = PosX - X;
 		 		
  	var temp = tempY+difY; 
		//if(temp < minMoveY) temp = minMoveY;
 	 	zoomBox.style.top = temp+'px';
        
		temp = tempX+difX; 
		//if(temp < minMoveX) temp = minMoveX;
 	 	zoomBox.style.left = temp+'px';
 	 	
 /*	 	var dif_X = Math.abs(Xp-PosX);
 	 	var dif_Y = Math.abs(Yp-PosY);
	
 	if( dif_Y < 20 &&  dif_X < 20 )
	{
			return;
	}	
	
	
	Xp=PosX;
 	Yp=PosY;
 	*/
 	
	//debug_var1++;
	//f_new_html_block('test1'," debug_var1("+debug_var1+") debug_var2("+debug_var2+")<br>",0);
	
	var el = find_Col_L(PosX,PosY);

	if(el == false){
		//Найдем вкладку
		addClassName( $('move_1'), 'alpha_30');
		if(check_obj_XY($('tab_list'),PosX,PosY))
		{
							
			for(var i in page.d.L)
			{
				if(i==0)continue;
				if(!page.d.L[i])continue;
				if(page.d.L[i].type && page.d.L[i].type=='search'){continue;}
				if( !$('tabBtn'+i) )continue;
				
				if(check_obj_XY($('tabBtn'+i),PosX,PosY)){
					
		
					if(!page.L_activ_move	|| page.L_activ_move != i )
					{
												
						delClassName( $('tabBtn'+page.L_activ_move), 'red_tab' );
						clearTimeout(page.L_Timeout_id);	
						page.L_activ_move = i;
						
						//if(i!=page.d.L_activ)
						{ 
							
							if(i!=page.d.L_activ){ addClassName( $('tabBtn'+i), 'red_tab' ); }
							//Переносим виджет на page.L_activ_move вкладку в 1 колонку
							el = $('L'+page.L_activ_move+'colums0');
							//alert('Переносим виджет на '+page.L_activ_move);
							//перенесем на другую 
							//в первую колонку
							
							var list = i;		
							var index_col = 0;
							//поиск позиции блока
							//alert('поиск позиции блока вкладка'+list+'колонка'+index_col);
							var col_bl = page.d.L[list].C[index_col].col_bl;
							if( col_bl < 0 ){page.d.L[list].C[index_col].col_bl = 0; col_bl=0;}
		
							var el_before = false;
							//block[index].d.poz = min_poz_i;
			
							if( list != 0 )
							{
								var min_poz = 0;	
								var min_k   = -1;			

								for(var k in page.d.b)//цикл перебора блоков на вкладке(листе)
								{
									if(k==Move_block) continue;
									if(block[k]==null) continue;
									if(block[k].d==null) continue;
									if(block[k].d.list!=list) continue;	
									if(block[k].d.col!=index_col) continue;
		
									if( (min_k==-1) || block[k].d.poz <= min_poz )
									{ //Ищем первый в колонке виджет
										min_poz = block[k].d.poz; 
										min_k = k;
									}
								}	

								if(min_k != -1)
								{
									if($('C_'+page.name_block_+min_k))
									{ 
										el_before = $('C_'+page.name_block_+min_k); 
										if(!el_before)el_before = false;
										//block[index].d.poz = block[min_k].d.poz-block[min_k].d.poz/10;
									}
								}
							}
							
							//alert(el_before);
							elem_2 = el_before;
							elem_1 = jamp(elem_1,el,el_before);
							old_mesto_block = false;
											
						}
						//отложенный запуск функции 
						if(i != page.d.L_activ)	page.L_Timeout_id = setTimeout( 'change_L('+i+')', 1000 );
					}
					return true;
				}
			}
		}	
		return true;
	}else
	{
		if(page.L_Timeout_id){
			clearTimeout(page.L_Timeout_id);
			page.L_Timeout_id=null;
		}	
		if( page.L_activ_move ){
				
				delClassName( $('tabBtn'+page.L_activ_move), 'red_tab' );	
				page.L_activ_move=null;
				var tttt=true;
		}
	}		
	
	if(Move_block!=-1)
	{
		if( page.L_activ_move && page.L_activ_move == block[Move_block].d.list ){
			 return;
			}
	}	
	
	
	//var new_col = el.getAttribute('target');	
	//if (new_col == 'move'){ alert('Таже колонка'); return true; }

	var bp = findPos(elem_1);
	
	var par;
	if(PosY < bp[1]) par = 0; else par = 2;
	
	var h = parseInt(parseInt(elem_1.offsetHeight)/2);

	if(el){
		
		var new_col = el.getAttribute('target');
		var old_col = col_move.getAttribute('target');
		
		if(el!=col_move)
		{
			
			if(Move_block!=-1)
			{
					var index_L = page.L_activ_move?page.L_activ_move:page.d.L_activ;
			}	
			elem_2 = find_el(el,PosX,PosY+h);
		}
		else 
		{
			elem_2 = find_el(el,PosX,PosY+par*h);
		}
	
		
	
		var new_bl = false;
		if(elem_2!=false){
				var new_bl = elem_2.getAttribute('target');
				}
		//f_new_html_block('test1',"el ="+el +"col_move "+col_move+"<br>",1);
			
		if((elem_2!=elem_1 && old_mesto_block!=new_bl) || el!=col_move || tttt)
		{
			//f_new_html_block('test1',"tttt ="+tttt +"<br>",1);
			tttt=false;
			col_move = el;

			var tmp1 ;
			var tmp3 ;
			if(elem_1) tmp1 = elem_1.getAttribute('target');else tmp1=elem_1;
			if(elem_2) tmp3 = elem_2.getAttribute('target');else tmp3=elem_2;
			if(elem_1==elem_2){ return true;}
		
			
		
			elem_1 = jamp(elem_1,el,elem_2);
			
	
			old_mesto_block = new_bl;
				
			//Найдем ширину блока и присвоим ее перемещаемому блоку
			
			var w = parseInt( elem_1.offsetWidth );
			
			var w_ = parseInt( zoomBox.offsetWidth );
			
			zoomBox.style.width = (w)+"px";
			
			if(!check_obj_XY(zoomBox,PosX,PosY))
			{
				var w__ = parseInt( zoomBox.offsetWidth );
				var ww = w_-w+(w-w__); 
				zoomBox.style.left = parseInt(zoomBox.style.left)+ww+'px'; 
				tempX = tempX+ww;//parseInt(elem_1.style.left);
			}
			
			delClassName($('move_1'), 'alpha_30');
			
		}	
		
	}	

  return true;

}

function resizeHZoomBox(e)
{
	e = (e)? e : event;
 	
 	var PosY = eY(e);
 	
	var difY = PosY - Y;
    
  if(difY < gridSizeY && (-difY) < gridSizeY) 
 	  return true;
		 	
		var height = tempH+difY; 
		if(height < minSizeY) height = minSizeY;
		
 	 	zoomBox.style.height = (height)+'px';
    
  	Y = PosY;
		tempH = Height;
    
  return;
}    
    
function resizeWZoomBox(e)
{
		e = (e)? e : event;

	 	var PosX = eX(e);
  	
  	var difX = PosX - X;
  
   	if(difX < gridSizeX && (-difX) < gridSizeX) 
 	   	return true;
	 	 	
		var width = tempW+difX; 
		if(width < minSizeX)width = minSizeX;
 	 	zoomBox.style.width = (width)+'px';
    
  	X = PosX;
		tempW = width;
   
    return true;
 } 

function resizeZoomBox_2(e)
{
	
		e = (e)? e : event;

	 	var PosX = eX(e);
  	
  	var difX = PosX - X;
  
   	if(difX < gridSizeX && (-difX) < gridSizeX) 
 	   	return true;
	 	 	
		var width1 = tempW1+difX; 
		if(width1 < minSizeX ) { width1 = minSizeX; difX = width1 - tempW1; }
		
		var width2 = tempW2-difX;
		if(width2 < minSizeX) { width2 = minSizeX; difX = tempW2 - width2; width1 = tempW1+difX;}
	

 	 	zoomBox1.style.width = (width1)+'px';
    zoomBox2.style.width = (width2)+'px';
    	
  	X = PosX;
		tempW1 = width1;
   	tempW2 = width2;
   
    return true;
 } 

function work_resize_L(e)
{

	e = (e)? e : event;
	var PosX = eX(e);
	var difX = PosX - X;
	if(difX < gridSizeX && (-difX) < gridSizeX) 
 	   	return true;
	
	var width1 = tempW1+difX; 
	if(width1 < minSizeX ) { width1 = minSizeX; difX = width1 - tempW1; }
		
	var width2 = tempW2-difX;
	if(width2 < minSizeX) { width2 = minSizeX; difX = tempW2 - width2; width1 = tempW1+difX;}
	
	Line_1.style.width = (width1)+'px';
  Line_2.style.width = (width2)+'px';
    	
  X = PosX;
	tempW1 = width1;
  tempW2 = width2;
   
	// Меняем ширину колонок и позицию ресайзера

			Col_1.style.width = Line_1.style.width;
			Col_2.style.width = Line_2.style.width;
			
			var index = page.d.L_activ;
			var col1 = Col_1.getAttribute('target');
			var col2 = Col_2.getAttribute('target');
			page.d.L[index].C[col1].w = Col_1.style.width;
			page.d.L[index].C[col2].w = Col_2.style.width;

   return true;
}	

	function resizeHWZoomBox(e)
{
		e = (e)? e : event;

	//stopBubbleStopReturn(e);
	var PosY = eY(e);
  var PosX = eX(e);
  var difX = PosX - X;
  var difY = PosY - Y;
  
  
  if(!(difY < gridSizeY && (-difY) < gridSizeY)) 
 	{  
 		var temp = tempH+difY; 
 		
		if(temp < minSizeY) temp = minSizeY;
 	 	zoomBox.style.height = (temp)+'px';
    
  	Y = PosY;
		tempH = temp;
	}
	if(!(difX < gridSizeX && (-difX) < gridSizeX)) 
 	{   
	 	var temp = tempW+difX; 
	 	
		if(temp < minSizeX) temp = minSizeX;
 	 	zoomBox.style.width = (temp)+'px';
    
  	X = PosX;
		tempW = temp;
	}	
		
  return;
 } 

function work_resize_LM(e)
{
	e = (e)? e : event;
	var PosX = eX(e);
	var difX = PosX - X;
	if(difX < gridSizeX && (-difX) < gridSizeX) 
 	   	return true;
	
	var Wpx_1 = parseInt(Col_1.offsetWidth);
	var Wpx_2 = parseInt(Col_2.offsetWidth);
	
	if(((Wpx_1+difX)< minSizeX) && (difX < 0)){ difX = (Wpx_1-minSizeX) }
	if(((Wpx_2-difX)< minSizeX) &&(difX > 0)){ difX = (Wpx_2-minSizeX) }

	if(difX < gridSizeX && (-difX) < gridSizeX) 
 	   	return true;

	var name_colums = 'L'+page.d.L_activ+'colums';

	var colums = $(name_colums); 
	var W_colums = parseInt(colums.offsetWidth);

	var W_Col_proc = parseInt((difX/W_colums)*100);//изменение размера колонки в %

	var Wproc_1 = parseInt(Col_1.style.width);
	var Wproc_2 = parseInt(Col_2.style.width);

	if(W_Col_proc)
	{
		Col_1.style.width = Wproc_1+W_Col_proc+'%';
		Col_2.style.width = Wproc_2-W_Col_proc+'%';
		
		var Wpx_1_ = parseInt(Col_1.offsetWidth);

		X = PosX+(Wpx_1_-Wpx_1)-difX;;
	}

	var index = page.d.L_activ;
	var col1 = Col_1.getAttribute('target');
	var col2 = Col_2.getAttribute('target');
	page.d.L[index].C[col1].w = parseInt(Col_1.style.width);
	page.d.L[index].C[col2].w = parseInt(Col_2.style.width);

  return true;
}	


function Z_px(Xpx){return parseInt(Xpx);}

function Zpx(Xpx){
	var X_px = Xpx+'px';
	return X_px;
	}

function  initXY(e){

	X = eX(e);
	Y = eY(e);
	stopBubbleStopReturn(e);
	
	document.body.onselectstart=new Function("return false;");
 
	 zoomBox = document.getElementById('zoomBox');
	 
	 tempX = zoomBox.style.left; tempX = Z_px(tempX);
   tempY = zoomBox.style.top; tempY = Z_px(tempY);
   
   //f_new_html_block('test',tempX,1);
   //f_new_html_block('test',":"+tempY,1);
   
   
  mode = 1; 
	addListener(document,"mouseup",disable);
	addListener(document,"mousemove",moveZoomBox);
	
	//f_new_html_block('test1',"initXY() mode="+mode+"<br> ",1);
	
		//document.onmousemove=moveZoomBox(event);
	return false;	
}

function  initY(e,s_index){
	//инициализация изменения высоты блока
	e = (e)? e : event;
	
	document.body.onselectstart=new Function("return false;");
	
	Y = eY(e);
	stopBubbleStopReturn(e);
	zoomBox = $( page.name_block_+s_index);
	
	//alert(zoomBox);
	tempH = zoomBox.offsetHeight; 
	tempH = Z_px(tempH);
	
	mode = 2;
	addListener(document,"mouseup",disable);
	addListener(document,"mousemove",resizeHZoomBox);
	
	return false;
}
function  initX(e){
	
	document.body.onselectstart=new Function("return false;");
	
	X = eX(e);
	stopBubbleStopReturn(e);
	zoomBox = document.getElementById('zoomBox');
	tempW = zoomBox.style.width; tempW = Z_px(tempW);
	
	
	mode = 3;
	addListener(document,"mouseup",disable);
	addListener(document,"mousemove",resizeWZoomBox);
	
	//f_new_html_block('test1',"initX()  mode="+mode+"<br>",1);
	return false;
}

function  initX_2(e,el1,el2){
	
	
	
	document.body.onselectstart=new Function("return false;");
	
	X = eX(e);
	stopBubbleStopReturn(e);
	
	zoomBox1 = $(el1);
	zoomBox2 = $(el2);
	
	tempW1 = zoomBox1.style.width; tempW1 = Z_px(tempW1);
	tempW2 = zoomBox2.style.width; tempW2 = Z_px(tempW2);
	
	mode = 10;
	addListener(document,"mouseup",disable);
	addListener(document,"mousemove",resizeZoomBox_2);
	
	//f_new_html_block('test1',"initX_2()  mode="+mode+"<br>",1);
	return false;
}

function  init_col(e,elem)
{
	var col={};
	
	col.el = $(elem);
	col.width = col.el.offsetWidth;
	
	//f_new_html_block('test',"init_col()  width="+col.width+"<br>",0);
	
  this.percent = parseFloat(tEis.eWidth) / 100;
	
	
	
}	

function  initX_3(e,el1,el2){
	
	//alert('init');
		
	document.body.onselectstart=new Function("return false;");
	
	X = eX(e);
	stopBubbleStopReturn(e);
	
	zoomBox1 = $(el1);
	zoomBox2 = $(el2);
	
	tempW1 = zoomBox1.style.width; tempW1 = Z_px(tempW1);
	tempW2 = zoomBox2.style.width; tempW2 = Z_px(tempW2);
	
	mode = 10;
	addListener(document,"mouseup",disable);
	addListener(document,"mousemove",resizeZoomBox_2);
	
	//f_new_html_block('test1',"initX_2()  mode="+mode+"<br>",1);
	return false;
}

function  init_resize_L(e,l_el1,l_el2,c_el1,c_el2){
	
	document.body.onselectstart=new Function("return false;");
	
	X = eX(e);
	stopBubbleStopReturn(e);
	
	Line_1 = $(l_el1);
	Line_2 = $(l_el2);
	
	Col_1 = $(c_el1);
	Col_2 = $(c_el2);
	
	tempW1 = parseInt(Line_1.style.width);
	tempW2 = parseInt(Line_2.style.width); 
	
	mode = 11;
	
	addListener(document,"mouseup",disable);
	addListener(document,"mousemove",work_resize_L);
	
	return false;
}

function  init_resize_LM(e,c_el1,c_el2){
	//Инициализация изменения ширины колонок если они заданы в %
	document.body.onselectstart=new Function("return false;");
	
	X = eX(e);
	stopBubbleStopReturn(e);
	
	Col_1 = $(c_el1);
	Col_2 = $(c_el2);

	//tempW1 = parseInt(Col_1.style.width);
	//tempW2 = parseInt(Col_2.style.width); 
	
	mode = 12;
	
	addListener(document,"mouseup",disable);
	addListener(document,"mousemove",work_resize_LM);
	
	return false;
}

function  initHW(e){
	
	document.body.onselectstart=new Function("return false;");
	
	X = eX(e);
	Y = eY(e);
	stopBubbleStopReturn(e);
	zoomBox = document.getElementById('zoomBox');
	tempW = zoomBox.style.width; tempW = Z_px(tempW);
	tempH = zoomBox.style.height; tempH = Z_px(tempH);
	
	
	mode = 4;
	addListener(document,"mouseup",disable);
	addListener(document,"mousemove",resizeHWZoomBox);
	
	//f_new_html_block('test1',"initHW()  mode="+mode+"<br>",1);
	return false;
}


function disable(){
	
	if(mode == 1)removeListener(document,"mousemove",moveZoomBox); 
	else if(mode == 2)removeListener(document,"mousemove",resizeHZoomBox);
	else if(mode == 3)removeListener(document,"mousemove",resizeWZoomBox);
	else if(mode == 4)removeListener(document,"mousemove",resizeHWZoomBox);
	else if(mode == 5)removeListener(document,"mousemove",resizeWZoomBox_2);
	else if(mode == 10)
		{
			removeListener(document,"mousemove",resizeZoomBox_2);
			var div1,div2,w2;
			for (var i = 0; i < col_col; i++)
			{
				div1 = $('zoomBox'+i);
				div2 = $('c2_'+i);
					
				w2 = div2.style.width;
							
				div1.style.width = w2;
							
			}
			
		}
	else if(mode == 11)
		{
			removeListener(document,"mousemove",work_resize_L);
			
			Col_1.style.width = Line_1.style.width;
			Col_2.style.width = Line_2.style.width;
			
			var index = page.d.L_activ;
			var col1 = Col_1.getAttribute('target');
			var col2 = Col_2.getAttribute('target');
			page.d.L[index].C[col1].w = Col_1.style.width;
			page.d.L[index].C[col2].w = Col_2.style.width;
			
			fses_save('disable11');
			//page.save_cookies();
		}
else if(mode == 12)
		{
			removeListener(document,"mousemove",work_resize_LM);
			
			//Col_1.style.width = Line_1.style.width;
			//Col_2.style.width = Line_2.style.width;
			
			var index = page.d.L_activ;
			var col1 = Col_1.getAttribute('target');
			var col2 = Col_2.getAttribute('target');
			page.d.L[index].C[col1].w = parseInt(Col_1.style.width);
			page.d.L[index].C[col2].w = parseInt(Col_2.style.width);
			
				fses_save('disable12');
				//page.save_cookies();
		}
	//f_new_html_block('test1',"disable mode="+mode+"<br>",1);
	
	removeListener(document,"mouseup",disable);
	
	document.body.onselectstart=new Function("");
	
	//removeListener(document,event,moveZoomBox);
	//removeListener(document,event,resizeHZoomBox);
  //      document.body.onselectstart=new Function("return true")
	//initialized=false;
	//document.getElementById('resizeObj').detachEvent('onmousemove',resizeMag);
	//resizeInitialized=false;
	return false;
}

function  init_move(e,s_index){
	b_close('view_options');
	
	if(page.d.L[page.d.L_activ].type && page.d.L[page.d.L_activ].type=='search')
	{
	alert('На эту страницу нельзя добавить виджет');
	return true;
	}
	Move = true;
	
	var el1 = 'C_'+page.name_block_+s_index;

	e = (e)? e : event;

	// Активируем режим ожидания
	block[s_index].dragMessage();

	if(!$(el1))return;
	zoomBox = $(el1);
	elem_1 = $(el1);
	elem_1.setAttribute('src', s_index); 

	Move_block = s_index;
	old_mesto_block = block[s_index].d.poz+1;//s_index;
	mode = 20;
	
	//elem_1 - 
	addClassName(elem_1, 'opa red');
	
	//elem_1.style.width = "99%";
	//zoomBox.className = ' opa';

	addListener(document,"mouseup",plavno_move);

	X = eX(e);
	Y = eY(e);
	Xp=X;Yp=Y;
	//f_new_html_block('test',"MOUSE start X:"+X+" Y:"+Y,0);
	
	var bp = findPos(elem_1);
	 maxLeft = elem_1.offsetWidth + bp[0];
   maxTop = elem_1.offsetHeight + bp[1];
   
   
		var A = $('winHeader' + s_index);
		var B = $(page.name_block_ + s_index);
   	Move_html = B.innerHTML;
   	
  	col_move = elem_1.parentNode;
    var d2 = elem_1.cloneNode(true);
    
   // alert(d2);
   
		d2.setAttribute('id', 'move_1');
		d2.className = 'fly';
				
		//d2 = $('move_base').appendChild(d2);
		//alert(1);
		minLeft = bp[0];
    minTop = bp[1];
	
	 	tempX = bp[0];//parseInt(elem_1.style.left);
   	tempY = bp[1];//parseInt(elem_1.style.top);
		
		stopBubbleStopReturn(e);
		document.body.onselectstart=new Function("return false;");
		
		var width = zoomBox.offsetWidth;
//		
		//f_new_html_block('test',"width:"+width+"px",1);
		
		d2.style.width = width+"px";
		
		//addClassName(elem_1, 'fly');
		d2.style.top = tempY+'px';
		d2.style.left = tempX+'px';
		d2 = $('move_base').appendChild(d2);
//	zoomBox.style.width = 'null';
		//zoomBox - копия перетаскиваемого блока, это она перемещается мышкой
		zoomBox = d2;
		
		//
 		// Скрываем содержимое блока		
		elem_1.style.height = parseInt(elem_1.offsetHeight) + 'px';
		B.innerHTML="";
		A.style.display = 'none';
		B.style.display = 'none';
		

		addListener(document,"mousemove",moveZoomBox_2);
	

	//Move_block = -1;
	
	return false;	
}

function disable_move(e)
{
	removeElementById('move_1');

	elem_1.style.top = 'auto';
	elem_1.style.left = 'auto';
	elem_1.style.width = 'auto';
	
	delClassName(elem_1, 'red');
	delClassName(elem_1, 'opa');

	//
	// Скрываем содержимое блока		
	elem_1.style.height = 'auto';//parseInt(elem_1.offsetHeight) + 'px';
	$('winHeader' + elem_1.getAttribute('src')).style.display = 'block';
	
	//if( Move_block==-1 ){ alert('Ошибка 1 '+Move_block); return; }	
	//if( !block[Move_block] ){ alert('Ошибка 2 '+Move_block); }	
	//if( !block[Move_block].d){ alert('Ошибка 3 '+Move_block); }	
	
	var B = $(page.name_block_ + Move_block);
  B.innerHTML =	Move_html;
	
	if(!block[Move_block].d.dis || block[Move_block].d.dis!='none')$(page.name_block_ + elem_1.getAttribute('src')).style.display = 'block';

	// Активируем режим ожидания
	block[Move_block].dragMessage(true);
	
	//Сохраним новое место блока
	
	var list = page.L_activ_move?page.L_activ_move:page.d.L_activ;//Лист на который перемещается объект
	if( block[Move_block].d.list==0 ){
		if($('List_0')){ if( $('List_0').offsetHeight > 55 ){ list=0; } }
	}	

	var new_col = col_move.getAttribute('target');//новая колонка
	var old_col = block[Move_block].d.col;//старая колонка

	//alert("disable_move"+page.L_activ_move+":"+list+":"+block[Move_block].d.list);
	
	if(list != block[Move_block].d.list)
	{// Перемещение на другой лист
			if($('List_0'))removeElementById('List_0');
		
			block[Move_block].d.list = list; 
			page.d.L[list].bl[Move_block] = Move_block;
	}

	if(page.L_activ_move)page.L_activ_move=null;
	
	block[Move_block].d.col = new_col;
	//сохраним место в колонке
	
	var old_poz = block[Move_block].d.poz;//старое место
	
	var new_poz;
	if(elem_2)
	{
		var old_el = elem_2.getAttribute('target'); 
		//new_poz = block[old_el].d.poz;
		
		//блок стоящий перед 'old_el'
		var tmp_poz=0;
		for(var k in page.d.b)
		{
				if(block[k]==null)continue;
				if(block[k].d==null)continue;
				if(block[k].d.list != list) continue;	
				if(block[k].d.col != new_col) continue;	
				if(block[k].d.b_index == Move_block) continue;
				if(block[k].d.poz > block[old_el].d.poz) continue;	
				
				if(block[k].d.poz < block[old_el].d.poz && tmp_poz < block[k].d.poz)
				{
					tmp_poz = block[k].d.poz;
				}
		}	
		
		if(tmp_poz){
			new_poz = ( block[old_el].d.poz - tmp_poz )/2;
		}else{
			new_poz = block[old_el].d.poz-block[old_el].d.poz/10;
		}
				
	}
	else
	{//Найдем самую большую позицию
		
		var tmp_poz=0;
			
		for(var k in page.d.b)
		{
				if(block[k]==null)continue;
				if(block[k].d==null)continue;	
				if(block[k].d.list != list) continue;	
				if(block[k].d.col != new_col) continue;	
				if(block[k].d.b_index == Move_block) continue;
								
				if(tmp_poz < block[k].d.poz)
				{
					tmp_poz = block[k].d.poz;
				}
		}
		
		
		new_poz = tmp_poz?(tmp_poz+st_poz):min_poz_i ;
	} 

	//удалим элемент со старого места
	del_A_(list,old_col,old_poz);
	//добавим на новое место
	plus_A_(list,new_col,Move_block,new_poz);
	
	//alert($('C_'+page.name_block_+Move_block).innerHTML);
	f_send_widget(Move_block);
	
	Move_block = -1;
		
	elem_2 = false;
	
	Move = false;	
	return;
}	

function slideTo(elem,x,y,callback,transTime){
					callback=callback;
					var fps=40;
					transTime=transTime||200;
					
					elem=$(elem); if( !elem )if(callback){ callback(); }
					
					var j=0;
					var startX=elem.offsetLeft;
					var startY=elem.offsetTop;
					var approxSteps=fps*(transTime/1000);
					var delay=transTime/approxSteps;
					var sinInc=(Math.PI/2)/approxSteps;
					var moveX=x-startX;
					var moveY=y-startY;
					function doSlide(){
						if(j<=approxSteps){
							var posX=startX+Math.ceil(Math.sin(j*sinInc)*moveX);
							var posY=startY+Math.ceil(Math.sin(j*sinInc)*moveY);
							elem.style.left=posX+"px";
							elem.style.top=posY+"px";
							j++;setTimeout(doSlide,delay)
						}else
							{
								elem.style.left=x+'px';
								elem.style.top=y+'px';
								if(callback)callback();
								return}
						}
						doSlide()
					};

function plavno_move()
{
	removeListener(document,"mouseup",plavno_move);
	removeListener(document,"mousemove",moveZoomBox_2);
	document.body.onselectstart=new Function("");
	
	if(page.L_Timeout_id){
			clearTimeout(page.L_Timeout_id);
			page.L_Timeout_id=null;
		}	
	if( page.L_activ_move ){
				delClassName( $('tabBtn'+page.L_activ_move), 'red_tab' );	
				//page.L_activ_move=null;
		}	
	
	elem_1.style.top = 'auto';
	elem_1.style.left = 'auto';
	elem_1.style.width = 'auto';
	
	//delClassName(elem_1, 'red');
	delClassName(elem_1, 'opa');
	
	//var bp1 = findPos(elem_1);
	//var m = parseInt(elem_1.style.margin);
	
	//if( page.L_activ_move ){
			disable_move();
	//		return;
	//}		

	//slideTo('move_1',bp1[0],bp1[1],disable_move,100);

}

function plus_col()
{
	if(col_col >= max_col){return;}
	col_col++;
	if(col_col >= min_col){$('col_minus').style.visibility = "visible";}
	if(col_col >= max_col){$('col_plus').style.visibility = "hidden";}
	
  var el = $('col_2');       
  var d = document.createElement("DIV");
 	d = el.appendChild(d);
  d.setAttribute('id', 'c2_'+col_col);
 	d.innerHTML = '<div class="rightResize_2" OnMouseDown="initX_3(event,'+ "'c2_"+(col_col-1)+"','c2_"+col_col+"');"+'"></div>';
  d.className = 'window-div fl';
	init_6_1(col_col,'col_2','c2_',5);


	el = $('col_1');
	var d2 = document.createElement("DIV");
 	d2 = el.appendChild(d2);
  d2.setAttribute('id', 'zoomBox'+col_col);
 	//d2.innerHTML = '<div class="window-div-container border_1"> Окно '+col_col+'</div>';
 	//d2.innerHTML = ' Окно '+col_col+'';
  d2.className = 'window-div fl';
  
  columns[col_col] = $('zoomBox'+col_col);
	init_6_1(col_col,'col_1','zoomBox',99);
			
return;
}

function minus_col()
{
	if(col_col <= min_col){return;}
	
	removeElementById('c2_'+col_col);
	removeElementById('zoomBox'+col_col);
	
	columns[col_col] = 0;
	
	col_col--;	
		
	if(col_col < max_col){$('col_plus').style.visibility = "visible";}
	if(col_col <= min_col){$('col_minus').style.visibility = "hidden";}
	
	init_6_1(col_col,'col_2','c2_',5);
	init_6_1(col_col,'col_1','zoomBox',99);
return;
}

function go_clone(el1,el2,el3)
{
	var d = $(el1);
	var d2 = d.cloneNode(true);
	
	d.setAttribute('id', 'temp');
	
	removeElementById('temp');
	
	var col = $(el2);
	var befor = $(el3); 
	
	col.insertBefore(d2,befor);
	
  return;
}

function jamp(el1,to_el3,befor)
{
	
		if(!el1) { return el1; }
		if(!to_el3){ return el1; }
		
		var d2 = el1.cloneNode(true);
		
		el1.setAttribute('id', 'temp');
			
		removeElementById('temp');
		
		if(befor!=false)
		{	
			//try{
			d2 = to_el3.insertBefore(d2,befor);
			//}catch(e){
			//				f_new_html_block('test1',"<br>to_el3="+to_el3+"befor="+befor+"d2="+d2,1);	
			//				return false;
 			//	} 
		}
		else
		{
			d2 = to_el3.appendChild(d2);
		}	
 
  return d2;
}

function create_bl(w,h,st,per,name)
{	
  var d = document.createElement("DIV");
 	d = per.appendChild(d);
  d.setAttribute('id', 'move_1');
 	d.innerHTML = '';
  d.className = st;
  d.style.height=parseInt(h)+'px';
	d.style.width=parseInt(w)+'px';
	d.style.visibility = "visible";
	
	d.style.top = 'auto';
	d.style.left = 'auto';
	//d.style.width = '100%';
		
	return d;
}

function addListener(elm,event,func)
{

    if(document.attachEvent)
    {
        elm.attachEvent("on"+event, func);
    }
    else
        if(document.addEventListener)
        {
            elm.addEventListener(event, func, true);
        }
        else
        {
            eval(elm+".on"+event+"="+func);
        }
}

function removeListener(elm,event,func)
{
    if(document.detachEvent)
    {
        elm.detachEvent("on"+event, func);
    }
    else
        if(document.removeEventListener)
        {
            elm.removeEventListener(event, func, true);
        }
        else
        {
            eval(elm+".on"+event+"= function(){return false;}");
        }
}

function stopBubbleStopReturn(event)
{
    if (!event) return false;
    if(event.stopPropagation)
    {
        event.stopPropagation();
        event.preventDefault();
    }
    else
        if(event.cancelBubble == false || event.returnValue == true)
        {
            event.cancelBubble = true;
            event.returnValue = false;
        }
}

function go_gluc(el1,el2)
{
	var el_1 = $(el1);
	var el_2 = $(el2);
	
	el_1.style.display = 'none';
	el_2.style.display = 'block';
	
}	

function b_oc(name_block)
{
	var el = $(name_block);
	if (el)
	{
		if(el.style.display == "none")
		{
			el.style.display = "block";
		}
		else
		{
			el.style.display = "none";
		}
	}

		return true;
}

function b_close(name_block)
{
			var el = $(name_block);
			if (el) el.style.display = "none";
	
			return true;
}

function b_open(name_block)
{
		var el = $(name_block);
		if (el) el.style.display = "block";

		return true;
}

function getParent (el, cp, vl) {
		
   if (el == null){return null;} else
   if (el.nodeType == 1 &&
       (('string' == typeof vl && el[cp] == vl) ||
        ('string' == typeof cp && el.tagName.toLowerCase() == cp.toLowerCase()) ||
        el == cp)) return el;
   else return getParent(el.parentNode, cp, vl); 
 }

function closemenu(aEvent, aObj, id) {
		aEvent = (aEvent)? aEvent : event;	
	
   var el = getParent(aEvent.toElement ||
                      aEvent.relatedTarget, aObj);   
   if (el === aObj) return false;
	
	 winButtons_hide(id);
}

function Confirm_(text,f_yes,f_no)
{
	$('Alert_window').innerHTML = tmpl_Confirm(text, f_yes , f_no );
	b_open('Alert_window');		

	return;
}

function Confirm_hide()
{

	b_close('Alert_window');
	
	//$('Alert_window').innerHTML = " ";

	return ;
}	

function Alert_( text , f_close )
{
	$('Alert_window').innerHTML = tmpl_alert_( text , f_close );
	b_open('Alert_window');
			
	return;
}



