sq_preloadImages(['/images/main/ti-home-a.png','/images/main/ti-contacts-a.png','/images/main/ti-search-a.png','/images/sites/frame.png','/images/sites/frame2.png','/images/design/frame.png','/images/design/frame2.png','/images/articles/2-down.png','/images/articles/2-up.png','/images/articles/3-down.png','/images/articles/3-up.png','/images/articles/0-down.png','/images/articles/0-up.png']);

function ti_over(el){el=el.getElementsByTagName('img')[0];el.src=el.src.substr(0,el.src.length-4)+'-a.png';}
function ti_out(el){el=el.getElementsByTagName('img')[0];el.src=el.src.substr(0,el.src.length-6)+'.png';}
function sf_focus(el){if(el.style.color==''){el.t_text=el.value;el.value='';el.style.color='black';}}
function sf_blur(el){if(sq_trim(el.value)==''){el.style.color='';el.value=el.t_text;}}

function hnav_sel(el)
{	var i,items=el.parentNode.parentNode.getElementsByTagName('a');
	for(i=0;i<items.length;i++)if(items[i]==el)items[i].className='c0';else if(items[i].className=='c0')items[i].className='';
}

var hnav_div='';

function hnav_sclick(n,el)
{
	hnav_sel(el);	var i,items=document.getElementById(hnav_div).getElementsByTagName('div');
	for(var i=0;i<items.length;i++)items[i].style.display=(n==0||items[i].className.match(new RegExp('( |^)tt'+n+'( |$)')))?'block':'none';
}

function hnav_sinit(s)
{	hnav_div=s;
	var w0,w1,cclass,i;
	var hnav=document.getElementById('hnav');
	if(!hnav)return false;
	var items=hnav.getElementsByTagName('a');
	hnav.style.visibility='hidden';
	for(i=0;i<items.length;i++)if(items[i].className==''||items[i].className=='c0')
	{
		cclass=items[i].className;
		items[i].className='';
		w0=items[i].offsetWidth;
		items[i].className='c0';
		w1=items[i].offsetWidth;
		items[i].className=cclass;
		items[i].parentNode.style.width=Math.max(w0,w1)+'px';
	}
	hnav.style.visibility='visible';	$(window).hashchange(hnav_go);
	return hnav_go();
}

function hnav_go()
{	var h=window.location.hash;
	if(h.length<=1)h='#all';
	var items=document.getElementById('hnav').getElementsByTagName('a');
	for(i=0;i<items.length;i++)if(items[i].href.substr(items[i].href.length-h.length)==h)
	{
		items[i].ondblclick();
		return true;
	}
}

function subtabtype(n,el)
{	hnav_sel(el);
	var i,items=document.getElementById('tabtext').getElementsByTagName('div');
	for(i=0;i<items.length;i++)items[i].style.display=(items[i].className.match(/^tt\d+$/)&&items[i].className!='tt'+n)?'none':'block';
}

function type_init()
{
	var w0,w1,cclass,i;
	var hnav=document.getElementById('hnav');
	if(!hnav)return false;
	var items=hnav.getElementsByTagName('a');
	hnav.style.visibility='hidden';
	for(i=0;i<items.length;i++)if(items[i].className==''||items[i].className=='c0')
	{		cclass=items[i].className;
		items[i].className='';
		w0=items[i].offsetWidth;
		items[i].className='c0';
		w1=items[i].offsetWidth;
		items[i].className=cclass;
		items[i].parentNode.style.width=Math.max(w0,w1)+'px';
	}
	hnav.style.visibility='visible';
	$(window).hashchange(type_go);
	return type_go();
}

function type_go()
{	var h=window.location.hash;
	var items=document.getElementById('hnav').getElementsByTagName('a');
	if(h.length<=1&&items.length>0)
	{
	  	items[0].ondblclick();
	  	return true;
	}
	for(i=0;i<items.length;i++)if(items[i].href.substr(items[i].href.length-h.length)==h)
	{
		items[i].ondblclick();
		return true;
	}
}

