
/* AJAX Chained Select Boxes
	- LotsOfCode.com
************************************/

var theURL = siteURL + '/ajax.php?guid=h4x0r';
var thisRequestObject;
var selectType = null;

function initiateRequest()
{
  if (window.XMLHttpRequest)
     return new XMLHttpRequest();
  elseif (window.ActiveXObject)
     return new ActiveXObject("Microsoft.XMLHTTP");
}

function processRequest()
{
	switch (selectType) {
		case 'regions':
			callbackFunction = setRegions;
			break;
		case 'cities':
			callbackFunction = setCities;
			break;
		case 'regions2':
			callbackFunction = setRegionsAdmin;
			break;
		case 'cities2':
			callbackFunction = setCitiesAdmin;
			break;
	}
	
  if (thisRequestObject.readyState == 4) {
     if (thisRequestObject.status == 200) {
				if (thisRequestObject.responseText != '-1') {
          if (callbackFunction) {
          	callbackFunction(thisRequestObject);
          }
        } else {
					alert("h4x0rs b3w4r3!");
				}
     } else {
     	alert("There was an error: (" + thisRequestObject.status + ") " + thisRequestObject.statusText);
    }
  }
}

function getRegions(sel, whatResult)
{
	originalSelectType = 'regions';
	if (whatResult) selectType = whatResult; else selectType = originalSelectType;
	var regionID = sel.options[sel.selectedIndex].value;
	document.getElementById(selectType).options.length = 0;
	theURL += "&id=" + regionID + "&t=" + originalSelectType;
	thisRequestObject = new initiateRequest();
	if (regionID.length > 0) {
		var sendString = '';
		thisRequestObject.open("POST", theURL, true);
		thisRequestObject.onreadystatechange = processRequest;
		thisRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		thisRequestObject.send(sendString);
	}
}

function setRegions(ajaxObject)
{
	var obj = document.getElementById('regions');
	eval(ajaxObject.responseText);
	
	getCities(document.getElementById('cities'), 'cities');
}

function setRegionsAdmin(ajaxObject)
{
	var obj = document.getElementById('regions2');
	eval(ajaxObject.responseText);
	
	getCities(document.getElementById('cities2'), 'cities2');
}

function getCities(sel, whatResult)
{
	originalSelectType = 'cities';
	if (whatResult) selectType = whatResult; else selectType = originalSelectType;
	var cityID = sel.options[sel.selectedIndex].value;
	document.getElementById(selectType).options.length = 0;
	theURL += "&id=" + cityID + "&t=" + originalSelectType;
	thisRequestObject = new initiateRequest();
	if (cityID.length > 0) {
		var sendString = '';
		thisRequestObject.open("POST", theURL, true);
		thisRequestObject.onreadystatechange = processRequest;
		thisRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		thisRequestObject.send(sendString);
	}
}

function setCities(ajaxObject)
{
	var obj = document.getElementById('cities');
	eval(ajaxObject.responseText);
}

function setCitiesAdmin(ajaxObject)
{
	var obj = document.getElementById('cities2');
	eval(ajaxObject.responseText);
}
