//AJAX
var xhr;
var showing = new Array();
var expanded = new Array();
function getXHR()
{
	var xmlHttp=null;
	try
  	{
  		//Firefox, Opera 8.0+, Safari
 		 xmlHttp=new XMLHttpRequest();
  	}
	catch (e)
  	{
  		// Internet Explorer
 		 try
	 	{
   			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  	 	}
 		catch (e)
    		{
    			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    		}
	}
	return xmlHttp;
}

function genEdit(typeID,postID)
{
	xhr = getXHR();
	div = typeID;
	if(postID != null)
	div = div+'-'+postID;
	else
	postID = 0;
	postID = postID + '&edit=true';
	xhr.onreadystatechange=editSC;
	backup[div] = document.getElementById(div).innerHTML;
	xhr.open("GET","box.php?type="+typeID+"&post="+postID,true);
	xhr.send(null);
}

function editSC()
{
	if(xhr.readyState==4)
	{
		document.getElementById(div).innerHTML=xhr.responseText;
	}
}
function genPreview(typeID,postID)
{
	xhr = getXHR();
	div = typeID;
	if(postID != null)
	div = div+'-'+postID;
	else
	postID = 0;
	xhr.onreadystatechange=editSC;
	previewbackup[div] = document.getElementById(div).innerHTML;
	xhr.open("POST","preview.php",true);
	xhr.send("type="+typeID+"&post="+postID);
}

function deleteItem(typeID,postID)
{
	showhideopen('foradd');
	document.getElementById('foraddcontent').innerHTML= '<div class="p">Are you sure you want to delete this element?</div> <div class="buttons"><a href="delete.php?typeID='+typeID+'&postID='+postID+'" class="n"><div class="legit">Yes, delete it.</div></a> <a onclick="showhide(\'foradd\')" class="sh n"><div class="legit">No, cancel.</div></a></div>';
}

function clearBox(box)
{
	if(document.getElementById(box).innerHTML != '')
	document.getElementById(box).innerHTML = '';
}

function cancelEdit(div)
{
	document.getElementById(div).innerHTML = backup[div];
}

function cancelPreview(div)
{
	document.getElementById(div).innerHTML = previewbackup[div];
}

function genBox(typeID,postID)
{	
	xhr = getXHR();
	div = typeID;
	if(postID != null)
	div = div+'-'+postID;
	else
	postID = '';
	xhr.onreadystatechange=boxSC;
	xhr.open("GET","box.php?type="+typeID+"&post="+postID,true);
	xhr.send(null);
}

function boxSC()
{
	if(xhr.readyState!=4)
	{
		var loading = 'loading'
		if(xhr.readyState==1)
		loading = '.'+loading+'.';
		if(xhr.readyState==2)
		loading = '..'+loading+'..';
		if(xhr.readyState==3)
		loading = '...'+loading+'...';
		document.getElementById('cBox'+div).innerHTML='<div class="loading">'+loading+'</div>';		
	}
	if(xhr.readyState==4)
	{
		document.getElementById('cBox'+div).innerHTML=xhr.responseText;
	}
}

function genForadd(typeID,adit)
{
	xhr = getXHR();
	xhr.onreadystatechange=foraddSC;
	if(adit != null)
	typeID = typeID+"&adit="+adit;
	xhr.open("GET","forrad.php?typeID="+typeID);
	xhr.send(null);
}

function foraddSC()
{
	showhideopen('foradd');
	if(xhr.readyState!=4)
	{
		var loading = 'loading'
		if(xhr.readyState==1)
		loading = '.'+loading+'.';
		if(xhr.readyState==2)
		loading = '..'+loading+'..';
		if(xhr.readyState==3)
		loading = '...'+loading+'...';
		document.getElementById('foraddcontent').innerHTML='<div class="loading">'+loading+'</div>';
	}
	if(xhr.readyState==4)
	{
		document.getElementById('foraddcontent').innerHTML=xhr.responseText;
	}
}

function genComments(typeID,postID,order,expand)
{
	if(postID != 0)
	div = typeID+'-'+postID;
	else
	div = typeID;
	if(showing[div] && !expand)
	{
		document.getElementById('comments'+div).innerHTML='';
		document.getElementById('sh'+div).innerHTML = document.getElementById('sh'+div).innerHTML.replace('hide','show');
		document.getElementById('sh'+div).innerHTML = document.getElementById('sh'+div).innerHTML.replace('collapse','expand');
		showing[div] = false;
		expanded[div] = false;
	}
	else
	{
		xhr = getXHR();
		xhr.onreadystatechange=commentsSC;
		if(expanded[div])
		expand =false;
		ex = expand;
		xhr.open("GET","comments.php?type="+typeID+"&post="+postID+"&order="+order+"&expand="+expand,true);
		xhr.send(null);
	}
}

