var _dragObject=_contentToHide=_c=_c2=_offsetLeft=_offsetTop=_mouseX=_mouseY=_sidebarWidgetsOffsetTop=_sidebarWidgetsHolder=mouseOffset=i=rbet_session=ie_times=0;
var IE=document.all?true:false;
var debug=false;
var sidebarWidgets=new Array;
var _sidebarWidgetsMarginBottom=20;
var _allowSidebarWidgetsDragAndDrop=true;


function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

function b_onload()
	{
	document.onmousemove=mousemove;
	document.onmouseup=mouseup;
	document.onkeyup=KeyCheck; 
	}
addEvent(window,'load',b_onload,false);
function KeyCheck(ev)
	{ev=ev||window.event;
	var KeyID=ev.keyCode;
	switch(KeyID)
		{case 27:
			if(_dragObject&&_c)
				{
				_dragObject.style.top=_c.offsetTop+"px";
				mouseup(ev);
				}
			break;
		}
	}

function mousemove(ev)
    {ev=ev||window.event;
    var mousePos = mouseCoords(ev);
	if(_dragObject)
		{_dragObject.style.top=mousePos.y - mouseOffset.y+"px";
		if(IE)
			event.returnValue=false;
		return false;
		}
	}
	
function mouseCoords(ev)
	{
	if(ev)
		if(ev.pageX||ev.pageY)
			return {x:ev.pageX, y:ev.pageY};
		else
		    return {
		        x:ev.clientX+document.body.scrollLeft-document.body.clientLeft,
		        y:ev.clientY+document.body.scrollTop-document.body.clientTop
				};
	}

function getMouseOffset(target, ev)
    {
    ev=ev||window.event;
    var docPos=getPosition(target);
    var mousePos=mouseCoords(ev);
    return {x:mousePos.x-docPos.x,y:mousePos.y-docPos.y};
    }   

function getPosition(e)
	{var left=0;
    var top=0;
    while(e.offsetParent)
		{
        left+=e.offsetLeft;
        top+=e.offsetTop;
        e=e.offsetParent;
		}
    left+=e.offsetLeft;
    top+=e.offsetTop;
    return {x:left, y:top};
	}


function mouseup(ev)
    {ev=ev||window.event;
    if(_dragObject&&_sidebarWidgetsHolder)
        {
        var y=_dragObject.offsetTop;
		var w=_sidebarWidgetsHolder.childNodes;
		var c=w.length;
		var j=0;
		var first=true;
		var wy=0;
		var target=false;
		var relative_pos=false;
		for(var i=0;i<c;i++)
			{if(w[i].id&&(String(w[i].id).split('_')).pop()=='id')
				if(w[i].id!=_dragObject.id)
					{if(first)
						{if(y<w[i].offsetTop)
							{target=w[i];
							relative_pos='before';
							break;
							}
						}
					if(y>w[i].offsetTop&&y<w[i].offsetHeight+w[i].offsetTop)
						{target=w[i];
						wy=w[i].offsetTop+parseInt(w[i].offsetHeight/2);
						if(y>wy)
							relative_pos='after';
						else
							relative_pos='before';
						break;
						}
					first=false;
					}
				else
					if( y>w[i].offsetTop && y<w[i].offsetHeight+w[i].offsetTop)
						target=false;
			}
		if(target)
			moveSidebarWidget(_dragObject,target,relative_pos);
		else
			{_dragObject.style.position='static';
			alpha_elem(_dragObject,100);
			_sidebarWidgetsHolder.removeChild(_c);
			}
		_dragObject=false;
		}
	}

function moveSidebarWidget_action(item,pos)
	{if(item&&pos&&(item=$(item)))
		item.style.top=pos+'px';
	}

