/**
* Start Ajax
*/
function initAjax()
{
	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;
}

/**
* Update de download stats.
*/
function updateStats(dlid,mirror)
{
	var ajax = initAjax();
	var url = '/system/ajax_handlers/updateDLstats.php';
	
//	var span = document.getElementById('dl_num');
//	span.innerHTML = parseInt(span.innerHTML)+1;
	
//	document.getElementById('health'+mirror).innerHTML = '100';

	params = "dlid=" + dlid + '&mirror=' + mirror;
	ajax.open("POST",url,true);
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", params.length);
	ajax.setRequestHeader("Connection", "close");
	ajax.send(params);
	
//	var ajax2 = initAjax();
//	ajax2.open('GET','/~asv3/system/ajax_handlers/showDLstats.php?dlid=' + dlid,false);
//	ajax2.send(null);
	
//	if(ajax2.responseText != '')
//	{
//		document.getElementById('dl_stats').innerHTML = ajax2.responseText;
//	}
//	else
//	{
//		document.getElementById('dl_stats').innerHTML = '<div style="float: left;"><b>Fout opgetreden tijdens het vernieuwen van de statistieken.</b></div>';
//	}
}


/**
* Smoothscroll
*/
var img_path = '/images/';

function toggle_div(divid)
{
	var div = document.getElementById(divid);
	
	// Verkrijg de maximale hoogte.
	var startpos = (div.style.display == 'block') ? 'open' : 'closed';
	// Als de startpositie gesloten is, doen we hem even snel open om de hoogte te bekijken.
	if(startpos == 'closed')
	{
		div.style.display = 'block';
	}
	// Haal eventuele border hoogtes van de hoogte af.
	var max_height = div.offsetHeight;
	var borders = parseInt(div.style.borderTopWidth.replace(/px/,'')) + parseInt(div.style.borderBottomWidth.replace(/px/,''));
	max_height -= (borders) ? borders : 0;

	// Als de startpositie gesloten was, doen we hem weer snel dicht.
	if(startpos == 'closed')
	{
		div.style.display = 'none';
	}
	
	// Pas het plaatje aan naar de nieuwe richting.
	alter_img(divid,startpos);
	
	// Kijk wat we moeten doen, uitklappen of inklappen.
	if(startpos == 'open')
	{
		// Inklappen
		div.style.height  = max_height+'px';
		klapIn(divid,max_height);
	}
	else if(startpos == 'closed')
	{
		// Uitklappen
		div.style.height  = '0px';
		klapUit(divid,max_height,0);
	}
}
function klapIn(divid,height)
{
	var div = document.getElementById(divid);
	
	if((height-3) >= 0)
	{
		height -= 5;
		div.style.height = height+'px';
		window.setTimeout('klapIn("'+divid+'",'+height+')', 20);
	}
	else
	{
		div.style.display = 'none';
		div.style.height = '';
	}
}
function klapUit(divid,max_height,height)
{
	var div = document.getElementById(divid);
	
	if(height < max_height)
	{
		height += 5;
		div.style.display = 'block';
		div.style.height = height+'px';
		window.setTimeout('klapUit("'+divid+'",'+max_height+','+height+')', 20);
	}
	else
	{
		div.style.height = '';
	}
}
function alter_img(divid,startpos)
{
	var img = document.getElementById(divid+'_bar');
	if(img)
	{
		if(startpos == 'closed')
		{
			img.src = img_path+'collapse.gif';
		}
		else
		{
			img.src = img_path+'expand.gif';
		}
	}
}

/**
* Nice BB Insert Function
*/
function bb( formName, fieldName, sUBB, eUBB )
{
	var objTxtArea = document.forms[formName].elements[fieldName];
	if( !eUBB )
	{
		eUBB = ' ' + sUBB + ' ';
		sUBB = '';
	}
	if ( objTxtArea.selectionStart || objTxtArea.selectionStart == 0 )
	{
		var ss = objTxtArea.selectionStart;
		var se = objTxtArea.selectionEnd;
 
		objTxtArea.value = objTxtArea.value.substring( 0, ss) + sUBB + objTxtArea.value.substring( ss, se ) + eUBB + objTxtArea.value.substring( se, objTxtArea.value.length );

		if( sUBB.length != 0 )
		{
			if( ss - se == 0 )
			{
				objTxtArea.selectionStart = ss + sUBB.length;
    			objTxtArea.selectionEnd  = se + sUBB.length;  
			}
			else
			{
				objTxtArea.selectionStart = ss;
    			objTxtArea.selectionEnd  = se + sUBB.length + eUBB.length;	  
			}
		}
		else
		{
			objTxtArea.selectionStart = se + sUBB.length + eUBB.length;
			objTxtArea.selectionEnd  = objTxtArea.selectionStart;
		}
		objTxtArea.focus();
	}
	else if ( objTxtArea.createTextRange )
	{
		objTxtArea.focus();
		document.selection.createRange().text = sUBB + document.selection.createRange().text + eUBB;   
	}
	else
	{
		txtArea.value = txtArea.value + sUBB + eUBB;
	}
}

