function widget_splitter_setValues(obj,proxy)
	{
	if(!obj.inited)
		{
		obj.OFwidth=proxy.vertical?'offsetWidth':'offsetHeight';
		obj.STwidth=proxy.vertical?'width':'height';
		obj.STleft=proxy.vertical?'left':'top';
		obj.STright=proxy.vertical?'right':'bottom';
	
		obj.levy=new Object();
		for(var x in proxy.levy )
			{
			var y=document.getElementById(x);
			if(y)
				{
				obj.levy[x]=y;
				if(window.opera != null)
					{
					s=window.getComputedStyle(y,null);
					y.style[obj.STwidth]=parseInt(s.getPropertyValue("width")) -
							     parseInt(s.getPropertyValue("border-"+obj.STleft+"-width"))-
							     parseInt(s.getPropertyValue("padding-"+obj.STleft))-
							     parseInt(s.getPropertyValue("border-"+obj.STright+"-width"))-
							     parseInt(s.getPropertyValue("padding-"+obj.STright));
					}
				else if(window.getComputedStyle)
					y.style[obj.STwidth]=window.getComputedStyle(y,null)[obj.STwidth];
				else if(y.currentStyle)
					y.style[obj.STwidth]=y.currentStyle[obj.STwidth];
				}
			}
		obj.pravy=new Object();
		for(var x in proxy.pravy )
			{
			var y=document.getElementById(x);
			if(y)
				{
				obj.pravy[x]=y;
				if(window.getComputedStyle)
					y.style[obj.STleft]=window.getComputedStyle(y,null)[obj.STleft];
				else if(y.currentStyle)
					y.style[obj.STleft]=y.currentStyle[obj.STleft];			
				y.style.width='auto';
				}
			}
		if(window.getComputedStyle)
			obj.style[obj.STleft]=window.getComputedStyle(obj,null)[obj.STleft];
		else if(obj.currentStyle)
			obj.style[obj.STleft]=obj.currentStyle[obj.STleft];
		obj.inited=1;
		}
	}

function widget_splitter_down(obj,e){
	var proxy=TWidget.proxies.get(obj.id);	
	document.ActiveSplitter=obj;
	obj.proxy=proxy;
	var curevent=(typeof event=='undefined'?e:event)
	if(proxy.vertical)
		obj.curPos=curevent.clientX;
	else
		obj.curPos=curevent.clientY;
	Events.add(window,"mousemove",widget_splitter_move);
	Events.add(window,"mouseup",widget_splitter_up);
	proxy.divElement=document.createElement("div");
	proxy.divElement.style.position='absolute';
	proxy.divElement.style.left=0;
	proxy.divElement.style.top=0;
	proxy.divElement.style.width=window.innerWidth+"px";
	proxy.divElement.style.height=window.innerHeight+"px";
	proxy.divElement.style.zIndex=255;
	proxy.divElement.style.background="transparent";
	document.getElementsByTagName("body")[0].appendChild(proxy.divElement);
	widget_splitter_setValues(obj,proxy);
}


function widget_splitter_moveBy(obj, proxy, rozdil)
{
    var oprava=0;
	if(rozdil<0)
     for(var x in obj.levy)
		{
		if(obj.levy[x][obj.OFwidth]+rozdil<proxy.left_min)
			{
			var nrozdil=proxy.left_min-obj.levy[x][obj.OFwidth];
			oprava+=rozdil-nrozdil;
			rozdil=nrozdil;
			}
		}
	else
  	  for(var x in obj.pravy)
		{
		if(obj.pravy[x][obj.OFwidth]-rozdil<proxy.right_min)
			{
			var nrozdil=obj.pravy[x][obj.OFwidth]-proxy.right_min;
			oprava+=rozdil-nrozdil;
			rozdil=nrozdil;
			}
		}
	obj.curPos=obj.curPos+rozdil;
	for(var x in obj.levy)
		{
		obj.levy[x].style[obj.STwidth]=
			(parseInt(obj.levy[x].style[obj.STwidth])+rozdil) + "px";
		}
	for(var x in obj.pravy)
		{
		var y=obj.pravy[x].style[obj.STleft];
		obj.pravy[x].style[obj.STleft]=
			(parseInt(obj.pravy[x].style[obj.STleft])+rozdil)+"px";
		if(obj.currentStyle)
			obj.pravy[x].style[obj.STwidth]=
				(parseInt(obj.pravy[x].style[obj.STwidth])-rozdil)+"px";
		}
	obj.style[obj.STleft]=
		(parseInt(obj.style[obj.STleft])+rozdil)+"px";
	proxy.diference+=rozdil;
	return rozdil;
	
}

function widget_splitter_move(event){
	var obj=document.ActiveSplitter;
	var curevent;
	if(typeof event=='undefined')
		curevent=widnow.event;
	else
		curevent=event;
	var proxy=obj.proxy;	
	var curPos=proxy.vertical?curevent.clientX:curevent.clientY;
	var rozdil=curPos-obj.curPos;
	widget_splitter_moveBy(obj,proxy,rozdil);
}

function widget_splitter_init(proxy)
	{
	proxy.levy=new Object();
	proxy.pravy=new Object();
	proxy.diference=0;
	var dif=parseInt(Cookies.read("TSplitter_Size_"+proxy.id));
	if(dif)
		Events.add(window,"load", new 			
				Function("widget_splitter_initialize('"+proxy.id+"',"+dif+");")
				  );
	}
	
function widget_splitter_initialize(id,rozdil)
	{
	var p=TWidget.proxies.get(id);
	if(p)
		widget_splitter_initializeProxy(p,rozdil)
	}

function widget_splitter_initializeProxy(proxy,rozdil)
	{	
		var o=TWidget.document.getElementById(proxy.id);
		if(o)
			{
			widget_splitter_setValues(o,proxy);
			widget_splitter_moveBy(o,proxy, rozdil);
			}
	}

function widget_splitter_up(e){
	Events.remove(window,"mousemove",widget_splitter_move);
	Events.remove(window,"mouseup",widget_splitter_up);
	var el=document.ActiveSplitter.proxy.divElement;
	el.parentNode.removeChild(el);
	Cookies.create("TSplitter_Size_"+document.ActiveSplitter.id,document.ActiveSplitter.proxy.diference);
}

function widget_splitter_restore(id)
{
	var ja=TWidget.proxies.get(id);
	var dif=proxy.diference;
	proxy.diference=0;
	widget_splitter_initializeProxy(proxy,dif);
}