var _reference=_target=_relative_pos=false;
function moveSidebarWidget(reference,target,relative_pos)
	{
	_allowSidebarWidgetsDragAndDrop=false;
	alpha_elem(reference,100);
	var the_same=false;
	if(relative_pos=='before')
		{if((_c.offsetTop+_c.offsetHeight+_sidebarWidgetsMarginBottom)==target.offsetTop)
			the_same=true;
		}
	else
		if(_c.offsetTop==(target.offsetHeight+target.offsetTop+_sidebarWidgetsMarginBottom))
			the_same=true;
	if(the_same)
		{_sidebarWidgetsHolder.removeChild(_c);
		reference.style.position='static';
		_allowSidebarWidgetsDragAndDrop=true;
		}
	else
		{var v=h2=15;
		var fps=65;
		var delay=0;
		var h=_c.offsetHeight;
		_c2=document.createElement('div');
		var direction=_c.offsetTop<target.offsetTop?(-1):1;
		if(relative_pos=='before')
			{if(direction==1)
				var t=target.offsetTop;
			else
				var t=target.offsetTop-_c.offsetHeight-_sidebarWidgetsMarginBottom;
			_sidebarWidgetsHolder.insertBefore(_c2,target);
			}
		else
			{if(direction==1)
				var t=target.offsetTop+target.offsetHeight+_sidebarWidgetsMarginBottom;
			else
				var t=target.offsetTop+target.offsetHeight+direction*_c.offsetHeight;
				
			insertAfter(_sidebarWidgetsHolder,_c2,target);
			}
		var i=0;
		while(h>0)
			{v+=3;
			h-=v;
			h2+=v;
			delay+=fps;
			if(h>=0)
				setTimeout("_c2.style.height="+h2+"+'px';_c.style.height="+h+"+'px'",delay);
			i++;
			}
		var delay2=0;
		var speed=((t-reference.offsetTop)/i);
		_reference=reference;
		var y=reference.offsetTop;
		for (var j=0;j<i;j++)
			{delay2+=fps;
			y=parseInt(y+speed);
			setTimeout("_reference.style.top="+y+"+'px';",delay2);
			}
		_reference=reference;
		_target=target;
		_relative_pos=relative_pos;
		setTimeout(function()
			{_sidebarWidgetsHolder.removeChild(_c);
			if(_relative_pos=='before')
				_sidebarWidgetsHolder.insertBefore(_reference,_target);
			else
				insertAfter(_sidebarWidgetsHolder,_reference,_target);
			_sidebarWidgetsHolder.removeChild(_c2);
			_reference.style.position='static';
			_allowSidebarWidgetsDragAndDrop=true;
			_c2=false;
			createCookie('sidebarWidgetOrder',getSidebarWidgetOrder().join(','));
			},delay+1);
		}
	}
	
function getSidebarWidgetOrder()
	{
	if(_sidebarWidgetsHolder)
		{var re=new Array();
		var w=_sidebarWidgetsHolder.childNodes;
		var c=w.length;
		for(var i=0;i<c;i++)
			if(String(w[i].id).split('_').pop()=='id')
				re[re.length]=w[i].id;
		return re;
		}
	}

function insertAfter(parent, node, referenceNode)
	{if(referenceNode.nextSibling)
		parent.insertBefore(node, referenceNode.nextSibling);
	else
		parent.appendChild(node);
	}
	
function shadowText(item)
	{
	item.innerHTML='<div class="shadow_text_h"><div class="shadow_text">'+item.innerHTML+'</div><div class="normal_text">'+item.innerHTML+'</div></div>';
	}

	var sstop=false;