function snp(n)
{	if(snippet_data['tab_right'])
	{
		shouldBeExpanded=(snippet_data[n]['snippet'].offset().top>snippet_data['tab_right'].offset().top+snippet_data['tab_right'].outerHeight()+70);
		if(shouldBeExpanded&&!snippet_data[n]['expanded'])
			snippet_data[n]['snippet'].parent().addClass('c_expanded');
		else if(!shouldBeExpanded&&snippet_data[n]['expanded'])
			snippet_data[n]['snippet'].parent().removeClass('c_expanded');
		snippet_data[n]['expanded']=shouldBeExpanded;
	}

    var mdiv=snippet_data[n]['mdiv'],sdiv=snippet_data[n]['sdiv'],snippet=snippet_data[n]['snippet'];

    if(sq_ieVersion==7)
    {    	if(mdiv.style.height=='auto'&&mdiv.clientHeight<mdiv.offsetHeight)
    	{    		mdiv.style.height=(mdiv.offsetHeight+17)+'px';
    		mdiv.sq_heightChanged=true;
    	}
    	if(mdiv.sq_heightChanged&&mdiv.clientHeight==mdiv.offsetHeight)
    	{
    		mdiv.style.height='auto';
    		mdiv.sq_heightChanged=false;
    	}
    }
	sdiv.style.display=(mdiv.clientWidth<mdiv.offsetWidth&&mdiv.clientHeight<mdiv.offsetHeight)?'block':'none';
}

function snp_init(n)
{	if(!window.snippet_data)
	{		window.snippet_data=[];
		$(document).ready(function(){window.snippet_data['tab_right']=$('div.tab_r')});
	}

	var snp_div=$('#snp'+n),snp_pre=snp_div.find('pre').get(0);
	snippet_data[n]=[];
	snippet_data[n]['snippet']=snp_div;
	snippet_data[n]['mdiv']=snp_div.children('div.c0').get(0);
	snippet_data[n]['sdiv']=snp_div.children('div.c_s').get(0);
	snippet_data[n]['expanded']=false;

	sh_highlightElement(snp_pre,sh_languages[snp_pre.className.substr(3)]);	snp(n);
	$(window).resize(function(){snp(n)});
	$(document).ready(function(){snp(n)});
}

function arts_cnt()
{	var i,t=adiv.scrollTop,b=adiv.scrollTop+adiv.offsetHeight,f=aps.length,l=0;
	for(i=0;i<aps.length;i++)
	{
		if(aps[i].offsetTop-1>=t)f=Math.min(f,i);
		if(aps[i].offsetTop+aps[i].offsetHeight+1<=b)l=Math.max(l,i);
	}
	if(aupcnt!=f)
	{		if(aupcnt==0&&f!=0)
		{			aup0.style.display='none';
			aup1.style.display='block';
			aup1.offsetTop; // IE8
		}else if(aupcnt!=0&&f==0)
		{			aup1.style.display='none';
			aup0.style.display='block';
			aup0.offsetTop; // IE8
		}		aupcnt=f;
		if(aupcnt>0)aup1p.innerHTML=aupcnt;
	}
	l=aps.length-l-1;
	if(adowncnt!=l)
	{
		if(adowncnt==0&&l!=0)
		{			adown0.style.display='none';
			adown1.style.display='block';
			adown1.offsetTop; // IE8
		}else if(adowncnt!=0&&l==0)
		{
			adown1.style.display='none';
			adown0.style.display='block';
			adown0.offsetTop; // IE8
		}
		adowncnt=l;
		if(adowncnt>0)adown1p.innerHTML=adowncnt;
	}
}

