//-------------------------------------------------------------------------------------
// Julian Perez, 2009
//-------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------
// Returns the object that AJAX communicates client and server 
//-------------------------------------------------------------------------------------

var ajaxObject;

function GetAjaxObject()
{
	if (window.ActiveXObject)
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	alert("Your browser does not support AJAX.");
	return null;
}

//-------------------------------------------------------------------------------------
// Sends Ajax requests
//-------------------------------------------------------------------------------------

function IPLocation(ip) 
{
	ajaxObject = GetAjaxObject();
	if (ajaxObject != null) 
	{
		ajaxObject.open("GET", "AjaxRequester.php?IP="+ip, true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = IPAnswer;
	}
}

function ToUpperLower() 
{
	ajaxObject = GetAjaxObject();
	if (ajaxObject != null) 
	{
		name =document.getElementById("fullname").value;
		city = document.getElementById("city").value;
		region = document.getElementById("myregion").value;
		ajaxObject.open("GET", "AjaxRequester.php?UPPER="+name+","+region+","+city, true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = UpperLowerAnswer;
	}
}

//-------------------------------------------------------------------------------------
// Receives Ajax answers
//-------------------------------------------------------------------------------------

function IPAnswer()
{
	if(ajaxObject.readyState == 4)
	{
		document.getElementById("ipdata").innerHTML= ajaxObject.responseText;
	}
}

function UpperLowerAnswer()
{
	if(ajaxObject.readyState == 4)
	{
		parts=ajaxObject.responseText.split(",");
		document.getElementById("fullname").value=parts[0];
		document.getElementById("myregion").value=parts[1];
		document.getElementById("city").value=parts[2];
	}
}

//-------------------------------------------------------------------------------------
// Changes the country flag shown when the selected country changes
//-------------------------------------------------------------------------------------

function changeFlag() 
{
	var name = document.userdata.country.options[document.userdata.country.selectedIndex].value;
	document.getElementById("flagimg").src = "flags/f_" + name + ".gif";;
}

//-------------------------------------------------------------------------------------
// Submit (appends the data in the parameters)
//-------------------------------------------------------------------------------------

function AppendData()
{
  for(var i=0; i<arguments.length; i+=2)
  {
    var myInput = document.createElement("input") ;
    myInput.setAttribute("name", arguments[i]) ;
    myInput.setAttribute("value", arguments[i+1]);
    document.userdata.appendChild(myInput) ;
  }
  document.userdata.submit() ;
}

//-------------------------------------------------------------------------------------
// ubmit (appends the data in the parameters. First parameter is the destination URL)
//-------------------------------------------------------------------------------------

function SubmitTo()
{
  for(var i=1; i<arguments.length; i+=2)
  {
    var myInput = document.createElement("input") ;
    myInput.setAttribute("name", arguments[i]) ;
    myInput.setAttribute("value", arguments[i+1]);
    document.userdata.appendChild(myInput) ;
  }
	document.userdata.action = arguments[0];
	document.userdata.submit() ;
}


