function showLogin()
{
 new Effect.Appear("loginbox");
 return true;
}

function hideLogin()
{
 new Effect.Fade("loginbox");
}

function moarOp()
{
 new Effect.SlideDown("moarop");
 new Effect.SlideUp("moaropbd");
}

function ahah(url,target) {
   document.getElementById(target).innerHTML = 'Loading...';
   if (window.XMLHttpRequest) {
	   req = new XMLHttpRequest();
	   req.onreadystatechange = function() {ahahDone(target);};
	   req.open("GET", url, true);
	   req.send(null);
   } else if (window.ActiveXObject) {
	   req = new ActiveXObject("Microsoft.XMLHTTP");
	   if (req) {
		   req.onreadystatechange = function() {ahahDone(target);};
		   req.open("GET", url, true);
		   req.send();
	   }
   }
}

function ahahDone(target) {
  if (req.readyState == 4) {
	if (req.status == 200) {
	  document.getElementById(target).innerHTML = req.responseText;
	} else {
	  document.getElementById(target).innerHTML="ahah error:\n"+req.statusText;
	}
  }
}

function partial(srcEl,targetElement,url)
{
	if(url==undefined)
	{
		url=srcEl.href+"?partial=1";
	}
	ahah(url,targetElement);
	return true;
}

function partial_tab(srcEl)
{
	partial(srcEl,'atab');
	var tabs=document.getElementsByClassName('tabtab');
	for(i=0;i<tabs.length;i++)
	{
		tabs[i].className='tabtab';
	}
	srcEl.className='tabtab curr';
	srcEl.blur();
	return true;
}

function openSlide(idOpened,idClosed)
{
	if(idOpened) new Effect.SlideDown(idOpened);
	if(idClosed) new Effect.SlideUp(idClosed);
}

function RND(a,b)
{
	return Math.floor(a+Math.random()*(b-a));
}

function genRandomKeycode()
{
	var kc=$('keycode');
	var s="";
	var l=RND(3,8);
	var keys='abcdefghijklmnopqrstuvwxyz0123456789';
	for(i=0;i<l;i++) s+=keys[RND(0,keys.length)];
	kc.value=s;
}

function lightbox(url)
{
	new Effect.Appear('lightbox');
	$('lightbox-img').src=url;
}

function hideLightbox()
{
	new Effect.Fade('lightbox');
}

function setChecks(className,checked)
{
	var els=document.getElementsByClassName(className);
	for(i=0;i<els.length;i++)
	{
		els[i].checked=checked;
	}
	countChecks(className);
}

function countChecks(className)
{
	var els=document.getElementsByClassName(className);
	var total=0;
	var checked=0;
	for(i=0;i<els.length;i++)
	{
		total++;
		if(els[i].checked) checked++;
	}
	try
	{
		$(className+"-count").innerHTML=""+checked+"/"+total+" checked";
	}
	catch(e) {}
}

function inlineDelete(id)
{
	ahah("/delete/"+id+"?partial=1","inlinemsg");
	new Effect.DropOut("icon"+id);
}

function inlineDelComment(id)
{
	ahah("/comment/delete/"+id+"?partial=1","inlinemsg");
	new Effect.Fade("comment"+id);
}
