// WWS code - updated
var _hbEC=0,_hbE=new Array;function _hbEvent(a,b){b=_hbE[_hbEC++]=new Object();b._N=a;b._C=0;return b;}
var hbx = _hbEvent("pv");hbx.vpc="HBX0100u";hbx.gn="a.chryslergroupllc.com";
//replace periods with underscores in hostname, analytics says periods may cause problems
var exthostname = location.hostname.replace(/\./g, "_").toLowerCase();

// Set Dealer account to PROD dealer account
hbx.acct=(exthostname.split(".")[0].indexOf("www")==-1) ? "DM5607312JZR;DM540330JFCA" : "DM5607312PSN;DM540330MAFN";

var cv=_hbEvent("cv");
var path = location.pathname.toLowerCase();
var mlcSplit = path.split("/");
if(path.indexOf(".html") != -1 || path.indexOf(".htm") != -1){
  var mlcSplice = mlcSplit.splice(0, mlcSplit.length -1);
}else{
  var mlcSplice = mlcSplit.splice(0, mlcSplit.length);
}
var mlcJoin = mlcSplice.join("/");
var mlc = mlcJoin;

mlc = mlcSplice.splice(1, mlcSplice.length);
mlc = mlc.join("/");

hbx.pndef = "index.html"; // takes the name of the html file at the page name = *.html

//these DDC pages have forms on them, so we adjust the MLC accordingly (except for any path with confirm in it)
var inv_year, inv_make, inv_model, inv_body, inv_search;
if ((path.indexOf("showroom/20") > -1 || path.indexOf("form") > -1 || path.indexOf("carfinder") > -1 || path.indexOf("/service/index.htm") > -1  || path.indexOf("financing") > -1) && (path.indexOf("confirm") == -1)){
	mlc = buildFormMLC();
} else if (path.indexOf("inventory/index.htm") > -1 || path.indexOf("carfinder/new-confirm.htm") > -1 || path.indexOf("carfinder/used-confirm.htm") > -1){
	inv_make = getParameter("SBmake"); inv_year = getParameter("SByear"); inv_model = getParameter("SBmodel"); inv_body = getParameter("SBbodystyle");
	inv_make = (inv_make!="" && inv_make!="clear") ? "/"+inv_make : "/all_makes";
	inv_year = (inv_year!="" && inv_year!="clear") ? "/"+inv_year : "/all_years";
	inv_model = (inv_model!="" && inv_model!="clear") ? "/"+inv_model : "/all_models";
	inv_body = (inv_body!="" && inv_body!="clear") ? "/"+inv_body : "/all_bodystyles";
	inv_search = inv_make + inv_year + inv_model + inv_body + "/search_results";
	mlc += inv_search;
} else if (path.indexOf("inventory/vehicle-details.htm") > -1){
	inv_search = (typeof(views[1].extra) == "string") ? views[1].extra.split("|") : "";
	mlc += "/"+inv_search[4]+"/"+inv_search[3]+"/"+inv_search[5]+"/"+inv_search[6]+"/vehicle-details";
}
mlc = mlcCleaner(mlc);
hbx.mlc="/"+exthostname+"/"+mlc+";/dealersite/"+exthostname+"/"+mlc;
hbx.ctdef="full";
hbx.dcmpn="bid";
hbx.hqsp="adid";
hbx.hrf="hrf";

//Optional Variables
hbx.lt="auto";
hbx.lc="y";
hbx.dlf=".pdf,.zip,.hqx!.jsp,.htm,.html";
cv.c21=location.protocol+'//'+location.host+location.pathname;
cv.c22=location.search.substring(1, location.search.length);

function mlcCleaner(str) {
	return unescape(str).replace(/[^a-zA-Z0-9,\-,\/]/g, "_").replace(/___/g,"_").toLowerCase();
}
//trackFormOpen is used ONLY for ThickBox form starts
function trackFormOpen() {
    mlc = buildFormMLC();
	mlc = mlcCleaner(mlc);
	_hbPageView(hbx.pndef, "/"+exthostname+"/"+mlc+";/dealersite/"+exthostname+"/"+mlc);	
}

