var ajaxObject = new XMLGateway();
var ajaxComplete = true;
var objModalForm;
var objModalThanks;

var idPrefix = 'ctl00';

function GetObject(id) {
	if (document.getElementById(id)) {
		return document.getElementById(id);
	} else {
		//debug('Failed to getElementById on [' + id + ']');
		//debug('document.getElementById:' + document.getElementById);
		return false;
	}
}

function GetModal(id) {
    var ltBox = new modal(id, false, '');
    return ltBox;
}

function JSFriendly(string) {
    var retVal = string;
    retVal = retVal.replace(/&/g, '%26');
    retVal = retVal.replace(/=/g, '%3D');
    return retVal;
}

function SubmitForm() {
    var frmASPNET = GetObject('aspnetForm');
    var validator = frmASPNET.FormValidator;
    if (validator.errors == '') {
        XMLSaveRequest();
    }
	return false;
}

function XMLSaveRequest() {
    var spnLoader = GetObject('spnLoader');
    spnLoader.style.display = 'block';
    if (!ajaxComplete) {
        setTimeout(XMLSaveRequest, 100);
    } else {
        var txtFirstName = GetObject(idPrefix + '_txtFirstName');
        var txtLastName = GetObject(idPrefix + '_txtLastName');
        var txtIndustry = GetObject(idPrefix + '_txtIndustry');
        var txtCompany = GetObject(idPrefix + '_txtCompany');
        var txtPhone = GetObject(idPrefix + '_txtPhone');
        var txtEmail = GetObject(idPrefix + '_txtEmail');
        var hdnSource = GetObject(idPrefix + '_hdnSource');
        var chkDataConsent = GetObject(idPrefix + '_chkDataConsent');

        ajaxObject.requestFile = '/services/inquiries/AddRequest.aspx';
        ajaxObject.method = 'POST';
        ajaxObject.setVar('txtFirstName', JSFriendly(txtFirstName.value));
        ajaxObject.setVar('txtLastName', JSFriendly(txtLastName.value));
        ajaxObject.setVar('txtIndustry', JSFriendly(txtIndustry.value));
        ajaxObject.setVar('txtCompany', JSFriendly(txtCompany.value));
        ajaxObject.setVar('txtPhone', JSFriendly(txtPhone.value));
        ajaxObject.setVar('txtEmail', JSFriendly(txtEmail.value));
        if (hdnSource) { //backwards compatible in case this file is deployed early
            ajaxObject.setVar('hdnSource', JSFriendly(hdnSource.value));
        }
        ajaxObject.setVar('chkDataConsent', chkDataConsent.checked);
        ajaxObject.onCompletion = function() {
            ajaxComplete = true;
            spnLoader.style.display = 'none';
            CallbackSaveRequest();
        };
        ajaxObject.runAJAX();
    }
}

function CallbackSaveRequest() {

    if (!objModalForm) {
        objModalForm = GetModal('modal0');
    }
	var hiddenfield = document.getElementById('access-hidden-field').childNodes[0].value;
    objModalForm.deactivate();


	if(hiddenfield == "Fortis-Zd Webinar") {
		//document.location = "/webinar/fortis-zd/index.html";	
		if(document.getElementById("continuetowebinar")) {
			var continuediv = document.getElementById("continuetowebinar");
			continuediv.style.display = "block";
		}
	} else if(hiddenfield == "Insight") {
		if(document.getElementById("continuetopdf")) {
			var continuediv = document.getElementById("continuetopdf");
			continuediv.style.display = "block";
		}
	}
    //if (!objModalThanks) {
        objModalThanks = GetModal('modal1');
		
    //}

    objModalThanks.activate();
    pageTracker._trackPageview("/thank-you.html")
}

function loadForm() {
    //var btnSubmit = GetObject(idPrefix + '$btnSubmit');
    //addEvent(btnSubmit, 'click', XMLSubmitForm, false);
    var frmASPNET = GetObject('aspnetForm');
    frmASPNET.onsubmit = function() {
        //XMLSubmitForm();
        return false;
    };

    //add fields to validate (client-side only)
    var objValidator = new FormValidator('aspnetForm', 'pnlWarning');
    objValidator.RequiredField(idPrefix + '_txtFirstName', 'Please enter first name.<br>');
    objValidator.RequiredField(idPrefix + '_txtLastName', 'Please enter last name.<br>');
    objValidator.RequiredEmailField(idPrefix + '_txtEmail', 'Please enter email.<br>', 'Please enter a valid email.<br>');
    objValidator.SetValidation();

    addEvent(frmASPNET, 'submit', SubmitForm, false);

    var lnkInsightPDF = GetObject('lnkInsightPDF');
    lnkInsightPDF.target = '_blank';

    //alert(lnkInsightPDF.href);
    //alert(lnkInsightPDF.target);
}

addEvent(window, 'load', loadForm, false);
