function show( divId )
{
	document.getElementById( divId ).style.display = "block";
}

function hide( divId )
{
	document.getElementById( divId ).style.display = "none";
}

function refresh()
{    
	window.location.reload( false );
}

function createXMLHttpRequest() 
{
	var types = [
	'Microsoft.XMLHTTP',
	'MSXML2.XMLHTTP.5.0',
	'MSXML2.XMLHTTP.4.0',
	'MSXML2.XMLHTTP.3.0',
	'MSXML2.XMLHTTP'
	];

	for (var i = 0; i < types.length; i++) 
	{
		try 
		{
		  return new ActiveXObject(types[i]);
		} 
		catch(e) 
		{}
	}

	try 
	{
		return new XMLHttpRequest();
	} catch(e) 
	{}

	return false; // XMLHttpRequest not supported
}

function uitvouwen(cid) {
	document.getElementById(cid).style.display = (document.getElementById(cid).style.display != "none")? "none" : "block"
}

function addSmiley(smiley) {
	document.form1.message.value = document.form1.message.value + smiley;
}

var clicked = true;
function select_switch() {
	$i=0;
	while(document.getElementById('checkbox' + $i)) {
		document.getElementById('checkbox' + $i).checked = clicked;
		$i++;
	}
	
	if (clicked == false) {
		clicked = true;
	}
	else {
		clicked = false;
	}
}

function startCounter( time ) 
{
	var timeInSeconds = ( time - 1 );
	
	var shownTime = convertToHMS( timeInSeconds );
		
	if ( timeInSeconds <= 0 )
	{
		document.getElementById('timer').innerHTML = shownTime;
		window.setTimeout("location.reload( " + true + " );", 1000);
		timert = null;
	}
	else
	{
		document.getElementById('timer').innerHTML = shownTime;
		timert = window.setTimeout("startCounter('" + timeInSeconds + "');", 1000);
	}
}

function convertToHMS( time )
{
	
	var hours = Math.floor( time / 3600 );
	time -= Math.floor( time / 3600 ) * 3600;
	var minutes = Math.floor( time / 60 );
	time -= Math.floor( time / 60 ) * 60;
	var seconds = time;
	
	if( hours < 10 )
	{
		hours = '0' + hours;
	}
	if( minutes < 10 )
	{
		minutes = '0' + minutes;
	}
	if( seconds < 10 )
	{
		seconds = '0' + seconds;
	}
	
	return hours + ':' + minutes + ':' + seconds;
}

function walk( to )
{
	var req = createXMLHttpRequest();
		req.open("GET", "./move.php?to=" + to, false);
		req.send(null);
	document.getElementById( 'ajaxResponse' ).innerHTML = req.responseText;
}

function setOpacity( slot, amount )
{
	document.getElementById( 'slot' + slot ).style.opacity = amount;
	document.getElementById( 'slot' + slot ).style.filter = "alpha(opacity=" + ( amount * 100 ) + ")";
	//document.getElementById( 'slot' + slot ).style.setAttribute( '-ms-filter', 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)' );
}

function showWeaponList( type )
{
	var mainDiv = document.getElementById( 'listOfWeapons' );
	mainDiv.innerHTML = '';
	
	var loadImage = document.createElement( 'img' );
	loadImage.src = './images/icons/load.gif';
	loadImage.border = '0';
	mainDiv.appendChild( loadImage );
	
	var req = createXMLHttpRequest();
		req.open("GET", "./weaponlist.php?type=" + type, false);
		req.send(null);
		
	mainDiv.innerHTML = '';
		
	var array = eval( 'var weapons = ' + req.responseText );
	
	var table = document.createElement( 'table' );
	table.width = '100%';
	table.className = 'text';
	
	var tbody = document.createElement( 'tbody' );
	
	for( weapon in weapons )
	{
		var weaponStat = weapons[ weapon ];
		var trClass = ( trClass == 'mediumdark' )? 'dark' : 'mediumdark';
		
		//Create the TableRow.
		var tr = document.createElement( 'tr' );
		tr.className = trClass;
		tr.onmouseover = new Function( "this.name=this.className; this.className='medium';" );
		tr.onmouseout = new Function( "this.className=this.name;" );
		tr.onclick = new Function( "document.getElementById( 'weapon' ).value='" + weaponStat[ 'weaponcode' ] + "';" );
		tr.style.cursor = 'pointer';
		
		//Create the TableData cells.
		var tdWeaponCode = document.createElement( 'td' );
		tdWeaponCode.width = '5%';
		var tdName = document.createElement( 'td' );
		tdName.width = '25%';
		var tdPower = document.createElement( 'td' );
		tdPower.width = '15%';
		var tdBonus = document.createElement( 'td' );
		tdBonus.width = '15%';
		var tdMinimumlevel = document.createElement( 'td' );
		tdMinimumlevel.width = '25%';
		var tdType = document.createElement( 'td' );
		tdType.width = '15%';

		//Fill the TD cells.
		var weaponCode = document.createTextNode( weaponStat[ 'weaponcode' ] );
		tdWeaponCode.appendChild( weaponCode );
		var weaponName = document.createTextNode( weaponStat[ 'name' ] );
		tdName.appendChild( weaponName );
		var weaponPower = document.createTextNode( weaponStat[ 'power' ] );
		tdPower.appendChild( weaponPower );
		var weaponBonus = document.createTextNode( '+' + weaponStat[ 'bonus' ] );
		tdBonus.appendChild( weaponBonus );
		var weaponMinimumlevel = document.createTextNode( weaponStat[ 'minimumlevel' ] );
		tdMinimumlevel.appendChild( weaponMinimumlevel );
		var weaponType = document.createTextNode( weaponStat[ 'type' ] );
		tdType.appendChild( weaponType );
		
		tr.appendChild( tdWeaponCode );
		tr.appendChild( tdName );
		tr.appendChild( tdPower );
		tr.appendChild( tdBonus );
		tr.appendChild( tdMinimumlevel );
		tr.appendChild( tdType );
		tbody.appendChild( tr );
	}
	table.appendChild( tbody );
	mainDiv.appendChild( table );
}

