
// Tooltip alignment should be set to either "right" or "left"
function startNewQuote(tooltipAlignment) {
    var ddLOB = document.getElementById("ddLOB");
    var validationPassed = true;
    
    var errorPopupID; 
    var errorContentID;
    
    setPLCode();

var myHost = location.host;

// if not on the racing or aarp sites
if ((url.indexOf("/hartford-rcr-racing") < 0) && myHost.indexOf("aarp") < 0 )
{
	 // check organic flag and pass to sales app if set to 'true'
	 if (GetCookie("organic") == "true") {
	  // add this name value pair to the quote module form
	  var organicField = document.createElement("input");
	  organicField.setAttribute("type", "hidden");
	  organicField.setAttribute("name", "organic");
	  organicField.setAttribute("value", "true");
	  document.newQuoteForm.appendChild(organicField);
	 }
 }
        
    if (tooltipAlignment == "right")
    {
        errorPopupID = 'popup5';
        errorContentID = "QuoteErrorRightContent";
    }
    else
    {
        errorPopupID = 'popup4';
        errorContentID = "QuoteErrorLeftContent";
    }
		    
	if ((document.newQuoteForm.zip.value.length < 5) || isNaN(document.newQuoteForm.zip.value)) 
	{
		validationPassed = false;
		document.getElementById(errorContentID).innerHTML = "In order to start your quote, please enter a valid ZIP code here.";
		setLyrTool('zipstartquote',errorPopupID,'quoteform',tooltipAlignment);
	} 

	// form is valid, submit
	if (validationPassed)
	{
		ntptEventTag('ev=start_quote_button&quoteType='+ ddLOB.value + '&quoteZip=' + document.newQuoteForm.zip.value );
		ntptFireWt(1);
		
		// update form target if this is a Home/Condo/Renters quote
		if (typeof setHomeQuoteTarget == "function") {
			setHomeQuoteTarget(ddLOB.value, document.newQuoteForm);
		}
		
		// hide the error message if visible, we're about to submit the form successfully
		handleOutTool(errorPopupID);

		document.newQuoteForm.submit();
	}

}

function retrieveQuote(tooltipAlignment) {
    var validationPassed = true;
        
    var errorPopupID; 
    var errorContentID;
    
    if (tooltipAlignment == "right")
    {
        errorPopupID = 'popup5';
        errorContentID = "QuoteErrorRightContent";
    }
    else
    {
        errorPopupID = 'popup4';
        errorContentID = "QuoteErrorLeftContent";
    }
    
    if ((document.retrieveByEmailForm.zip.value.length < 5) || isNaN(document.retrieveByEmailForm.zip.value)) 
    {
	    validationPassed = false;
        document.getElementById(errorContentID).innerHTML = "In order to retrieve your quote, please enter a valid ZIP code here.";
        setLyrTool('zipretrievequote',errorPopupID,'quoteform',tooltipAlignment);
    }
    
    if ((document.retrieveByEmailForm.dobMonth.value.length < 2) || isNaN(document.retrieveByEmailForm.dobMonth.value) || (document.retrieveByEmailForm.dobMonth.value > 12) || (document.retrieveByEmailForm.dobDay.value.length < 2) || isNaN(document.retrieveByEmailForm.dobDay.value) || (document.retrieveByEmailForm.dobDay.value > 31) || (document.retrieveByEmailForm.dobYear.value.length < 4) || isNaN(document.retrieveByEmailForm.dobYear.value) ) 
    {
	    validationPassed = false;
        document.getElementById(errorContentID).innerHTML = "In order to retrieve your quote, please enter a valid date of birth here.";
        setLyrTool('InputBoxDay',errorPopupID,'quoteform',tooltipAlignment);
	} 
	
	if ((document.retrieveByEmailForm.email.value.length == 0) || (document.retrieveByEmailForm.email.value.indexOf("@") == -1) || (document.retrieveByEmailForm.email.value.indexOf(".") == -1)) 
	{
	    validationPassed = false;
		document.getElementById(errorContentID).innerHTML = "In order to retrieve your quote, please enter a valid email address here.";
        setLyrTool('email',errorPopupID,'quoteform',tooltipAlignment);
	} 
	
	if (document.retrieveByEmailForm.lastName.value.length < 1) 
	{
	    validationPassed = false;
		document.getElementById(errorContentID).innerHTML = "In order to retrieve your quote, please enter your last name here.";
        setLyrTool('lastName',errorPopupID,'quoteform',tooltipAlignment);
	} 
	
    if (validationPassed)
    {	
    	ntptEventTag('ev=retrieve_quote&quoteZip=' + document.retrieveByEmailForm.zip.value);
    	
    	ntptFireWt(1);
    	    
        // form is valid, submit
        document.retrieveByEmailForm.dob.value = document.retrieveByEmailForm.dobMonth.value + document.retrieveByEmailForm.dobDay.value + document.retrieveByEmailForm.dobYear.value;
        document.retrieveByEmailForm.submit();
    }

}