function registerSidebarWidget(id)
	{if(!id)
		id="widget_"+sidebarWidgets.length;
	var widget=new Array;
	
	var w=document.getElementsByTagName('fieldset');
	if(w.length)
		{
		w=w[w.length-1];
		
		
		widget['id']=w.childNodes[0];
		
		
		var c=widget['id'].childNodes.length;
		for (var i=0;i<c;i++)
			{		
			if(widget['id'].childNodes[i].className=='sidebar_title')
				widget['title']=widget['id'].childNodes[i];
			else
				if(widget['id'].childNodes[i].className=='side_bar_content')
					{widget['content']=widget['id'].childNodes[i];
					break;
					}
			}
		w.name='';
		_sidebarWidgetsHolder.removeChild(w);
		_sidebarWidgetsHolder.appendChild(widget['id']);
		}
	else
		return false;
	if(widget['id']&&widget['title']&&widget['content'])
		{
		_sidebarWidgetsOffsetTop=$('sidebar_h').offsetTop;
		shadowText(widget['title']);
		widget['id_raw']=id;
		widget['id'].id=id+"_id";
		widget['title'].id=id+"_title";
		widget['content'].id=id+"_content";
		widget['height']=widget['id'].offsetHeight+_sidebarWidgetsMarginBottom;
		
		if(_sidebarWidgetsHolder)
			{widget['title'].onmouseover=function()
				{if(_allowSidebarWidgetsDragAndDrop)
					this.style.cursor="move";
				}
			widget['title'].onmouseout=function()
				{if(_allowSidebarWidgetsDragAndDrop)
					this.style.cursor="default";
				}
				
			widget['title'].onmousedown=function(ev)
		        {ev=ev||window.event;
				var target=ev.target!=null?ev.target:ev.srcElement;
				if(target.onclick==undefined&&_allowSidebarWidgetsDragAndDrop)
					{mouseOffset=getMouseOffset(this, ev);
					var t=String(this.id).split('_');
					t.pop();
					t=$(t.join('_')+"_id");
					alpha_elem(t,57);
					var x=t.offsetLeft;
					var y=t.offsetTop;
					
					mouseOffset.y+=110;
					var w=t.offsetWidth
					t.style.position='absolute';			
					var div=document.createElement('div');
			        _c=div;
			        div.style.height=t.offsetHeight+"px";
					div.style.marginBottom=_sidebarWidgetsMarginBottom+"px";
					_sidebarWidgetsHolder.insertBefore(div,t);
					t.style.width=w+"px";
					t.style.top=y+"px";
					t.style.left=x+"px";
					
					t.style.zIndex="2";
					_dragObject=t;
					if(IE)
						event.returnValue=false;
					return false;
					}
		        }
			}
		widget['button']=document.createElement('div');
		widget['button'].id=id+"_button";
		widget['button'].className="side_bar_button";
		
		widget['button']._contentToHide=id;
		widget['button'].onclick=function()
			{hide(this._contentToHide+"_content",this);
			}

		widget['title'].appendChild(widget['button']);
		sidebarWidgets[sidebarWidgets.length]=widget;
		
		
		if(_sidebarWidgetsStatus[id+"_content"]=='h')
			{widget['content'].style.overflow='hidden';
			widget['content'].style.height='0px';
			change_sidebar_arrow(widget['button'].id);
			
			}
		else
			change_sidebar_arrow(widget['button'].id,true);
		
		}
	}

function registerSidebarWidgetsHolder(w)
	{
	if(w)
		{_sidebarWidgetsHolder=$(w);
		_sidebarWidgetsHolder.style.visibility='hidden';
		initSidebarWidgets();
		}
	}

	
_sidebarWidgetsOrder=new Array;

function orderSidebarWidgets()
    {if(_sidebarWidgetsHolder)
		{var order=readCookie('sidebarWidgetOrder');
		if(order)
			{order=order.split(',');
			var c=order.length;
			if(sidebarWidgets.length==c)
				{
				for(var i=0;i<c;i++)
					{
					if(i)
						{var t=$(order[i]);
						_sidebarWidgetsHolder.removeChild(t);
						insertAfter(_sidebarWidgetsHolder,t,i>0?order[i-1]:false);
						}
			   		}
				}
			}
		_sidebarWidgetsHolder.style.visibility='visible';
		}
    }

var _sidebarWidgetsStatus=new Array;

function initSidebarWidgets()
	{
	var w=readCookie('sidebarWidgetsStatus');
	if(w)
		{w=w.split(',');
		var c=w.length;var t;
		for(var i=0;i<c;i++)
			{
			w[i]=w[i].split(':');
			t=w[i].pop();
			w[i]=w[i].join(':');
			_sidebarWidgetsStatus[w[i]]=t;
			}
		}
	}
	
function implode_sidebarWidgetsStatus()
	{
	var re=new Array;
	for(var i in _sidebarWidgetsStatus)
		{
		re[re.length]=i+":"+_sidebarWidgetsStatus[i];
		}
	return re.join(',');
	}
