


var editKey;
var updateToken;
var updateCourseId;
var lat9th=0.0;
var lon9th=0.0;

function talktoServer(data){
	var req = newXMLHttpRequest();
	//register the callback handler function
  	var callbackHandler = getReadyStateHandler(req, test);
  	req.onreadystatechange = callbackHandler;
  	req.open("POST", "postCourseAjax.php", true);
  	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  	//get the value from the text input element and send it to server
        var courseName=escape(document.forms["theForm"].course_name.value);
        var courseCity=escape(document.forms["theForm"].course_city.value);
        var courseState=escape(document.forms["theForm"].course_state.value);
        var coursePhone=escape(document.forms["theForm"].course_phone.value);
        var coursePubpriv=escape(document.forms["theForm"].course_pubpriv.value);
        var courseStreet=escape(document.forms["theForm"].course_street.value);
        var courseCreated=escape(document.forms["theForm"].created_by.value);
        var courseInfo="";
        if(document.forms["theForm"].course_info) {
        	courseInfo=escape(document.forms["theForm"].course_info.value);
        }

        if(lat9th==0.000) {
        	lat9th=null;
        }
        
        if(lon9th==0.000) {
        	lon9th=null;
        }


  	req.send("course_name="+courseName+"&course_street="+courseStreet+"&course_city="+courseCity+"&course_state="+courseState+"&course_phone="+coursePhone+"&course_pubpriv="+coursePubpriv+"&created_by="+courseCreated+"&course_data="+escape(data)+"&update_course_id="+updateCourseId+"&update_token="+updateToken+"&totalHoles="+totalHoles+"&mappedHoles="+mappedHoles+"&editKey="+editKey+"&lat9th="+lat9th+"&lon9th="+lon9th+"&course_info="+courseInfo);
}


function test(testXML) {
	var dte=new Date();
	var start=testXML.indexOf("|");	
	if(testXML.indexOf("Success")>=0) {
		if(start>=0) { //it was an insert
			document.getElementById("results").innerHTML="<p style='color:#006600' class='smallertext'><b>Success!! Posted at "+dte.getHours()+":"+dte.getMinutes()+":"+dte.getSeconds()+"</b></p>";
		} else { //it was an update
		   document.getElementById("results").innerHTML="<p style='color:#006600' class='smallertext'><b>Success!! Updated at "+dte.getHours()+":"+dte.getMinutes()+":"+dte.getSeconds()+"</b></p>";
		}
		if(mappedHoles<totalHoles) {
			document.getElementById("results").innerHTML+="<p class='smallertext'><b>Keep Going-&gt;You mapped "+mappedHoles+" out of "+totalHoles+" so far. You only need to Click 'All Mapping Complete' at the end.</b></p>";
		} else {
			document.getElementById("results").innerHTML+="<p style='color:#006600' class='smallertext'><b>Completed! Your course can now be downloaded to the SkyDroid App !!</b></p>";
		}
		if(start>=0) { //was an insert so get the tokens
			var end=testXML.indexOf("|",start+1);
			if(end>=start+1) {
				updateToken=testXML.substring(start+1,end);
				updateCourseId=testXML.substring(end+1);
			}
		} 
	} else {
		document.getElementById("results").innerHTML="Error. There was a problem submitting your course data. We will have someone investigate. Try clicking the 'All Mapping Complete' button again. Server response was:"+testXML;	
	}
}


//the following two functions are helper infrastructure to 
//craete a XMLHTTPRequest and register a listner callback function

function newXMLHttpRequest() {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
    		// Try ActiveX
		try { 
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) { 
			// first method failed 
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				 // both methods failed 
			} 
		}
 	}
   	return xmlreq;
} 

function getReadyStateHandler(req, responseXmlHandler) {
	return function () {
	if (req.readyState == 4) {
		if (req.status == 200) {
        		responseXmlHandler(req.responseText);
		} else {
			var hellomsg = document.getElementById("hellomsg");
			hellomsg.innerHTML = "ERROR: "+ req.status;
      		}
    	}
 	}
}



