if (nfl.draft.tracker.data.draft.state == 'POST'){
	nfl.global.dt.tabs.defaultindex	= 4;
}
nfl.global.dt.indicator	= {};
nfl.global.dt.defaults = {};
nfl.global.dt.defaults.filters = {
	'by-name':		[{field: "lastName", criteria: 'a', operator: "startsWith"}],
	'by-position':	[{field: "posgroup", criteria: 'qb', operator: "="}],
	'by-college':	[{field: "collegeid", criteria: '', operator: "="}],
	'by-round':		[{field: "round", criteria: '1', operator: "="}]
};
nfl.global.dt.defaults.containers = {
	'by-name':		{drafted:'players-grid-table-by-name-drafted',undrafted:'players-grid-table-by-name-undrafted'},
	'by-position':	{drafted:'players-grid-table-by-position-drafted',undrafted:'players-grid-table-by-position-undrafted'},
	'by-college':	{drafted:'players-grid-table-by-college-drafted',undrafted:'players-grid-table-by-college-undrafted'},
	'by-round': 	{picks:'players-grid-table-by-round'}
};

document.observe('draft:tracker:initialize',function(event){
	Effect.ScrollTo('doc-sub-header',{afterFinish:function(){
		document.fire('draft:tracker:load');
	}});
});
nfl.global.dt.onInitialized	= function(event){
	if(typeof nfl.global.dt.writer !== 'undefined'){
		//alert('data written. engine initializing? '+nfl.global.dt.writer.engine.initializing);
		if(!nfl.global.dt.writer.engine.initializing && $('dt-loading-panel')){
			document.stopObserving('draft:tracker:data:written', nfl.global.dt.onInitialized);
			$('dt-loading-panel-wrapper').hide();
			//$('dt-loading-panel-wrapper').remove();
			$('dt-ts').removeClassName('initializing');
		}
	}else{
		//try again
		setTimeout("nfl.global.dt.onInitialized()", 777);
	}
}
document.observe('draft:tracker:data:written',nfl.global.dt.onInitialized);
nfl.global.dt.createDataWriter	= function(){
	if(typeof nfl.global.dt.writer === 'undefined'){
		nfl.global.dt.writer	= new nfl.draft.tracker.writer(nfl.global.dt.data,{
			templates: nfl.global.dt.templates,
			containers: nfl.global.dt.defaults.containers,
			filters: nfl.global.dt.defaults.filters,
			activecontainer: nfl.global.dt.getContainerKeyForActiveTab()
		});	
	}
}

