/**
 * AKQA Doubleclick Floodlight Tags
 * Creates Doubleclick Floodlight tags for page landings and button clicks.
 * Landing events are created based on the path. Click events are created
 * based on the element having a fls-tag class and switched on the ID.
 * These tags were added in September 2011.
 * If UPCs change, the buy now buttons below must be changed to match. The
 * following query will help:
 * select primary_category_id, id, upc from pd_product order by 1,2
 */
$(document).ready(function() {

	//Flag to tell if we need debugging. This looks for the URL of the page
	//containing the main domain. Don't debug on MSIE because it causes errors
	var flsDebug = ($(location).attr('host').indexOf('www.glad.com') == -1) && !$.browser.msie;

	/**
	 * Function that implements the tag.
	 */
	function fireFlsTag(flsSrc, flsType, flsCat) {
		var axel = Math.random() + "";
		var a = axel * 10000000000000;
		$('body').append(
			'<iframe src="https://fls.doubleclick.net/' + 
			'activityi' + 
			';src=' + flsSrc + 
			';type=' + flsType +
			';cat=' + flsCat +
			';ord=' + a + '?' + 
			'" width="1" height="1" frameborder="0" ' + 
			'style="display:none"></iframe>');

		//This will fire off only on a non-production site. Use it to
		//check that tags are firing.
		if(flsDebug) { 
			//console.log('QA FLS ' + flsSrc + ' ' + flsType + ' ' + flsCat);
		}
	}

	/**
	 * Tags that fire on landing
	 * 
	 */
	$('body').each(function() {
		//For debugging only. Should not do anything in production.
		if(flsDebug) { 
			//console.log('Body ID ' + this.id + ' ' + $(location).attr('pathname'));
		}
		switch($(location).attr('pathname')) {
			case '/':
				fireFlsTag('3333729', 'homep096', 'gladc512');
				break;
			case '/login/':
				fireFlsTag('3333729', 'homep096', 'gladc024');
				break;
			case '/user/register/':
				fireFlsTag('3333729', 'homep096', 'gladc662');
				break;
			case '/promotions/':
				fireFlsTag('3333729', 'navig873', 'gladc194');
				break;
			case '/faqs/':
				fireFlsTag('3333729', 'navig873', 'gladc817');
				break;
			case '/glad-to-give/':
				fireFlsTag('3333729', 'gladt513', 'gladc913');
				break;
			case '/glad-to-give/bake/host/':
				fireFlsTag('3333729', 'gladt513', 'gladc981');
				break;
			case '/glad-to-give/bake/buy/':
				fireFlsTag('3333729', 'gladt513', 'gladc763');
				break;
			case '/glad-to-give/bake/learn/':
				fireFlsTag('3333729', 'gladt513', 'gladc122');
				break;
			case '/glad-to-give/clean-pass-help/support/':
				fireFlsTag('3333729', 'gladt513', 'gladc127');
				break;
			case '/glad-to-give/clean-pass-help/coat/':
				fireFlsTag('3333729', 'gladt513', 'gladc558');
				break;
			case '/glad-to-give/clean-pass-help/bag/':
				fireFlsTag('3333729', 'gladt513', 'gladc892');
				break;
			case '/products/trash-bags/recycle/':
				fireFlsTag('3333729', 'navig873', 'gladc469');
				break;
			case '/products/trash-bags/small/':
				fireFlsTag('3333729', 'navig873', 'gladc221');
				break;
			case '/products/trash-bags/large/':
				fireFlsTag('3333729', 'navig873', 'gladc405');
				break;
			case '/products/trash-bags/kitchen/':
				fireFlsTag('3333729', 'navig873', 'gladc898');
				break;
			case '/products/food-storage/plastic-wrap/':
				fireFlsTag('3333729', 'navig873', 'gladc734');
				break;
			case '/products/food-storage/containers/':
				fireFlsTag('3333729', 'navig873', 'gladc494');
				break;
			case '/products/food-storage/food-bags/':
				fireFlsTag('3333729', 'navig873', 'gladc355');
				break;
			case '/food-storage-tips/start-search/':
				fireFlsTag('3333729', 'navig873', 'gladc475');
				break;
		}
	});

	/**
	 * Tags that fire on click
	 */

	// Initialize mousedown AKQA tags for all class 'akqa-tag' but MUST have
	// valid id
	$('.fls-tag').each(function() {
		$(this).mousedown(function() {
			
			//Switch on the ID of the element
			switch (this.id) { 
				//Play button on promotions page
				case 'btn_play_game':
					fireFlsTag('3333729', 'navig873', 'gladc256');
					break;
				//Facebook logo on bottom of every glad to give page
				case 'fb-gladtogive':
					fireFlsTag('3333729', 'gladt513', 'gladc743');
					break;
				// recycle 65-recycled-bag 10012587781125
				// recycle compostable-bags 10012587781620
				// recycle recycling-bags-indoor-blue 10012587700362
				// recycle recycling-bags-indoor-clear 10012587782634
				// recycle recycling-bags-outdoor 10012587700270
				case 'buy-sku-10012587781125':
				case 'buy-sku-10012587781620':
				case 'buy-sku-10012587700362':
				case 'buy-sku-10012587782634':
				case 'buy-sku-10012587700270':
					fireFlsTag('3333729', 'gladt890', 'gladc311');
					break;
				// small small-garbage-bags 10012587001506
				// small small-garbage-forceflex-bags 10012587704032
				// small small-garbage-odorshield-bags 10012587703189 
				case 'buy-sku-10012587001506':
				case 'buy-sku-10012587704032':
				case 'buy-sku-10012587703189':
					fireFlsTag('3333729', 'gladt890', 'gladc084');
					break;
				// large bin-liner-bags 10012587602925
				// large black-bags 10012587609337
				// large contractor-bags 10012587781873
				// large forceflex-black-30 10012587703592
				// large forceflex-black-39 10012587703523
				// large forceflex-black-45 1001258778187
				// large lawn-leaf-bags 10012587703523
				case 'buy-sku-10012587602925':
				case 'buy-sku-10012587609337':
				case 'buy-sku-10012587781873':
				case 'buy-sku-10012587703592':
				case 'buy-sku-10012587703523':
				case 'buy-sku-1001258778187':
				case 'buy-sku-10012587703523':
					fireFlsTag('3333729', 'gladt890', 'gladc216');
					break;
				// kitchen compactor-bags 10012587700379
				// kitchen kitchen-forceflex 10012587703554
				// kitchen kitchen-forceflex-odorshield 10012587703202
				// kitchen kitchen-odorshield 10012587700676
				// kitchen tall-kitchen 10012587609320
				case 'buy-sku-10012587700379':
				case 'buy-sku-10012587703554':
				case 'buy-sku-10012587703202':
				case 'buy-sku-10012587700676':
				case 'buy-sku-10012587609320':
					fireFlsTag('3333729', 'gladt890', 'gladc762');
					break;
				// plastic-wrap cling-wrap-100 10012587000106
				// plastic-wrap cling-wrap-200 10012587000202
				// plastic-wrap cling-wrap-300 10012587000226
				// plastic-wrap press-n-seal-140 10012587704407
				// plastic-wrap press-n-seal-40 1001258778088
				// plastic-wrap press-n-seal-70 10012587781255
				// plastic-wrap press-n-seal-freezer 10012587705336
				case 'buy-sku-10012587000106':
				case 'buy-sku-10012587000202':
				case 'buy-sku-10012587000226':
				case 'buy-sku-10012587704407':
				case 'buy-sku-1001258778088':
				case 'buy-sku-10012587781255':
				case 'buy-sku-10012587705336':
					fireFlsTag('3333729', 'gladf722', 'gladc021');
					break;
				// containers big-bowl 10012587701119
				// containers deep-dish 10012587700454
				// containers entree 10012587607951
				// containers family-size 10012587705305
				// containers mini-round 10012587702403
				// containers ovenware-8x8 10012587701093
				// containers ovenware-9x12 10012587701086
				// containers potluck-size 10012587782979
				// containers small-bowl 10012587701109
				// containers small-snack 10012587782729
				// containers snack-size 10012587702192
				// containers soup-and-salad 10012587607968
				// containers tall-entree 10012587780821
				// containers variety-pack 10012587704872
				case 'buy-sku-10012587701119':
				case 'buy-sku-10012587700454':
				case 'buy-sku-10012587607951':
				case 'buy-sku-10012587705305':
				case 'buy-sku-10012587702403':
				case 'buy-sku-10012587701093':
				case 'buy-sku-10012587701086':
				case 'buy-sku-10012587782979':
				case 'buy-sku-10012587701109':
				case 'buy-sku-10012587782729':
				case 'buy-sku-10012587702192':
				case 'buy-sku-10012587607968':
				case 'buy-sku-10012587780821':
				case 'buy-sku-10012587704872':
					fireFlsTag('3333729', 'gladf722', 'gladc514');
					break;
				// food-bags food-storage-twist-tie 10012587700430
				// food-bags food-storage-zipper-gallon 10012587600327
				// food-bags food-storage-zipper-pint 10012587603519
				// food-bags food-storage-zipper-quart 10012587600334
				// food-bags food-storage-zipper-snack 10012587572631
				// food-bags freezer-zipper-gallon 10012587600303
				// food-bags freezer-zipper-quart 10012587600310
				// food-bags sandwich-fold-top 10012587607715
				// food-bags sandwich-zipper 10012587572631
				case 'buy-sku-10012587700430':
				case 'buy-sku-10012587600327':
				case 'buy-sku-10012587603519':
				case 'buy-sku-10012587600334':
				case 'buy-sku-10012587572631':
				case 'buy-sku-10012587600303':
				case 'buy-sku-10012587600310':
				case 'buy-sku-10012587607715':
				case 'buy-sku-10012587572631':
					fireFlsTag('3333729', 'gladf722', 'gladc518');
					break;
			}
		})
	});
});