function change__sidebarWidgetsStatus(id,w)
	{
	if(w)
		_sidebarWidgetsStatus[id]=w;
	else
		if(_sidebarWidgetsStatus[id])
			delete _sidebarWidgetsStatus[id];
	createCookie('sidebarWidgetsStatus',implode_sidebarWidgetsStatus());
	}
	
function hide(item,b)
	{item=$(item);
	if(item&&b)
		{item.style.overflow='hidden';
		b.style.cursor='default';
		b.onclick=function() {return false};
			
		if(item.style.height!='0px')
			{var v=0;
			var a=1;
			var i=0;
			var d=50;
			var h=item.offsetHeight;
			
			while(h>0)
				{if(v<30)
					v+=a;
				h-=v;
				i+=d;
				if(h>0)
					setTimeout("$('"+item.id+"').style.height='"+h+"px'",i);
				}
			setTimeout("$('"+b.id+"').onclick=function() {return false};$('"+b.id+"').style.cursor='pointer';change_sidebar_arrow('"+b.id+"'); $('"+item.id+"').style.height='0px'",i);
			
			change__sidebarWidgetsStatus(item.id,'h');
			
			}
		else
			{var v=1;
			var a=1;
			var i=0;
			var d=50;
			var h=0;
			var h2=item.scrollHeight;
			while(h<item.scrollHeight)
				{if(v<50)
					v+=a;
				h+=v;
				i+=d;
				if(h<item.scrollHeight)
					setTimeout("$('"+item.id+"').style.height='"+h+"px'",i);
				}
			setTimeout("change_sidebar_arrow('"+b.id+"',true); $('"+item.id+"').style.height='auto'",i);
			change__sidebarWidgetsStatus(item.id);
			}
		setTimeout("$('"+b.id+"').onclick=function() {hide('"+item.id+"',$('"+b.id+"'));return false;};$('"+b.id+"').style.cursor='pointer';",i);
		}
	}
function change_sidebar_arrow(id,w)
	{
	
	$(id).className='side_bar_button '+(w?'side_bar_button_up':'side_bar_button_down');
	
	}

	
function $(w){return document.getElementById(w);}
function getQueryStringFromUrl(url)
	{if(url)
		{url=(String(url).replace(/&amp;/,'&')).split('&');
		var re=new Array;
		var c=url.length;
		var index;
		for(var i=0;i<c;i++)
			{url[i]=url[i].split('=');
			index=url[i].shift();
			re[index]=url[i].join('=');
			}
		return re;
		}
	}
	
function createCookie(name,value,days)
	{if (days)
		{var date=new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires="; expires="+date.toGMTString();
		}
	else
		var expires="";
	document.cookie=name+"="+value+expires+"; path=/";
	}

function readCookie(name)
	{var nameEQ=name+"=";
	var ca=document.cookie.split(';');
	var cc=ca.length;
	for(var i=0;i<cc;i++)
		{var c=ca[i];
		while(c.charAt(0)==' ')
			c=c.substring(1,c.length);
		if(c.indexOf(nameEQ)==0)
			return c.substring(nameEQ.length,c.length);
		}
	return null;
	}

function eraseCookie(name) 
	{
	createCookie(name,"",-1);
	}

var rbet_engine;
function initAjaxEngine(id,file)
	{id=id||'engine';
	file=file||(wp_theme_adr+'/rbet_engine.php');
	var div=document.createElement('div');
	
	if(debug)
		div.innerHTML='<iframe id="'+id+'" name="'+id+'" frameborder="0" height="300" width="100%" marginheight="0" marginwidth="0"  scrolling="yes" src="'+file+'" style="background:#FFF"></iframe>';
	else
		{div.innerHTML='<iframe id="'+id+'" name="'+id+'" frameborder="0" height="0" width="0" marginheight="0" marginwidth="0"  scrolling="no" src="'+file+'" style="visibility:hidden"></iframe>';
		div.style.display='none';
		}
		
	document.body.appendChild(div);
	
	rbet_engine=new Array;
	rbet_engine['f']=file;
	rbet_engine['n']=id;
	return rbet_engine['i']=$(id);
	}