//document.observe('dom:loaded',function(event){
document.observe('draft:tracker:load',function(event){
	/* initialization that depends on the dom being loaded */
	nfl.global.dt.tabs.params	= {
			'dt-by-name-input':$('dt-by-name-input').select('.active')[0].id.replace('alpha-',''),
			'dt-by-position-input':$('dt-by-position-input').select('.active')[0].id.replace('pos-',''),
			'dt-by-college-input':false,
			'dt-by-conference-input':false,
			'dt-by-team-input':false,
			'dt-by-round-input':$('dt-by-round-input').select('.active')[0].id.replace('round-',''),
			'dt-as-input':false
	};
	//alert('nfl.global.dt.tabs.params = '+ Object.toJSON(nfl.global.dt.tabs.params));
	
	/* filter element bindings */
	$('dt-by-name-input').observe('click',function(event){
		var param		= nfl.global.dt.tabs.getParamFromElement(event.element());
		if(param){ 
			param.key	= 'dt-by-name-input';
			nfl.global.dt.tabs.clearInputParam('dt-as-input');
			document.fire('dt-as-input:parameterChange');
			nfl.global.dt.tabs.setInputParam(param);
			nfl.global.dt.logger.filters({'memo':param});
		}
	});
	$('dt-by-position-input').observe('click',function(event){
		var param		= nfl.global.dt.tabs.getParamFromElement(event.element());
		if(param){
			param.key	= 'dt-by-position-input';
			nfl.global.dt.tabs.setInputParam(param);
			nfl.global.dt.logger.filters({'memo':param});
		}
	});
	$('dt-by-conference-input').observe('change',function(event){
		var param		= nfl.global.dt.tabs.getParamFromElement(event.element());
		if(param){
			param.key	= 'dt-by-conference-input';
			/* first clear out college input */
			nfl.global.dt.tabs.clearInputParam('dt-by-college-input');
			nfl.global.dt.tabs.setInputParam(param);
			nfl.global.dt.logger.filters({'memo':param});
		}
	});
	$('dt-by-college-input').observe('change',function(event){
		var param		= nfl.global.dt.tabs.getParamFromElement(event.element());
		if(param){
			param.key	= 'dt-by-college-input';
			nfl.global.dt.tabs.clearInputParam('dt-by-conference-input');
			nfl.global.dt.tabs.setInputParam(param);
			nfl.global.dt.logger.filters({'memo':param});
		}
	});
	$('dt-by-team-input').observe('change',function(event){
		var param		= nfl.global.dt.tabs.getParamFromElement(event.element());
		if(param){
			param['key']	= 'dt-by-team-input';
			nfl.global.dt.tabs.setInputParam(param);
			nfl.global.dt.logger.filters({'memo':param});
		}
	});
	$('dt-by-round-input').observe('click',function(event){
		var param		= nfl.global.dt.tabs.getParamFromElement(event.element());
		if(param){
			param.key	= 'dt-by-round-input';
			nfl.global.dt.tabs.setInputParam(param);
			nfl.global.dt.logger.filters({'memo':param});
		}
	});
	
	nfl.global.dt.as.defaultValue		= ($(nfl.global.dt.as.inputid).value);
	nfl.global.dt.as.classes.inactive	= ($(nfl.global.dt.as.inputid).className);
	$(nfl.global.dt.as.inputid).observe('focus',function(event){
		$(nfl.global.dt.as.inputid).removeClassName(nfl.global.dt.as.classes.inactive);
		$(nfl.global.dt.as.inputid).addClassName(nfl.global.dt.as.classes.active);
		$(nfl.global.dt.as.inputid).clear();
	});
	$(nfl.global.dt.as.inputid).observe('blur',function(event){
		$(nfl.global.dt.as.inputid).removeClassName(nfl.global.dt.as.classes.active);
		$(nfl.global.dt.as.inputid).addClassName(nfl.global.dt.as.classes.inactive);
		$(nfl.global.dt.as.inputid).value	= nfl.global.dt.as.defaultValue;
	});
	nfl.global.dt.as.observer	= new Form.Element.Observer($('dt-as-input'), 0.5, function(ele, value){
		if(value.strip() !== '' && value !== nfl.global.dt.as['defaultValue']){
			var hparams	= [{'key':'dt-as-input','value':value},{'key':'dt-by-name-input','value':(value).substring(0,1)}];
			//console.info('nfl.global.dt.as.observer: dt-by-name is active? '+nfl.global.dt.tabs.isActive('dt-by-name')+', '+value+' !== '+nfl.global.dt.as['defaultValue']);
			if(!nfl.global.dt.tabs.isActive('dt-by-name')){
				hparams[hparams.length]	= {'key':'dt-tabs','value':'dt-by-name'};
			}
			nfl.global.dt.logger.as({'memo':{'key':'dt-as-input','value':value}});
			nfl.global.dt.tabs.setInputParams(hparams);
		}
	});
	
	var lhash 		= window.location.hashparams.get();
	var createDW	= true;
	/* create new data writer */
	if(typeof lhash !== 'undefined' && lhash !== null){
		console.info('has hash params.. '+lhash.get('dt-tabs')+' '+lhash.get('dt-by-team-input'));
		if((lhash.get('dt-tabs') === 'dt-by-team' && (typeof lhash.get('dt-by-team-input') !== 'undefined'))){
			createDW	= false;
			//console.info('has team param.. do not write. '+createDW+'|'+lhash.get('dt-by-team-input'));
		}
	}
	console.info('createDW = '+createDW);
	if(createDW){nfl.global.dt.createDataWriter();}
	
	/* process any shortcuts */
	if(location.hash !== '' && location.hash.indexOf('s-') > -1){
		if(lhash.get('s-fwr') != null){
			/* fan war room */
			/* break out the fan war room short cut to long form */
			lhash.set('dt-tabs','dt-by-team');
			lhash.set('dt-by-team-input',lhash.get('s-fwr'));
			lhash.set('dt-team-tabs','dt-team-tab-war-rooms');
		}
		if(lhash.get('s-ss') != null){
			if(lhash.get('s-ss') == 'false'){
				$('header-scorestrip').remove();
			}
		}
		window.location.hashparams.set(lhash);
	}
	
	/* bindings in place, fire off initial hash change to load everything up */
	if(location.hash !== ''){
		var hashHash = window.location.hashparams.get();
		document.fire('window:hashchange', hashHash ? hashHash.toObject() : {});
	}
});
document.observe('draft:tracker:tabs:load',function(event){
	nfl.global.dt.tabset	= new nfl.ui.tabset('dt-tabs',{'keepstate':true, 'defaultindex': nfl.global.dt.tabs.defaultindex, 'removetabcontent':true});
});
nfl.global.dt.tabs.active	= '';
nfl.global.dt.tabs.params	= {
		'dt-by-name-input':false,
		'dt-by-position-input':false,
		'dt-by-college-input':false,
		'dt-by-conference-input':false,
		'dt-by-team-input':false,
		'dt-by-round-input':false,
		'dt-as-input':false
};
nfl.global.dt.logger.filters	= function(event){
	var filterViewId	= event.memo.key+':'+event.memo.value;
	var s_analytics = s_gi(s_account);
	s_analytics.linkTrackEvents="";
	s_analytics.linkTrackVars="prop35";
	s_analytics.prop35=filterViewId;
	s_analytics.events = '';
	s_analytics.tl(true,'o',filterViewId);
};
nfl.global.dt.logger.as	= function(event){
	if(typeof event.memo !== 'undefined'){
		var initial	= event.memo.value.substring(0,1);
		console.log('nfl.global.dt.logger.as: '+ event.memo.key +' '+ initial+' | '+ initial +' !== '+nfl.global.dt.tabs.params['dt-by-name-input']);
		
		if(initial !== nfl.global.dt.tabs.params['dt-by-name-input']){
			//alert('nfl.global.dt.logger.as: logging.'); 
			nfl.global.dt.logger.filters(event);
		}
	}
}
nfl.global.dt.logger.tabs	= function(event){
	var key	= event.memo;
	console.info('nfl.global.dt.logger.tabs: '+key);
	//t_view can follow the deep linking convention.
	//tabText = tab:dt-by-position || tab:dt-by-name || tab:dt-by-college || tab:dt-by-team || tab:dt-by-round
	var s_analytics 	= s_gi(s_account);
	s_analytics.linkTrackEvents = 'event1';
	s_analytics.linkTrackVars="events,pageName,hier1,prop5,eVar4";
	
	var t_view			= "tab:"+ key;
	s_analytics.pageName = "nfl:draft:tracker:" + t_view;
	
	//t_view can follow the deep linking convention but we need to change the colon ( : ) to a pipe (|).
	//tabText = tab|dt-by-position || tab|dt-by-name || tab|dt-by-college || tab|dt-by-team || tab|dt-by-round
	t_view				= "tab|"+ key;
	s_analytics.hier1 	= "nfl:draft|tracker|" + t_view;
	s_analytics.prop5 	= "nfl:draft|tracker|" + t_view;
	s_analytics.eVar4 	= "nfl:draft|tracker|" + t_view;
	s_analytics.prop35 = '';
	s_analytics.prop6 = '';
	
	s_analytics.events = 'event1';
	void(s_analytics.t());
};
nfl.global.dt.logger.page = new PeriodicalExecuter(function(){
	console.info('nfl.global.dt.logger.page called');
	var s_analytics 		= s_gi(s_account);
	s_analytics.linkTrackEvents = "event1";
	s_analytics.linkTrackVars	= "events,pageName,hier1,prop5,eVar4";
	s_analytics.pageName 	= "nfl:draft:tracker";
	s_analytics.hier1 		= "nfl:draft|tracker";
	s_analytics.prop5 		= "nfl:draft|tracker";
	s_analytics.eVar4 		= "nfl:draft|tracker";
	s_analytics.prop35 	= '';
	s_analytics.prop6 	= '';
	s_analytics.events 	= 'event1';
	void(s_analytics.t());
},180);