//trackFormSubmit only used upon successful form submission
function trackFormSubmit() {
	mlc = buildFormMLC();
	mlc = mlcCleaner(mlc);
	mlc += "/confirm";
	_hbPageView(hbx.pndef, "/"+exthostname+"/"+mlc+";/dealersite/"+exthostname+"/"+mlc);
try{	
	if (path.indexOf("new-inventory") > -1){
			//new or used inventory vehicle-details pages uses thickbox for lead capture
			formMLC_part = $("#TB_ajaxContent form").attr('id');
		} else if (path.indexOf("showroom/20") > -1) {
			formMLC_part = $("form").attr('class');
		} else {
			formMLC_part = $("form").attr('id');
		}

	if(prObj.brand == "dodge" || prObj.brand == "chrysler" || prObj.brand == "jeep"){
			switch(formMLC_part){
				case 'makeanoffer':
				prObj.track('make-offer');
				break;

				case 'vehiclelead':
				prObj.track('request-info');
				break;

				case 'testdrive':
				prObj.track('test-drive');
				break;

				case 'emailafriend':
				prObj.track('email-friend');
				break;

				case 'tradein':
				prObj.track('trade-in');
				break;

				case 'contact':
				prObj.track('contact');
				break;

				case 'ddcForm':
				prObj.track('showroom');
				break;
			}
		}
	
}
catch(err){}	
}

function buildFormMLC(){
try{
	var formMLC_part = "other";
	var site_cat = "other";
	var formMLC = "";

	if (path.indexOf("vehicle-details") > -1){
		//new or used inventory vehicle-details pages uses thickbox for lead capture
		formMLC_part = $("#TB_ajaxContent form").attr('id');
		site_cat = "vehicle-details";
	} else if (path.indexOf("showroom/20") > -1) {
		formMLC_part = $("form")[0].className;
		site_cat = "showroom";
	} else if (path.indexOf("specials") > -1) {
		formMLC_part = $("form")[0].id;
		site_cat = "specials";
	} else {
		formMLC_part = $("form")[0].id;
	}
	
	if (typeof(views[0].extra) == "string" && site_cat == "vehicle-details"){			
		site_cat = views[0].extra.substring(0,views[0].extra.indexOf("_"))+"-inventory";
		var vehicle_info = (typeof(views[1].extra) == "string") ? views[1].extra.split("|") : "";
		formMLC = site_cat+"/"+vehicle_info[4]+"/"+vehicle_info[3]+"/"+vehicle_info[5]+"/"+formMLC_part;
	}else if (site_cat == "specials"){
		formMLC = site_cat+"/"+formMLC_part;
	}else if (site_cat == "showroom"){
		if (path.indexOf("showroom/20") > -1) {
			site_cat = mlcJoin.substr(1);
			site_cat += ($("input")[12].name == "vehicle.bodystyle") ? "/" + $("input")[12].value : "";
		}
		formMLC = site_cat+"/"+formMLC_part;
	}else {
		formMLC = formMLC_part;
	}
	return formMLC;
}
catch(err){}
}

function getParameter(aP){var qS = new String(location.search.substring(1,location.search.length));var p = qS.split("&");var val = "";if(aP){for(i=0;i<p.length;i++){if(p[i].split( "=" )[0] == aP){val = p[i].split( "=" )[1];}}return val;}}

// Inclusion of Pointroll and Dart Tracking Tags

//
//  Ãƒâ€šÃ‚Â«Rich Media Site Event Tag PlacementÃƒâ€šÃ‚Â»
//  
//  Arrays: c_page_pn, d_page_pn , j_page_pn
//   
//  x_page_pn : 
//  Array stores PR and Dart site event tags for DDC pages
//
//
//  Flash/AJAX Calls can be made by calling prObj.track('email-friend') where the value being passed matches the switch statement
//	Each call will fire all 6 tracking pixels ( 3 brands x 2 tracking pixels )
// 
//  Email a friend
//  javascript:prObj.track('email-friend')

//  Make an Offer
//  javascript:prObj.track('make-offer')

//  Request More Info
//  javascript:prObj.track('request-info')

//  Schedule a Test Drive
//  javascript:prObj.track('test-drive')

//  Contact Form
//  javascript:prObj.track('contact')

//  Trade-in Form
//  javascript:prObj.track('trade-in')

// Create Path Array
var c_page_pn = new Array();
var d_page_pn = new Array();
var j_page_pn = new Array();

