/////////////////////////
///// Find a Member /////
/////////////////////////
function findMember(element){
	this.target = element;
	var memberWindow = window.open('findMembers.php','Find_Members','width=400,height=200,status=no,scrollbars=yes,resizable=no,top=200,left=200,dependent=yes,alwaysRaised=yes');
	memberWindow.opener = window;
	memberWindow.focus();
	return false;
}

//////////////////////////////////
///// Show Mini-Popup Window /////
//////////////////////////////////
function showMiniPopup(target){
	if(g_mini_popup != false) hideMiniPopup();
	g_mini_popup = true;
	var popup = document.getElementById('MiniPopup');
	popup.innerHTML = target.innerHTML;
	popup.style.left = (g_mouse_x + 20) + 'px';
	popup.style.top = g_mouse_y + 'px';
	setTimeout("displayMiniPopup()",250);
}

/////////////////////////////////////
///// Display Mini-Popup Window /////
/////////////////////////////////////
function displayMiniPopup(){
	if(g_mini_popup == false) return;
	var popup = document.getElementById('MiniPopup');
	popup.style.display = '';
}

//////////////////////////////////
///// Hide Mini-Popup Window /////
//////////////////////////////////
function hideMiniPopup(){
	var popup = document.getElementById('MiniPopup');
	popup.style.display = 'none';
	popup.innerHTML = '';
	g_mini_popup = false;
}

/////////////////////////////////////////
///// Gamer Coliseum Initialization /////
/////////////////////////////////////////
var g_browser = ((document.addEventListener != null) ? true : false);
var g_mouse_x = 0;
var g_mouse_y = 0;
var g_mini_popup = false;
var g_messages_timeout = false;
var g_messages_refresh = 15;
var g_dashboard_timeout = false;
var g_dashboard_refresh = 30;
var g_shoutbox_timeout = false;
var g_shoutbox_refresh = 10;
var g_onlinebox_timeout = false;
var g_onlinebox_refresh = 20;
var g_onlinebox_max_height = 900;
var g_onlinebox_max_count = 111;
var g_update_fade = false;
var g_update_opacity = 150;
var onlineBoxShow = 'all';

/////////////////////////////
///// Update Image Fade /////
/////////////////////////////
function UpdateFade(){
	if(g_update_opacity > 0){
		if(g_update_opacity < 100){
			if(g_browser){
				if(g_update_opacity <= 5){
					g_update_fade.style.filter = 'alpha(opacity: 0)';
				}else{
					g_update_fade.style.filter = 'alpha(opacity:' + g_update_opacity + ')';
				}
			}else{
				if(g_update_opacity <= 5){
					g_update_fade.style.opacity = 0;
				}else{
					g_update_fade.style.opacity = (g_update_opacity/100);
				}
			}
		}
		g_update_opacity -= 5;
		setTimeout("UpdateFade()",50);
	}else{
		g_update_fade = false;
	}
}

/////////////////////////////////
///// Get Mouse Coordinates /////
/////////////////////////////////
function GetMouseCoordinates(event_trigger){
	if(g_browser){
		g_mouse_x = event_trigger.pageX;
	    g_mouse_y = event_trigger.pageY;
	}else{
		g_mouse_x = event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
		g_mouse_y = event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
	}  
	if(g_mouse_x < 0){
		g_mouse_x = 0;
	}
	if(g_mouse_y < 0){
		g_mouse_y = 0;
	}
	return true;
}

//////////////////////////////////
///// Check for New Messages /////
//////////////////////////////////
function CheckMessages(){
	var messages = document.getElementById('gNavMsgs');

	//// Initialize AJAX ////
	if(window.XMLHttpRequest){
		cmRequest = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		cmRequest = new ActiveXObject('Microsoft.XMLHTTP');
	}else{
		return false;
	}

	//// Pre-Check Form Values ////
	if(typeof cmRequest != undefined){
		cmRequest.onreadystatechange = function(){
			if(cmRequest.readyState == 4){
				if(cmRequest.status == 200){
					if(cmRequest.responseText != ""){
						messages.innerHTML = cmRequest.responseText;
						clearTimeout(g_messages_timeout);
						g_messages_timeout = setTimeout(CheckMessages,(g_messages_refresh * 1000));
					}
				}
			}
		}
		cmRequest.open("POST",window.document.location.toString(),true);
		cmRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		cmRequest.send("simple=messages");
	}	
}