var weapons;

function showCatalogueList( input )
{
	var mainDiv = document.getElementById( 'listOfWeapons' );
	mainDiv.innerHTML = '';
	
	var loadImage = document.createElement( 'img' );
	loadImage.src = './images/icons/load.gif';
	loadImage.border = '0';
	mainDiv.appendChild( loadImage );
	
	var req = createXMLHttpRequest();
		req.open("GET", "./weaponlist.php?catalogue=1&input=" + input, false);
		req.send(null);
		
	mainDiv.innerHTML = '';
		
	var array = eval( 'weapons = ' + req.responseText );
	
	var table = document.createElement( 'table' );
	table.width = '100%';
	table.className = 'text';
	table.cellSpacing = '0';
	table.cellPadding = '3';
	
	var tbody = document.createElement( 'tbody' );
	
	for( weapon in weapons )
	{
		var weaponStat = weapons[ weapon ];
		var trClass = ( trClass == 'mediumdark' )? 'dark' : 'mediumdark';
		
		//Create the TableRow.
		var tr = document.createElement( 'tr' );
		tr.className = trClass;
		tr.onmouseover = new Function( "this.name=this.className; this.className='medium';" );
		tr.onmouseout = new Function( "this.className=this.name;" );
		tr.onclick = new Function( "showWeaponProfile( " + weaponStat[ 'weaponid' ] + " )" );
		tr.style.cursor = 'pointer';
		
		//Create the TableData cells.
		var tdId = document.createElement( 'td' );
		tdId.width = '5%';
		var tdName = document.createElement( 'td' );
		tdName.width = '25%';
		var tdPower = document.createElement( 'td' );
		tdPower.width = '15%';
		var tdBonus = document.createElement( 'td' );
		tdBonus.width = '15%';
		var tdMinimumlevel = document.createElement( 'td' );
		tdMinimumlevel.width = '25%';
		var tdType = document.createElement( 'td' );
		tdType.width = '15%';

		//Fill the TD cells.
		var weaponId = document.createTextNode( '#' + weaponStat[ 'weaponid' ] );
		tdId.appendChild( weaponId );
		var weaponName = document.createTextNode( weaponStat[ 'name' ] );
		tdName.appendChild( weaponName );
		var weaponPower = document.createTextNode( weaponStat[ 'power' ] );
		tdPower.appendChild( weaponPower );
		var weaponBonus = document.createTextNode( '+' + weaponStat[ 'bonus' ] );
		tdBonus.appendChild( weaponBonus );
		var weaponMinimumlevel = document.createTextNode( weaponStat[ 'minimumlevel' ] );
		tdMinimumlevel.appendChild( weaponMinimumlevel );
		var weaponType = document.createTextNode( weaponStat[ 'type' ] );
		tdType.appendChild( weaponType );
		
		tr.appendChild( tdId );
		tr.appendChild( tdName );
		tr.appendChild( tdPower );
		tr.appendChild( tdBonus );
		tr.appendChild( tdMinimumlevel );
		tr.appendChild( tdType );
		tbody.appendChild( tr );
	}
	table.appendChild( tbody );
	mainDiv.appendChild( table );
}

