/***
 *** Omniture wrapper for NGM content
 *** this file sets s_props (27-30) and then loads the parent/global ngs omniture.js file
 ***/

// set report suite
var s_account	= "natgeongmcom";
var s_hier1		= "NGM|NGM";

var excludeDirs		= new Array ( "/ads", "/ax" );
var excludePages	= new Array ( "specialPrintRoot.html", "extraContentRoot.html", "subtile.html", "extraContent.html", "specialPrint.html");
var excludeHosts	= new Array ( "stage.ngm", "dev.ngm" );

var dHost	= location.host;
var ngHost = dHost;
var lPath	= location.pathname;
var dProt	= location.protocol;

//var dURI	= location.substr(dProt.length);
//var dHost	= dURI.substr(0, dURI.indexOf("/") );
//var dPath	= dURI.substring(dHost.length, dURI.lastIndexOf("/"));
var dPath	= lPath.substring(0, lPath.lastIndexOf("/"));
var dFile	= lPath.substr( lPath.lastIndexOf("/")+1 );

strDebug = "";

var d = document;
//d.write("dPath: " + dPath + "\n<br/>dFile: " + dFile);

//Initialize variables to default values
var s_prop27	= "";
var s_prop28	= "";
var s_prop29	= "";


//break full path into pieces, grabbing the first three parts (issue/feature/filename)
//strip off the preceding "/ngm"
myregexp = /^\/ngm/;
if (dPath.match( myregexp )) {
	dPath = dPath.replace( myregexp, "");
}

dirs = dPath.split("/");
if (dirs.length < 2) dirs[1] = "/";

/*** definitions ***/
var feature_types = new Array( ""
								,""
								,""
);

var photography_sites = new Array( "yourshot"
								,"visions-of-earth"
								,"myshot"
								,"our_shot"
								,"alexandra-boulat"
);

var yourshot_types = new Array( "daily-dozen"
								,"voting-machine"
								,"myshot"
								,"puzzle"
								,"wallpaper"
								,"gallery"
								,"top-shots"
								,"archive"
								,"animals"
);

function isPhotography(dir)
{
	for (var i=0; i<photography_sites.length; i++)
	{
		if ( dir == photography_sites[i] )
		{
			return true;
		}
	}
}

