//MSJ CONSULTANCY JAVASCRIPT FOR SERVER SIDE 

function createRequest() {
	var request = null;

	try {
		request = new XMLHttpRequest();
	} catch(trymicrosoft){
		try{
			request = new ActiveXObject("Msxm12.XMLHTTP");
		}catch(othermicrosoft){
			try{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(failed){
				request = null;
			}
		}
	}
	if (request==null){
		alert("Error creating request object!");
	}
	else{
		return request;
	}
}

var request = createRequest();


function collectGuestInfo(task){
//Grab all the data from the form

var sel = document.getElementById("guesttitle");

var title = sel.options[sel.selectedIndex].value;
//alert("calling server side");

var firstName = document.getElementById("firstname").value;
var lastName = document.getElementById("lastname").value;
var guestEmail = document.getElementById('guestemail').value;
var guestPhone = document.getElementById('guestphone').value;
var guestOrg = document.getElementById('guestorg').value;

//One for the future - Parse first and last names to capitalise first letters
//plenty of banana skins tho, hyphens, apostrophes and mc's and van's etc
//not worth it, let user enter their names properly.
//can edit later, manually, if further correspondence occurs



var sgChoice;
var regChoice;
var upChoice;

if(document.getElementById('sgyes').checked == true)
{
sgChoice = "Yes";
}
else if(document.getElementById('sgno').checked == true)
{
sgChoice = "No";
}
else if(document.getElementById('sgmaybe').checked == true)
{
sgChoice = "Maybe";
}


if(document.getElementById('regyes').checked == true)
{
regChoice = "Yes";
}
else if(document.getElementById('regno').checked == true)
{
regChoice = "No";
}

if(document.getElementById('upyes').checked == true)
{
upChoice = "Yes";
}
else if(document.getElementById('upno').checked == true)
{
upChoice = "No";
}

//alert("Name is " + title);
//alert("Name is " + title + ". " + firstName + " " + lastName);

//alert("Name is " + title + ". " + firstName + " " + lastName + "\n Email: " + guestEmail + "\n Phone: " + guestPhone);
//alert("Email: " + guestEmail + "\n\n Name: " + title + ". " + firstName + " " + lastName + "\n Phone: " + guestPhone + //"\n Organisation: " + guestOrg + "\n Steer Group: " + sgChoice + "\n  Seminar: " + regChoice + "\n Newsletters: " + //upChoice);

//create url for request
var urlApp = "gtitle=" + title + "&fname=" + firstName + "&lname=" + lastName + "&gmail=" + guestEmail + "&gphone=" + guestPhone + "&gorg=" + guestOrg + "&sgchoice=" + sgChoice + "&regchoice=" + regChoice + "&upchoice=" + upChoice;

if(task == "confirm"){requestCheck(urlApp)};
if(task == "send"){requestConfirmation(urlApp)};

}



function requestCheck(urlApp){
	//alert("checking details");
	//sends all info to php ajax script which then actually creates and sends emails
	var url = "msj-email-ajax.php?task=confirm&" + urlApp;
	request.open("GET", url, true);
	request.onreadystatechange = confirmDetails;
	request.send(null);

}
function confirmDetails(){
//alert(request.readyState);
//alert(request.status);

if(request.readyState==4)
{
	if(request.status==200)

	{
		//alert("conf recieved");

		res = request.responseText;

		if(confirm(res))	
		{
			collectGuestInfo("send");
		}

		//if cancel, alert closes and user can amend details or just leave it.


	}
}

}

function requestConfirmation(urlApp){
	//alert("request to send made");
	//sends all info to php ajax script which then actually creates and sends emails
	var url = "msj-email-ajax.php?task=send&" + urlApp;
	request.open("GET", url, true);
	request.onreadystatechange = confirmReg;
	request.send(null);

}

function confirmReg(){
//alert(request.readyState);
//alert(request.status);

if(request.readyState==4)
{
	if(request.status==200)

	{
	//alert("confirming registration by email");
	//Confirm registration with message in form, clear the form, or return to default text and colours.
	var confMessage = request.responseText;
	
	//remove previous message, just in case
	//Thank user and inform about email.
	var pObj = document.getElementById("regconf");
	removeDomChilds(pObj);

	//Add message
	var pTextNode = document.createTextNode(confMessage);
	pObj.appendChild(pTextNode);

	//reset the form
	resetRegForm();
	//Message if email process failed


	
	}
}

}