////////////////////////////////////
///// Change Dashboard Refresh /////
////////////////////////////////////
function ChangeDashboardRefresh(delay){
	clearTimeout(g_dashboard_timeout);
	if(delay >= 30){
		g_dashboard_refresh = delay;
		g_dashboard_timeout = setTimeout(UpdateDashboard,(g_dashboard_refresh * 1000));
	}
	return false;
}

////////////////////////////////
///// Update the Dashboard /////
////////////////////////////////
function UpdateDashboard(){
	var dashboard = document.getElementById('dashboardContent');

	//// Initialize AJAX ////
	if(window.XMLHttpRequest){
		udRequest = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		udRequest = new ActiveXObject('Microsoft.XMLHTTP');
	}else{
		return false;
	}

	//// Pre-Check Form Values ////
	if(typeof udRequest != undefined){
		udRequest.onreadystatechange = function(){
			if(udRequest.readyState == 4){
				if(udRequest.status == 200){
					if(udRequest.responseText != ""){
						dashboard.innerHTML = udRequest.responseText;
						clearTimeout(g_dashboard_timeout);
						g_dashboard_timeout = setTimeout(UpdateDashboard,(g_dashboard_refresh * 1000));
					}
				}
			}
		}
		udRequest.open("POST",window.document.location.toString(),true);
		udRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		udRequest.send("simple=dashboard");
	}
}

////////////////////////////////////
///// Update Who's Online List /////
////////////////////////////////////
function UpdateWhosOnline(){
	var onlinebox = document.getElementById('whoswho');

	//// Initialize AJAX ////
	if(window.XMLHttpRequest){
		uwRequest = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		uwRequest = new ActiveXObject('Microsoft.XMLHTTP');
	}else{
		return false;
	}

	//// Pre-Check Form Values ////
	if(typeof uwRequest != undefined){
		uwRequest.onreadystatechange = function(){
			if(uwRequest.readyState == 4){
				if(uwRequest.status == 200){
					if(uwRequest.responseText != ""){
						onlinebox.innerHTML = uwRequest.responseText;
						switchOnline(onlineBoxShow);
						clearTimeout(g_onlinebox_timeout);
						g_onlinebox_timeout = setTimeout(UpdateWhosOnline,(g_onlinebox_refresh * 1000));
						whosonlinefixer();
					}
				}
			}
		}
		uwRequest.open("POST",window.document.location.toString(),true);
		uwRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		uwRequest.send("simple=online&Online=" + g_onlinebox_max_count);
	}
}

//////////////////////
///// Shoutbox ///////
//////////////////////
function ShoutBox(form){
	var shoutbox = document.getElementById('shoutbox_inner');
	var message = escape(form.Shout.value);
	if(message == '') return false;

	//// Initialize AJAX ////
	if(window.XMLHttpRequest){
		sbRequest = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		sbRequest = new ActiveXObject('Microsoft.XMLHTTP');
	}else{
		return false;
	}

	//// Pre-Check Form Values ////
	if(typeof sbRequest != undefined){
		sbRequest.onreadystatechange = function(){
			if(sbRequest.readyState == 4){
				if(sbRequest.status == 200){
					if(sbRequest.responseText != ""){
						form.Shout.value = '';
						shoutbox.innerHTML = sbRequest.responseText;
						clearTimeout(g_shoutbox_timeout);
						g_shoutbox_timeout = setTimeout(UpdateShoutbox,(g_shoutbox_refresh * 1000));
					}
				}
			}
		}
		sbRequest.open("POST",window.document.location.toString(),true);
		sbRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		sbRequest.send("simple=shouts&Shout=" + message);
	}
}