function showWeaponProfile( weaponid )
{
	var profileDiv = document.getElementById( 'profileOfWeapon' );
	profileDiv.innerHTML = '';
	
	var loadImage = document.createElement( 'img' );
	loadImage.src = './images/icons/load.gif';
	loadImage.border = '0';
	profileDiv.appendChild( loadImage );
	
	//var req = createXMLHttpRequest();
	//	req.open("GET", "./weaponlist.php?weaponprofile=1&weaponid=" + weaponid, false);
	//	req.send(null);
	
	//var array = eval( 'var weapons = ' + req.responseText );
	
		var weaponStat = weapons[ weaponid ];
		
		var table = document.createElement( 'table' );
		table.width = '100%';
		table.className = 'text';
		table.cellSpacing = '0';
		table.cellPadding = '3';
		
		var tbody = document.createElement( 'tbody' );
		
		var trName = document.createElement( 'tr' );
		var tdName = document.createElement( 'td' );
		trName.className = 'dark';
		tdName.className = 'header2';
		tdName.colSpan = '3';
		tdName.appendChild( document.createTextNode( weaponStat[ 'name' ] ) );
		
		var trSpace = document.createElement( 'tr' );
		var trRow1 = document.createElement( 'tr' );
		var trRow2 = document.createElement( 'tr' );
		var trRow3 = document.createElement( 'tr' );
		var trRow4 = document.createElement( 'tr' );
		var trRow5 = document.createElement( 'tr' );
		var trRow6 = document.createElement( 'tr' );
		
		//Image
		var tdImg = document.createElement( 'td' );
		tdImg.rowSpan = '6';
		tdImg.width = '100';
		tdImg.vAlign = 'top';
		var img = document.createElement( 'img' );
		img.src = './images/weapons/0/' + weaponStat[ 'imgName' ] + '.png';
		tdImg.appendChild( img );
		
		//Power
		var tdPower = document.createElement( 'td' );
		tdPower.appendChild( document.createTextNode( weaponStat[ 'labelPower' ] + ':' ) );
		tdPower.width = '30%';
		tdPower.style.fontWeight = 'bold';
		var tdPowerI = document.createElement( 'td' );
		tdPowerI.appendChild( document.createTextNode( weaponStat[ 'power' ] ) );

		//Bonus
		var tdBonus = document.createElement( 'td' );
		tdBonus.appendChild( document.createTextNode( weaponStat[ 'labelBonus' ] + ':' ) );
		tdBonus.style.fontWeight = 'bold';
		var tdBonusI = document.createElement( 'td' );
		tdBonusI.appendChild( document.createTextNode( '+' + weaponStat[ 'bonus' ] ) );
		
		//Minimum level
		var tdMlevel = document.createElement( 'td' );
		tdMlevel.appendChild( document.createTextNode( weaponStat[ 'labelMinimumlevel' ] + ':' ) );
		tdMlevel.style.fontWeight = 'bold';
		var tdMlevelI = document.createElement( 'td' );
		tdMlevelI.appendChild( document.createTextNode( weaponStat[ 'minimumlevel' ] ) );
		
		//Type
		var tdType = document.createElement( 'td' );
		tdType.appendChild( document.createTextNode( weaponStat[ 'labelType' ] + ':' ) );
		tdType.style.fontWeight = 'bold';
		var tdTypeI = document.createElement( 'td' );
		tdTypeI.appendChild( document.createTextNode( weaponStat[ 'type' ] ) );
		
		//Weaponcombi
		var tdCombi = document.createElement( 'td' );
		tdCombi.appendChild( document.createTextNode( weaponStat[ 'labelWeaponCombi' ] + ':' ) );
		tdCombi.style.fontWeight = 'bold';
		var tdCombiI = document.createElement( 'td' );
		tdCombiI.appendChild( document.createTextNode( weaponStat[ 'bonusweaponName' ] ) );
		
		//Weaponcombi
		var tdCombiAmount = document.createElement( 'td' );
		tdCombiAmount.appendChild( document.createTextNode( weaponStat[ 'labelCombiAmount' ] + ':' ) );
		tdCombiAmount.style.fontWeight = 'bold';
		var tdCombiAmountI = document.createElement( 'td' );
		tdCombiAmountI.appendChild( document.createTextNode( weaponStat[ 'combiAmount' ] ) );
		
		//Spacing
		var tdSpace = document.createElement( 'td' );
		tdSpace.height = '5';
		tdSpace.colSpan = '3';
		
		//Adding the table data to the table rows.
		trName.appendChild( tdName );
		trSpace.appendChild( tdSpace );
		trRow1.appendChild( tdImg );
		trRow1.appendChild( tdPower );
		trRow1.appendChild( tdPowerI );
		trRow2.appendChild( tdBonus );
		trRow2.appendChild( tdBonusI );
		trRow3.appendChild( tdMlevel );
		trRow3.appendChild( tdMlevelI );
		trRow4.appendChild( tdType );
		trRow4.appendChild( tdTypeI );
		trRow5.appendChild( tdCombi );
		trRow5.appendChild( tdCombiI );
		trRow6.appendChild( tdCombiAmount );
		trRow6.appendChild( tdCombiAmountI );
		
		//Adding the table rows to the table.
		tbody.appendChild( trName );
		tbody.appendChild( trSpace );
		tbody.appendChild( trRow1 );
		tbody.appendChild( trRow2 );
		tbody.appendChild( trRow3 );
		tbody.appendChild( trRow4 );
		tbody.appendChild( trRow5 );
		tbody.appendChild( trRow6 );
		
		table.appendChild( tbody );
	
	
	profileDiv.innerHTML = '';
	profileDiv.appendChild( table );
}

