var xmlhttp = createXmlHttpRequestObject();

// retrieves the XMLHttpRequest object
function createXmlHttpRequestObject()
{
// will store the reference to the XMLHttpRequest object

var xmlhttp;
// if running Internet Explorer
if(window.ActiveXObject)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{

xmlhttp = false;
}
}
// if running Mozilla or other browsers
else
{
try
{
xmlhttp = new XMLHttpRequest();
}
catch (e)
{
xmlhttp = false;
}
}
// return the created object or display an error message
if (!xmlhttp)

alert("Error creating the XMLHttpRequest object.");
else

return xmlhttp;
}

//
function loadPlayers(element,fragment_url) {

tr_element_id = element.id+"_tr";

//alert(tr_element_id);
//alert(element.value);
tr_element = document.getElementById(tr_element_id);
if (element.value == '-') {
	tr_element.innerHTML="";
	element.value = '+'
}else{
	element.value = '-';
	
	
	
	xmlhttp.open("GET", fragment_url);

	xmlhttp.onreadystatechange = function() {
	
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	
	tr_element.innerHTML = xmlhttp.responseText;
	
	}else{
	
	}
	
	}
	
	xmlhttp.send(null);
	
	} 
	
	
	
	
	
	
	//xmlhttp.send(null);

}
//
function pressButton(id,fragment_url) {
	tr_element = document.getElementById('future_event_td'+id);
	//alert(fragment_url);
	xmlhttp.open("GET", fragment_url);
	xmlhttp.onreadystatechange = function() {
		
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			
			tr_element.style.display="";
			tr_element.innerHTML = xmlhttp.responseText;
			
		}else{
			
		}
		
	}
		
		xmlhttp.send(null);

}
//
//
function pressMyButton(element,fragment_url) {
	tr_element = document.getElementById(element);
	//alert(fragment_url);
	xmlhttp.open("GET", fragment_url);
	xmlhttp.onreadystatechange = function() {
		
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			
			tr_element.style.display="";
			tr_element.innerHTML = xmlhttp.responseText;
			
		}else{
			
		}
		
	}
		
		xmlhttp.send(null);
	
	return false;
}
//
function editResearch(element,fragment_url) {
	tr_element = document.getElementById(element);
	//alert(fragment_url);
	xmlhttp.open("GET", fragment_url);
	xmlhttp.onreadystatechange = function() {
		
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			
			tr_element.style.display="";
			tr_element.innerHTML = xmlhttp.responseText;
			
		}else{
			
		}
		
	}
		
		xmlhttp.send(null);

}

