var ARRUP = 38;
var ARRDN = 40;
var f=0;
var realstr;
var insidef;
var c = 0;

function systemMsgView(id) {

	var xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 

	var url = "/ajax.php?id="+id;
	url+= "&cmd=systemMsgView";
	url+= "&sid="+Math.random();
	
	xmlHttp.open("GET",url,false);
	xmlHttp.send(null);
	
}

function checkCaptcha(val) 
{

	var xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 

	var url = "/ajax.php?q="+val;
	url+= "&cmd=checkCaptcha";
	url+= "&sid="+Math.random();
	
	xmlHttp.open("GET",url,false);
	xmlHttp.send(null);
	
	if (xmlHttp.responseText == "true")
		return true;
	else
		return false;
				
}

function newCaptcha(id) 
{

	var xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 

	var url = "/verify_image.php?ajax=1&tpDir="+_tpDir;
	url = url+"&sid="+Math.random();

	var img = document.getElementById('captchaImg');
	
	xmlHttp.onreadystatechange = function() {
	
		if (xmlHttp.readyState==4) {
			
			c++;
			img.src = 'image.jpg?'+c;
			
		}
	}

	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
	return true;
	
}

function mwChallengeAjax()
{
  
	var xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 

	var TeamID = document.getElementById("WarTeamID").value;
	var LadderID = document.getElementById("WarLadderID").value;
	var OpponentID = document.getElementById("WarOpponentID").value;
	
	var url="/miniwar/ajax.php?cmd=challenge";
	url=url+"&sid="+Math.random();
	
	if (TeamID)
		url+="&TeamID="+TeamID;
	if (LadderID)
		url+="&LadderID="+LadderID;
	if (OpponentID)
		url+="&OpponentID="+OpponentID;
	
	xmlHttp.onreadystatechange = function() {
	
		if (xmlHttp.readyState==4) {

			document.getElementById("WarTeamID").innerHTML = "";
			document.getElementById("WarLadderID").innerHTML = "";
			document.getElementById("WarOpponentID").innerHTML = "";
			
			var xmlDoc = xmlHttp.responseXML;
			var selected = false;
			
			var Team = xmlDoc.getElementsByTagName("Team");
			var TeamSel = xmlDoc.getElementsByTagName("Team")[0].getAttribute("value");
			for (var i = 0; i < Team[0].childNodes.length; ++i) {
			
				if (TeamSel == Team[0].childNodes[i].getAttribute("value"))
					selected = true;
				else
					selected = false;
					
				addOption("WarTeamID", Team[0].childNodes[i].firstChild.nodeValue, Team[0].childNodes[i].getAttribute("value"), selected);
			}
			
			var Ladder = xmlDoc.getElementsByTagName("Ladder");
			var LadderSel = xmlDoc.getElementsByTagName("Ladder")[0].getAttribute("value");
			for (var i = 0; i < Ladder[0].childNodes.length; ++i) {
			
				if (LadderSel == Ladder[0].childNodes[i].getAttribute("value"))
					selected = true;
				else
					selected = false;
					
				addOption("WarLadderID", Ladder[0].childNodes[i].firstChild.nodeValue, Ladder[0].childNodes[i].getAttribute("value"), selected);
			}
				
			var Opponent = xmlDoc.getElementsByTagName("Opponent");
			var OpponentSel = xmlDoc.getElementsByTagName("Opponent")[0].getAttribute("value");
			for (var i = 0; i < Opponent[0].childNodes.length; ++i) {
			
				if (OpponentSel == Opponent[0].childNodes[i].getAttribute("value"))
					selected = true;
				else
					selected = false;
					
				addOption("WarOpponentID", Opponent[0].childNodes[i].firstChild.nodeValue, Opponent[0].childNodes[i].getAttribute("value"), selected);
			}
		}
	
	};
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
} 

