/*
upsracing.js - javascript unique to www.racing.ups.com
*/

function upsRacingInitTracking($) {
	$("a").each(function() { //Adds the parameter "Wt.mc_id=Nascar" to all outbound links to the domain ups.com.
		var parts = this.href.split("/");
		if (parts.length>=3 && parts[2].toLowerCase().replace("www.","")=="ups.com") {
			this.href += (this.href.split("?").length>1 ? "&" : "?") + "Wt.mc_id=Nascar";
		}
	});
	$("a").click(function(e) {
		window.theEvent = $(this);
		upsRacingNotifyOmnitureOnAClick(this,s);
	});
	$("input[type='submit']").click(function() {
		upsRacingNotifyOmnitureOnSubmit(this,s);
	});
	$(".rating-control a").click(function(){
		upsRacingNotifyOmnitureOnRating(this,s);
	});
	$("#event-calendar a").click(function(){
		upsRacingNotifyOmnitureOnCalendarEvent(this,s);
	});
	$(".event-calendar-items a").click(function() {
		upsRacingNotifyOmnitureOnCalendarEvent(this,s);
	});
}
function upsRacingNotifyOmnitureOnCalendarEvent(link,s) {
	var eventName= "Calendar Clicked";
	s.linkTrackVars="events,prop16";
	s.linkTrackEvents=s.events="event33";
	s.prop16 = upsRacingGetUrlFragment(link);
	s.tl(link,'o',eventName);
}

function upsRacingNotifyOmnitureOnRating(link,s) {
	var parts = window.location.href.toLowerCase().split("/");
	if (parts.length>3) {
		var ratingControl = upsRacingGetThisRatingControl(link);
		var thisRating = upsRacingGetRatingNumber(link);
		var type = '';
		if (parts[3]!='gallery') {
			s.events='event11,event13,event18';
			type = 'Blog';
		} else if (parts.length>4) {
			switch (parts[4]) {
			case 'videos':
				s.events='event11,event18,event31';
				type = 'Video';
				break;
			case 'photos':
				s.events='event11,event18,event32';
				type = 'Photo';
				break;
			}
		}
		s.linkTrackEvents=s.events;
		s.linkTrackVars='eVar9,eVar15,eVar17,eVar21,events,prop10';
		s.eVar15=type+' Action: Rating';
		s.eVar17='rate';
		s.eVar9='+1';
		s.eVar21=s.prop10=thisRating;
		s.products=";;;;event18='" + rating + "'";
		s.tl(link,'o',type+' Rating Click');
	}
}

function upsRacingNotifyOmnitureOnAvatarUpload(button,userType,userName,s) {
	var eventName= "Avatar Upload";
	s.linkTrackVars="events,prop1,prop19";
	s.linkTrackEvents=s.events="event30";
	s.prop1 = userType;
	s.prop19 = userName;
	s.tl(button,'o',eventName);
}

function upsRacingNotifyOmnitureOnSubmit(submit,s) {
	var eventName='';
	switch (submit.form.id) {
		case "commentform":
			s.linkTrackVars='eVar9,eVar15,eVar17,events';
			s.linkTrackEvents=s.events='event11,event13';
			s.eVar9='+1';
			s.eVar15='Blog Action: Comment';
			s.eVar17='comment';
			eventName= 'Comment Submit Click';
			break;
	}
	if (eventName.length>0) {
		s.tl(submit,'o',eventName);
	}
}

function upsRacingNotifyOmnitureOnProfileSave(submit,s) {
	var type = submit.id.replace("save-","");
	if (document.forms["update-"+type] != null) {
		s.linkTrackVars='eVar9,eVar15,eVar16,events';
		s.linkTrackEvents=s.events='event11,event8';
		s.eVar9='+1';
		s.eVar15="profile";
		s.eVar16=type;
		s.tl('','o','Profile Save Click');
	}
}