// Array objects ['Path Variable','Point Roll Tracking Pixel','Dart Category','Dart Type Value']

	// Chrysler Trackings
	c_page_pn[0] = new Array("Contact Form","5468177C-0640-44F8-9E4F-7903384F4C67","deale219","c1");
	c_page_pn[1] = new Array("/new-inventory/index.htm","FD2C5EFE-82DB-44D8-A5D3-18152072B0F3","deale302","c1");
	c_page_pn[2] = new Array("Email a Friend","1C55EFFA-3A04-441A-AF55-6CF0742F8176","deale682","deale555");
	c_page_pn[3] = new Array("Make an Offer","00CAEA4D-1F4A-4EF9-82E1-DF74BFF4557F","deale256","deale555");
	c_page_pn[4] = new Array("Request More Info","475A30BB-5D84-46A3-B26F-E0E48D5249F9","deale345","deale555");
	c_page_pn[5] = new Array("Schedule a Test Drive","B6C9861E-D523-4A8C-9BD1-EDD95128E042","deale596","deale555");
	c_page_pn[6] = new Array("/tradein-form-confirm.htm","4B4220BA-205E-4A8D-97F0-3F5987CA99C2","deale694","deale555");
	c_page_pn[7] = new Array("/index.htm","2FB4C4AC-9D1F-4CEF-9CE9-6CB136604FC4","deale997","c1");
	c_page_pn[8] = new Array("Show Room","0651E3FA-9EF9-4088-B1B5-A4E89F9EFA9C","deale704","deale555");
	
	// Dodge Trackings
	d_page_pn[0] = new Array("Contact Form","643FCA3F-ECBC-45B0-ADF3-513FE604AAFC","deale026","pv2");
	d_page_pn[1] = new Array("/new-inventory/index.htm","04CBC80A-E915-4D28-B44E-AD491BE5BC4B","deale964","pv2");
	d_page_pn[2] = new Array("Email a Friend","20437144-2772-4339-A9C6-D23679359D17","deale551","deale136");
	d_page_pn[3] = new Array("Make an Offer","44BF4CB4-E8B8-4974-A8FD-7CDEC7F54C5C","deale767","deale136");
	d_page_pn[4] = new Array("Request More Info","2723AA87-805E-4C68-A42A-672ED1B12693","deale218","deale136");
	d_page_pn[5] = new Array("Schedule a Test Drive","FF143676-D4D6-448A-BC72-78E6A58AD54B","deale501","deale136");
	d_page_pn[6] = new Array("/tradein-form-confirm.htm","B125D896-BA0D-490A-B772-998097A951B9","deale950","deale136");
	d_page_pn[7] = new Array("/index.htm","36A60078-C976-4B29-80CD-44A81D08808C","deale553","pv2");
	d_page_pn[8] = new Array("Show Room","AA9252D2-B5BA-4D24-8E83-B00ABF6F83B0","deale418","deale136");
	
	// Jeep Trackings
	j_page_pn[0] = new Array("Contact Form","8774AA6A-01A3-4FD0-859B-7D2606AEB5D6","deale402","c1");
	j_page_pn[1] = new Array("/new-inventory/index.htm","AB184E0E-DA73-4957-9755-52146CDC52DB","deale643","c1");
	j_page_pn[2] = new Array("Email a Friend","31C03935-F0C2-447C-B859-8EA9C66E4029","deale594","deale233");
	j_page_pn[3] = new Array("Make an Offer","7FDBAC89-847E-4515-A594-9AC14E6CFB11","deale382","deale233");
	j_page_pn[4] = new Array("Request More Info","7D262D65-2EC1-4E10-B0CF-57188266B650","deale423","deale233");
	j_page_pn[5] = new Array("Schedule a Test Drive","474A8012-B36F-4CFA-BD94-2BC538B3FD80","deale603","deale233");
	j_page_pn[6] = new Array("/tradein-form-confirm.htm","A3E2AC80-D0FF-44BB-902F-71249C5FDEED","deale226","deale233");
	j_page_pn[7] = new Array("/index.htm","CE0778FB-AEFE-457C-A29B-6ACEBDC9A5F1","deale086","c1");
	j_page_pn[8] = new Array("Show Room","89EA5296-C99E-477F-B083-1148294CFA73","deale182","deale233");


