// JavaScript Document


function validateUserScreen(currentSlideNumber, errorDiv) {
	//Check that all required user bits are included
	var numberRequired = 7;
	var numberPassed = 0;
	if (document.getElementById("sTitle").value.length >= 2) { numberPassed++; }
	if (document.getElementById("sFirstName").value.length >= 3) { numberPassed++; }
	if (document.getElementById("sLastName").value.length >= 3) { numberPassed++; }
	if (document.getElementById("sAdr1").value.length >= 3) { numberPassed++; }
	if (document.getElementById("sTown").value.length >= 3) { numberPassed++; }
	if (document.getElementById("sPostcode").value.length >= 7) { numberPassed++; }
	
	//Special Case - check email
	if (validEmailPair == true) { numberPassed++; }
	
	//Special Case - check day phone
	if (dayPhoneOK==true) { numberPassed++; }
	
	//Is Form OK?
	if (numberPassed >= numberRequired) { 
		triggerStat('5', 'User Details', 'Valid');
		saveUserInfo();
		triggerStat('5', 'User Details', 'Saved');
		moveNextSlide(currentSlideNumber);
	} else {
		//Play In Error Message
		triggerStat('5', 'User Details', 'Invalid');
		dojo.fx.wipeIn({
			node: errorDiv,
			duration: 300
		}).play();
	}
}

function newRequestObj (obj) {
	try {
		obj = new XMLHttpRequest();
	} catch (erMS) {
		try {
			obj = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (erOtherMS) {
			try {
				$obj = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				$cont = false;
			}
		}
	}
	return obj;
}

//User Detail Interaction
var oReqUserInfo;
oReqUserInfo = newRequestObj(oReqUserInfo);

//User Pledge Interaction
var oReqUserPledgeHeader;
oReqUserPledgeHeader = newRequestObj(oReqUserPledgeHeader);



var serverid = 0;
							 
function saveUserInfo() {
	
	var URI = "wservices/index.php"
	var RMethod = "POST";
	
	//Define Process Responses
	oReqUserInfo.onreadystatechange = function () {
		if (oReqUserInfo.readyState == 4) {
			//Fire Next Part
			serverid = oReqUserInfo.responseText;
			linkStat(statID, serverid);
			triggerStat('5', 'Stat Linkage', serverid);
			savePledgeHeader(oReqUserInfo.responseText);
		}
	}
		
	//Do The Request
	oReqUserInfo.open("POST", URI, true);
	oReqUserInfo.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	oReqUserInfo.send(	"task=" + escape("do.respondent.push") +
						"&title=" + escape(document.getElementById('sTitle').value) + 
						"&fname=" + escape(document.getElementById('sFirstName').value) + 
						"&lname=" + escape(document.getElementById('sLastName').value) + 
						"&adr1=" + escape(document.getElementById('sAdr1').value) + 
						"&adr2=" + escape(document.getElementById('sAdr2').value) + 
						"&adr3=" + escape(document.getElementById('sAdr3').value) + 
						"&town=" + escape(document.getElementById('sTown').value) + 
						"&county=" + escape(document.getElementById('sCounty').value) + 
						"&postcode=" + escape(document.getElementById('sPostcode').value) + 
						"&eadr=" + escape(document.getElementById('sRespondentEmail').value) + 
						"&dayphone=" + escape(document.getElementById('sDayPhone').value) + 
						"&evephone=" + escape(document.getElementById('sEvePhone').value) + 
						"&mobnum=" + escape(document.getElementById('sMobPhone').value)
				);

}

var sPledgeKey;

function savePledgeHeader(respondentID) {
		//alert("Save Pledge");
	var URI = "wservices/index.php"
	var RMethod = "POST";
	
	//Define Process Responses
	oReqUserPledgeHeader.onreadystatechange = function () {
		if (oReqUserPledgeHeader.readyState == 4) {
			//Fire Next Parts
			sPledgeKey = oReqUserPledgeHeader.responseText;
			var count = 0;
			if (pledge1 == true) { saveAPledge("1", oReqUserPledgeHeader.responseText); count++; }
			if (pledge3 == true) { saveAPledge("3", oReqUserPledgeHeader.responseText); count++; }
			if (pledge2 == true) { saveAPledge("2", oReqUserPledgeHeader.responseText); count++; }
			
			if (count>1) {
				triggerPledgeEmails(count);
			}
		}
	}
	
	//Do The Request
	oReqUserPledgeHeader.open("POST", URI, true);
	oReqUserPledgeHeader.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	oReqUserPledgeHeader.send(	"task=" + escape("do.pledge.push") +
								"&respondent=" + escape(respondentID)
				);
}

function saveAPledge(pledgeID, pledgeKey) {
	var oReqUserPledgeItem;
	oReqUserPledgeItem = newRequestObj(oReqUserPledgeItem);
	saveSinglePledge(pledgeID, pledgeKey, oReqUserPledgeItem);
}

function saveSinglePledge(pledgeID, pledgeKey, objPledgeRequestItem) {
	var URI = "wservices/index.php"
	var RMethod = "POST";
	
	//Define Process Responses
	objPledgeRequestItem.onreadystatechange = function () {
		if (objPledgeRequestItem.readyState == 4) {
			//Disgard Response
			//alert(oReqUserPledgeItem.responseText);
		}
	}

	//Do The Request
	objPledgeRequestItem.open("POST", URI, true);
	objPledgeRequestItem.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	objPledgeRequestItem.send(	"task=" + escape("do.pledgeitem.push") +
								"&pledgeKey=" + escape(pledgeKey) +
								"&pledgeType=" + escape(pledgeID)
				);
}

//User Referral Item Interaction
var oReqUserReferral;
oReqUserReferral = newRequestObj(oReqUserReferral);

function saveReferrals() {
	for (i=1; i<11; i++) {
		if (document.getElementById('friendValid' + i).value == "true") {
			var newObj
			newObj = newRequestObj(newObj);
			saveSingleReferal(document.getElementById('friendName' + i).value, document.getElementById('friendEmail' + i).value, serverid, newObj);
			//alert(document.getElementById('friendName' + i).value + " " + document.getElementById('friendEmail' + i).value);
		}
	}
}

function saveSingleReferal(sName, sEmail, sParent, objR) {
	var URI = "wservices/index.php"
	var RMethod = "POST";
	//alert(sName + " " + sEmail);
	//Define Process Responses
	objR.onreadystatechange = function () {
		if (objR.readyState == 4) {
			//Disgard Response
			//document.write(request.responseText);
		}
	}

	//Do The Request
	objR.open("POST", URI, true);
	objR.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	objR.send(	"task=" + escape("do.referral.push") +
				"&name=" + escape(sName) +
				"&email=" + escape(sEmail) +
				"&referredBy=" + escape(sParent)
				);
}	


function triggerPledgeEmails(iNumber) {
	//alert("PLEDGE " + "do.pledge" + iNumber + ".mail");
	var oReqPledgeEmails;
	oReqPledgeEmails = newRequestObj(oReqPledgeEmails);
	
	var URI = "wservices/index.php"
	var RMethod = "POST";
	//alert(sName + " " + sEmail);
	//Define Process Responses
	oReqPledgeEmails.onreadystatechange = function () {
		if (oReqPledgeEmails.readyState == 4) {
			//alert(oReqPledgeEmails.responseText);
		}
	}

	//Do The Request
	oReqPledgeEmails.open("POST", URI, true);
	oReqPledgeEmails.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	oReqPledgeEmails.send(	"task=" + escape("do.pledge" + iNumber + ".mail") +
							"&serverid=" + escape(serverid)
				);
}		