document.observe('dt-tabs:tabclicked',nfl.global.dt.logger.tabs);
document.observe('dt-team-tabs:tabclicked',function(event){
	var memo	= {'key':'picks','value':nfl.global.dt.tabs.params['dt-by-team-input']};
	if(event.memo === 'dt-team-tab-war-rooms'){memo.key = 'war-room';}
	nfl.global.dt.logger.filters({'memo':memo});
});
document.observe('dt-tabs:tabchanged',function(event){
	var key = event.memo; $('dt-ts-wrapper').className	= key;
	nfl.global.dt.setLoaderToContentHeight(key);
	if(key !== 'dt-by-team'){
		if(typeof nfl.global.dt.writer === 'undefined'){
			$('dt-ts-wrapper').show();
			$('dt-loading-panel-wrapper').show();
		}
		nfl.global.dt.createDataWriter();
	}
});

nfl.global.dt.tabs.isActive	= function(key){
	var hashParams = (window.location.hashparams.get() !== null) ? (window.location.hashparams.get()) : (new Hash());
	if(hashParams.get('dt-tabs') !== null && hashParams.get('dt-tabs') == key){return true;};
	if(typeof hashParams.get('dt-tabs') === 'undefined'){
		/* oh god, it's null, find the active tab via the dom */
		var isActive = false;
		$('dt-tabs').select('li.active').each(function(ele){
			//console.log('is active dom query on tab '+ele.id+', ele.target = '+ele.readAttribute('target'));
			if(ele.readAttribute('target') == key){ isActive = true; console.warn('is active dom query on tab '+ele.id+', ele.target = '+ele.readAttribute('target')+'. FIX THIS! '); /**/; return true; }
		}.bind(this));
		return isActive
	}
	return false;
};
nfl.global.dt.tabs.hasChanged		= function(str){
	if(str !== nfl.global.dt.tabs.active){
		return true
	}
	return false
}
nfl.global.dt.tabs.paramHasChanged	= function(key,value){
	//console.log('nfl.global.dt.tabs.paramHasChanged: nfl.global.dt.tabs.params['+key+']('+nfl.global.dt.tabs.params[key]+') !== '+value+''+ (nfl.global.dt.tabs.params[key] !== value)+', type = '+(typeof value));
	if(typeof value !== 'undefined' && nfl.global.dt.tabs.params[key] !== value){
		return true
	}
	return false
}
nfl.global.dt.tabs.getParamFromElement	= function(ele){
	var retVal	= false;
	if(ele.tagName == 'LI'){
		if(ele.id && ele.id != ''){
			var paramName	= ele.id;
			var paramValue	= paramName.substring(paramName.lastIndexOf('-')+1);
			retVal		= {name:paramName,value:paramValue};
		};
	};
	if(ele.tagName == 'SELECT'){
		var selectedOpt		= ele.options[ele.selectedIndex];
		var paramName		= (selectedOpt.id)?selectedOpt.id:selectedOpt.value;
		if(paramName !== ''){
			var paramValue		= paramName.substring(paramName.lastIndexOf('-')+1);
			retVal				= {name:paramName,value:paramValue};
			if(selectedOpt.text != ''){ retVal.text = selectedOpt.text;};	
		}
	};
	return retVal;
};
nfl.global.dt.tabs.setInputParams	= function(params){
	var hashParams 	= (window.location.hashparams.get() !== null) ? (window.location.hashparams.get()) : (new Hash());
	var changed		= false;
	for(var i=0; i < params.length; i++){
		var param	= params[i];
		if((hashParams.get(param.key) != null && hashParams.get(param.key) != param.value) || hashParams.get(param.key) == null){
			hashParams.set(param.key, param.value);
			changed	= true;
		}
	}
	if(changed){window.location.hashparams.set(hashParams);}
}
nfl.global.dt.tabs.setInputParam	= function(param){
	nfl.global.dt.tabs.setInputParams([param]);
}
nfl.global.dt.tabs.clearInputParam	= function(key){
	var hashParams = (window.location.hashparams.get() !== null) ? (window.location.hashparams.get()) : (new Hash());
	if(hashParams.get(key) != null){
		hashParams.unset(key);
		window.location.hashparams.set(hashParams);
	}
};
nfl.global.dt.getContainerKeyForActiveTab	= function(tabkey){
	var retKey	= null;
	if(typeof tabkey !== 'undefined'){
		retKey = tabkey; retKey	= (retKey).replace("dt-",'');
		//console.info('nfl.global.dt.getContainerKeyForActiveTab('+tabkey+'): return '+retKey);
		return retKey;
	}
	if(nfl.global.dt.tabs.isActive('dt-by-name')){retKey = 'by-name';}
	if(nfl.global.dt.tabs.isActive('dt-by-position')){retKey = 'by-position';}
	if(nfl.global.dt.tabs.isActive('dt-by-college')){retKey = 'by-college';}
	if(nfl.global.dt.tabs.isActive('dt-by-round')){retKey = 'by-round';}
	return retKey;
}
nfl.global.dt.getContainersForActiveTab	= function(tabkey){
	var retKey	= nfl.global.dt.getContainerKeyForActiveTab(tabkey);
	if(retKey !== null && typeof nfl.global.dt.writer !== 'undefined'){
		if(typeof nfl.global.dt.writer.containers[retKey] !== 'undefined'){
			/* return container wrapped */
			var retval	= {}; retval[retKey]	= nfl.global.dt.writer.containers[retKey];
			return retval
		}
	}
	return null
};
nfl.global.dt.getContainersForActiveTabAsHash	= function(){
	var retHash	= null;
	var retContainers	= nfl.global.dt.getContainersForActiveTab();
	if(retContainers !== null){
		retHash	= new Hash();
		for(var key in retContainers){retHash.set(retContainers[key],retContainers[key]);};
	}
	return retHash;
};
nfl.global.dt.getFiltersForActiveTab = function(tabkey){
	var ckey		= nfl.global.dt.getContainerKeyForActiveTab(tabkey);
	var filters		= (typeof nfl.global.dt.writer !== 'undefined')?nfl.global.dt.writer.filters[ckey]:nfl.global.dt.defaults.filters[ckey];
	//console.info('grabbing filters for "'+ckey+'", they are '+ Object.toJSON(filters));
	
	if(filters !== null){
		return filters
	}
	return
};
nfl.global.dt.toggleAnalysis	= function(id,currentstate){
	var currentstate	= (typeof currentstate !== 'undefined')?currentstate:false;
	var analysisclass	= (currentstate)?'analysis-row-collapsed':'analysis-row-expanded';
	for(var key in nfl.global.dt.writer.containers){
		var container	= nfl.global.dt.writer.containers[key];
		if(container.drafted){
			var ele	= $(container.drafted+'-analysis-row-'+id);
			if(ele){
				ele.select('td').each(function(td){
					td.className	= analysisclass;
				});
			};
			/* now change indicator element */
			var pEle	= $(container.drafted+'-'+id);
			if(pEle){
				var tEles	= pEle.select('.analysis-link');
				if(tEles.length >= 1){var oldIHTML = tEles[0].innerHTML; if(currentstate){tEles[0].update('[+]');}else{tEles[0].update('[-]');};console.log('tEles[0].innerHTML = "'+tEles[0].innerHTML+'"; old innerHTML="'+oldIHTML+'"');}
			}
		}
		if(container.undrafted){
			var expanded	= false;
			var ele	= $(container.undrafted+'-analysis-row-'+id);
			if(ele){
				ele.select('td').each(function(td){
					td.className	= analysisclass;
				});
			}
			//console.log('container.undrafted: looking for '+container.drafted+'-'+id+', current state is '+currentstate);
			/* now change indicator element */
			var pEle	= $(container.undrafted+'-'+id);
			if(pEle){
				var tEles	= pEle.select('.analysis-link');
				if(tEles.length >= 1){
					var oldIHTML = tEles[0].innerHTML; 
					if(currentstate){
						tEles[0].update('[+]');
					}else{
						tEles[0].update('[-]');
					};
					console.log('currentstate = '+currentstate+';tEles[0].innerHTML = "'+tEles[0].innerHTML+'"; old innerHTML="'+oldIHTML+'"');
				}
			}
		}
		if(container.picks){
			//var ele	= $(container.picks+'-analysis-row-'+id);
			//if(ele){ ele.toggle();}
			var expanded	= false;
			var ele	= $(container.picks+'-analysis-row-'+id);
			if(ele){
				ele.select('td').each(function(td){
					td.className	= analysisclass;
				});
			}
			/* now change indicator element */
			var pEle	= $(container.picks+'-'+id);
			if(pEle){
				var tEles	= pEle.select('.analysis-link');
				if(tEles.length >= 1){var oldIHTML = tEles[0].innerHTML; if(currentstate){tEles[0].update('[+]');}else{tEles[0].update('[-]');};console.log('tEles[0].innerHTML = "'+tEles[0].innerHTML+'"; old innerHTML="'+oldIHTML+'"');}
			}
		}
	}
}
nfl.global.dt.indicator.show	= function(){
	$("dt-progress-indicator").className	= "active";
};
nfl.global.dt.indicator.hide	= function(){
	$("dt-progress-indicator").className	= "inactive";
};		
document.observe('draft:tracker:hashlink:click',function(event){
	/* hash link clicked */
	window.location.hash = event.memo.hash;
});
document.observe('draft:tracker:videolink:click',function(event){
	var videoId	= event.memo.id;
	console.info('{draft:tracker:videolink:click} id: '+videoId);
	/* load standalone video widget into iframe */
	//videoId
	/* redirect to video detail page */
	window.location = (window.location.protocol+'//'+window.location.host+'/videos?videoId='+videoId);
	//nfl.ui.modal.show(window.location.protocol+'//'+window.location.host+'/widget/draft/2009/video?id='+videoId,{width:615,height:346,scrolling:'no',title:'Player Video'});
});
document.observe('draft:tracker:analysislink:click',function(event){
	/* analysis toggle link clicked */
	var ele			= event.memo.element;
	var personId	= event.memo.id;
	console.info('{draft:tracker:analysislink:click}');
	if(typeof nfl.draft.tracker.data.analysisCache[personId] === 'undefined' || nfl.draft.tracker.data.analysisCache[personId] === null){
		/* not active */
		console.log('draft:tracker:analysislink:click: pickAnalysis for personId = "'+ personId +'" type = '+(typeof nfl.draft.tracker.data.prospects[personId].pickAnalysis));
		nfl.draft.tracker.data.analysisCache[personId]	= true;
		if(nfl.draft.tracker.data.prospects[personId].pickAnalysis === '' || nfl.draft.tracker.data.prospects[personId].pickAnalysis === null || typeof nfl.draft.tracker.data.prospects[personId].pickAnalysis === 'undefined'){
			/* go get pick analysis from interface first */
			/* by loading in the data, the data changed event should catch the cache value */
			document.fire('draft:tracker:data:analysis:get',{'id':personId});
		}else{
			/* we already have this, just show row */
			nfl.global.dt.toggleAnalysis(personId,false);
		}
	}else{
		/* analysis already active, hide it and remove */
		nfl.draft.tracker.data.analysisCache[personId]	= null;
		nfl.draft.tracker.data.dirty.prospects[personId]	= personId;
		if(nfl.draft.tracker.data.prospects[personId].pick !== null){
			/* person has been picked, mark pick as dirty also */
			console.log('onAnalysisUpdate: person has already been picked, find him in picks.. typeof pick value is '+(typeof nfl.draft.tracker.data.prospects[personId].pick));
			var pkey = nfl.draft.tracker.data.prospects[personId].pick;
			if(typeof pkey === 'object' && pkey !== null){pkey = pkey.id};
			if(typeof nfl.draft.tracker.data.picks[pkey] !== 'undefined'){
				nfl.draft.tracker.data.dirty.picks[pkey]	= pkey;
			}
		}
		nfl.draft.tracker.data.prospects[personId].toggle	= '<div onclick="nfl.draft.tracker.events.analysisclick.fire(\''+personId+'\',this)" class="analysis-link">[-]</div>';
		nfl.draft.tracker.data.prospects[personId].expandedClass	= 'analysis-row-collapsed';
		nfl.global.dt.toggleAnalysis(personId,true);
	}
});
document.observe('window:hashchange',function(event){
	var hash	= event.memo;
	/* start name tab */
		if(nfl.global.dt.tabs.isActive('dt-by-name') && nfl.global.dt.tabs.paramHasChanged('dt-by-name-input',hash['dt-by-name-input'])){
			console.info('hash driven parameter change. dt-by-name');
			var param	= hash['dt-by-name-input'];
			if(param !== null){
				param		= param.replace('alpha-');
				$('dt-by-name-input').select('li.active').each(function(ele){ele.removeClassName('active');});
				if($('alpha-'+param)){$('alpha-'+param).addClassName('active');}
				nfl.global.dt.tabs.params['dt-by-name-input']		= param;
				nfl.global.dt.writer.filters['by-name'][0].criteria	= param;
				nfl.global.dt.writer.activecontainer	= 'by-name';
				document.fire('draft:tracker:filters:changed',{key:'dt-by-name-input',value:param,filters:nfl.global.dt.getFiltersForActiveTab('dt-by-name')});
				return
			}
		}
	/* end   name tab */
	/* start position tab */
		if(nfl.global.dt.tabs.isActive('dt-by-position') && nfl.global.dt.tabs.paramHasChanged('dt-by-position-input',hash['dt-by-position-input'])){
			var param	= hash['dt-by-position-input'];
			param		= param.replace('pos-');
			if(param !== null){
				$('dt-by-position-input').select('li.active').each(function(ele){ele.removeClassName('active');});
				if($('pos-'+param)){$('pos-'+param).addClassName('active');}
				nfl.global.dt.tabs.params['dt-by-position-input']		= param;
				nfl.global.dt.writer.filters['by-position'][0].criteria	= param;
				nfl.global.dt.writer.activecontainer	= 'by-position';
				document.fire('draft:tracker:filters:changed',{key:'dt-by-position-input',value:param,filters:nfl.global.dt.getFiltersForActiveTab('dt-by-position')});
				return
			}
		}
	/* end   position tab */
	/* start college tab */
		/* this is the tricky one, might need two input filters */
		if(typeof hash['dt-by-college-input'] !== 'undefined' && nfl.global.dt.tabs.isActive('dt-by-college')){
			var param	= hash['dt-by-college-input'];
			param		= param.replace('college-');
			if(param !== null){
				var select	= $('dt-by-college-input');
				if(nfl.global.dt.tabs.paramHasChanged('dt-by-college-input',hash['dt-by-college-input'])){
					for(i=0; i < select.options.length; i++){
						if((select.options[i].id).replace('college-').toLowerCase() === (hash['dt-by-college-input']).toLowerCase() || select.options[i].value.toLowerCase() === (hash['dt-by-college-input']).toLowerCase()){select.selectedIndex	= i; break;}
					}
				}
				nfl.global.dt.tabs.params['dt-by-college-input']	= param;
				nfl.global.dt.tabs.params['dt-by-conference-input']	= false;
				nfl.global.dt.writer.filters['by-college'][0].field	= 'collegeid';
				nfl.global.dt.writer.filters['by-college'][0].criteria	= param;
				nfl.global.dt.writer.activecontainer	= 'by-college';
				document.fire('draft:tracker:filters:changed',{key:'dt-by-college-input',value:param,filters:[{field: "collegeid", criteria: param, operator: "="}]});
				return
			}
		}else{
			if(typeof hash['dt-by-conference-input'] !== 'undefined' && nfl.global.dt.tabs.isActive('dt-by-college')){
				var param	= hash['dt-by-conference-input'];
				param		= param.replace('conf-');
				if(param !== null){
					var select	= $('dt-by-conference-input');
					if(nfl.global.dt.tabs.paramHasChanged('dt-by-conference-input',hash['dt-by-conference-input'])){
						for(i=0; i < select.options.length; i++){
							if((select.options[i].id).replace('conf-').toLowerCase() === (hash['dt-by-conference-input']).toLowerCase() || select.options[i].value.toLowerCase() === (hash['dt-by-conference-input']).toLowerCase()){select.selectedIndex	= i; break;}
						}
					}
					nfl.global.dt.tabs.params['dt-by-college-input']	= false;
					nfl.global.dt.tabs.params['dt-by-conference-input']	= param;
					nfl.global.dt.writer.filters['by-college'][0].field	= 'collegeconf';
					nfl.global.dt.writer.filters['by-college'][0].criteria	= param;
					nfl.global.dt.writer.activecontainer	= 'by-college';
					document.fire('draft:tracker:filters:changed',{key:'dt-by-conference-input',value:param,filters:[{field: "collegeconf", criteria: param, operator: "="}]});
					return
				}
			}
		}
	/* end   college tab */
	/* start team tab */
		if(nfl.global.dt.tabs.isActive('dt-by-team') && nfl.global.dt.tabs.paramHasChanged('dt-by-team-input',hash['dt-by-team-input'])){
			var select	= $('dt-by-team-input');
			for(i=0; i < select.options.length; i++){
				if((select.options[i].id).replace('team-').toLowerCase() === (hash['dt-by-team-input']).toLowerCase() || select.options[i].value.toLowerCase() === (hash['dt-by-team-input']).toLowerCase()){
					select.selectedIndex	= i;
					break;
				}
			}
			nfl.global.dt.tabs.params['dt-by-team-input']	= hash['dt-by-team-input'];
			nfl.global.dt.tabs.params[hash['dt-by-team-input']]	= select.options[select.selectedIndex].text;
			document.fire('dt-by-team:parameterChange',{'parameter':hash['dt-by-team-input']});
			document.fire('draft:tracker:filters:changed',{key:'dt-by-team-input',value:param});
			document.fire('draft:tracker:tabs:changed');
			return
		}
	/* end   team tab */
	/* start picks tab */
		if(nfl.global.dt.tabs.isActive('dt-by-round') && nfl.global.dt.tabs.paramHasChanged('dt-by-round-input',hash['dt-by-round-input'])){
			var param	= hash['dt-by-round-input'];
			param		= param.replace('round-');
			if(param !== null){
				$('dt-by-round-input').select('li.active').each(function(ele){ele.removeClassName('active');});
				if($('round-'+param)){$('round-'+param).addClassName('active');}
				nfl.global.dt.tabs.params['dt-by-round-input']	= param;
				nfl.global.dt.writer.activecontainer	= 'by-round';
				nfl.global.dt.writer.filters['by-round'][0].criteria	= param;
				document.fire('draft:tracker:filters:changed',{key:'dt-by-round-input',value:param,filters:nfl.global.dt.getFiltersForActiveTab('dt-by-round')});
				return
			}
		}
	/* end   picks tab */
	/* start active search */
	if(nfl.global.dt.tabs.paramHasChanged('dt-as-input',hash['dt-as-input'])){
		/* */
		nfl.global.dt.tabs.params['dt-as-input']	= hash['dt-as-input'];
		document.fire('dt-as-input:parameterChange',{'parameter':nfl.global.dt.tabs.params['dt-as-input'],'condition':'startsWith',field:'lastName',filters:[{field: "lastName", criteria: nfl.global.dt.tabs.params['dt-as-input'], operator: "startsWith"}]});
	}
	if(nfl.global.dt.tabs.hasChanged(hash['dt-tabs'])){
		nfl.global.dt.tabs.active	= hash['dt-tabs'];
		nfl.global.dt.writer.activecontainer	= nfl.global.dt.getContainerKeyForActiveTab();
		//console.log('hash change intercepted tab change without parameter change return.'+ Object.toJSON(nfl.global.dt.getFiltersForActiveTab(nfl.global.dt.tabs.active)[0]));
		document.fire('draft:tracker:view:changed',{'containers':nfl.global.dt.getContainersForActiveTab(nfl.global.dt.tabs.active),filters:nfl.global.dt.getFiltersForActiveTab(nfl.global.dt.tabs.active)});
	}
	/* end active search */
});
/* progress indicators */
document.observe("draft:tracker:data:updating",nfl.global.dt.indicator.show);
document.observe("draft:tracker:writer:updating",nfl.global.dt.indicator.show);			
document.observe("draft:tracker:data:written",nfl.global.dt.indicator.hide);
document.observe("draft:tracker:data:updated",nfl.global.dt.indicator.hide);
document.observe("draft:tracker:data:analysis:updated",nfl.global.dt.indicator.hide);