var messagesJSON;

function sendMessage() 
{
	var message = document.getElementById( 'message' );
	var messageValue = message.value;
	message.value = '';
	
		req = createXMLHttpRequest();
		req.open( "GET", "./ajax_chatbox.php?message=" + messageValue, false );
		req.send( null );
		
	refreshChatbox();
}

var styleArray = new Array( '', 'paid', 'green', 'red', 'pink' );
function refreshChatbox()
{
	document.getElementById( 'chatbox' ).innerHTML = '';
	document.getElementById( 'chatbox' ).innerHTML = '<div align="center"><br /><br /><img src="images/icons/loading.gif" /></div>';
	
	var req = createXMLHttpRequest();
		req.open( "GET", "./ajax_chatbox.php?refresh=1", false );
		req.send( null );
		
		
	document.getElementById( 'chatbox' ).innerHTML = '';
		
		var array = eval( 'messagesJSON = ' + req.responseText );
		
		for( message in messagesJSON )
		{
			messageElement = document.createElement( 'div' );
			messageElement.className = 'chatmessage';
			messageObject = messagesJSON[ message ];
			
			dateElement = document.createElement( 'span' );
			dateElement.className = "gray";
			
			dateNode = document.createTextNode( "[" + messageObject[ 'TIME( l.date )' ] + "] " );				
			dateElement.appendChild( dateNode );
			messageElement.appendChild( dateElement );
			
			textElement = document.createElement( 'span' );
			if( messageObject[ 'style' ] )
			{
				textElement.className = styleArray[ messageObject[ 'style' ] ];
			}
			
			textNode = document.createTextNode( "(" + messageObject[ 'username' ] + ") : " + messageObject[ 'message' ] );
			textElement.appendChild( textNode );
			messageElement.appendChild( textElement );
			
			document.getElementById( 'chatbox' ).appendChild( messageElement );
		}
	
	var spaceDiv = document.createElement( 'div' );
	spaceDiv.style.height = '5px';
	document.getElementById( 'chatbox' ).appendChild( spaceDiv );
	
	document.getElementById( 'chatbox' ).scrollTop = document.getElementById( 'chatbox' ).scrollHeight;
	window.setTimeout( "silentRefreshChatbox();", 5000 );
}

function silentRefreshChatbox()
{		
	var	req = createXMLHttpRequest();
		req.open( "GET", "./ajax_chatbox.php?refresh=1", false );
		req.send( null );
	
	if( req.responseText != undefined )
	{
		document.getElementById( 'chatbox' ).innerHTML = '';
		var array = eval( 'messagesJSON = ' + req.responseText );
		
		for( message in messagesJSON )
		{
			var messageElement = document.createElement( 'div' );
			messageElement.className = 'chatmessage';
			
			messageObject = messagesJSON[ message ];
			
			dateElement = document.createElement( 'span' );
			dateElement.className = "gray";
			
			dateNode = document.createTextNode( "[" + messageObject[ 'TIME( l.date )' ] + "] " );			
			dateElement.appendChild( dateNode );
			messageElement.appendChild( dateElement );
			
			textElement = document.createElement( 'span' );
			if( messageObject[ 'style' ] )
			{
				textElement.className = styleArray[ messageObject[ 'style' ] ];
			}
			
			textNode = document.createTextNode( "(" + messageObject[ 'username' ] + ") : " + messageObject[ 'message' ] );
			textElement.appendChild( textNode );
			messageElement.appendChild( textElement );
			
			document.getElementById( 'chatbox' ).appendChild( messageElement );
		}	
	}
	
	var spaceDiv = document.createElement( 'div' );
	spaceDiv.style.height = '5px';
	document.getElementById( 'chatbox' ).appendChild( spaceDiv );
	
	document.getElementById( 'chatbox' ).scrollTop = document.getElementById( 'chatbox' ).scrollHeight;
	
	window.setTimeout( "silentRefreshChatbox();", 5000 );
}