///////////////////////////
///// Update Shoutbox /////
///////////////////////////
function UpdateShoutbox(){

	var shoutbox = document.getElementById('shoutbox_inner');

	//// Initialize AJAX ////
	if(window.XMLHttpRequest){
		usRequest = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		usRequest = new ActiveXObject('Microsoft.XMLHTTP');
	}else{
		return false;
	}

	//// Pre-Check Form Values ////
	if(typeof usRequest != undefined){
		usRequest.onreadystatechange = function(){
			if(usRequest.readyState == 4){
				if(usRequest.status == 200){
					if(usRequest.responseText != ""){
						shoutbox.innerHTML = usRequest.responseText;
						clearTimeout(g_shoutbox_timeout);
						g_shoutbox_timeout = setTimeout(UpdateShoutbox,(g_shoutbox_refresh * 1000));
					}
				}
			}
		}
		usRequest.open("POST",window.document.location.toString(),true);
		usRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		usRequest.send("simple=shouts");
	}
}

//////////////////////
///// Check Form /////
//////////////////////
function checkForm(form){

	//// Initialize AJAX ////
	if(window.XMLHttpRequest){
		request = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		request = new ActiveXObject('Microsoft.XMLHTTP');
	}else{
		form.submit();
		return false;
	}

	//// Pre-Check Form Values ////
	if(typeof request != undefined){
		var post = '';
		
		/// Serial Form Data ///
        for(var i=0;i<form.elements.length;i++){
                var element = form.elements[i];
				if((element.type == 'hidden') || (element.type == 'text') || (element.type == 'textarea') || (element.type == 'password') || (element.type == 'select-one')){
					element.style.background = "#FFFFFF";
					post += element.name + '=' + escape(element.value) + '&'
				}else if((element.type == 'checkbox') || (element.type == 'radio')){
						if(element.checked){
							post += element.name + '=' + escape(element.value) + '&'
						}
				}
		}
		
		/// Send HTTP Request ///
		if(window.document.location.toString().match(/\?/) != null){
			request.open("POST",window.document.location.toString() + '&simple=true',false);
		}else{
			request.open("POST",window.document.location.toString() + '?simple=true',false);
		}
		request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		
		/// Send Form Data ///
		request.send(post);
		
		/// Process Response ///
		var response = request.responseText;
//alert(response); return false;
		if(response != ""){
			response = response.split("\t\n");
			var list = response[1].split("\n");
			for(var i=0;i<list.length;i++){
				if(list[i] != ''){
					form[list[i]].style.background = '#CCFFFF';
				}
			} 
			if(response[0] != ''){
				alert(response[0]);
				return false;
			}
		}
	}
	
	//// Submit the Form ////
	form.submit();
	return false;
}

//browser pop
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// Online Filter
function switchOnline(box) {
	onlineBoxShow = box;
	document.getElementById('all').style.display = "none";
	document.getElementById('pc').style.display = "none";
	document.getElementById('xbox').style.display = "none";
	document.getElementById('ps3').style.display = "none";
	document.getElementById('wii').style.display = "none";
	document.getElementById('ds').style.display = "none";
	document.getElementById(box).style.display = "block";
}

function GamerInit(){
	if(g_browser){
      document.addEventListener("mousemove",GetMouseCoordinates,true);
	}else{
      document.attachEvent("onmousemove",GetMouseCoordinates);
	}
	if(document.getElementById('updateFade')){
		g_update_fade = document.getElementById('updateFade');
		setTimeout("UpdateFade()",100);
	}
	if(!(document.getElementById('gNavMsgs'))) return;
	g_messages_timeout = setTimeout(CheckMessages,(g_messages_refresh * 1000));
	if(!(document.getElementById('whoswho'))) return;
	var contentbox = document.getElementById('bufferTop');
	var onlinebox = document.getElementById('whoswho');
	var onlinemax = (contentbox.offsetHeight - (onlinebox.offsetTop - contentbox.offsetTop));
	if(onlinemax < g_onlinebox_max_height){
		g_onlinebox_max_height = onlinemax;
		g_onlinebox_max_count = (Math.floor(g_onlinebox_max_height / 30) * 2);
	}
	onlinebox.style.height = (g_onlinebox_max_height + 'px');
	UpdateWhosOnline();
	g_shoutbox_timeout = setTimeout(UpdateShoutbox,(g_shoutbox_refresh * 1000));
	if(!(document.getElementById('dashboardContent'))) return;
	g_dashboard_timeout = setTimeout(UpdateDashboard,(g_dashboard_refresh * 1000));
}