document.observe('dt-by-team:parameterChange',function(event){
	console.info('{dt-by-team:parameterChange} : '+nfl.global.dt.tabs.params['dt-by-team-input']);
	/* do alittle dance */
	if(event.memo.parameter){
		/* has value, refresh content */
		var teamAbbr			= event.memo.parameter;
		var teamName			= nfl.global.dt.tabs.params[teamAbbr];
		var requestURL			= '/widget/draft/2009/tracker/teams/profile?year=2009&team='+teamAbbr.toUpperCase();
		if(typeof teamName !== "undefined"){
			teamName			= teamName.toLowerCase().replace(/ /gi,"");
			requestURL			= '/widget/draft/2009/tracker/teams/'+ teamName +'/profile?year=2009&team='+teamAbbr.toUpperCase();
		}
		$('dt-loading-panel-wrapper').show();
		nfl.global.dt.setLoaderToContentHeight('dt-by-team');
		//$('dt-by-team-data').update('<div class="dt-loading-panel"><center>&nbsp;&nbsp;loading team..</center></div>');
		document.fire("draft:tracker:data:updating",{});
		var teamTabContentRequest	= new Ajax.Updater('dt-by-team-data', requestURL, {
			method: 'get', 
			evalScripts: true,
			onSuccess: function(){
				$('dt-loading-panel-wrapper').hide();
				document.fire("draft:tracker:data:updated",{empty:true});
			}
		});
	};
});
nfl.global.dt.setLoaderToContentHeight	= function(target){
	//console.log('nfl.global.dt.setLoaderToContentHeight(\''+ target +'\')');
	if($('dt-loading-panel-wrapper')){
		var tHeight	= $(target).getHeight(); tHeight = (tHeight > 175)? tHeight:175;
		$('dt-loading-panel').setStyle({'height':(tHeight / 2)+'px','padding':((tHeight / 2) - 10)+'px 0 0 0'});
	}
}
document.observe('dt-as-input:parameterChange',function(event){
	console.info('{dt-as-input:parameterChange} observer . param? "'+(typeof event.memo.parameter !== 'undefined')+'" value=""');
	if(event.memo){
		if(typeof event.memo.parameter !== 'undefined' && event.memo.parameter !== ''){
			nfl.global.dt.writer.activecontainer	= 'by-name';
			nfl.global.dt.writer.filters['by-name'][0].criteria	= event.memo.parameter;
			document.fire('draft:tracker:filters:changed',{key:'dt-as-input',value:event.memo.parameter,filters:nfl.global.dt.getFiltersForActiveTab('dt-by-name')});
		}
	};	
	console.info('{dt-as-input:parameterChange} end');
});
/* if on colleges tab and we have parameters on data write, re-bind rows to display */
document.observe('draft:tracker:data:changed',function(event){
	event.memo		= (typeof event.memo !== 'undefined')?event.memo:{};
	if(nfl.global.dt.tabs.isActive('dt-by-round') && event.memo['action'] !== 'analysis'){
		/* keep the round tab filter up to date if not presently on by-round */
		nfl.global.dt.tabs.setInputParam({key:'dt-by-round-input',value:nfl.draft.tracker.data.draft.round});
	}else{
	if(nfl.global.dt.tabs.isActive('dt-by-team')){
		/* check the active sub tab */
		if($('dt-team-tabs') && typeof nfl.global.dt.writer !== 'undefined'){
			if($('dt-team-tabs-tab-0').className === 'active' && !nfl.global.dt.writer.engine.initializing){
				/* reload */
				document.fire('dt-by-team:parameterChange',{'parameter':nfl.global.dt.tabs.params['dt-by-team-input']});
			} 
		}
	}}
});
document.observe('draft:tracker:data:colleges:changed',function(event){
	/* on college change populate colleges and conferences dropdowns */
	var colleges = event.memo;
	var conferences			= {};
	var conferencesAlpha	= [];
	var collegeInput		= $('dt-by-college-input');
	var conferenceInput		= $('dt-by-conference-input');

	collegeInput.options.length		= 0;
	conferenceInput.options.length	= 0;
	collegeInput.options[0]			= new Option("Choose a College","");
	conferenceInput.options[0]		= new Option("Choose a Conference","");
	
	/* populate conferences via colleges */
	for(var id in colleges){
		var college			= colleges[id];
		collegeInput.options[collegeInput.options.length]	= new Option(college.name,college.id);
		collegeInput.options[(collegeInput.options.length - 1)].id = ('college-'+collegeInput.options[(collegeInput.options.length - 1)].value);
		
		var conf			= college.conf;
		if(conf){
			conf	= conf.replace(' ','').replace('-','').toLowerCase();
			conferences[conf] 		= {"name":college.conf,"id":conf};
			if(conferencesAlpha.indexOf(conf) == -1){conferencesAlpha[conferencesAlpha.length]	=  conf;}
		}
	}
	conferencesAlpha.sort();
	conferencesAlpha.each(function(key){
		//console.log('colleges:changed: iterating alpha of conferencesAlpha['+key+']');
		var conference	= conferences[key];
		if(typeof conference !== 'undefined'){
			//console.log('colleges:changed: adding '+ conference.id +' to conferences pulldown');
			conferenceInput.options[conferenceInput.options.length]	= new Option(conference.name,conference.id);
			conferenceInput.options[(conferenceInput.options.length - 1)].id = ('conf-'+conferenceInput.options[(conferenceInput.options.length - 1)].value);
		}
	});
	console.info('finished updating college/conference pulldowns');
});