/****************************************
|
| London Home Builders' Association
| Created by: Kevin Biskaborn
| Copyright 2008 ScriptReaction
| http://www.scriptreaction.com
|
****************************************/

var formHandler = {
	launch: function (formId){
		formHandler.formId = formId;
		
		//create containters
		formHandler.fields = new Array();
		formHandler.addFields = new Array();
		
		//success
		if(formHandler.fieldError == 'submitted'){
			var form = formHandler.formId;
			var success = '<h2>Thanks for taking the time to contact us, ' + formHandler.userName + '.</h2>';
				success+= '<p class="pFirst"><span class="hl b">Your information has been successfully submitted.</span></p>';
				
				if(form == 'dataForm_fr'){ //general inquires
					success+= "<p>The London Home Builders' Association will respond to your request as soon as possible.</p>";
				}

				success+= "<p class=\"pLast\"><a href=\"http://www.lhba.on.ca/\">Go to the LHBA Home Page...</a></p>";
			global.setDivContent('bdy_txt',success);
			return;
		}
		
		//check for field error
		if(formHandler.fieldError > ''){
			var error = formHandler.fieldError;
			var errorField = document.getElementById('fieldCtr_' + 	error);
			errorField.className = 'hasError';
			var errorText = document.getElementById('e_' + error);
			errorText.style.visibility = 'visible';
		}
		
		//check for previous submit
		if(formHandler.fieldVars > ''){
			var returnArray = formHandler.fieldVars.split('&');
			returnArray.splice(returnArray.length-1,1);
			for(var itemCount=0; itemCount<returnArray.length; itemCount++){
				var whichItem = returnArray[itemCount];
				var itemParam = whichItem.split('=');
				var itemField = itemParam[0];
				var itemValue = itemParam[1];
				formHandler['returnVar_' + itemField] = itemValue;
			}
		}
		
		var formHolder = document.getElementById('bdy_txt');
		var formTypes = new Array('input','select','textarea');
		
		for(var typeCount=0; typeCount<formTypes.length; typeCount++){
			var whichType = formTypes[typeCount];
			this['formType_'+whichType] = formHolder.getElementsByTagName(whichType);
			var whichTypeArray = this['formType_'+whichType];
			for(var itemCount=0; itemCount<whichTypeArray.length; itemCount++){
				var whichItem = whichTypeArray[itemCount];
				var handle = whichItem.className; //required||optional
				var fieldId = whichItem.name;
				if(typeof(handle) != 'undefined' && handle > ''){
					if(handle == 'required' || handle =='optional'){
						formHandler.fields.push([fieldId,whichType,handle]);
					}
				}
				var hasReturn = formHandler['returnVar_' + fieldId];
				if(typeof(hasReturn) != 'undefined'){
					if(hasReturn > ''){
						document[formHandler.formId][fieldId].value = unescape(hasReturn);
					}
				}
			}
		}
	},
	doSubmit: function (){
		for(var addCount=0; addCount<formHandler.addFields.length; addCount++){
			var whichAdd = formHandler.addFields[addCount];
			if(whichAdd > ''){
				formHandler.fields.push(whichAdd);
			}
		}
		var returnValues = '';
		for(var fieldCount=0; fieldCount<formHandler.fields.length; fieldCount++){
			var whichField = formHandler.fields[fieldCount];
			var fieldId = whichField[0];
			whichField[3] = escape(document[formHandler.formId][fieldId].value);
			returnValues += fieldId.toString() + '=' + whichField[3] + '&';
		}
		document[formHandler.formId].fieldParams.value = formHandler.fields.toString();
		document[formHandler.formId].fieldValues.value = returnValues;
		if(document[formHandler.formId].formSession.value == 0){
			document[formHandler.formId].formSession.value = Math.ceil(Math.random()*999999999);
		}
	},
	doReset: function (){
		if(formHandler.fieldError > ''){
			var error = formHandler.fieldError;
			var errorField = document.getElementById('fieldCtr_' + 	error);
			errorField.className = '';
			var errorText = document.getElementById('e_' + error);
			errorText.style.visibility = 'hidden';
		}
	}
}
