// Russell Thompson
// Project: AJAX Request
// Page: JavaScript Code for XMLHttpRequest
// copyright 2009 Russ Thompson & Freelance I.T. Solutions
// DO NOT CHANGE ANY CODE IN THIS FILE - you are free to copy and reuse this code in your own projects
// russATfreelanceitsolutionsDOTcom

// 'global' variables
var popupContent = new Array();

// fill the popupContent array
popupContent[0] = "<div id=\"sizeDiv\" name=\"sizeDiv\" style=\"width: 233px; height: 125px; border: 1px #000000 solid; padding: 3px;\"><form id=\"addSport\" name=\"addSport\" action=\"saveSport.php\" method=\"get\">\n<span style=\"float: right;\"><a href=\"javascript: hideModal();\">Close X</a></span><br />\n<br />\nEnter New Sport:<br />\n<input type=\"text\" id=\"sportName\" name=\"sportName\" class=\"textFieldTwo\" style=\"width: 225px;\" onfocus=\"javascript: this.style.background='#FFFFFF';\" onblur=\"javascript: this.style.background='#EEEEEE';\" /><br />\n<br />\n<center>\n<input type=\"button\" id=\"sportSaveBtn\" name=\"sportSaveBtn\" value=\"Save\" class=\"generalBtn\" onclick=\"javascript: ddSave('saveSport');\" /><br />\n</center>\n<br />\n<span style=\"float: right;\">[ <a href=\"javascript: hideModal();\">Cancel</a> ]</span>\n</form></div>";
popupContent[1] = "<div id=\"sizeDiv\" name=\"sizeDiv\" style=\"width: 233px; height: 125px; border: 1px #000000 solid; padding: 3px;\"><form id=\"addLocation\" name=\"addLocation\" action=\"saveLocation.php\" method=\"get\">\n<span style=\"float: right;\"><a href=\"javascript: hideModal();\">Close X</a></span><br />\n<br />\nEnter New Location:<br />\n<input type=\"text\" id=\"locationName\" name=\"locationName\" class=\"textFieldTwo\" style=\"width: 225px;\" onfocus=\"javascript: this.style.backgroun='#FFFFFF';\" onblur=\"javascript: this.style.background='#EEEEEE';\" /><br />\n<br />\n<center><input type=\"button\" id=\"locationSaveBtn\" name=\"locationSaveBtn\" value=\"Save\" class=\"generalBtn\" onclick=\"javascript: ddSave('saveLocation');\" /><br />\n</center>\n<br />\n<span style=\"float: right;\">[ <a href=\"javascript: hideModal();\">Cancel</a> ]</span>\n</form></div>";


// AJAX function(s)

// runajax function
function runajax(objId, serverPage, post_get)
{
	// check for a valid IE instance
	var xmlhttp = false;
	
	// using IE?
	try
	{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e)
	{
		// check for older versions of IE
		try
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E)
		{
			// using a non-Microshit browser
			xmlhttp = false;
		}
	}
	
	// if not using IE, create an instand of the object
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
	{
		xmlhttp = new XMLHttpRequest();
	}
	
	// decide to do POST or GET
	if (post_get)
	{
		// since this is added late, and only for GET instances, post_get should always = get
		var obj = document.getElementById(objId);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function()
		{
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
			{
				obj.innerHTML = xmlhttp.responseText;
			}
		}
		
		xmlhttp.send(null);
	}
	else
	{
	
		// extract the server page and the variable strings from 'serverPage' to be send using POST
		var findChar = "?";
		var indexSpot = serverPage.indexOf(findChar);
		var pageString = serverPage.substring(0, indexSpot);
		// for testing -> alert("pageSting = " + pageString + ".");
		var varString = serverPage.substring(indexSpot+1);
		// for testing -> alert("varString = " + varString + ".");
		var obj = document.getElementById(objId);
		xmlhttp.open("POST", pageString, true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlhttp.onreadystatechange = function()
		{
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
			{
				obj.innerHTML = xmlhttp.responseText;
			}
		}
		
		xmlhttp.send(varString);
	} // end if-else 
}  // end runajax function

// function to prepare the serverPage string for AJAX
function prepAJAX(theSwitch, theForm, theObj, special)
{
	switch (theSwitch)
	{
		case "saveSport":
			var getSport = document.getElementById("sportName").value;
			var sendPage = "../pages/ddItemSave.php?action=saveSport&saveThis=" + getSport;
			
			document.getElementById("modalLayer").innerHTML = "<div id=\"sizeDiv\" name=\"sizeDiv\" style=\"width: 233px; height: 125px; border: 1px #000000 solid; padding: 3px;\">\n<span style=\"float: right;\"><a href=\"javascript: hideModal();\">Close X</a></span><br />\n<br />\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saving...<br />\n<br />\n<br />\n</div>";
						
			runajax(theObj, sendPage, 'get');
		break;
				
		case "firstSynch":
			// first I want to center the progress animation in the main_display div
			var progressSuccess = placeProgressImage(theObj);
			
			if (!progressSuccess)
			{
				// if the progress animation did not work for some reason, just give a static 'loading...' message
				var divContent = "<br /><font class=\"page_title\">Promo Page Application</font><br /><hr /><br /><br /><br />Synchronizing Files...<br /><br /><br />";
			}
			
			var sendPage = "promoPage_insert.php?use=synchToStart";
			
			runajax(theObj, sendPage, 'get');
		break;
	} // end switch
	
	// for testing
	// alert("The URL = " + sendPage + ".");
	// end testing
	
} // end prepAJAX function

// function to place the progress animation
function placeProgressImage(theObject)
{
	// get the height and width of the div the progress animation is going into
	var divWidth = document.getElementById(theObject).style.width;
	var divHeight = document.getElementById(theObject).style.height;
	
	// the image is 32x32 px
	var progressLeft = (divWidth / 2) - (32 / 2);
	var progressTop = (divHeight / 2) - (32 / 2);
	
	document.getElementById(theObject).innerHTML = "<br /><font class=\"page_title\">Promo Page Application - Synch Process</font><br /><hr /><br /><br /><br /><img src=\"../images/progress.gif\" id=\"progressIcon\" name=\"progressIcon\" alt=\"Synching Files...\" class=\"progressImage\" /><br />";
	// document.getElementById('progressIcon').style.top = progressTop + "px";
	// document.getElementById('progressIcon').style.left = progressLeft + "px";
	document.getElementById('progressIcon').style.visibility = "visible";
	
	return true;
} // end placeProgressImage function
