// prepare the form when the DOM is ready 
jQuery.noConflict();
jQuery(document).ready(function() { 
    jQuery('#leadForm').validate();
    var options = { 
        target:        '#output1',   // target element(s) to be updated with server response 
        beforeSubmit:  prepareRequest  // pre-submit callback 
    }; 
 
    jQuery('#leadForm').ajaxForm(options);
    callTrackingFunctions("ums_sb_form");
	jQuery("#firstName").blur(function(){
	        var overwrite = "ums_sb_firstName";
			callTrackingFunctions(overwrite);
	        });
	jQuery("#lastName").blur(function(){
	        var overwrite = "ums_sb_lastName";
			callTrackingFunctions(overwrite);
	        });
	jQuery("#emailAddress").blur(function(){
	        var overwrite = "ums_sb_emailAddress";
			callTrackingFunctions(overwrite);
	        });
	jQuery("#regPhone").blur(function(){
	        var overwrite = "ums_sb_regPhone";
			callTrackingFunctions(overwrite);
	        });
	jQuery("#zip").blur(function(){
	        var overwrite = "ums_sb_zip";
			callTrackingFunctions(overwrite);
	        });
	jQuery("#hsgedCompletionMonth").change(function(){
	        var overwrite = "ums_sb_hsgedCompletionMonth";
			callTrackingFunctions(overwrite);
	        });
	jQuery("#hsgedCompletionYear").change(function(){
	        var overwrite = "ums_sb_hsgedCompletionYear";
			callTrackingFunctions(overwrite);
	        });
	jQuery("#selectedPrograms").change(function(){
	        var overwrite = "ums_sb_selectedPrograms";
			callTrackingFunctions(overwrite);
	        });    
}); 
 
// pre-submit callback 
function prepareRequest(formData, jqForm, options) { 
    // formData is an array; here we use jQuery.param to convert it to a string to display it 
    // but the form plugin does this for you automatically when it submits the data 
    var queryString = jQuery('#leadForm').formSerialize(); 
    if(jQuery('#leadForm').validate().form())
    {
	blockMe();
    	jQuery.post("/cms/processing.php", queryString, function(data, textStatus){processRequest(data, textStatus);}, "text"); 
    }
    return false; 
} 
 
// post-submit callback 
function processRequest(responseText, statusText)  { 

	var doPostUrl = jQuery('#doPostUrl').val();
        var unique_id = jQuery(responseText).find("unique_id").text();
        if(!unique_id || unique_id == "")
        {
                if(window.ActiveXObject)
                {
                        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                        xmlDoc.async = false;
                        xmlDoc.loadXML(responseText);
                        path = "/lead_vendor/unique_id";
                        var nodes = xmlDoc.selectNodes(path);
                        for(i=0;i<nodes.length;i++)
                        {
                                unique_id = nodes[i].childNodes[0].nodeValue;
                        }
                }else if(document.implementation && document.implementation.createDocument)
                {
                        xmlDoc=document.implementation.createDocument("","",null);
                        xmlDoc.async = false;
                        xmlDoc.loadXML(responseText);
                        path = "/lead_vendor/unique_id";
                        var nodes=xml.evaluate(path, xmlDoc, null, XPathResult.ANY_TYPE, null);
                        var result=nodes.iterateNext();
                        while (result)
                        {
                                unique_id = result.childNodes[0].nodeValue;
                                result=nodes.iterateNext();
                        }
                }
        }
	var strXML = "vendor_lead="+escape(responseText)+"&postUrl="+encodeURI(doPostUrl);
	jQuery.post("/cms/sendrequest.php", strXML, function(data, textStatus){processExtResponse(data, textStatus, unique_id);}, "text");
} 