//
function saveResearchA(element,fragment_url,ri_id) {
	tr_element = document.getElementById(element);
	answer_id = ri_id+'_a';
	answer_el = document.getElementById(answer_id);
	if (answer_el.value == '') {
		alert('Please enter an answer');
		return false;
	}
	//
	impact_id = ri_id+'_impact';
	impact_el = document.getElementById(impact_id);
	if (impact_el.value == '') {
		alert('Please select an impact');
		return false;
	}
	//
	difference_id = ri_id+'_difference';
	difference_el = document.getElementById(difference_id);
	if (difference_id.value == '') {
		alert('Please select a difference');
		return false;
	}
	//
	answer_tr = ri_id+'_atr';
	answer_tr_el = document.getElementById(answer_tr);
	answer_tr_el.style.display='none';
	//
	fragment_url=fragment_url+'&answer='+answer_el.value+'&difference='+difference_el.value+'&impact='+impact_el.value;
	//
	xmlhttp.open("GET", fragment_url);
	xmlhttp.onreadystatechange = function() {
		
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			
			tr_element.innerHTML = xmlhttp.responseText;
			
		}else{
			
		}
		
	}
		
		xmlhttp.send(null);

}
//
function saveResearchQ(element,fragment_url,ri_id) {
	tr_element = document.getElementById(element);
	question_id = ri_id+'_q';
	question_el = document.getElementById(question_id);
	if (question_el.value == '') {
		alert('Please enter a question');
		return false;
	}
	//
	question_tr = ri_id+'_qtr';
	question_tr_el = document.getElementById(question_tr);
	question_tr_el.style.display='none';
	//
	fragment_url=fragment_url+'&question='+question_el.value;
	//
	xmlhttp.open("GET", fragment_url);
	xmlhttp.onreadystatechange = function() {
		
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			
			tr_element.innerHTML = xmlhttp.responseText;
			
		}else{
			
		}
		
	}
		
		xmlhttp.send(null);

}
//
function addResearch(element,fragment_url) {
	td_element = document.getElementById(element);
	xmlhttp.open("GET", fragment_url);
	xmlhttp.onreadystatechange = function() {
		
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			
			td_element.innerHTML = xmlhttp.responseText;
			
		}else{
			
		}
		
	}
		
		xmlhttp.send(null);

}
//
function delResearch(element,fragment_url) {
	td_element = document.getElementById(element);
	xmlhttp.open("GET", fragment_url);
	xmlhttp.onreadystatechange = function() {
		
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			
			td_element.innerHTML = xmlhttp.responseText;
			
		}else{
			
		}
		
	}
		
		xmlhttp.send(null);

}
//
function saveNewResearch (element,fragment_url,tense) {
	td_element = document.getElementById(element);
	question_el = document.getElementById('new_question');
	answer_el = document.getElementById('new_answer');
	error_state = false;
	if (answer_el.value=='' || question_el.value=='') {
		error_state=true;
	}
	new_impact_el = document.getElementById('new_impact');
	index = new_impact_el.selectedIndex;
 	selected_option_value = new_impact_el.options[index].value;
	if (selected_option_value == 'select') {
		error_state=true;
	}
	//alert(tense);
	if (tense !='past') {
		new_difference_el = document.getElementById('new_difference');
		diff_index = new_difference_el.selectedIndex;
		diff_selected_option_value = new_difference_el.options[diff_index].value;
		
	}
	
	
	if (error_state) {
		alert ('please fill in both fields and select an impact for the question');
		return false;
	}
	answer_value = urlencode(answer_el.value); 
	question_value = urlencode(question_el.value); 
	fragment_url = fragment_url+'&question='+question_value+'&answer='+answer_value+'&impact='+selected_option_value;
	if (tense !='past') {
		fragment_url = fragment_url+'&difference='+diff_selected_option_value;
	}
	xmlhttp.open("GET", fragment_url);
	xmlhttp.onreadystatechange = function() {
		
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			
			td_element.innerHTML = xmlhttp.responseText;
			
		}else{
			
		}
		
	}
		
		xmlhttp.send(null);

}
//
//
function urlencode(str) {
return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}
//
//
function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = '0123456789.-';
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

//

function loadPastResearchEvent(theURL){
	
	//alert(theURL);
	error_state = false;
	at_least_one = false;
	num_competitors_el = document.getElementById('num_competitors');
	num_competitors_value = num_competitors_el.value;
	for (i=0;i< num_competitors_value;i=i+1)
	{
		result_el = document.getElementById('event_result'+i);
		if (result_el.checked == true) {
			at_least_one = true;	
		}
		//alert(result_el.checked);
		competitor_el = document.getElementById('competitor_name'+i);
		if (competitor_el.value == "") {
			error_state = true;	
		}
		
	}
	if (!at_least_one) {
		error_state = true;	
	}
	event_name_el = document.getElementById('event_name');
	event_name_el_value = event_name_el.value;
	if (event_name_el_value == "") {
		error_state = true;		
	}
	
	date_el = document.getElementById('event_date');
	date_el_value = date_el.value;
	date_array = date_el_value.split('-');
	date_string = date_array.join(',');
	//alert(date_string);
	ed = new Date(date_string);
	//alert(ed);
	td = new Date();
	//alert(td);
	edmilli = ed.getTime();
	tdmilli = td.getTime();
	//alert(edmilli);
	//alert(tdmilli);
	if (edmilli >= tdmilli) {
		alert('the event must be in the past');
		return false;
	}
	if (error_state) {
		alert('please fill in all fields');
		return false;
	}
	document.choose_past_event.submit();
	return true;
	if (theURL != ""){
		
		location.href = theURL ;
	}
}
//
function loadCompetitorForm(fragment_url,element) {

if (element='dummy') {
	element=document.getElementById('num_competitors');
}
tr_element_id = 'load_competitor_form_tr';
tr_element = document.getElementById(tr_element_id);
if (element.value == '' || !IsNumeric(element.value)) {
	alert('Please enter a number for the competitors in the event. Do not include your competitor');
	return;
}else{
	fragment_url = fragment_url+'&num_competitors='+element.value;
	
	
	xmlhttp.open("GET", fragment_url);
	
	xmlhttp.onreadystatechange = function() {
	
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	
	tr_element.innerHTML = xmlhttp.responseText;
	
	}else{
	
	}
	
	}
	
	xmlhttp.send(null);
}
}
//
function loadClosedGames(element,fragment_url) {


tr_element = document.getElementById(element);

	
	
	xmlhttp.open("GET", fragment_url);
	
	xmlhttp.onreadystatechange = function() {
	
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	
	tr_element.innerHTML = xmlhttp.responseText;
	
	}else{
	
	}
	
	}
	
	xmlhttp.send(null);
}