window.prObj = {
	
	dealers_zip : null,
	dealers_id : null,
	brand : null,
	year : null,
	model : null,
	trim : null,
	style : null,
	color : null,
	cur_vehicle : null,
	
	init : function(){
		
		// Grab Data if its available and assign it to object variables
		
		try {
			
			jQuery.each(views, function(index, value) {
				
				// Make sure we are within the a vehicle view that has the information we need
				if(index == 1 && value.type == 5){

					arrBrand = value.extra;
				
					// Create Array of all values within the views.extra string
					var vars = arrBrand.split('|')        
					
					// Set variables to track									
					var pos = 4;
					prObj.brand = vars[pos].toLowerCase();
					prObj.year = vars[pos - 1]		
					prObj.model = vars[pos + 1].replace(" ","_").toLowerCase();
					prObj.trim = vars[pos + 2].replace(" ","_").toLowerCase();
					prObj.style = vars[pos + 7].replace(" ","_").toLowerCase();
					prObj.color = vars[pos + 8].replace(" ","_").toLowerCase();
					prObj.cur_vehicle = prObj.year+"_"+prObj.brand+"_"+prObj.model+"_"+prObj.style+"_"+prObj.trim;
			
				}
				
			});
			
		} catch(err){
			
		}		
		
		try {
			prObj.dealers_zip = $('.postal-code').html();
		} catch (err){
			
		}
		
		// esthostname is a variable which contains the url of the dealers website. Chrysler Dealer ID can not be located
		try {
			this.dealers_id = exthostname;
		} catch (err){
		
		}

		// Run Trackings function which matches path variable to correct PR tag on initial page load
		this.track();
		
	},
	
	track : function(request){
		
		// If Ajax requested tracking, the pre-defined value for page is passed 
		if(request){
			
			switch(request){
												
				// Email to a Friend
				case 'email-friend':
					try{
						if(views[0].extra != "USED_VEHICLE_DETAILS"){
							prObj.prFire(c_page_pn[2][1],c_page_pn[2][2],c_page_pn[2][3],"560937","728");
							prObj.prFire(d_page_pn[2][1],d_page_pn[2][2],d_page_pn[2][3],"560943","2345");
							prObj.prFire(j_page_pn[2][1],j_page_pn[2][2],j_page_pn[2][3],"560946","1619");
						}
					} catch(err){}
				break;
				
				// Make an Offer
				case 'make-offer':
					try{
						if(views[0].extra != "USED_VEHICLE_DETAILS"){
							prObj.prFire(c_page_pn[3][1],c_page_pn[3][2],c_page_pn[3][3],"560937","728");
							prObj.prFire(d_page_pn[3][1],d_page_pn[3][2],d_page_pn[3][3],"560943","2345");
							prObj.prFire(j_page_pn[3][1],j_page_pn[3][2],j_page_pn[3][3],"560946","1619");
						}
					} catch(err){}
				break;
				
				// Request more Information
				case 'request-info':
					try{
						if(views[0].extra != "USED_VEHICLE_DETAILS"){
							prObj.prFire(c_page_pn[4][1],c_page_pn[4][2],c_page_pn[4][3],"560937","728");
							prObj.prFire(d_page_pn[4][1],d_page_pn[4][2],d_page_pn[4][3],"560943","2345");
							prObj.prFire(j_page_pn[4][1],j_page_pn[4][2],j_page_pn[4][3],"560946","1619");
						}
					} catch(err){}
				break;
				
				// Schedule a Test Drive
				case 'test-drive':
					try{
						if(views[0].extra != "USED_VEHICLE_DETAILS"){
							prObj.prFire(c_page_pn[5][1],c_page_pn[5][2],c_page_pn[5][3],"560937","728");
							prObj.prFire(d_page_pn[5][1],d_page_pn[5][2],d_page_pn[5][3],"560943","2345");
							prObj.prFire(j_page_pn[5][1],j_page_pn[5][2],j_page_pn[5][3],"560946","1619");
						}
					} catch(err){}
				break;
				
				// Contact Form
				case 'contact':
					try{
						if(views[0].extra != "USED_VEHICLE_DETAILS"){
							prObj.prFire(c_page_pn[0][1],c_page_pn[0][2],c_page_pn[0][3],"560937","728");
							prObj.prFire(d_page_pn[0][1],d_page_pn[0][2],d_page_pn[0][3],"560943","2345");
							prObj.prFire(j_page_pn[0][1],j_page_pn[0][2],j_page_pn[0][3],"560946","1619");
						}
					} catch(err){}
				break;
				
				// Trade-in
				case 'trade-in':
					try{
						if(views[0].extra != "USED_VEHICLE_DETAILS"){
							prObj.prFire(c_page_pn[6][1],c_page_pn[6][2],c_page_pn[6][3],"560937","728");
							prObj.prFire(d_page_pn[6][1],d_page_pn[6][2],d_page_pn[6][3],"560943","2345");
							prObj.prFire(j_page_pn[6][1],j_page_pn[6][2],j_page_pn[6][3],"560946","1619");
						}
					} catch(err){}
				break;
				
				// Show Room
				case 'showroom':
					try{
						if(views[0].extra != "USED_VEHICLE_DETAILS"){
							prObj.prFire(c_page_pn[8][1],c_page_pn[8][2],c_page_pn[8][3],"560937","728");
							prObj.prFire(d_page_pn[8][1],d_page_pn[8][2],d_page_pn[8][3],"560943","2345");
							prObj.prFire(j_page_pn[8][1],j_page_pn[8][2],j_page_pn[8][3],"560946","1619");
						}
					} catch(err){}
				break;
			}

		} else {
			
			
			if(path == "/index.htm"){
				prObj.prFire(c_page_pn[7][1],c_page_pn[7][2],c_page_pn[7][3],"560937","728");
				prObj.prFire(d_page_pn[7][1],d_page_pn[7][2],d_page_pn[7][3],"560943","2345");
				prObj.prFire(j_page_pn[7][1],j_page_pn[7][2],j_page_pn[7][3],"560946","1619");
			} else {
			
			
				// If page is found without requiring Ajax request loop though array and fire off pixels
				for(i = 0; i < c_page_pn.length; i++){
					// Run for Chrysler
					if(c_page_pn[i][0] == path){
						try{
							if(views[0].extra != "USED_VEHICLE_DETAILS"){
								prObj.prFire(c_page_pn[i][1],c_page_pn[i][2],c_page_pn[i][3],"560937","728");					
							}
						} catch(err){
							prObj.prFire(c_page_pn[i][1],c_page_pn[i][2],c_page_pn[i][3],"560937","728");	
						}
					}
				}
			
				for(i = 0; i < d_page_pn.length; i++){
					// Run for Dodge
					if(d_page_pn[i][0] == path){
						try{
							if(views[0].extra != "USED_VEHICLE_DETAILS"){
								prObj.prFire(d_page_pn[i][1],d_page_pn[i][2],d_page_pn[i][3],"560943","2345");					
							}
						} catch(err){
							prObj.prFire(d_page_pn[i][1],d_page_pn[i][2],d_page_pn[i][3],"560943","2345");
						}
					} 
				}
			
				for(i = 0; i < j_page_pn.length; i++){
					// Run for Jeep
					if(j_page_pn[i][0] == path){
						try{
							if(views[0].extra != "USED_VEHICLE_DETAILS"){
								prObj.prFire(j_page_pn[i][1],j_page_pn[i][2],j_page_pn[i][3],"560946","1619");					
							} 
						} catch(err){
							prObj.prFire(j_page_pn[i][1],j_page_pn[i][2],j_page_pn[i][3],"560946","1619");
						}
					} 
				}
			
			}
		
		}
	},
	
	prFire : function(id,cat,type,src_path,av){
		
		// Fires PR site event call
		
		// Passing tracking values
		var tracking_values = ""+prObj.dealers_zip+"|"+prObj.dealers_id+"|"+prObj.cur_vehicle;
		
		var prd=new Date(),pru=Date.UTC(prd.getUTCFullYear(),prd.getUTCMonth(),prd.getUTCDay(),prd.getUTCHours(),prd.getUTCMinutes(),prd.getUTCSeconds(),prd.getUTCMilliseconds());
		var pr_eid=pru+Math.random();
		var pr_event='';
		var pr_item= tracking_values;
		var pr_quantity='';
		var pr_value='';
		var px = new Image(1,1);
		
		// Check to see if page is secure
		if(location.protocol == "https:") {
			env = "https";
		} else {
			env = "http";
		}

		px.src= ""+env+"://ev.ads.pointroll.com/event/?ss="+id+"&av="+av+"&eid="+pr_eid+"&ev="+pr_event+"&item="+pr_item+"&q="+pr_quantity+"&val="+pr_value+"&r="+Math.random();

		// Fires Dart Spotlight tag
		
		var axel = Math.random()+"";
		var a = axel * 10000000000000;
		var src = "";
	
		
		src_url = 'http://fls.doubleclick.net/activityi;src='+src_path+';type='+type+';cat='+cat+';u11='+prObj.dealers_zip+';u12='+prObj.dealers_id+';u20='+prObj.cur_vehicle+';ord='+ a + '?';
		
		
		try{
			if(views[0].extra != "USED_VEHICLE_DETAILS"){		
				$("body").append('<iframe frameborder="0" height="1" width="1" src="'+src_url+'"></iframe>');
			}
		} catch(err){
			$("body").append('<iframe frameborder="0" height="1" width="1" src="'+src_url+'"></iframe>');
		}
	
	}
	
}

// Uses jquery ready statement to make sure page is fully loaded and ready to send data
$(document).ready(function(){
	prObj.init();
	
	var loc_path = location.pathname.split('/')
	loc_path[1];
	
	if($('.ddcForm') && loc_path[1] == "showroom"){
		$('.submit a span').click(function (){
			prObj.track('showroom')
		})
	}
	
});