var aupcnt,adowncnt,aup0,aup1,aup1p,adown0,adown1,adown1p,aps,adiv,apup,apdown;
function arts_init()
{	adiv=document.getElementById('arts');
	var h,i,p,pnum,ps=adiv.getElementsByTagName('p'),cdiv=document.getElementById('arts_c');
	for(i=0;i<ps.length;i++)if(ps[i].className!=''){pnum=i;break;}
	var f=Math.max(0,pnum-3);
	var l=Math.min(ps.length-1,f+6);
	f=Math.max(0,l-6);
	adiv.style.overflow='hidden';
	adiv.style.height='0px';
	var gradt=document.createElement('div'),gradb=document.createElement('div');
	gradt.style.position='absolute';
	gradb.style.position='absolute';
	gradt.style.left=gradt.style.right=gradt.style.top=gradb.style.left=gradb.style.right=gradb.style.bottom='0px';
	gradt.style.height='10px';
	gradb.style.height='9px';
	gradt.style.background="url('/images/articles/grad-t.png')";
	gradb.style.background="url('/images/articles/grad-b.png')";
	cdiv.appendChild(gradt);
	cdiv.appendChild(gradb);
	h=ps[l].offsetTop+ps[l].offsetHeight-ps[f].offsetTop;
	while(h!=parseInt(adiv.style.height))
	{
		adiv.style.height=(ps[l].offsetTop+ps[l].offsetHeight-ps[f].offsetTop+19)+'px';
		h=ps[l].offsetTop+ps[l].offsetHeight-ps[f].offsetTop+19;
	}
	adiv.scrollTop=ps[f].offsetTop-10;
	aupcnt=adowncnt=0;
	aup0=document.getElementById('aup0');
	aup1=document.getElementById('aup1');
	aup1p=aup1.getElementsByTagName('p')[0];
	adown0=document.getElementById('adown0');
	adown1=document.getElementById('adown1');
	adown1p=adown1.getElementsByTagName('p')[0];
	aps=ps;
	sq_addEvent('mousewheel',function(e){if(!e)e=window.event;arts_scroll(e);},adiv);
	sq_addEvent('DOMMouseScroll',function(e){if(!e)e=window.event;arts_scroll(e);},adiv);
	arts_cnt();
	sq_addEvent('resize',arts_cnt,window);
}

function apup_(cnt)
{	if(cnt)
	{		adiv.scrollTop=Math.max(0,adiv.scrollTop-5*cnt);
		arts_cnt();		return true;
	}
	if(!apup)return false;
	adiv.scrollTop=Math.max(0,adiv.scrollTop-5);
	arts_cnt();
	if(adiv.scrollTop>0)setTimeout('apup_()',30);
}

function aup_down(e)
{
	sq_preventDefault(e);	aup1.style.background="url('/images/articles/3-up.png')";
	apup=true;
//	apup_();
}

function aup_up()
{	apup=false;	aup1.style.background="url('/images/articles/2-up.png')";
}

function aup_out()
{
	apup=false;
	aup1.style.background="url('/images/articles/1-up.png')";
}

function aup_over()
{	aup1.style.background="url('/images/articles/2-up.png')";
}

function aup_click()
{	if(sq_hold('upclick'))return;	var pnum=aupcnt;	if(!aps[pnum])return false;
	sq_animate(adiv,['scrollTop',adiv.scrollTop,Math.max(0,aps[pnum].offsetTop+aps[pnum].offsetHeight-adiv.offsetHeight+9)],500,25,function(){sq_free('upclick')},function(){arts_cnt();return true;});
}

function apdown_(cnt)
{	if(cnt)
	{
	adiv.scrollTop=Math.min(adiv.scrollHeight-adiv.offsetHeight,adiv.scrollTop+5*cnt);
		arts_cnt();
		return true;
	}
	if(!apdown)return false;
	adiv.scrollTop=Math.min(adiv.scrollHeight-adiv.offsetHeight,adiv.scrollTop+5);
	arts_cnt();
	if(adiv.scrollTop<adiv.scrollHeight-adiv.offsetHeight)setTimeout('apdown_()',30);
}

function adown_down(e)
{
	sq_preventDefault(e);
	adown1.style.background="url('/images/articles/3-down.png')";
	apdown=true;
//	apdown_();
}

function adown_up()
{
	apdown=false;
	adown1.style.background="url('/images/articles/2-down.png')";
}

function adown_out()
{	apdown=false;
	adown1.style.background="url('/images/articles/1-down.png')";
}

function adown_over()
{
	adown1.style.background="url('/images/articles/2-down.png')";
}

function adown_click()
{	if(sq_hold('downclick'))return;	var pnum=aps.length-adowncnt-1;
	if(!aps[pnum])return false;
	sq_animate(adiv,['scrollTop',adiv.scrollTop,Math.min(adiv.scrollHeight-adiv.offsetHeight,aps[pnum].offsetTop-10)],500,25,function(){sq_free('downclick')},function(){arts_cnt();return true;});
}


function arts_scroll(e)
{	sq_preventDefault(e);	var delta;	if(e['wheelDelta'])delta=e['wheelDelta']/120;else if(e['detail'])delta=-e['detail']/3;else delta=0;
	delta*=2;
	if(delta>0)apup_(delta);
	if(delta<0)apdown_(-delta);
}

function search_submit(form,link)
{	var v=sq_trim(form.query.value);	if(v!='')window.location=link+'search/'+v.replace(/[\?#]/g,'')+'/';
}
