function validate_apex(){
	var msg = "";
	var is_subject_selected = false;
	if ($('reg_gender_m').checked == false && $("reg_gender_f").checked == false) msg += "  - Gender\n";
		
	if ($('subjects') != null){
		var codes = $('subjects').getElementsByTagName('input');
		
		var classTools = $A(codes);
		
		for (var i=0;i<classTools.length;i++){
			if (classTools[i].checked || classTools[i].value =='BYBAll'){
				is_subject_selected = true;
				break;
			}
		}
	}
	if (!is_subject_selected) msg += "  - Subject\n";
	
	if (msg != '') msg = "Please enter following to continue:\n" + msg;

	if (msg == "") 
		return true;
	else{
		alert (msg);
		return false;
	}
}

var connection = new Array();
var proxy      = new Array();

function create()
{
	if(!createConnection())
	{
		proxy               = document.createElement("iframe");
		proxy.id            = "proxy";
		proxy.style.width   = "0";
		proxy.style.height  = "0";
		proxy.style.display = "none";
		document.body.appendChild(proxy);

		if(window.frames && window.frames["proxy"])
			proxy = window.frames["proxy"];
		else if(document.getElementById("proxy").contentWindow)
			proxy = document.getElementById("proxy").contentWindow;
		else
			proxy = document.getElementById("proxy");
	}

};

function createConnection()
{
	var asynchronousConnection;

	try
	{
		asynchronousConnection = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e)
	{
		if(typeof(XMLHttpRequest) != "undefined")
			asynchronousConnection = new XMLHttpRequest();
	}

	return asynchronousConnection;
};


function processProxyRequest()
{
	var result = ((proxy.document) ? proxy.document : proxy.contentDocument);
	result = result.body.innerHTML;

	if(eval(result))
		form.submit();
	else
		setTimeout("processProxyRequest()", 100);
};

function processRequest()
{
	if(connection.readyState == 4)
	{
		if(connection.status == 200)
			form.submit();
	}
};

function request(url)
{
	if(connection = createConnection())
	{
		connection.onreadystatechange = function() { processRequest(); };
		connection.open("GET", url, true);
		connection.send(null);
	}
	else
	{
		proxy.location.replace(url);
		processProxyRequest();
	}
};


function jump_click(url){
	create();
	var scriptURL  = '/stats_ping.php?url=' + url + '&referrer=' + document.location.href;
	request(scriptURL);
	window.open(url);	
}