///////// скорость слайдинга, чем больше цифра - тем медленнее скорость :)
var speed_of_sliding = 20;	
///////// 
/////////
if (!fakePNG) var fakePNG = null;
if(!on_slide_end) var on_slide_end=null;
if(!fixPNG) var fixPNG = null;
var slidingstepcount = 40;	//// количество шагов
var slidingtime = 4000;		//// миллисекунд движения
var sliding_object = null;
var sliding_action = null;
var sliding_height = null;
var cropped_height = null;	//// version 2.0
var cropped_object = null;	//// version 2.0
var info_object = null;		//// version 2.0
var sliding_step = 10;		//// количество пикселей на один шаг
var timeOut = null;
var sliding_object_height = new Array();
var cropped_object_height = new Array();
var cont = null;
var fixfunc = null;
var slide_queue = new Array();


function o_slide_div(div_id,need_cookie,original_id)
	{
var crop_div_id = div_id + '_crop';
if (sliding_object) 
	{
	slide_queue.push(new Array(div_id,need_cookie,original_id));
	return false;
	}
info_object = document.getElementById(div_id);
sliding_object=document.getElementById(div_id+'_loading');
cropped_object=document.getElementById(crop_div_id);
///////// for supporing old versions
if(!sliding_object) return slide_div(div_id,need_cooking,original_id);
///////// for supporing old versions
if (info_object.style.display == 'none') 
	{
	sliding_action = 'show';
	}else{
	sliding_action = 'hide';
	}
if(need_cookie==1)
	{
if(original_id && original_id != '')
	{
	SetCookie('sub_users_'+original_id,sliding_action);
	}else{
	SetCookie(div_id,sliding_action);
	}
	}
if (sliding_object_height[div_id]>0) 
	{
	sliding_height=sliding_object_height[div_id];
	cropped_height=sliding_object_height[crop_div_id];
	} else 	{
	if (sliding_action=='show') info_object.style.display = 'block';
	sliding_height = info_object.offsetHeight;
	cropped_height = parseInt(cropped_object.offsetHeight);
	sliding_object_height[div_id] = sliding_height;
	sliding_object_height[crop_div_id] = cropped_height;
	if (sliding_action=='show') info_object.style.display = 'none';
	}
sliding_step = 20;
sliding_step = speed_of_sliding;
slidingstepcount = Math.round( (sliding_height-cropped_height) / sliding_step);
if(slidingstepcount>sliding_step) sliding_step=Math.round( (sliding_height-cropped_height) / sliding_step);
slidingstepcount = Math.round( (sliding_height-cropped_height) / sliding_step);
window.onerror=new function() { return false; }
if(fixPNG) { fixfunc = fixPNG; fixPNG = new function() {return false;}; }
////fixPNG = null;
////fixPNG = fakePNG;
window.onerror=new function() { return false; }

if (sliding_action=='hide') 
	{
	info_object.style.display = 'none';
	sliding_object.style.display = 'block';
	sliding_object.style.height  = sliding_height;
	timeOut = window.setInterval("o_slide_hide();",50);
	return false;
	}

if (sliding_action=='show') 
	{
	cropped_object.style.display = 'none';
	sliding_object.style.display = 'block';
	//sliding_object.style.height  = '1';
	sliding_object.style.height  = cropped_height;
	timeOut = window.setInterval("o_slide_show();",50);
	return false;
	}

return false;
	}


function o_slide_end(ix)
	{
if(timeOut) window.clearInterval(timeOut);
if(sliding_action=="hide")
	{
sliding_object.style.display="none";
sliding_object.style.height=cropped_height;
cropped_object.style.display="block";
	}
if (sliding_action=="show")
	{
sliding_object.style.height=sliding_height;
sliding_object.style.display="none"; 
info_object.style.display="block";
	}
info_object=null;
sliding_height=null;
sliding_object=null;
cropped_height=null;
cropped_object=null;
sliding_step=null;
sliding_action=null;
if(fixfunc) fixPNG=fixfunc;
if (on_slide_end) on_slide_end();
if(slide_queue.length>0) 
	{
var slide_parm=slide_queue.pop();
o_slide_div(slide_parm[0],slide_parm[1],slide_parm[2]);
	}
	}




function o_slide_show()
	{
if(sliding_object.clientHeight>(sliding_height-sliding_step)) {window.clearInterval(timeOut); return o_slide_end(3);}
if(sliding_object) sliding_object.style.height=sliding_object.clientHeight + sliding_step; else o_slide_end(4); return 1;
	}

function o_slide_hide()
	{
if(parseInt(sliding_object.style.height) < (cropped_height + sliding_step) ) { window.clearInterval(timeOut);  return o_slide_end(1); }
if(sliding_object) sliding_object.style.height=  parseInt(sliding_object.style.height) - sliding_step;
	else o_slide_end(2);
if(parseInt(sliding_object.style.height) < (cropped_height + sliding_step) ) { window.clearInterval(timeOut);  return o_slide_end(1); }
return 1;
	}



