//
jQuery(document).ready(function() {
	// If the promo image has a hyperlink, set it to open with Thickbox.
	var currentUrl = jQuery("#lslp_promo_image1 > a").attr("href");
	if (currentUrl != undefined) {
		var prefix = "f_";
		var promoUrl = prefix + currentUrl;
		promoUrl += "?KeepThis=true&TB_iframe=true&TB_keepScrollbars=false&width=800&height=500";
		jQuery("#lslp_promo_image1 > a").attr("href", "#empty");
		jQuery("#lslp_promo_image1").click(function(){
			tb_show("", promoUrl, null);
			sendPixelTag({
				pageLabel:"Map_Promo_Click"
			});
			return false;
		});
		
	}
	
	jQuery(".PrivacyPolicy").click(function(){				
		var objWin = window.open('f_PrivacyPolicy#privacy','PrivacyPolicy','directories=no,scrollbars=yes,menubar=no,resizable=no,toolbar=no,location=no,status=no,titlebar=yes',true);
		return false;
	});	
	
	jQuery(".TermsOfUse").click(function(){			
		var objWin = window.open('f_PrivacyPolicy#terms','TermsOfUse','directories=no,scrollbars=yes,menubar=no,resizable=no,toolbar=no,location=no,status=no,titlebar=yes',true);	
		return false;
	});	
		

});
//
function serializeForm(theForm) {
	var formParameters = jQuery(theForm).formSerialize();
	return formParameters;
}
//
function GAQsend(someForm) {
	try {
		GAQvalidate(someForm);
		jQuery("#gaq_jsdetect").val("true");
		var fromMap = (jQuery("#gaq_fromMapField").val() == "true") ? true : false;
		if(fromMap) {
			var dealerIndex = jQuery("#infoWindowIndex").val();
			var thisDealerWebId = dmaDealers[dealerIndex].webId;
			submitAJAXLeadForm(someForm, "#gaqForm", {
				pageLabel:"GAQ_Map",
				pageLayoutName: "GAQ_Thankyou",
				pageName:"GAQ_Thankyou",
				webId:thisDealerWebId
			});
		} else {
			var thisDealerWebId = jQuery(".dealerSelect:checked").val();
			if (thisDealerWebId==null || thisDealerWebId=="undefined") {
				alert(ERRORMESSAGE_ENTER_REQUIRED_DATA);
				FormUtility.highlightFields(jQuery("#selectDealerDropdown"));
				return;
			}
			submitAJAXLeadForm(someForm, "#gaqForm", {
				pageLabel:"GAQ_Inventory",
				pageLayoutName: "GAQ_Thankyou",
				pageName:"GAQ_Thankyou",
				webId:thisDealerWebId
			}, fromMap);
		}
	} catch (err) {
		handleException(err);
	} finally {
		return false;
	}
}
//
function submitAJAXLeadForm(targetForm, formId, pixelOptions, fromMap) {
	var postParameters = serializeForm(jQuery(targetForm));
	var formAction = jQuery(targetForm).attr('action');
	jQuery.ajax({
		type: "POST",
		dataType: "html",
		async: "false",
		data: postParameters,
		url: formAction, 
		success: function(data) {
			var thankYou = showThankYouPage(formId, data);
			leadId = jQuery("#leadIdContainer").text();
			
			sendPixelTag(pixelOptions, leadId);
			EventManager.publish({
				eventName:'com.cobaltgroup.ws.view.conversion',
				publisherData:{
					pageLabel: pixelOptions.pageLabel,
					pageLayout: pixelOptions.pageLayoutName,
					pageName: pixelOptions.pageName,
					webId: pixelOptions.webId,
					leadId: leadId
				}
			});
		},
		error: function(oXHR, err, oExc) {
			alert(err);
		}
	});
}
//
function showThankYouPage(formId, returnedPage) {
	jQuery(formId).hide();
	jQuery(returnedPage).insertAfter(formId);
}
//
function resetGAQ() {
	jQuery("#mapWrapper").hide();
	jQuery("#gaqForm").show();
	jQuery("#gaqForm").resetForm();
	jQuery("#thanksContainer").remove();
	jQuery("#thanksContainer").prev().remove(); // removes pixel tag container for thank you page
	jQuery(".selectDealerRow").remove();
	jQuery("#dealerDropdownContainer").html("");
	//
	jQuery("#gaq_zip").val(jQuery("#dmaSearchZipInput").val());
}
//
function sendPixelTag(pixelData, leadId) {
	var o = (pixelData == undefined) ? {} : pixelData;
	var postParameters;
	postParameters = "";
	postParameters += (!o.invFormParams) ? "" : o.invFormParams;
	postParameters += (!o.pageLabel) ? "" : "&pageLabel=" + o.pageLabel;
	postParameters += (!o.pageName) ? "" : "&pageName=" + o.pageName;
	postParameters += (!o.pageLayoutName) ? "" : "&pageLayoutName=" + o.pageLayoutName; 
	postParameters += (!o.webId) ? "" : "&cs:s=" + o.webId;
	postParameters += (!leadId) ? "" : "&lead_id=" + leadId;	
	jQuery.ajax({
		type: "POST",
		dataType: "html",
		async: "false",
		data: postParameters,
		url: "pixelInformation.ajax", 
		success: function(data) {
			jQuery('body').append(data);
		},
		error: function(oXHR, err, oExc) {
			alert(err);
		}
	});
}

function removeSubstring(sourceString, stringToRemove) {
	var startIndex = sourceString.indexOf(stringToRemove);
	if (startIndex != -1) {
		var stringLength = stringToRemove.length;
		var endIndex = startIndex + stringLength;
		//
		var part1 = sourceString.substring(0,startIndex);
		var part2 = sourceString.substring(endIndex);  // omit last parameter, uses sourceString.length
		//
		// Put it back together
		return part1 + part2;
	}
}