function processExtResponse(responseText, statusText, uniqueId)
{
	var returnStatus;
	var htmlContent;
	var parameterString;
	var overwrite;

	if(responseText.indexOf("Processed") > 0)
	{
		parameterString = "status=success_processed&uniqueId="+uniqueId;
		overwrite = "ums_sb_thanks";
		
	}else if(responseText.indexOf("Missing") > 0)
	{
		parameterString = "status=error_missing_input&uniqueId="+uniqueId;
		overwrite = "ums_sb_error";
	}else if(responseText.indexOf("unavailable") > 0)
	{
		parameterString = "status=pending_unavailable&uniqueId="+uniqueId;
		overwrite = "ums_sb_pending";
	}else if(responseText.indexOf("server problems") > 0)
	{
		parameterString = "status=pending_server_problem&uniqueId="+uniqueId;
		overwrite = "ums_sb_pending";
	}
	jQuery.post("/cms/setupresponse.php", parameterString, function(data, textStatus){thankMe(data);callTrackingFunctions(overwrite);}, "text");
	jQuery("#successDiv").click(function(){
        	jQuery.unblockUI();
        	});
	jQuery("#errorDiv").click(function(){
        	jQuery.unblockUI();
        	});
	jQuery("#pendingDiv").click(function(){
        	jQuery.unblockUI();
        	});

	return false;
}
function callTrackingFunctions(ums_overwrite)
{
	if (typeof ums_overwrite == 'undefined')
	{
		ums_overwrite ="";
	}
	umt_acct="UA-1757017-53";
	umtLog(ums_overwrite);
	var pageTracker = _gat._getTracker(umt_acct);
	pageTracker._initData();
	pageTracker._trackPageview(ums_overwrite);
        if (ums_overwrite.indexOf("thanks") > 0)
        {
                jQuery("#successDiv").after('<iframe src="http://fls.doubleclick.net/activityi;src=2157572;type=leads083;cat=sburo199;ord=1;num=1?" width="1" height="1" frameborder="0"></iframe><img height="1" width="1" border="0" src="http://www.googleadservices.com/pagead/conversion/1069979900/?label=ZoyQCJziZhD8sZr-Aw&amp;script=0"/><IMG width=1 height=1 SRC="https://421864.r.msn.com/?type=1&cp=1"/><img height="1" width="1" border="0" src="http://www.googleadservices.com/pagead/conversion/1040319640/?label=z8dDCPrMmwEQmImI8AM&amp;script=0"/>');
        }
}

function thankMe(message)
{
	if(message.indexOf("success_processed") > 0)
	{
		jQuery.blockUI({
                message: jQuery("#successDiv"),
                overlayCSS: {
                        backgroundColor: '#FFFFFF'
                },
                css: {
                        border: '2px solid #FF0000',
                        cursor: 'hand',
                        padding: '15px',
                        backgroundColor: '#000000',
                        '-webkit-border-radius': '10px',
                        '-moz-border-radius': '10px',
                        opacity: '.7',
                        color: '#FFF'
                	}
        	});
	}else if (message.indexOf("error") > 0)
	{
		jQuery.blockUI({
                message: jQuery("#errorDiv"),
                overlayCSS: {
                        backgroundColor: '#FFFFFF'
                },
                css: {
                        border: '2px solid #FF0000',
                        cursor: 'hand',
                        padding: '15px',
                        backgroundColor: '#000000',
                        '-webkit-border-radius': '10px',
                        '-moz-border-radius': '10px',
                        opacity: '.7',
                        color: '#FFF'
                        }
                });
	}else if (message.indexOf("pending") > 0)
	{
		jQuery.blockUI({
                message: jQuery("#pendingDiv"),
                overlayCSS: {
                        backgroundColor: '#FFFFFF'
                },
                css: {
                        border: '2px solid #FF0000',
                        cursor: 'hand',
                        padding: '15px',
                        backgroundColor: '#000000',
                        '-webkit-border-radius': '10px',
                        '-moz-border-radius': '10px',
                        opacity: '.7',
                        color: '#FFF'
                        }
                });
	}
	jQuery("#leadForm")[0].reset();

}
function blockMe()
{
        jQuery.blockUI({
                message: "<p style='font-size: 14px; font-family: Arial; font-weight: bold; color: #FFFFFF;'>Please Wait...</p>",
                overlayCSS: {
                        backgroundColor: '#FFFFFF'
                },
                css: {
                        border: '2px solid #FF0000',
                        cursor: 'hand',
                        padding: '15px',
                        backgroundColor: '#000000',
                        '-webkit-border-radius': '10px',
                        '-moz-border-radius': '10px',
                        opacity: '.7',
                        color: '#FFF'
                }
        });
        return true;
}

jQuery("#successDiv").click(function(){
	jQuery.unblockUI();
	});
jQuery("#errorDiv").click(function(){
        jQuery.unblockUI();
        });
jQuery("#pendingDiv").click(function(){
        jQuery.unblockUI();
        });