function showHint(str, cmd, evt, tid)
{
	if (str.length==0)
	{ 
		document.getElementById("hint").innerHTML="";
		return;
	}
  
	var xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 
	
	var key = (window.event) ? window.event.keyCode : evt.keyCode;
	var allhints = document.getElementsByName("suggestions");
	var suggestions = allhints.length;
	if (suggestions<1) {
		suggestions = 7;
	}
	
	if (key == ARRDN) {
	
		if (document.getElementById("hint-"+f))
			document.getElementById("hint-"+f).className = "hint_normal";
		f++;
		if (document.getElementById("hint-"+f)) {
			document.getElementById("hint-"+f).className = "hint_active";
			document.getElementById(tid).value = document.getElementById("hint-"+f).innerHTML;
		}
		else if (document.getElementById("hint-1")) {
			f = 1;
			document.getElementById("hint-1").className = "hint_active";
			document.getElementById(tid).value = document.getElementById("hint-1").innerHTML;
		}

		return;
		
	}
	else if (key == ARRUP) {
	
		if (document.getElementById("hint-"+f))
			document.getElementById("hint-"+f).className = "hint_normal";
		f--;
		if (f > 0) {
			document.getElementById("hint-"+f).className = "hint_active";
			document.getElementById(tid).value = document.getElementById("hint-"+f).innerHTML;
		}
		else {
			f = suggestions;
			for (var i=0; i<7 && !document.getElementById("hint-"+f); i++) {
				f--;
			}
			if (document.getElementById("hint-"+f)) {
				document.getElementById("hint-"+f).className = "hint_active";
				document.getElementById(tid).value = document.getElementById("hint-"+f).innerHTML;
			}
		}
		
		return;
		
	}
	else
		f=0;
	
	var url="/ajax.php?cmd="+cmd;	
	url=url+"&q="+str;
	url=url+"&id="+tid;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange= function() {
		if (xmlHttp.readyState==4) {
			document.getElementById("hint").innerHTML=xmlHttp.responseText;
		}		
	};
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
}

function transfer(from, to, value) {
	document.getElementById(to).value = value;
	document.getElementById(from).innerHTML = '';
	document.getElementById(to).focus();
	return;
}

function addOption(sel, text, value, selected)
{
	var elOptNew = document.createElement('option');
	elOptNew.text = text;
	elOptNew.value = value;
	if (selected)
		elOptNew.selected = true;
	var elSel = document.getElementById(sel);

	try {
		elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
	}
	catch(ex) {
		elSel.add(elOptNew); // IE only
	}
}


function multipleAjax(active, id) {

	if (active == 1) {
		AjaxGet("Gametype", "WarGameID", "WarGametypeID", "1")
	}
	else {
		AjaxGet("GametypeIn", "WarGameID", "WarGametypeID", "1")
	}
	
	setTimeout('AjaxGet("Map", "WarGameID'+id+'", "WarMapA'+id+'", "1")', 10);
	setTimeout('AjaxGet("Map", "WarGameID'+id+'", "WarMapB'+id+'", "1")', 20);
	setTimeout('AjaxGet("Map", "WarGameID'+id+'", "WarMapC'+id+'", "1")', 30);
	setTimeout('AjaxGet("Map", "WarGameID'+id+'", "WarMapD'+id+'", "1")', 40);
	setTimeout('AjaxGet("Map", "WarGameID'+id+'", "WarMapE'+id+'", "1")', 50);

}

function AjaxServer(cmd, ip, port, eid) {

	var xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 

	var url="/ajax.php?id="+ip;
	url=url+"&ida="+port;
	url=url+"&cmd="+cmd;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange = function() {
	
		if (xmlHttp.readyState==4) {
		
			document.getElementById(eid).innerHTML=xmlHttp.responseText;
		}
	
	};
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function AjaxGet(cmd, tid, eid, opt)
{
  
	var xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	} 

	var id = document.getElementById(tid).value;
	
	if (!opt)
		var url="ajax.php?id="+id;
	else 
		var url="ajaxml.php?id="+id;

	url=url+"&cmd="+cmd;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange = function() {
	
		if (xmlHttp.readyState==4) {
		
			if (!opt)
				document.getElementById(eid).innerHTML=xmlHttp.responseText;
			else {
				document.getElementById(eid).innerHTML = "";
				var xmlDoc = xmlHttp.responseXML;
				var Options = xmlDoc.getElementsByTagName("option");
				for (var i = 0; i < Options.length; ++i) {
				
					addOption(eid, Options[i].firstChild.nodeValue, Options[i].getAttribute("value"));
					
				}
			}
		}
	
	};
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
} 

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try  // Firefox, Opera 8.0+, Safari
	{		
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) // Internet Explorer 6.0+
	{  
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		// 5.5+
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	return xmlHttp;
}
