
frame_swipe=function(main_obj,list_swipe_items,div_masquer)
{
main_obj.last_time_scrolling=0;
main_obj.min_scroll_width_event=10;
main_obj.swipe_direction='';
main_obj.mouse_is_down=false;
main_obj.main_last_context_id='';
/*---------------------------------------------------*/
main_obj.is_cur_context=function(frame_id)
{
return main_obj.main_last_context_id==frame_id;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_list_swipe_items=function()
{
return list_swipe_items;
}

/*---------------------------------------------*/
//ok amine
main_obj.main_get_div=function(frame_id)
{
try{if($doc(frame_id).frame_div)return $doc(frame_id).frame_div;
if($doc(frame_id)!=undefined)
return $doc(frame_id).getElementsByTagName('div')[0];
}catch(err){}
return false;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_div_selectable=function(frame_id)
{

if($doc(frame_id)!=undefined)
{
	if($doc(frame_id).getElementsByTagName('div')[0])
return $doc(frame_id).getElementsByTagName('div')[0];
return $doc(frame_id);
}
return false;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_pos_item=function(frame_id)
{
var list=main_obj.main_get_list_swipe_items();
for(var i=0;i<list.length;i++)
{
if($doc(list[i]).id==frame_id)return i;
}
return -1;
}


/*---------------------------------------------*/
//ok amine
main_obj.main_get_next_opened=function(frame_id)
{
var pos=main_obj.main_get_pos_item(frame_id);
var list=main_obj.main_get_list_swipe_items();
if(!main_obj.main_is_opened(frame_id))return false;
for(var i=pos+1;i<list.length;i++)
{
if(main_obj.main_is_opened(list[i]))return list[i];
}
return '';
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_previous_opened=function(frame_id)
{
var pos=main_obj.main_get_pos_item(frame_id);
var list=main_obj.main_get_list_swipe_items();
if(!main_obj.main_is_opened(frame_id))return false;
for(var i=pos-1;i>0;i--)
{
if(main_obj.main_is_opened(list[i]))return list[i];
}
return '';
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_all_next_width=function(frame_id)
{
var pos=main_obj.main_get_pos_item(frame_id);
var list=main_obj.main_get_list_swipe_items();
if(!main_obj.main_is_opened(frame_id))return false;
var w=0;
for(var i=pos+1;i<list.length;i++)
{
if(main_obj.main_is_opened(list[i]))
w+=get_real_width($doc(list[i]));
}
return w;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_is_closed=function(frame_id)
{
return !main_obj.main_is_opened(frame_id);
}
/*---------------------------------------------*/
//ok amine
main_obj.main_is_visible=function(frame_id)
{
//if(main_obj.main_is_partial_visible(frame_id))return false;
var td=$doc(frame_id);
var left=get_relative_left(td,main_obj);
var w=get_real_width(main_obj);
if(left>=w)return false;
if((left+get_real_width(td))<=0)return false;
return true;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_is_partial_visible=function(frame_id)
{
var td=$doc(frame_id);
var ww=get_real_width(main_obj);
var left=get_relative_left(td,main_obj);

if((eval(left+get_real_width(td))>ww)&&(left>=(ww-main_obj.min_scroll_width_event)))
{
return false;
}

if((eval(left+get_real_width(td))>ww)&&(left<=(ww-main_obj.min_scroll_width_event)))return true;

if((eval(left+get_real_width(td))>0)&&(eval(left+get_real_width(td))<=main_obj.min_scroll_width_event))
{
return false;
}

if((left<0)&&(eval(left+get_real_width(td))>1))return true;
return false;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_check_partial_visible=function(frame_id)
{
var td=$doc(frame_id);
var ww=get_real_width(main_obj);
var left=get_relative_left(td,main_obj);
if((eval(left+get_real_width(td))>ww)&&(left>(ww-1)))
{
main_obj.set_scroll_left(main_obj.scrollLeft+eval(ww-left));
return false;
}
}
/*---------------------------------------------*/
//ok amine
main_obj.main_open=function(frame_id)
{
try{
var div=main_obj.main_get_div(frame_id);
div.style.position='relative';
if(get_padding_width($doc(frame_id))==0)
$doc(frame_id).style.position='relative';
$doc(frame_id).style.width='0px';
set_visible(div);
$doc(frame_id).is_opened=true;
if((div.last_width==undefined)
//||(main_obj.main_is_opened(frame_id))
)
div.last_width=div.style.width;
if(div.last_width!=undefined){


}
}catch(err){set_info(err);}
}
/*---------------------------------------------*/
//ok amine
main_obj.main_is_opened=function(frame_id)
{
try{
if($doc(frame_id).tagName.toLowerCase()=='div')
{
return $doc(frame_id).style.visibility!='hidden';
}
}catch(err){}	
	
	
try{
return ($doc(frame_id).is_opened==true);
}catch(err){
	
}

return false;
/*
try{
return ($doc(frame_id).is_opened==true);
}catch(err){}
return false;
*/
}
/*---------------------------------------------*/
//ok amine
main_obj.main_close=function(frame_id,save_status)
{
//if(frame_id==undefined)return;
try{
if(save_status==true)
$doc(frame_id).was_opened=main_obj.main_is_opened(frame_id);
else
$doc(frame_id).was_opened=false;	
$doc(frame_id).is_opened=false;
var div=main_obj.main_get_div(frame_id);
if(div)
{
if((div.last_width==undefined)
//||(main_obj.main_is_opened(frame_id))
)
div.last_width=div.style.width;
set_hidden(div);
div.style.position='absolute';
if(get_padding_width($doc(frame_id))==0)$doc(frame_id).style.position='fixed';
$doc(frame_id).style.width='0px';


}
}catch(err){set_info(err);}
}
/*---------------------------------------------*/
//ok amine
main_obj.main_close_all=function(start_from,save_status)
{

if(start_from==undefined)start_from=0;
var list=main_obj.main_get_list_swipe_items();
for(var i=start_from;i<list.length;i++)
{
		try{


main_obj.main_close(list[i],save_status);

	}catch(err){set_info(err);}
}
		try{
main_obj.main_scroll_reset();
}catch(err){set_info(err);}
}
/*---------------------------------------------*/
//ok amine
main_obj.main_exist_visible=function(start_from)
{

if(start_from==undefined)start_from=0;
var list=main_obj.main_get_list_swipe_items();
for(var i=start_from;i<list.length;i++)
{
try{
if((main_obj.main_is_opened(list[i]))&&(main_obj.main_is_visible(list[i]))){return true;}
}catch(err){set_info(err);}
}
return false;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_all_closed=function(start_from)
{

if(start_from==undefined)start_from=0;
var list=main_obj.main_get_list_swipe_items();
for(var i=start_from;i<list.length;i++)
{
try{
if(main_obj.main_is_opened(list[i])==true){return false;}
}catch(err){set_info(err);}
}


return !main_obj.main_is_opened('frame_item_menu');
}
/*---------------------------------------------*/
//ok amine
main_obj.main_open_last=function(start_from)
{

if(start_from==undefined)start_from=0;
var list=main_obj.main_get_list_swipe_items();
var was_op=false;
for(var i=start_from;i<list.length;i++)
{
		try{

if($doc(list[i]).was_opened)
{
main_obj.main_open(list[i]);
was_op=true;
}

	}catch(err){set_info(err);}
}
		try{
main_obj.main_scroll_reset();
}catch(err){set_info(err);}
return was_op;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_is_first_opened=function(frame_id)
{
return (main_obj.main_get_previous_opened(frame_id)=='');
}
/*---------------------------------------------*/
//ok amine
main_obj.main_is_last_opened=function(frame_id)
{
return (main_obj.main_get_next_opened(frame_id)=='');
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_width_all_next_opened=function(frame_id)
{
var list=main_obj.main_get_list_swipe_items();
var pos=main_obj.main_get_pos_item(frame_id);
var w=0;
if(!main_obj.main_is_opened(frame_id))return w;
for(var i=pos+1;i<list.length;i++)
{
if(main_obj.main_is_opened(list[i]))w+=get_real_width($doc(list[i]));
}
return w;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_width_all_before_opened=function(frame_id)
{
var list=main_obj.main_get_list_swipe_items();
var pos=main_obj.main_get_pos_item(frame_id);
var w=0;
if(!main_obj.main_is_opened(frame_id))return w;
for(var i=pos-1;i>=0;i--)
{
if(main_obj.main_is_opened($doc(list[i]).id))w+=get_real_width($doc(list[i]));
}
return w;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_cur_opened=function()
{
return main_obj.main_last_context_id;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_is_cur_opened=function(frame_id)
{
return frame_id==main_obj.main_get_cur_opened();
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_last_opened=function()
{
var list=main_obj.main_get_list_swipe_items();
for(var i=list.length-1;i>=0;i--)
{
if(main_obj.main_is_opened(list[i]))return list[i];
}
return '';
}
/*---------------------------------------------*/
main_obj.main_get_first_opened=function()
{
var list=main_obj.main_get_list_swipe_items();
for(var i=0;i<list.length;i++)
{
if(main_obj.main_is_opened($doc(list[i]).id))return list[i];
}
return '';
}
/*---------------------------------------------*/
main_obj.main_get_second_opened=function()
{
var list=main_obj.main_get_list_swipe_items();
var n=0;
for(var i=0;i<list.length;i++)
{
if(main_obj.main_is_opened($doc(list[i]).id)){n++;if(n==2)return list[i];}
}
return main_obj.main_get_first_opened();
}
/*---------------------------------------------*/
main_obj.main_get_first_position_opened=function()
{
var list=main_obj.main_get_list_swipe_items();
for(var i=0;i<list.length;i++)
{
if(main_obj.main_is_opened($doc(list[i]).id)&&(Math.abs(get_relative_left($doc(list[i]),main_obj))<2))return list[i];
}
return '';
}
/*---------------------------------------------*/
main_obj.main_get_first_visible=function()
{
var list=main_obj.main_get_list_swipe_items();
for(var i=0;i<list.length;i++)
{
if(main_obj.main_is_visible(list[i])||main_obj.main_is_partial_visible(list[i]))
if(main_obj.main_is_opened(list[i]))return list[i];
}
return '';
}
/*---------------------------------------------*/
main_obj.main_get_second_visible=function()
{
var list=main_obj.main_get_list_swipe_items();
for(var i=0;i<list.length-1;i++)
{
if(main_obj.main_is_visible(list[i])&&(main_obj.main_is_visible(list[i+1])||main_obj.main_is_partial_visible(list[i+1])))
if(main_obj.main_is_opened(list[i+1]))return list[i+1];
}
return '';
}

/*---------------------------------------------*/
main_obj.adjust_deborder_left=function(frame_id)
{

try{
//var prev=main_obj.main_get_previous_opened(frame_id);
var next=main_obj.main_get_next_opened(frame_id);

var deborder_left=main_obj.get_deborder_left(frame_id);
if((deborder_left>1))
{

if((get_real_width($doc(frame_id))-deborder_left)>main_obj.get_min_width_frame_item(frame_id))
{
main_obj.set_width_object_frame(frame_id,get_real_width($doc(frame_id))-deborder_left);
main_obj.main_scroll_item_to_first(frame_id);
}
else
if(next&&main_obj.is_cur_context(next))
main_obj.main_scroll_item_to_first(next);
else main_obj.main_scroll_item_to_first(frame_id);	
}

}catch(err){}
}
/*---------------------------------------------*/
main_obj.adjust_deborder_right=function(frame_id)
{

try{
var deborder_right=main_obj.get_deborder_right(frame_id);
if(deborder_right==0)
return;

//set_info(frame_id+deborder_right);
	/*
if(!main_obj.is_cur_context(frame_id))
{

var previous=main_obj.main_get_previous_opened(frame_id);

return main_obj.set_width_object_frame(previous,get_real_width($doc(previous))+(get_real_width($doc(frame_id))-deborder_right));

}
*/

//check if possible to minimise previous context
if($doc(frame_id).full_width)
{
var previous=main_obj.main_get_previous_opened(frame_id);
while(previous)
{
if(($doc(previous).auto_width)&&main_obj.main_is_visible(previous))
if((get_real_width($doc(previous))+(get_real_width($doc(frame_id))-deborder_right))<=get_real_width(main_obj))
return main_obj.set_width_object_frame(previous,get_real_width($doc(previous))+(get_real_width($doc(frame_id))-deborder_right));
previous=main_obj.main_get_previous_opened(previous);
}
}
//////////////////////	
//correct little deborder
if((get_real_width($doc(frame_id))-deborder_right)<=1)
{
var previous=main_obj.main_get_previous_opened(frame_id);
main_obj.set_width_object_frame(previous,get_real_width($doc(previous))+(get_real_width($doc(frame_id))-deborder_right));
return;
}
//////////////////////	
//minimise deborder if less then min width required
if((get_real_width($doc(frame_id))-deborder_right)>=main_obj.get_min_width_frame_item(frame_id))
return main_obj.set_width_object_frame(frame_id,get_real_width($doc(frame_id))-deborder_right);
//////////////////////	
//check if possible to minimise from previous context
var previous=main_obj.main_get_previous_opened(frame_id);
while(previous)
{
if((get_real_width($doc(previous))-deborder_right)>=main_obj.get_min_width_frame_item(previous))
return main_obj.set_width_object_frame(previous,get_real_width($doc(previous))-deborder_right);
previous=main_obj.main_get_previous_opened(previous);
}
//////////////////////	
//check if possible to minimise from all previous context
var possible_minus=0;
var previous=main_obj.main_get_previous_opened(frame_id);
while(previous)
{
if($doc(previous).min_width!=undefined){
if((get_real_width($doc(previous))-$doc(previous).min_width)>0)
possible_minus+=get_real_width($doc(previous))-$doc(previous).min_width;
}
previous=main_obj.main_get_previous_opened(previous);
}
if(possible_minus>=deborder_right)
{
possible_minus=0;
previous=main_obj.main_get_previous_opened(frame_id);
while(previous&&(possible_minus<deborder_right))
{
if($doc(previous).min_width!=undefined){
if((get_real_width($doc(previous))-$doc(previous).min_width)>0)
{
var m=Math.min(deborder_right-possible_minus,get_real_width($doc(previous))-$doc(previous).min_width);
possible_minus+=m;
main_obj.set_width_object_frame(previous,get_real_width($doc(previous))-m);
}
}
previous=main_obj.main_get_previous_opened(previous);
}
return;
}
//////////////////////	
//if previous is auto width , minimise previous
var previous=main_obj.main_get_previous_opened(frame_id);
while(previous)
{
if(($doc(previous).auto_width)&&main_obj.main_is_visible(previous))
if((get_real_width($doc(previous))+(get_real_width($doc(frame_id))-deborder_right))<=get_real_width(main_obj))
return main_obj.set_width_object_frame(previous,get_real_width($doc(previous))-deborder_right);
previous=main_obj.main_get_previous_opened(previous);
}
//////////////////////	
if($doc(frame_id).auto_width)
{
if(main_obj.is_cur_context(frame_id))
main_obj.main_scroll_item_to_first(frame_id);	
/*
var first_visible=main_obj.main_get_first_visible();
var second_visible=main_obj.main_get_second_visible();
if(first_visible!=frame_id)
{
extended_width=get_real_width($doc(first_visible))-main_obj.get_deborder_left(first_visible);
main_obj.set_width_object_frame(frame_id,Math.min(get_real_width(main_obj),get_real_width($doc(frame_id))+main_obj.get_deborder_right(frame_id)+extended_width));
if(second_visible&&((get_real_width($doc(frame_id))-deborder_right)>5))
main_obj.main_scroll_item_to_first(second_visible);
deborder_right=main_obj.get_deborder_right(frame_id);
if(deborder_right>0)
{
if((get_real_width($doc(frame_id))-deborder_right)>=main_obj.get_min_width_frame_item(frame_id))
return main_obj.set_width_object_frame(frame_id,get_real_width($doc(frame_id))-deborder_right);
}
}
*/
}
//////////////////////	
}catch(err){}
}
/*---------------------------------------------*/
main_obj.set_width_object_frame=function(frame_id,w)
{
var td=$doc(frame_id);
var div=main_obj.main_get_div(frame_id);

if(div)set_width_object(div,w);
//set_width_object(td,w);
}
/*---------------------------------------------*/
//ok amine
main_obj.main_width_to_next=function(frame_id)
{
try{

var empty=main_obj.main_get_width_empty();
if(empty>0)
{

main_obj.set_width_object_frame(frame_id,get_real_width($doc(frame_id))+empty);
}

}catch(err){}
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_width_empty=function()
{
var ww=get_real_width(main_obj);
var pos_last=main_obj.main_get_last_opened();
if(pos_last=='')return ww;
var td=$doc(pos_last);
if((get_relative_left(td,main_obj)+get_real_width(td))>=ww)return 0;
if((get_relative_left(td,main_obj)+get_real_width(td))<0)return 0;
return Math.max(0,ww-(get_relative_left(td,main_obj)+get_real_width(td)));
}
/*---------------------------------------------*/
//ok amine
main_obj.main_get_width_before=function(frame_id)
{
var list=main_obj.main_get_list_swipe_items();
if(!main_obj.main_is_opened(frame_id))return 0;
var ww=get_real_width(main_obj);
return Math.min(ww,Math.max(0,get_real_left($doc(frame_id))-get_real_left(main_obj)));
}
/*---------------------------------------------*/
main_obj.main_make_visibile=function(list_visible_item)
{
}

/*---------------------------------------------*/
main_obj.get_min_width_frame_item=function(frame_id)
{
var ww=get_real_width(main_obj);
if($doc(frame_id).full_width)return ww;
var min_width=ww;
if(ww<=900){min_width=Math.floor(ww/2);}
if(ww>900){min_width=Math.floor(ww/3);}
var div=main_obj.main_get_div(frame_id);

if(div.min_width!=undefined)
{
	if(typeof(div.min_width)=='function')min_width=Math.max(div.min_width(),min_width);
	else min_width=Math.max(div.min_width,min_width);
}
if($doc(frame_id).min_width!=undefined)
{
	if(typeof($doc(frame_id).min_width)=='function')min_width=Math.max($doc(frame_id).min_width(),min_width);
	else min_width=Math.max($doc(frame_id).min_width,min_width);
}
if($doc(frame_id).max_width)
return Math.min(ww,$doc(frame_id).max_width,min_width);
return Math.min(ww,min_width);
}
/*---------------------------------------------*/
main_obj.get_max_width_frame_item=function(frame_id)
{
var ww=get_real_width(main_obj);
var max_width=0;
var div=main_obj.main_get_div(frame_id);

if(div.max_width!=undefined)
{
	if(typeof(div.max_width)=='function')max_width=Math.max(div.max_width(),max_width);
	else max_width=Math.max(div.max_width,max_width);
}
if($doc(frame_id).max_width!=undefined)
{
	if(typeof($doc(frame_id).max_width)=='function')max_width=Math.max($doc(frame_id).max_width(),max_width);
	else max_width=Math.max($doc(frame_id).max_width,max_width);
}
return max_width;
}
/*---------------------------------------------*/
main_obj.get_deborder_right=function(frame_id)
{
var td=$doc(frame_id);
var left=get_relative_left(td,main_obj);
var right=get_relative_right(td,main_obj);
if(right<=(get_real_width(main_obj)))return 0;
if(left>=(get_real_width(main_obj)))return 0;
return Math.abs(right-get_real_width(main_obj));
}
/*---------------------------------------------*/
main_obj.get_deborder_left=function(frame_id)
{
var td=$doc(frame_id);
var left=get_relative_left(td,main_obj);
var right=get_relative_right(td,main_obj);
if(left>0)return 0;
if(right<=0)return 0;
if(Math.abs(get_real_width($doc(frame_id))-Math.abs(left))>1)
return Math.abs(left);
return 0;
}
/*---------------------------------------------*/
main_obj.main_update_sizes=function(force)
{
if(frame_contents.pause_update_size)return;
frame_contents.main_adapt_size('frame_home',force);
frame_contents.main_adapt_size('frame_login',force);
frame_contents.main_adapt_size('frame_categories_live',force);
frame_contents.main_adapt_size('frame_playlist_live',force,true);
frame_contents.main_adapt_size('frame_category_movies',force);
frame_contents.main_adapt_size('frame_playlist_movies',force,true);
frame_contents.main_adapt_size('frame_movies_info',force);
frame_contents.main_adapt_size('frame_categories_series',force);
frame_contents.main_adapt_size('frame_playlist_series',force,true);
frame_contents.main_adapt_size('frame_series_info',force);
frame_contents.main_adapt_size('frame_series_episodes',force);

}
/*---------------------------------------------*/
//ok amine
main_obj.main_adapt_size=function(frame_id,force,width_to_rest)
{

////////////////////////
if(force==undefined)force=false;
if(!force)if(main_obj.is_dragging==true)return;
////////////////////////
if(!main_obj.main_is_opened(frame_id))return;
////////////////////////
if(width_to_rest==undefined)width_to_rest=false;
////////////////////////
var list=main_obj.main_get_list_swipe_items();
var td=$doc(frame_id);
var div=main_obj.main_get_div(frame_id);
if(!div)return;
////////////////////////
//if(!main_obj.main_is_opened(frame_id))return;
////////////////////////
var ww=get_real_width(main_obj);
////////////////////////
var min_width=main_obj.get_min_width_frame_item(frame_id);
////////////////////////
if(
(!main_obj.main_is_partial_visible(frame_id))
&&(get_real_width(td)>=min_width)
)return;
////////////////////////
var max_width=main_obj.get_max_width_frame_item(frame_id);
if(max_width>0)
if(min_width>=max_width){min_width=max_width;}	
////////////////////////
//if(main_obj.max_height)set_height_object(div,main_obj.max_height);
////////////////////////
if(td.full_width)
{
ww=get_real_width(main_obj);
min_width=ww;
main_obj.set_width_object_frame(frame_id,ww);
if(main_obj.main_is_partial_visible(frame_id))
{
main_obj.adjust_deborder_right(frame_id);
main_obj.adjust_deborder_left(frame_id);
}
return;
}
////////////////////////
if((ww<=500))
{
main_obj.set_width_object_frame(frame_id,ww);
if(main_obj.main_is_partial_visible(frame_id))
{
main_obj.main_scroll_item(frame_id);
}
return;
}
////////////////////////
main_obj.adjust_deborder_right(frame_id);
main_obj.adjust_deborder_left(frame_id);
////////////////////////
main_obj.set_width_object_frame(frame_id,min_width);
////////////////////////
if(width_to_rest==true)
{
if(get_real_width($doc(frame_id))<min_width)
{
main_obj.set_width_object_frame(frame_id,min_width);
}
main_obj.main_width_to_next(frame_id);
return;
}
////////////////////////
return;
}
/*---------------------------------------------*/
//ok amine
main_obj.main_scroll_reset=function()
{
try{main_obj.scroll(0,0);}catch(err){
	main_obj.style.scrollLeft='0px';
	main_obj.style.scrollTop='0px';
	//main_obj.scrollTo(0,0);
	
}
}
/*---------------------------------------------*/
main_obj.set_scroll_left=function(l)
{
main_obj.scrollLeft=Math.floor(l);
}
/*---------------------------------------------*/
//ok amine

main_obj.main_scroll_item=function(frame_id)
{
//if(main_obj.is_dragging==true)return;
if(!main_obj.main_is_opened(frame_id))return;

var ww=get_real_width(main_obj);
if(ww<500)
{
var td=$doc(frame_id);
var left=get_relative_left(td,main_obj);
main_obj.set_scroll_left(main_obj.scrollLeft+left);
return;
}

//set_info(frame_id+get_relative_left($doc(frame_id),main_obj)+':'+get_real_width(main_obj));
if(main_obj.main_is_visible(frame_id))return;

var deborder_right=main_obj.get_deborder_right(frame_id);
var deborder_left=main_obj.get_deborder_left(frame_id);
if(get_relative_left($doc(frame_id),main_obj)>0)
{
if(deborder_right>0)
main_obj.set_scroll_left(main_obj.scrollLeft+deborder_right);

else
{
main_obj.set_scroll_left(main_obj.scrollLeft+(get_relative_left($doc(frame_id),main_obj)-ww)+get_real_width($doc(frame_id)));

}
}
else
{
if(deborder_left>0)
main_obj.set_scroll_left(main_obj.scrollLeft-deborder_left);

else
main_obj.set_scroll_left(main_obj.scrollLeft+get_relative_left($doc(frame_id),main_obj));

}
var list=main_obj.main_get_list_swipe_items();
var l=0;
for(var i=0;i<list.length;i++)
{
l=get_relative_left($doc(list[i]),main_obj);	
if((l>0)&&(l<10))
{
main_obj.set_scroll_left(main_obj.scrollLeft+l);
return;
}
}
}
/*---------------------------------------------*/
//ok amine
main_obj.main_scroll_item_to_first=function(frame_id)
{
var td=$doc(frame_id);
var left=get_relative_left(td,main_obj);

main_obj.set_scroll_left(main_obj.scrollLeft+left);
var list=main_obj.main_get_list_swipe_items();
var l=0;
for(var i=0;i<list.length;i++)
{
l=get_relative_left($doc(list[i]),main_obj);	
if((l>0)&&(l<10))
{
main_obj.set_scroll_left(main_obj.scrollLeft+l);
return;
}
}
}
/*---------------------------------------------*/
//ok amine
main_obj.main_update_scroll=function(ele,direction)
{

if(direction==undefined)return;
var l=0;
var list=main_obj.main_get_list_swipe_items();
//set_info(direction,true);
///////////////////
if(direction=='left')
{
//set_info(get_relative_left($doc('frame_categories_live'),main_obj),true);
for(var i=0;i<list.length;i++)
{
l=get_relative_left($doc(list[i]),main_obj);
if((l<0)&&((l+get_real_width($doc(list[i])))>0)
)
{

if(((l+main_obj.min_scroll_width_event)<20)&&(i<(list.length-1)))
{
main_obj.main_scroll_item_to_first(list[i+1],direction,true);
return;
}
main_obj.main_scroll_item_to_first(list[i],direction);
return;
}
}
return;
}
///////////////////

if(direction=='right')
for(var i=0;i<list.length;i++)
{
l=get_relative_left($doc(list[i]),main_obj);

if((l<0)&&((l+get_real_width($doc(list[i])))>0))
{
if(((l+get_real_width($doc(list[i]))-main_obj.min_scroll_width_event)<20)&&(i<(list.length-1)))
{
main_obj.main_scroll_item_to_first(list[i+1],direction);
return;
}
main_obj.main_scroll_item_to_first(list[i],direction);
return;
}
}
///////////////////
}
/*---------------------------------------------*/
main_obj.main_set_drag_scroll=function(ele,action_end){
ele.is_dragging=false;
ele.is_start_dragging=false;
if(ele==undefined)
ele = document.body;
ele.style.cursor = 'grab';
ele.drage_pos = { top: 0, left: 0, x: 0, y: 0 };
const mouseDownHandler = function (e) {
ele.is_dragging=true;
ele.style.cursor = 'grabbing';
ele.style.userSelect = 'none';
ele.first_scroll_left=ele.scrollLeft;
ele.last_scroll_left=ele.scrollLeft;
ele.first_scroll_top=ele.scrollTop;
ele.drage_pos = {
left: ele.scrollLeft,
top: ele.scrollTop,
// Get the current mouse position
x: e.clientX,
y: e.clientY,
};
document.addEventListener('mousemove', mouseMoveHandler);
document.addEventListener('mouseup', mouseUpHandler);
};
const mouseMoveHandler = function (e) {
// How far the mouse has been moved
const dx = e.clientX - ele.drage_pos.x;
const dy = e.clientY - ele.drage_pos.y;
// Scroll the element
//ele.scrollTop = ele.drage_pos.top - dy;
ele.scrollLeft = ele.drage_pos.left - dx;
ele.last_scroll_left=ele.scrollLeft;
};
const mouseUpHandler = function () {
ele.style.cursor = 'grab';
ele.style.removeProperty('user-select');


//set_info(Math.abs(ele.first_scroll_left-ele.last_scroll_left)+((ele.first_scroll_left<ele.last_scroll_left)?'left':'right'),true);
if(Math.abs(ele.first_scroll_left-ele.last_scroll_left)>10)
try{if(action_end!=undefined)action_end(ele,(ele.first_scroll_left<ele.last_scroll_left)?'left':'right');}catch(err){}
if(Math.abs(ele.first_scroll_left-ele.last_scroll_left)>10)
setTimeout(function(){ele.is_dragging=false;ele.is_start_dragging=false;},100);
else ele.is_dragging=false;

document.removeEventListener('mousemove', mouseMoveHandler);
document.removeEventListener('mouseup', mouseUpHandler);


};
// Attach the handler
ele.addEventListener('mousedown', mouseDownHandler);
}

/*---------------------------------------------*/
set_visible_timer=function(obj,timer)
{
try{clearTimeout(obj.timer_visible);}catch(err){}
set_visible(obj);
obj.timer_visible=setTimeout(function(){set_hidden(obj);},timer);
}
/*---------------------------------------------*/
main_obj.main_swipe_event=function()
{
//////////////
if(mobile_mode==false)
main_obj.main_set_drag_scroll(main_obj,function(elem,direction){main_obj.main_update_scroll(elem,direction);});
//////////////
set_scroll_action(main_obj,function(){

if(mobile_mode==true)return;
set_visible_timer(div_masquer,200);
});

//////////////
set_click_action(document,function(){
setTimeout(function(){
main_obj.mouse_is_down=false;
set_hidden(div_masquer);
},50);
});
//////////////
set_mouse_up_action(document,function(){
document_last_touch=Math.floor((new Date().getTime())/1000);
setTimeout(function(){
main_obj.is_dragging=false;
main_obj.mouse_is_down=false;
set_hidden(div_masquer);
},100);
});
//////////////
/*
set_mouse_down_action(document,function(){
document_last_touch=Math.floor((new Date().getTime())/1000);
main_obj.mouse_is_down=true;
});
*/
//////////////
touch_start_x=0;

swipe_startX=0;
swipe_endX=0;

swipe_startY=0;
swipe_endY=0;



document_last_touch=0;
document.addEventListener('touchstart', function(e){
main_obj.style.overflowX='hidden';
//main_obj.style.overflowX='auto';
document_last_touch=Math.floor((new Date().getTime())/1000);
swipe_startX=0;
swipe_endX=0;
swipe_startY=0;
swipe_endY=0;
var touchobj = e.changedTouches[0];
if((main_obj.is_dragging==true)||(main_obj.is_start_dragging==true))return;
swipe_startX=touchobj.pageX;
swipe_endX=touchobj.pageX;
swipe_startY=touchobj.pageY;
swipe_endY=touchobj.pageY;
touch_start_x=main_obj.scrollLeft;
}, false);



document.addEventListener('touchmove', function(e){
document_last_touch=Math.floor((new Date().getTime())/1000);
main_obj.is_start_dragging=true;
if(Math.abs(swipe_endX-swipe_startX)>=main_obj.min_scroll_width_event)
if(Math.abs(swipe_endX-swipe_startX)>=main_obj.min_scroll_width_event)
main_obj.is_dragging=true;
var touchobj = e.changedTouches[0];
if((Math.abs(swipe_endX-swipe_startX)>Math.abs(swipe_endY-swipe_startY)))
{

set_visible_timer(div_masquer,200);
main_obj.scrollLeft+=eval(swipe_endX-touchobj.pageX);


}
swipe_endX=touchobj.pageX;
swipe_endY=touchobj.pageY;
}, false);

document.addEventListener('touchend', function(e){
document_last_touch=Math.floor((new Date().getTime())/1000);
main_obj.style.overflowX='hidden';
var end_x=main_obj.scrollLeft;
setTimeout(function(){

main_obj.set_scroll_left(end_x,false);
main_obj.swipe_direction='';
if(Math.abs(swipe_endX-swipe_startX)>=main_obj.min_scroll_width_event)
{
if((swipe_endX-swipe_startX)<-80)
{
main_obj.swipe_direction='left';
main_obj.main_update_scroll(main_obj,main_obj.swipe_direction);

}
else if((swipe_endX-swipe_startX)>80)
{
main_obj.swipe_direction='right';
main_obj.main_update_scroll(main_obj,main_obj.swipe_direction);

}

//set_info(main_obj.swipe_direction,true);

}
try{clearTimeout(timeout_end_dragging);}catch(err){}
timeout_end_dragging=setTimeout(function(){
main_obj.is_dragging=false;
main_obj.is_start_dragging=false;
main_obj.mouse_is_down=false;
touch_start_x=0;
},100);
},10);
 }, false);
//////////////
};
/*---------------------------------------------*/
main_obj.is_start_dragging=false;
main_obj.is_dragging=false;
main_obj.main_swipe_event();
main_obj.main_swipe_event();
return main_obj;
}