function toggleEmoticons(type)
{
	var div = document.getElementById('inve');
	var imgpath = '/images/';
	if(type == 'link')
	{
		var link = document.getElementById('emo_link');
		if(div.style.display == 'none')
		{
			div.style.display = '';
			link.innerHTML = 'Minder emoticons...';
		}
		else
		{
			div.style.display = 'none';
			link.innerHTML = 'Meer emoticons...';
		}
	}
	else if(type == 'bar')
	{
		var bar = document.getElementById('link_bar');
		if(div.style.display == 'none')
		{
			div.style.display = '';
			bar.src = imgpath + 'collapse.gif';
		}
		else
		{
			div.style.display = 'none';
			bar.src = imgpath + 'expand.gif';
		}
	}
}

function insertQuote(id,type)
{
	var ajax = initAjax();
	var field = document.getElementById('comment');
	
	ajax.open('GET','/system/ajax_handlers/getQuotePost.php?type='+type+'&id=' + id,false);
	ajax.send(null);
	
	if(ajax.responseText != '')
	{
		field.value = field.value + ajax.responseText;
	}
	else
	{
		alert('Kon de gegevens van deze post niet ophalen.');
	}
}

/**
* Nedstat counter.
*/
function checkstat(a,v)
{
	var set=new Array();
	if(typeof v=="string")
	{
		set[0] = parseInt(v.substring(0,1));
	}
	else
	{
		set[0] = (v==3||v==4) ? 0 : 1;
	}
    var jv,sz,sc,i;
	js="";
	var td = new Date();
	var tm = td.getTime();
    var s = screen;
	var d = document;
	var l = "http://checkstat.nl/cgi-bin/";
    var lo = d.URL;
	var n = navigator;
	var re = typeof(top.document)=="object" ? top.document.referrer : d.referrer;
	for(i=0;i<=5;i++)
    {
	 	d.write('<script language="javascript1.'+i+'">js="'+i+'"<\/script>');
	}
    if(js>=1)
	{
		jv = n.javaEnabled() ? "y" : "n";
	}
	if(js>=2)
	{
		sz = s.width + "*" + s.height;
    	sc = n.appName.substring(0,9)=="Microsoft" ? s.colorDepth : s.pixelDepth;
	}
    var ar = "&location=" + escape(lo) + "&screensize=" + sz + "&screencolors=" + sc + "&javascript=1." + js + "&java=" + jv + "&referrer=" + escape(re) + "&time=" + tm;
    if(set[0])
	{
		d.write('<a target=_blank href="' + l + 'show.cgi?' + a + '"><img nosave name=icon width=19 height=19 border=0 alt="CheckStat" src="' + l + 'count.cgi?' + a + ar + '"><\/a>');
	}
	else
	{
		d.write('<img width="1" height="1" src="' + l + 'count.cgi?' + a + ar + '">');
	}
}

/**
* Toggle MSN function
* Laat het hele MSN adres zien als het te lang is.
*/
function toggleMSN() {
	var field = document.getElementById('msn');
	if(field.style.overflow == 'visible') {
		field.style.overflow = 'hidden';
	} else {
		field.style.overflow = 'visible';
	}
}

/**
* Toggle een spoiler.
* Laat de inhoud van een spoiler zien wanneer erop geklikt wordt.
*/
function toggleSpoiler(id)
{
	var spoiler = document.getElementById('s'+id);
	var label	= document.getElementById('l'+id);
	
	if(spoiler.style.display == 'none')
	{
		spoiler.style.display = '';
		label.style.display = 'none';
	}
	else
	{
		spoiler.style.display = 'none';
		label.style.display = '';
	}
}

/**
* Kruis alle vakjes aan.
*/
function checkAll()
{
	if(document.messages.all.checked == true)
	{ 
		var bValue = true; 
	}
	else
	{ 
		var bValue = false; 
	}


	for(i=0; i < document.messages.elements.length; i++)
	{
		if( document.messages.elements[i].type == 'checkbox' && document.messages.elements[i].name != 'all' )
		{
			document.messages.elements[i].checked = bValue;
		}
	}
}

/**
*	Enable of disable overflow voor een div.
*/
function displayAll(id)
{
	var div = document.getElementById('m'+id);
	var sig = document.getElementById('sig'+id);
	if(div)
	{
		if(div.style.overflow == 'hidden')
		{
			div.style.overflow = '';
		}
		else
		{
			div.style.overflow = 'hidden';
		}
	}
	if(sig)
	{
		if(div.style.overflow == 'hidden')
		{
			sig.style.maxHeight = '150px';
		}
		else
		{
			sig.style.maxHeight = '';
		}
	}
}