// Omniture Vendor Specific File
// Desc: Used to store a single vendors information.
// Vendor: Planet Discover
/////////////////////////////////////////////////////////////////////////////

// Vendor Specific Variables
mistats.pagename        = "Vendor: Planet Discover: " + document.title;
mistats.msr             = mistats.bizunit + "|" + mistats.pubname + "|" + "TP-PLD";
mistats.channel         = "Vendor: Planet Discover";
mistats.contentsource   = mistats.sitename + " : " + "Planet Discover";
mistats.pagelevel       = "Vendor";

// Taxonomic Variables
mistats.taxonomy        = "Online|Search|AdvancedSearch||";
mistats.altcategories   = "";
mistats.keywords        = "";

// User Interaction Tracking - Added: 6/15/09 - JJ

// getElementByClassName()
// Used to get all HTML elements using the same class
function getElementByClassName(theClass) {

        var pdModules = document.getElementsByTagName('*');
        var pdResults = [];
        var pdModuleCount = 0;

        for (i=0; i<pdModules.length; i++) {
                if (pdModules[i].className==theClass) {
                        pdResults[pdModuleCount] = pdModules[i];
                        pdModuleCount++;
                }
        }

        return pdResults;
}

// checkForTest()
// Checks for the existance of an A/B test in the query string
// Returns A/B Test ID if present
function checkForTest() {

        // Get contents of cookie
        var testCookie = 'mitest_PD_Forms';
        var testData = document.cookie.match ( '(^|;) ?' + testCookie + '=([^;]*)(;|$)' );

        if(typeof(testData) != 'undefined')
                if(testData != null)
                        return testData[2];
                else
                        return 0;
}

// updatePDModuleLinks()
// Used to add user interactive tracking to each modules links
// Added second parameter to label A/B testing if present
function updatePDModuleLinks(moduleName, hasTest) {

        var anchors = document.getElementById( moduleName ).getElementsByTagName( 'a' );
        var linkSrc = new String();

        for(var r in anchors) {
                linkSrc = anchors[r].href;
                if(linkSrc != undefined) {
			
			if(hasTest == 1)
				var lbl = '|9151';
			else
				var lbl = '';

			var browser = navigator.appName;

                        if(browser.match(/Netscape/g)){
                                anchors[r].addEventListener("click", //For FF/Safari
                                function(){
                                        //Omniture Call
                                        s.tl(this,'o','PDlink: ' + moduleName + lbl);

                                },false);
                        }
                        else if (browser.match(/Explorer/g)) {
                                anchors[r].attachEvent("onclick",
                                function(){

                                        //Omniture Call
                                        s.tl(this,'o','PDlink: ' + moduleName + lbl);
                                });
                        }
                }
        }
        var anchors = [];
}

// Check for A/B Testing
var hasTest = checkForTest();

// Update mistats.pagename /w Test Name if detected
// and ONLY if the  viewer is on the 9151 template
// Added 11/17/09 - Ticket# 727-8307018 - JJ
if(hasTest == 1 && window.location.search.match(/9151/g) ) {
        mistats.pagename+= '|MITest|Mod_search_results|B9151';
}

// Adds user tracking to links in each PD module
// Added second parameter to check for existance of an A/B test
var results = getElementByClassName('module');
for(var b in results) {
        if(results[b].id) {
                updatePDModuleLinks(results[b].id, hasTest);
        }
}

// Update Quicklinks
if(document.getElementById('result-totals') != null)
{
	var navLinks = document.getElementById('result-totals').getElementsByTagName('li');

	for (var x in navLinks) {
		if(typeof(navLinks[x].id) != 'undefined'){
			var qLinkID = navLinks[x].id;
			var currentLink = document.getElementById( qLinkID ).getElementsByTagName('a');
	
			if(hasTest == 1)
				var lbl = '|B9151';
			else
				var lbl = '';

			var browser = navigator.appName;

			if(browser.match(/Netscape/g)) {
				currentLink[0].addEventListener("click",
				function() {
					s.tl(this,'o','PDlink: ' + this.parentNode.parentNode.id + lbl);				
				},false);
			}
			else if (browser.match(/Explorer/g)) {
			
				var currentAnchor 	= document.getElementById( qLinkID );
				currentAnchor.onclick =
					function(){

                                        	if( !event ){
                                                	event = window.event;
                                        	}

                                        	var target;
                                        	if( event.target ){
                                                	target = event.target;
                                        	} else if( event.srcElement ){
                                                	target = event.srcElement;
                                        	}

						s.tl(this,'o','PDlink: ' + target.parentNode.parentNode.id + lbl);
					};
			}
		}	
	}
}