function commentsSC()
{
	if(xhr.readyState!=4)
	{
		if(document.getElementById('comments'+div).innerHTML == '')
		{
			var loading = 'loading'
			if(xhr.readyState==1)
			loading = '.'+loading+'.';
			if(xhr.readyState==2)
			loading = '..'+loading+'..';
			if(xhr.readyState==3)
			loading = '...'+loading+'...';
			document.getElementById('comments'+div).innerHTML='<div class="loading">'+loading+'</div>';
		}
	}
	if(xhr.readyState==4)
	{
		document.getElementById('sh'+div).innerHTML = document.getElementById('sh'+div).innerHTML.replace('show','hide');
		if(ex)
		document.getElementById('sh'+div).innerHTML = document.getElementById('sh'+div).innerHTML.replace('expand','collapse');
		else
		document.getElementById('sh'+div).innerHTML = document.getElementById('sh'+div).innerHTML.replace('collapse','expand');
		document.getElementById('comments'+div).innerHTML=xhr.responseText;
		showing[div] = true;
		expanded[div] = ex;
	}
}


var RecaptchaOptions = {
   theme : 'custom',
   custom_theme_widget: 'recaptcha_widget'
};

//Slide Animation
var timerlen = 3;
var slideAniLen = 240;
var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();
var backup = new Array();
var previewbackup = new Array();
var div = null;
var ex = null;
var oc = null;
var sel = null;
var osel = null;

function slidedown(objname){
  if(moving[objname])
    return;
 
  if(document.getElementById(objname).style.display != "none")
    return; // cannot slide down something that is already visible
 
  moving[objname] = true;
  dir[objname] = "down";
  startslide(objname);
}
 
function slideup(objname){
  if(moving[objname])
    return;
 
  if(document.getElementById(objname).style.display == "none")
    return; // cannot slide up something that is already hidden
 
  moving[objname] = true;
  dir[objname] = "up";
  startslide(objname);
  document.getElementById(objname+"X").style.display = "none";
}

function startslide(objname){
  obj[objname] = document.getElementById(objname);
  endHeight[objname] = parseInt(obj[objname].style.height);
  startTime[objname] = (new Date()).getTime();
 
  if(dir[objname] == "down"){
    obj[objname].style.height = "1px";
  }
 
  obj[objname].style.display = "block";
 
  timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}
function slidetick(objname){
  var elapsed = (new Date()).getTime() - startTime[objname];
 
  if (elapsed > slideAniLen)
    endSlide(objname);
  else {
    var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
    if(dir[objname] == "up")
      d = endHeight[objname] - d;
 
    obj[objname].style.height = d + "px";
  }
}

function endSlide(objname){
  clearInterval(timerID[objname]);
 
  if(dir[objname] == "up")
  obj[objname].style.display = "none";
  obj[objname].style.height = endHeight[objname] + "px";
  if(dir[objname] == "down")
  document.getElementById(objname+"X").style.display = "block";
  
  delete(moving[objname]);
  delete(timerID[objname]);
  delete(startTime[objname]);
  delete(endHeight[objname]);
  delete(obj[objname]);
  delete(dir[objname]);
 
  return;
}


function toggleSlide(objname){
  if(document.getElementById(objname).style.display == "none"){
	slidedown(objname);
  }
  else{
  slideup(objname);}
  if(div != null && div != objname)
  slideup(div);
  div = objname;
}
//end of slide animation


//login box

function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
  if(document.layers)  // NN4
  {
    document.layers[szDivID].visibility = iState ? "show" : "hide";
  }
  else if(document.getElementById) // gecko(NN6) + IE5+
  {
    var obj = document.getElementById(szDivID);
    obj.style.visibility = iState ? "visible" : "hidden";
  }
  else if(document.all) //IE 4
  {
    document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
  }
}

//end of box

//showhide
function showhide(id)
{
	if (document.getElementById)
	{
		obj = document.getElementById(id);
		if (obj.style.display == "none")
		{
			obj.style.display = "";
		}
		else
		{
			obj.style.display = "none";
		}
	}
}

function showhideopen(id)
{
	if (document.getElementById)
	{
		obj = document.getElementById(id);
		obj.style.display = "";
	}
}
function showhideclose(id)
{
	if (document.getElementById)
	{
		obj = document.getElementById(id);
		obj.style.display = "none";
	}
}
//end showhide
function mediabarselect(type)
{
	if(document.getElementById)
	{
		if(osel == null)
		osel = document.getElementById('sel0');
		sel = document.getElementById('sel'+type);
		if(sel.style.backgroundImage == "none")
		{
			sel.style.backgroundImage = "url(style/filter/eeeeee.png)";
			osel.style.backgroundImage = "none";
			osel = sel;
		}
	}
}

function userbarslide()
{
	if(document.getElementById)
	{
		oc = document.getElementById('oc');
		if(oc.style.backgroundImage == "url(style/arrow/bard.png)")
		{
			oc.style.backgroundImage = "url(style/arrow/baru.png)";
		}
		else
		{
			oc.style.backgroundImage = "url(style/arrow/bard.png)";
		}
	}
	toggleSlide('userbar');
}
	
// Preload
if (document.images) 
{
	bard = new Image();
	bard.src = "style/arrow/bard.png";
	baru = new Image();
	baru.src = "style/arrow/baru.png";
	barr = new Image();
	barr.src = "style/arrow/barr.png";
	barl = new Image();
	barl.src = "style/arrow/barl.png";
	nav2 = new Image();
	nav2.src = "style/nav/2.png";
	filter1 = new Image();
	filter1.src = "style/filter/2670cc.png";

}