function rbetAjax(inElement,q)
	{
	if(!rbet_session&&typeof(rbet_engine)=='object')
		{rbet_session=1;
		loadingShow(inElement);
		var query=rbet_engine['f']+"?in_element="+inElement;
		if(String(q)&&String(q).indexOf('#')!=-1)
			{q=String(q).split('#');
			query+="&"+q.shift()+'&goto_html_a='+q.join('#');
			}
		else
			query+="&"+q;
		
		//alert(query);
		ie_times++;
		rbet_engine['i'].src=query+"&"+ie_times;
		}
	return false;
	}

function loadingShow(w)
	{
	if(w&&(w=$(w)))
		{
		alpha_elem(w,55);
		var div=document.createElement('div');
		div.className="loading";
		div.innerHTML='<img src="'+wp_theme_adr+'/images/loading.gif" alt="" />'
		var scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0; 
		div.style.top=w.offsetTop+scrollTop+100+'px';
		w.appendChild(div);
		}
	}
function alpha_elem(item,alpha)
	{if (item)
		{item.style.opacity=alpha/100;
		item.style.MozOpacity=alpha/100;
		item.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+alpha+")";
		item.style.filter="alpha(opacity="+alpha+")";
		}
	}
	
	
	
function ch_bg_in(item,h)
	{
	if(item)
		if(h)
			item.style.backgroundColor='#EEFAFC';
		else
			item.style.backgroundColor='#FFF';
	}
	
function cb(item,w)
	{
	if(item)
		{
		item.style.background="url("+w+")";
		}
	}
	
function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
	
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id); 
	
	if(object)
		{
		object=object.style;
		object.opacity = (opacity / 100);
		object.MozOpacity = (opacity / 100);
		object.KhtmlOpacity = (opacity / 100);
		object.filter = "alpha(opacity=" + opacity + ")";
		}
}
	
function hideDiv(item)	
	{
	opacity(item.id,100,0,1000);
	item.style.overflow='hidden';
	v=40;
	var speed=0;
	var h=item.offsetHeight-10;
	for(var i=0;i<=v&&h>0;i++)
		{speed+=0.1;
		setTimeout("document.getElementById('"+item.id+"').style.height='"+h+"px'",(i*20));
		h-=parseInt(speed);
		}
	//alert(i*20);
	setTimeout("document.getElementById('"+item.id+"').parentNode.removeChild(document.getElementById('"+item.id+"'))",(i*20));
	createCookie('hide_tip1','true');
	}
	
var link_to_delete=false;	
function change_style(id)
	{
	var links=document.getElementsByTagName('link');
	var c=links.length;
	for(var i=0;i<c;i++)
		{
		if(links[i]&&links[i].title=='color_pick')
			{color_id=id;
			var head=links[i].parentNode;
			var link=document.createElement('link');
			link.title='color_pick';
			link.rel="stylesheet";
			link.href=wp_theme_adr+"/colors.php?c="+id;
			
			head.removeChild(links[i]);
			head.appendChild(link);
			
			createCookie('theme_id',id);
			
			var title=$('title');
			c=title.childNodes.length;
			for(i=0;i<c;i++)
				{
			if(title.childNodes[i].childNodes[0].nodeType==1)
				cb(title.childNodes[i].childNodes[0],wp_theme_adr+"/images/colors/"+color_id+"/title_letters.png","top left no-repeat");
				}
			break;
			}
		}
	}

function cb(item,url,q)
	{if(!q)
		q='';
	 if(document.all&&!window.opera)
		item.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+url+"',sizingMethod='scale')";
	 else
		item.style.background="url("+url+")";
	}
	
	
/*function insertTip1()
	{
	document.write('<div id="tip1" class="tip1" onclick="hideDiv(this)"><div>X</div>Did you notice? You can drag and drop any box from the sidebar. Just try it, you know you want to ;)</div>');
	}
	
*/

function search(id)
	{
	id=id?$(id):$('search_box');
	initAjaxEngine();
	rbetAjax('a_content','s='+id.value);
	}