/****************************************************
		PGA.com Omniture Implementation


	This file is responsible for appending data about the page to the necessary Omniture variables.
	The code will live as an include inside of the s_code.js provided by Omniture.
	
********************************************************/
	
	//prepares the URL to be parsed
	var pathname = window.location.pathname.substring(1);
	if (pathname.charAt(pathname.length - 1) == "/") pathname += "index.html";
	var path_array = pathname.split('/');
	
	//Initializing the JSON that holds the necessary data to be sent to Omniture
	var metrics = {
		server: 	window.location.host,
		channel:	null,
		pageName:	null
	}
	
	var yearRegExp = /20\d{2}/g; //regular expression to check for a year
	
/*****A LIST OF CHANNELS*************

Homepage *
Tournaments 
Microsites
PGA of America *
News *
Instruction * 
Travel *
Video *
Play *
Value Guide [redflag]
Miscellaneous (Advertising, Feedback, etc.) <-- the catchall bucket

*****END: A LIST OF CHANNELS****************/


//When this function is called, the page data that is stored is set to the Omniture variables.
function populateMetricsData(){
	s.server = metrics.server;
	s.pageType = metrics.pageType;
	s.pageName = (metrics.pageName != null) ? metrics.pageName : s.getPageName();
	s.channel = metrics.channel;
}
	
if (metrics.server == 'pga.com' || metrics.server == 'www.pga.com' || metrics.server == 'search.pga.com' ){
	
	//base of the pageName
	metrics.pageName = "pga";
	//set metrics.pageName
	for (var index = 0; index < path_array.length; ++index) {
		metrics.pageName += ':'+path_array[index];
	}
	

	//homepage [www.pga.com/home]
	switch(path_array[0]){
		
		case 'home': 
			metrics.channel = 'Homepage';
			metrics.pageName = 'pga:home';
			break;
		case 'pgaofamerica':
			metrics.channel = 'PGA of America';
			break;
		case 'news':
			metrics.channel = 'News';
			break;
		case 'instruction':
			metrics.channel = 'Instruction';
			break;
		case 'play':
			metrics.channel = 'Play';
			break;
		case 'equipment':
			metrics.channel = 'Equipment';
			break;
		case 'travel':
			metrics.channel = 'Travel';
			break;
		case 'video':
			metrics.channel = 'Video';
			break;
		case 'schedules':
			metrics.channel = 'Schedules';
			break;
		default:
			metrics.channel = 'Miscellaneous';
	}

	if (	path_array[0].search( yearRegExp ) > -1	){
		getStoryMetrics();
	}
	
}

//find an instructor, etc. pages
if (metrics.server == 'dyn.pga.com'){

	//base of the pageName
	metrics.pageName = "pga";
	//set metrics.pageName
	for (var index = 0; index < path_array.length; ++index) {
		metrics.pageName += ':'+path_array[index];
	}
				
		switch(path_array[1]){
		
		case 'pgaofamerica':
			metrics.channel = 'PGA of America';
			break;
		case 'instruction':
			metrics.channel = 'Instruction';
			break;
		case 'equipment':
			metrics.channel = 'Equipment';
			break;
		default:
			metrics.channel = 'Miscellaneous';
		}	
}

function getStoryMetrics(){
	metrics.channel = path_array[1].capitalize();
}

if (metrics.server == 'pgapreview.turner.com:99' || metrics.server == 'jcmsprod1:99' || metrics.server == 'jcmsprod1.turner.com:99'){
		
	//base of the pageName
	metrics.pageName = "pga";
	//set metrics.pageName
	for (var index = 0; index < path_array.length; ++index) {
		metrics.pageName += ':'+path_array[index];
	}
	

	//homepage [www.pga.com/home]
	switch(path_array[0]){
		
		case 'home': 
			metrics.channel = 'Homepage';
			metrics.pageName = 'pga:home';
			break;
		case 'pgaofamerica':
			metrics.channel = 'PGA of America';
			break;
		case 'news':
			metrics.channel = 'News';
			break;
		case 'instruction':
			metrics.channel = 'Instruction';
			break;
		case 'play':
			metrics.channel = 'Play';
			break;
		case 'equipment':
			metrics.channel = 'Equipment';
			break;
		case 'travel':
			metrics.channel = 'Travel';
			break;
		case 'video':
			metrics.channel = 'Video';
			break;
		case 'schedules':
			metrics.channel = 'Schedules';
			break;
		default:
			metrics.channel = 'Miscellaneous';
	}

	if (	path_array[0].search( yearRegExp ) > -1	){
		getStoryMetrics();
	}
}