function upsRacingNotifyOmnitureOnAClick(link,s) {
	var eventName='';
	if (upsRacingIsReportAbuse(link)) {
		s.linkTrackVars='events';
		s.linkTrackEvents=s.events='event34';
		s.eVar24='abuse reported';
		eventName = 'Report Abuse';
	} else if (upsRacingLinkContains(link,"motorsports-authentics.com")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event15';
		s.eVar24='store';
		s.eVar9='+1';
		eventName = 'Visit Store';
	} else if (upsRacingIsMessagingLink(link)) {
		s.linkTrackVars='eVar10,events';
		s.linkTrackEvents=s.events='event6';
		var messagingId = link.className.split(' ')[1];
		s.events='event6';
		s.eVar10= messagingId;  // Expect that classes on messaging links should be: "mesaging-link {messagingId}"
		eventName = "Messaging " + messagingId;
	} else if (upsRacingLinkContains(link,"/join.php")) {
		s.linkTrackVars='eVar9,eVar10,events';
		s.linkTrackEvents=s.events='event3,event11';
		s.eVar9 = '+1';
		s.eVar10 = s.pageName;
		eventName = 'Join/Register';
	} else if (upsRacingLinkContains(link,"/join/")) {
		s.linkTrackVars='eVar9,eVar10,events';
		s.linkTrackEvents=s.events='event3,event11';
		s.eVar9 = '+1';
		s.eVar10 = s.pageName;
		eventName = 'Join/Register';
	} else if (upsRacingIsAddThisLink(link)) {
		s.linkTrackVars='eVar9,eVar15,events';
		s.linkTrackEvents=s.events='event11,event41';
		s.eVar9='+1';
		s.eVar15='addthis';
		eventName = 'AddThis Dialog';
	} else if (upsRacingIsPrintLink(link)) {
		s.linkTrackVars='eVar9,eVar15,events';
		s.linkTrackEvents=s.events='event11';
		s.eVar9='+1';
		s.eVar15='print';
		eventName = 'Print Dialog';
	} else if (upsRacingLinkContains(link,"/send-to-friend.php")) {
		s.linkTrackVars='eVar9,eVar15,events';
		s.linkTrackEvents=s.events='event11,event27';
		s.eVar9 = '+1';
		s.eVar15 = 'open';
		eventName = 'Send to a Friend';
	} else if (upsRacingLinkContains(link,"/pdf/")) {
		s.linkTrackVars='eVar9,eVar15,eVar23,eVar26,events';
		s.linkTrackEvents=s.events='event11,event2';
		s.eVar15='download';
		s.eVar23= (link.href.indexOf('.label.')!=-1 ? 'label' : 'schedule');
		s.eVar26='whitepaper';
		s.eVar9='+1';
		eventName = 'PDF Download';
	} else if (upsRacingLinkContains(link,"/feed/")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event14';
		s.eVar24='rss subscription';
		eventName = 'Subscribe to RSS';
	} else if (upsRacingLinkContains(link,"twitter.com/upsracing")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event12';
		s.eVar24='twitter';
		s.eVar9='+1';
		eventName = 'Twitter';
	} else if (upsRacingLinkContains(link,"davidragan.com/")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event21';
		s.eVar24='david referral';
		s.eVar9='+1';
		eventName = 'David Ragan Site';
	} else if (upsRacingLinkContains(link,"roushfenway.com/")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event22';
		s.eVar24='roush referral';
		s.eVar9='+1';
		eventName = 'Roush Racing Site';
	} else if (upsRacingLinkContains(link,"www.1fordracing.com/fordracing/")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event47';
		s.eVar24='ford referral';
		s.eVar9='+1';
		eventName = 'Ford Racing Site';
	} else if (upsRacingLinkContains(link,"dalejarrett.com/")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event23';
		s.eVar24='dale referral';
		s.eVar9='+1';
		eventName = 'Dale Jarrett Site';
	} else if (upsRacingLinkContains(link,"www.twitter.com")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event12';
		s.eVar24='twitter referral';
		s.eVar9='+1';
		eventName = 'Twitter Referral';
	} else if (upsRacingLinkContains(link,"ups.com/one-to-one/")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event16';
		s.eVar24='open account';
		s.eVar9='+1';
		eventName = 'Open UPS Account';
	} else if (upsRacingLinkContains(link,"ups.com/bussol/")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event17';
		s.eVar24='ups solutions';
		s.eVar9='+1';
		eventName = 'Visit UPS Business Solutions';
	} else if (upsRacingLinkContains(link,"ups.com/content/us/en/shipping/")) {
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event24';
		s.eVar24='ups shipping referral';
		s.eVar9='+1';
		eventName = 'UPS Process Shipping';
	} else if (upsRacingIsUpsReferral(link)) {		// NOTE: This MUST come after ALL OTHER external links to UPS.com
		s.linkTrackVars='eVar9,eVar24,events';
		s.linkTrackEvents=s.events='event11,event29';
		s.eVar24='ups referral';
		s.eVar9='+1';
		eventName = 'UPS Referral';
	} else if (upsRacingIsLabelRequest(link)) {
		s.linkTrackVars='eVar9,eVar15,events';
		s.linkTrackEvents=s.events='event11,event25';
		s.eVar9='+1';
		s.eVar15='label';
		eventName = 'Label Request';
	} else if (upsRacingIsPickupRequest(link)) {
		s.linkTrackVars='eVar9,eVar15,events';
		s.linkTrackEvents=s.events='event11,event26';
		s.eVar9='+1';
		s.eVar15='pickup';
		eventName = 'Pickup Request';
	} else if (upsRacingLinkContains(link,"images/downloads/")) {
		if (upsRacingLinkContains(link,"1024x768")) {
			s.eVar25 = '1024x768';
		} else if (upsRacingLinkContains(link,"1280x1024")) {
			s.eVar25 = '1280x1024';
		} else if (upsRacingLinkContains(link,"1600x1200")) {
			s.eVar25 = '1600x1200';
		} else if (upsRacingLinkContains(link,"1680x1050")) {
			s.eVar25 = '1680x1050';
		} else {
			s.eVar25 = '';
		}
		
		s.linkTrackVars='eVar9,eVar15,eVar23,eVar24,eVar25,eVar26,events';
		s.linkTrackEvents=s.events='event2,event11';
		s.eVar23 = window.theEvent.parent().parent().attr("id"); // name of item
		s.eVar24 = 'Download';
		if (window.theEvent.parent().parent().attr("class") == "bicon") {
			s.eVar26 = 'Buddy Icon';
		} else if (window.theEvent.parent().parent().attr("class") == "wpaper") {
			s.eVar26 = 'Wallpaper';
		}
		s.eVar9 = '+1';
		eventName = s.eVar15 = 'Gallery Action: Download';
	}
	if (eventName.length>0) {
		s.tl(link,'o',eventName+' Click');
	}
}
function upsRacingIsUpsReferral(link) {
	try{
		var segments = link.href.split("/");
		if (segments.length>=3)
			return (segments[2].replace("www.","")=="ups.com");
		else
			return false;
	}catch(err){return false;}}