//
function loadEvents(element,fragment_url) {

tr_element_id = element.id+"_tr";
tr_element = document.getElementById(tr_element_id);
if (element.value == '-') {
	tr_element.innerHTML="";
	element.value = '+'
}else{
	element.value = '-';
	
	
	xmlhttp.open("GET", fragment_url);
	
	xmlhttp.onreadystatechange = function() {
	
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	
	tr_element.innerHTML = xmlhttp.responseText;
	
	}else{
	
	}
	
	}
	
	xmlhttp.send(null);
}
}
//
function isValidEmail(str) {

   return (str.indexOf('.') > 2) && (str.indexOf('@') > 0);
 


}
//
function inviteUser(element,fragment_url,cid) {
if (element.id == 'email_invite_button') {
	email_element = document.getElementById('email_invite_'+cid);
	email_value = email_element.value;
	if (!isValidEmail(email_value)) {
		alert('Please enter a valid email'+email_value);
		return;
	}
	name_el = document.getElementById('email_name_'+cid);
	name_val = name_el.value;
	if (name_val == "enter name" || name_val == "") {
		alert('Please enter your friends name');
		return;
	}
	fragment_url = fragment_url+'&email='+email_value+'&name='+name_val;
	//alert('an invitation has been sent to '+email_value);
	email_element.value = 'enter email address';
	name_el.value = 'enter name'
	td_element = document.getElementById('email_response_td_'+cid);
}else{
	//alert('an invitation has been sent to this player');
	td_element_id = element.id+"_td";
	td_element = document.getElementById(td_element_id);
	//td_element.innerHTML = 'pending';
}



//alert(fragment_url);
xmlhttp.open("GET", fragment_url);
xmlhttp.onreadystatechange = function() {
	
	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	
	td_element.innerHTML = xmlhttp.responseText;
	
	}else{
	
	}
	
	}
	
	xmlhttp.send(null);
	
	
	
}
//
function toggle_suggestions(element) {
	tr_element_id = element.id+"_tr";
	tr_element = document.getElementById(tr_element_id);
	if (tr_element.style.display=='none') {
		tr_element.style.display='';
		element.value = 'suggestions -';
	}else{
		tr_element.style.display='none';
		element.value = 'suggestions +';
	}
}
//
function show_past_event_form_fn() {
	tr_element_id = 'past_event_form_tr';
	tr_element = document.getElementById(tr_element_id);
	if (tr_element.style.display=='none') {
		tr_element.style.display='';
		
	}else{
		tr_element.style.display='none';
		
	}
}
function confirmSaveEvent(theURL) {
	if (confirm("Are you sure ? A saved event cannot be edited further")) {
         document.location = theURL;
	}
}
function loadGame(theURL){
	
	if (theURL != ""){
		location.href = theURL ;
	}
}
//
function clickclear(thisfield, defaulttext) {
if (thisfield.value == defaulttext) {
thisfield.value = "";
}
}
function clickrecall(thisfield, defaulttext) {
if (thisfield.value == "") {
thisfield.value = defaulttext;
}
}
