﻿// This prevents users from leaving the page if they click "Back" in their browser
var catchleaving = false;

function goodbye(e) {
	if (catchleaving) {
	
		if(!e) e = window.event;
		//e.cancelBubble is supported by IE - this will kill the bubbling process.
		e.cancelBubble = true;
		e.returnValue = 'Your reservation is not complete. Please use the Back and Next buttons at the bottom of the page to ensure your work is saved.'; //This is displayed on the dialog

		//e.stopPropagation works in Firefox.
		if (e.stopPropagation) {
			e.stopPropagation();
			e.preventDefault();
		}
	} 
}
window.onbeforeunload=goodbye;



 // Google Adwords variables //
var google_conversion_id = 1066525503;
var google_conversion_language = "en_US";
var google_conversion_format = "1";
var google_conversion_color = "ffffff";
var google_conversion_label = "none"; // this is set below
var conversionscript = "";
// NOTE: The actual javascript that submits this conversion is written below in the sendfinalresults function


 // Original form variables //
 var http_request = false;
 var finaldiv='';
 var postbackdiv='';
function sendfinalresults(formtype,finaldivt,postbackdivt) {

	//JR: They have submitted the form, so allow them to leave without a warning
	catchleaving=false;

    finaldiv=finaldivt;
    postbackdiv=postbackdivt;
    document.getElementById('btnSubmit').disabled=false;
    document.getElementById('btnSubmit').disabled=true;
    document.getElementById('btnSubmit').value='Submitting data...';
    makePOSTRequest('formprocessor.aspx','formtype=' +  formtype + '&formdata=' +  encodeURIComponent(document.getElementById(finaldiv + 'inside').innerHTML),finaldiv,postbackdiv);
	
	
	// Track this form submission //
	pageTracker._trackPageview('/customer/schedule/' + formtype + '-reservation-form-submitted');
	
	// Track this conversion (Adwords) //
	switch(formtype)
	{
	case 'audio':
	  google_conversion_label = "qYK4CNvfdxC_xsf8Aw";
	  conversionscript = '<script language=\"JavaScript\" src=\"http://www.googleadservices.com/pagead/conversion.js\"></script>';
	  break;    
	case 'video':
	  google_conversion_label = "avrsCLXgdxC_xsf8Aw";
	  conversionscript = '<script language=\"JavaScript\" src=\"http://www.googleadservices.com/pagead/conversion.js\"></script>';
	  break;
	case 'video_suite':
	  google_conversion_label = "MtE7CI_hdxC_xsf8Aw";
	  conversionscript = '<script language=\"JavaScript\" src=\"https://www.googleadservices.com/pagead/conversion.js\"></script>';
	  break;
	default:
		// this prevents it from running twice on video_suite (with the no_cc version) and on any other form where we don't have conversion tracking
		conversionscript = "";
		break;
	}
}
  function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
  }
   
  function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
  }
   
  function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
  }

   function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = recieveData;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }
   
   function recieveData() {
   if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            
            var result = http_request.responseText;   
                var reg = new RegExp('Good');
                if (reg.test(result)) {
                    document.getElementById('btnSubmit').style.display='none';
                    document.getElementById('btnFinalBack').style.display='none';
					document.getElementById('finalSubmitWarning').style.display='none';
                    document.getElementById(postbackdiv).style.display='';
                    document.getElementById(postbackdiv + 'inside').innerHTML='<hr /><p><b><span style="color:#FF0000;">Your submission was a success!</span></b><br />&nbsp;<br />You may print this page for your records.<br />&nbsp;<br />If necessary, an ACT agent will contact you within 24 business hours regarding this request.</p><!--<h3><a href="' + strHTTP + '/customer/schedule/schedule-conference.aspx">Click here to exit the form</a></h3>-->' + conversionscript;
                    }
         } else {
            alert('There was a problem with the request.' + http_request.status);
         }
      }
   }
   