function upsRacingIsAddThisLink(link) {return (link.innerHTML.toUpperCase()=="SHARE THIS");}
function upsRacingIsPrintLink(link) {return (link.innerHTML.toUpperCase()=="PRINT THIS");}
function upsRacingIsLabelRequest(link) {return (link.href.indexOf("mailto:info@upstrackside.com")==0);}
function upsRacingIsPickupRequest(link) {return (link.href.indexOf("mailto:pickup@upstrackside.com")==0);}
function upsRacingIsMessagingLink(link) {return (link.className.split(' ')[0]=='messaging-link' && upsRacingIsLocalLink(link));}
function upsRacingIsLocalLink(link) {return (location.href.indexOf("://"+link.hostname+"/") != -1);}
function upsRacingLinkContains(link,segment) {return (link.href.toLowerCase().indexOf(segment) != -1);}
function upsRacingIsReportAbuse(link) {return (link.href.indexOf("flagged-comment-id=") != -1);}

function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
	}
}

/* upsRacingOpenModal() is here to be called by Flash Video Player */
function upsRacingOpenModal(url, id, sendCopy) {
	var link = document.createElement('a');
	if(id)
		link.href = url+"?mailingID=33076165&image="+id+"&sendCopy="+sendCopy;
	else
		link.href = url;
	jQuery.fn.fancybox.start(link, {frameHeight:595, frameWidth:709, overlayShow:true, overlayOpacity:0.4});
}

jQuery(function($) {
	$("a.modal").fancybox({
			'hideOnContentClick': true,
			'frameWidth': 709,
			'frameHeight': 595,
			'overlayShow':true,
			'overlayOpacity':0.4,
			'zoomSpeedIn':0,
			'zoomSpeedOut':0
	});
});

function upsRacingNotifyOmnitureOnGalleryItem(item,s) {
	s.linkTrackVars='eVar10,events';
	s.linkTrackEvents=s.events='event19';
	s.eVar10=item.title + " " + item.type;
	s.tl(item,'o',item.type + ' Click');
}

function x(obj) {
	var temp = "";
	for (x in obj)
		temp += x + ": " + obj[x] + "\n";
	alert(temp);
}
