

var hasFile = false;













buildContributeForm = function() {

	if(!dom) return;

	if (document.getElementById("fldContribute")) {

		var theTarget = document.getElementById("fldContribute");

		var theDiv = document.createElement("div")

		theDiv.className = "clearthis";
		theDiv.innerHTML = "<label for=\"c_file\" class=\"b\">Upload file:</label><input type=\"file\" name=\"c_file\" id=\"c_file\" value=\"\" />";

		theTarget.appendChild(theDiv);
		hasFile = true;

	}

	return true;

}










function checkContributeForm() {

	if(hasFile) {

		var hasError = false;
		var errObj;
		var errorMessage = "";

		var formObject = document.getElementById("frmContribute")
		formObject.encoding = 'multipart/form-data';
		formObject.enctype = 'multipart/form-data';

		var formActionStr = "?javascript=true";

		var c_file;
		var c_fileName;


		var fields = new Array();

		fields[0] = new Array();
		fields[0][0] = "c_file";
		fields[0][1] = "file";
		fields[0][2] = false;

		fields[1] = new Array();
		fields[1][0] = "c_comments";
		fields[1][1] = "comments";
		fields[1][2] = true;

		fields[2] = new Array();
		fields[2][0] = "c_email";
		fields[2][1] = "email address";
		fields[2][2] = true;

		fields[3] = new Array();
		fields[3][0] = "c_phone";
		fields[3][1] = "phone";
		fields[3][2] = false;

		fields[4] = new Array();
		fields[4][0] = "c_position";
		fields[4][1] = "position";
		fields[4][2] = true;

		fields[5] = new Array();
		fields[5][0] = "c_org";
		fields[5][1] = "organisation";
		fields[5][2] = true;

		fields[6] = new Array();
		fields[6][0] = "c_lastName";
		fields[6][1] = "last name";
		fields[6][2] = true;

		fields[7] = new Array();
		fields[7][0] = "c_firstName";
		fields[7][1] = "first name";
		fields[7][2] = true;

		fields[8] = new Array();
		fields[8][0] = "c_title";
		fields[8][1] = "title";
		fields[8][2] = false;



		// Loop through all the fields
		for (i=0; i<fields.length; i++) {
			thisObj = document.getElementById(fields[i][0]);
			thisValue = thisObj.value;
			removeClass(thisObj, "err");

			if(fields[i][2] == true) {
				if(thisValue == "") {
					hasError = true;
					errObj = thisObj;
					errorMessage = "Please enter your " + fields[i][1];
				} else {
					formActionStr = formActionStr + "&" + fields[i][0] + "=" + escape(thisValue);
				}
			} else {
				formActionStr = formActionStr + "&" + fields[i][0] + "=" + escape(thisValue);
			}
		}






		// If we have an error return false
		if(hasError) {
			addClass(errObj,"err");
			if (document.getElementById("cErrorHolder")) {
				document.getElementById("cErrorHolder").innerHTML = errorMessage;
			} else {
				var cErrorHolder = document.createElement("p");
				cErrorHolder.id = "cErrorHolder";
				addClass(cErrorHolder,"error");
				cErrorHolder.appendChild(document.createTextNode(errorMessage));
				formObject.parentNode.insertBefore(cErrorHolder, formObject);
			}
			// Move to the correct part of the page
			window.location = String(window.location).replace(/\#.*$/, "") + "#cErrorHolder";
			return false;

		} else {

			c_file = document.getElementById("c_file").value;

			if(c_file.indexOf("/") != -1) {
				c_fileName = c_file.split("/");
			} else {
				c_fileName = c_file.split("\\");
			}

			c_fileName = c_fileName[c_fileName.length-1];

			formActionStr = formActionStr + "&fileName=" + escape(c_fileName);

			formObject.action = formObject.action + formActionStr;

			if (document.getElementById("cErrorHolder")) {
				cErrorHolder = document.getElementById("cErrorHolder");
				removeClass(cErrorHolder, "error");
				addClass(cErrorHolder,"hide");
			}

			var loadingPara = document.createElement("p");
			loadingPara.id = "uploading";
			loadingPara.appendChild(document.createTextNode("Processing form. Please wait"));
			formObject.parentNode.insertBefore(loadingPara, formObject);

			return true;

		}

	} else {

		return true;

	}
}





addLoadEvent(buildContributeForm);


