﻿
EmailProspect =
{
    getBrowserRequestObject: function()
    {
        var r = null;
        if (window.XMLHttpRequest)
        {
            try { r = new XMLHttpRequest(); } 
            catch(e) { r = false; }
        }
        else if (window.ActiveXObject)
        {
            try { r = new ActiveXObject("Msxml2.XMLHTTP"); } 
            catch(e) 
            {
                try { r = new ActiveXObject("Microsoft.XMLHTTP"); } 
                catch(e) { r = false; }
            }
        }
        return r;
    },

    Request: function()
    {
        this.url = null;
        this.query = '';
        this.responseHandler = null;

        this.browserRequest = EmailProspect.getBrowserRequestObject();
        
        this.isValid = function() 
        {
            if (typeof(this.url) != 'string')
                return false;
            
            if (typeof(this.query) != 'string')
                return false;
            
            if (typeof(responseHandler) != 'undefined')
            {
                if (typeof(responseHandler) != 'function')
                    return false;
            }
            
            return true;
        }
        
        this.send = function()
        {
            if (!this.isValid())
                return false;

            if (typeof(this.responseHandler) == 'function')
                this.browserRequest.onreadystatechange = readyStateChange;
            
            try
            {
                _lastRequest = this;
                this.browserRequest.open('POST', this.url);
                this.browserRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                this.browserRequest.setRequestHeader('Content-Length', this.query.length);
                this.browserRequest.send(this.query);
            }
            catch(e) 
            {
                //alert(e);
                return false;
            }
            
            return true;
        }
                    
        readyStateChange = function()
        {
            if (typeof(_lastRequest) == 'undefined' || null == _lastRequest) return;
            if (_lastRequest.browserRequest.readyState != 4) return;
            
            var status = _lastRequest.browserRequest.status;
            var responseText = _lastRequest.browserRequest.responseText;
            var responseHandler = _lastRequest.responseHandler;
            
            _lastRequest = null;
            
            responseHandler(status, responseText);
        }
    },
    
    prospectResponseHandler: function(status, responseText)
	{
		document.getElementById("divEmailProspectMessage").innerHTML = responseText;
		document.getElementById("divEmailProspectMessage").style.visibility = 'visible';
		
		if (status == 200)
		{
			var upperMsg = responseText.toUpperCase();
			
			if(upperMsg.indexOf("INVALID") == -1 && upperMsg.indexOf("AGAIN") == -1)
			{
			    document.getElementById("divEmailProspectForm").style.visibility = 'hidden';
			    document.getElementById("divEmailProspectForm").innerHTML = "";
			}
		}
	}
}

var _lastRequest;

function sendProspect()
{
    var request = new EmailProspect.Request();
    request.url = "EmailProspectHandler.ashx";
    request.query += "&EMAIL=" + $("input[id$='txtSmartBuyersGuide']")[0].value; //must have jquery.js included for this to work
    request.responseHandler = EmailProspect.prospectResponseHandler;
	request.send();
}
