/* This file requires:

/js/utilities.js
/js/ajax/net.js
/js/forms/script_tmt_validator.js

*/

// IE 6.0 doesn't supports the const keyword, so we store constants inside a global object
trackingConst = new Object();
trackingConst.LAYER_ID = "form_tracking";
trackingConst.ERROR_MSG = "Unable to fullfill your request";
trackingConst.tracking_URL = "/customcf/ajax/form_tracking.cfm";

function trackingConstructor(){
	var obj = new Object();
	
	obj.layerNode = document.getElementById(trackingConst.LAYER_ID);	
	if (obj.layerNode){
		linkNode=obj.layerNode.getElementsByTagName('a');
		for (var i=0; i<linkNode.length; i++){
			thisLink=linkNode[i];
			// only add event listener if the id is present ie. PDF downloads only
			if (thisLink.id){
				thisLink.onclick = function(){
					var idName=this.id;
					var actionArray=idName.split("_");
					document.getElementById("item").value = eval("document.getElementById('item_"+actionArray[1]+"').value");
					var params = obj.collectParams();
					// AJAX's HTTP call
					obj.netLoader = new net.ContentLoader(trackingConst.tracking_URL, obj.displayResults, obj.displayError, "POST", params);
				}
			}
		}
	}
	//obj.submitButton = tmt_getSubmitNodes(obj.layerNode)[0];
	obj.netLoader;
	obj.collectParams = function(){
		var str = "";
		str += "session_id=" + document.getElementById("session_id").value;
		str += "&"
		str += "pageid=" + document.getElementById("pageid").value;
		str += "&"
		str += "fieldid=" + document.getElementById("fieldid").value;
		str += "&"
		str += "formid=" + document.getElementById("formid").value;
		str += "&"
		str += "vip=" + document.getElementById("vip").value;
		str += "&"
		str += "firstname=" + document.getElementById("firstname").value;
		str += "&"
		str += "lastname=" + document.getElementById("lastname").value;
		str += "&"
		str += "email=" + document.getElementById("email").value;
		str += "&"
		str += "action=" + document.getElementById("action").value;
		str += "&"
		str += "item=" + document.getElementById("item").value;
		str += "&"
		str += "program=" + document.getElementById("program").value;
		str += "&"
		str += "IP=" + document.getElementById("IP").value;
		return str;
	}
	
	obj.displayResults = function(){
		//alert("displayResults");
		// Display whatever was returned by the AJAX's call
		//obj.layerNode.innerHTML = this.req.responseText;
	}

	obj.displayError = function(){
		alert(trackingConst.ERROR_MSG);	
	}

}

addEvent(window, "load", trackingConstructor);
