
	newImageMQ.leadSubmit = {};
	

	newImageMQ.leadSubmit._generateBody = function (parameters) {
		var x;
		var rv = "";
   		for (x in parameters) {
			rv += escape(x) + "=" + escape(parameters[x]) + "&";
   		}
   		if (rv.length==0) {
			return rv;
   		} else {
      		return rv.substr(0,rv.length-1);
   		}
	}
	
	
	newImageMQ.leadSubmit._generateRequest = function () {
		var rv;
		//alert("this isIE is "+newImageMQ.alog.isIE);
		if (newImageMQ.alog.isIE) {
			try {
      			rv = new ActiveXObject("Microsoft.XMLHTTP");
      			//alert("rqo is Microsoft.XMLHTTP "+rv);
			} catch (e) {
				//alert("rqo exception on Microsoft.XMLHTTP "+e);
				try {
					rv = new ActiveXObject("Msxml2.XMLHTTP");
					//alert("rqo is Msxml2.XMLHTTP "+rv);
				} catch (e) {
					//alert("rqo exception on msxml2.xmlhttp "+e);
					rv = null;
				}
   			}
		} else {
   			try {
      			rv = new XMLHttpRequest();
      			//alert("rqo is xmlhttprequest "+rv);
   			} catch (e) {
      			//alert("rqo exception on xmlhttprequest "+e);
      			rv = null;
   			}
		}
		return rv;
	}
	
	newImageMQ.leadSubmit._generateURL = function (method) {
		return "/ajax.js?"+this.REQ_COM+"="+method;
	}
	
	newImageMQ.leadSubmit._submitLead = function(parameters, target) {
        try {
            //alert("submitting lead");
            var request = this._generateRequest();
            if (request != null) {
            	if (target) {
            		request.open("POST", target, false);
            	} else {
            		request.open("POST", "/leadSubmit.html", false);
            	}
                request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                request.send(newImageMQ.leadSubmit._generateBody(parameters));
                
                    var rtext = request.responseText;
                    //alert(request.responseText);
                    var reval = null;
                    try {
                        reval = eval(rtext);
                    } catch (e) {
                        reval = null;
                    }
                    return reval;
                
            } else {
            	//alert("Request object null!");
                return null;
            }
        } catch (e) { }
	}
	
	newImageMQ.leadSubmitAction = function(event){
		var parameters = {};
		//alert("obtained lead submit action for "+this);
		if (this) {
			for (var item in this) {
                if (item.match(/^lead_.+/)) {
					var field = this[item];
					if (field.value) {
	                    parameters[item.replace(/^lead_[a-z]*_(.+)/, "$1")] = field.value.toLowerCase();
					}
                }
			}
		}

        newImageMQ.leadSubmit._submitLead(parameters);
 
	}

	newImageMQ.leadSubmitActionNewsletter = function(event) {
		var parameters = {};
		//alert("obtained lead submit action for "+this);
		if (this) {
			for (var item in this) {
                if (item.match(/^lead_.+/)) {
					var field = this[item];
					if (field.value) {
	                    parameters[item.replace(/^lead_[a-z]*_(.+)/, "$1")] = field.value.toLowerCase();
					}
                }
			}
		}

        newImageMQ.leadSubmit._submitLead(parameters,"/newsletterLeadSubmit.html");
	}
	
	newImageMQ.getBuilderFormsByType = function (typeArr) {
		var rv = new Array();
		if (typeArr && typeArr.length) {
			var allForms = document.getElementsByTagName("form");
			for (var c =0; c< allForms.length; c++) {
				if (allForms[c] && allForms[c].getAttribute && allForms[c].getAttribute('name')) {
					var fname = allForms[c].getAttribute('name');
					if (fname.indexOf) {
						for (var x=0;x<typeArr.length; x++) {
							if (fname.indexOf(typeArr[x])!=-1) {
								rv[rv.length] = allForms[c];
							}
						}
					} else {
						// form has a field called name
						rv[rv.length]  = allForms[c];
					}
				}
			}
		}
		return rv;
	}
	
	newImageMQ.wireLeadSubmit = function(){
		var builderForms = this.getBuilderForms();
		//alert("About to wire "+builderForms.length+" forms for lead submit");
		for (var i in builderForms) {
            var builderForm = builderForms[i];
            var name = newImageMQ.getBuilderFormName(builderForm);
            if (name.toLowerCase().match(/.*(consultation|financing).*/))
            {
                YAHOO.util.Event.addListener(builderForm, "submit", this.leadSubmitAction);
		//alert("Wired "+name + " for lead submit");
            } 
            else if (name.toLowerCase().match(/.*(newsletter).*/))
            {
            	YAHOO.util.Event.addListener(builderForm, "submit", this.leadSubmitActionNewsletter);
            }
            else 
            {
            	//alert("Skipping "+name+" for lead submit");
            }
		}
	}

    newImageMQ.leadSubmit.updateField = function(field, updateId) {
        if (field)
        {
            var updateField = document.getElementById(updateId);
            if (updateField) {
                var tagName = field.tagName.toLowerCase();
                if (tagName == "input") {
                    updateField.value = field.value;
                } else if(tagName == "select") {
                    updateField.value = field.options[field.selectedIndex].innerHTML;
                }
            
            }

        }
    }
		