/*** parse data into buckets ***/
//define a few regex's for later...
RegExp.lastIndex = 0;
var re_feature		= /\d+/;
if ( dirs[1].match(re_feature) ) {
	
	s_hier1		= "NGM|Issue";
	s_prop27	= dirs[1];
	s_prop28	= dirs[2];

	if ( dFile == "flashback" || dFile == "flashback.html" ) {
		s_prop28	= "flashback";
	}

	var regex			      = /.*text|index(\.html)?$/;
	var regex_photo	  	= /photo.*|.*gallery.*(\.html)?$/;
	var regex_notes		  = /field.*(\.html)?$/;
	var regex_know		  = /.*know(\.html)?$/;
	var regex_learn		  = /learn.*(\.html)?$/;
	var regex_video		  = /video|.*media|.*sounds|sights.*(\.html)?$/;
	var regex_puzzle	  = /.*puzzle.*|.*game(\.html)?$/;
	var regex_howto		  = /.*help|.*extra(\.html)?$/;
	var regex_geopedia	= /geopedia/;
	
	strDebug += "<br/>dFile: <b>" + dFile + "</b>";
	
	if ( dFile.match(regex) ) {
		s_prop29	= "text";
	} else if ( dFile.match(regex_photo) ) {
		s_prop29	= "photography";
	} else if ( dFile.match(regex_notes) ) {
		s_prop29	= "field-notes";
	} else if ( dFile.match(regex_know) ) {
		s_prop29	= "did-you-know";
	} else if ( dFile.match(regex_geopedia) ) {
		s_prop29	= "geopedia";
	} else if ( dFile.match(regex_learn) ) {
		s_prop29	= "learn-more";
	} else if ( dFile.match(regex_video) ) {
		s_prop29	= "video";
	} else if ( dFile.match(regex_puzzle) ) {
		s_prop29	= "puzzles";
	} else if ( dFile.match(regex_howto) ) {
		s_prop29	= "how-to-help";
	} else if ( dFile.indexOf("interactive") != -1 ) {
		s_prop29	= "interactive";
	} else if ( dFile.indexOf("map") != -1 ) {
		s_prop29	= "map";
	} else if ( dFile.indexOf("wallpaper") != -1 ) {
		s_prop29	= "wallpaper";
	} else if ( dFile.indexOf("timeline") != -1 ) {
		s_prop29	= "timeline";
	} else if ( dFile.indexOf("quiz") != -1 ) {
		s_prop29	= "quiz";
	} else {
		s_prop29	= "";
	}
	
} else if ( isPhotography(dirs[1]) ) { //Photography
	
	s_hier1		= "NGM|Photography";
	if ( dirs[1] == "yourshot"  || dirs[1] == "your-shot" ) {
		s_prop27	= "Photography";
		s_prop28	= "yourshot";
		s_prop29	= "";
		
		for (var  i=0; i<yourshot_types.length; i++) {
			strDebug += "<br/>yourshot_types["+i+"]: <b>" + yourshot_types[i] + "</b>";
			
			if ( dFile.indexOf(yourshot_types[i]) != -1 ) {
				s_prop29	= yourshot_types[i];
			}
		}
		
	} else {
		s_prop27	= "Photography";
		s_prop28	= dirs[1];
	}
	
} else if ( dHost =="ngm.typepad.com" ) { //Blogs
	s_hier1		= "NGM|Blog";
	s_prop27	= "Blog";
	s_prop28	= dirs[1];
} else if ( dPath == "" && dFile == "ngm.html" ) {
	s_hier1		= "NGM|NGM";
	s_prop27	= "Homepage";
	s_prop28	= "";
} else if ( dirs[1] == "hubs" ) {
	s_hier1		= "NGM|Hub";
	s_prop27	= "Hub";
	hub_regex	= /(.*)\.html$/;
	mymatch		= hub_regex.exec(dFile);
	s_prop28	= mymatch[1];
} else if ( dirs[1] == "climateconnections" ) {
	s_hier1		= "NGM|Hub";
	s_prop27	= "Hub";
	s_prop28	= "climateconnections";
} else if ( dirs[1] == "wildlife"  ) {
	s_hier1		= "NGM|Specials";
	s_prop27	= "Specials";
	s_prop28	= "wildlife";
}

//if we're an externally hosted page (like say, typepad), then use an absolute URL 
if ( (dHost.indexOf("ngm.com") == -1) && (dHost.indexOf("nationalgeographic.com") == -1)  )
{
  ngHost = "ngm.com";
}

var strJS = "%3Cscript type='text/javascript' language='JavaScript' src='"+dProt + "//" + ngHost+"/js/omniture_code.js'%3E%3C/script%3E";

var isValidPage = true;
for (var i=0; i<excludeDirs.length; i++) {
	if ( dPath.indexOf(excludeDirs[i]) != -1) { isValidPage = false; }
}
for (var i=0; i<excludePages.length; i++) {
	if ( dFile.indexOf(excludePages[i]) != -1) { isValidPage = false; }
}
for (var i=0; i<excludeHosts.length; i++) {
	if ( dHost.indexOf(excludeHosts[i]) != -1) { isValidPage = false; }
}

if (isValidPage) {

	document.write( unescape(strJS) );

/*** ga.js version -- buggy so we're using the older urchin.js for now... 
	var pageTracker = _gat._getTracker("UA-3271348-1");
		pageTracker._initData();
		pageTracker._trackPageview();
***/
  _uacct = "UA-3271348-1";
  urchinTracker();

}