function setQuoteFormLOB(lob)
{
	document.newQuoteForm.ddLOB.value = lob;
}

function setPLCode(code)
{
	 
	var qs = new Querystring();

	if (qs.contains("plcode"))
	{
		document.newQuoteForm.PLCode.value = qs.get("plcode");
	}
	else if (GetCookie("plcode") != null)
	{
		document.newQuoteForm.PLCode.value  = GetCookie("plcode");
	}
	else if ((typeof(code) != 'undefined') && (code != ""))
	{
		document.newQuoteForm.PLCode.value = code;
	}
}

function fixDateInput(node) {
	// add zero if they entered a single digit for month or day
	if ((node.maxLength == 2) && (node.value.length == 1)) {
		node.value = "0" + node.value;
	}
	// set full year if only 2 digits were entered
	if ((node.maxLength == 4) && (node.value.length == 2)) {
		if (node.value <= "10") {
			node.value = "20" + node.value;
		} else {
			node.value = "19" + node.value;
		}
	}
}

// Gives nextElement the focus if element.length matches its max length
function moveToNext(element, nextElement) {

	if (element.value.length >= element.maxLength)
	{
		document.getElementById(nextElement).focus();
	}
}


// Begin JQuery references
/// <reference path="/UI/scripts/jquery-1.3.2.min.js" />
$(document).ready(function() {

$('#zipstartquote').keyup(function(e) { StartQuoteKeyUpCheckForEnter(e); });

$('#lastName').keyup(function(e) { RetrieveQuoteKeyUpCheckForEnter(e); });
$('#email').keyup(function(e) { RetrieveQuoteKeyUpCheckForEnter(e); });
$('#InputBoxMonth').keyup(function(e) { moveToNext(this, 'InputBoxDay');RetrieveQuoteKeyUpCheckForEnter(e, this); });
$('#InputBoxDay').keyup(function(e) { moveToNext(this, 'InputBoxYear');RetrieveQuoteKeyUpCheckForEnter(e, this); });
$('#InputBoxYear').keyup(function(e) { RetrieveQuoteKeyUpCheckForEnter(e); });
$('#zipretrievequote').keyup(function(e) { RetrieveQuoteKeyUpCheckForEnter(e); });


function StartQuoteKeyUpCheckForEnter(e) {
	if(e.keyCode == 13) {
		DoStartQuote(e);
	}

}

function RetrieveQuoteKeyUpCheckForEnter(e, control) {
	if(e.keyCode == 13) {
		if (typeof(control) != 'undefined')
		{
			fixDateInput(control);
		}
		DoRetrieveQuote(e);
	}

}

function DoStartQuote(e) {
	if (
	( url.indexOf("thehartford-akc-facebook") < 0 ) 
	&& 
	(url == "/" || url == "" || url == "/index.shtml" || url == "/hartford-rcr-racing/" || url.indexOf("landingpages") >= 0)
	)
	{
		handleOutTool('popup4');
		startNewQuote('left');
	}
	else
	{
		handleOutTool('popup5');
		startNewQuote('right');
	}
}

function DoRetrieveQuote(e) {
	handleOutTool('popup4');
	retrieveQuote('left');
}

// need an additional event assigned to prevent submission of form with an Enter key
if ($.browser.mozilla) 
{
	$("#zipstartquote").keypress(checkForEnter);
	
	$("#lastName").keypress(checkForEnter);
	$("#email").keypress(checkForEnter);
	$("#InputBoxMonth").keypress(checkForEnter);
	$("#InputBoxDay").keypress(checkForEnter);
	$("#InputBoxYear").keypress(checkForEnter);
	$("#zipretrievequote").keypress(checkForEnter);
}
else 
{
	$("#zipstartquote").keydown(checkForEnter);

	$("#lastName").keydown(checkForEnter);
	$("#email").keydown(checkForEnter);
	$("#InputBoxMonth").keydown(checkForEnter);
	$("#InputBoxDay").keydown(checkForEnter);
	$("#InputBoxYear").keydown(checkForEnter);
	$("#zipretrievequote").keydown(checkForEnter);
}

// disables default submission of form when you hit the Enter key from a textbox
function checkForEnter(event) {
	if (event.keyCode == 13) 
	{
		event.preventDefault();
		return false;
	}
}

});


