var TTIC = {

	divTag : 'div',
	headlineTag : 'h4',
	widgetContainerId : 'jive-widget-content',
	widgetHeaderClass : 'jive-widget-header',
	widgetHeaderNodes : new Array(),
		
	widgetContainer : function() {
		return document.getElementById(this.widgetContainerId);
	},
	
	getChildDivNodes : function(parentElement) {
		return parentElement.getElementsByTagName(this.divTag);
	},
	
	getWidgetElement : function(widgetClassName) {
		for (var i=0; i<this.widgetHeaderNodes.length; i++) {
			if (this.widgetHeaderNodes[i].parentNode.className==widgetClassName) {
				return this.widgetHeaderNodes[i];
			}
		}
		return null;
	},
	
	initializeWidgetNodes : function() {
		var widgetNodes = this.getChildDivNodes(this.widgetContainer());
		for (var i=0; i<widgetNodes.length; i++) {
			if (widgetNodes[i].className==this.widgetHeaderClass ) {
				var as = this.widgetHeaderNodes.push(widgetNodes[i]);
			}		
		}
		
	},

	customizeWidgetHeaders : function(widgetClassName, customClass) {
		
		// first get the relevant header widget
		var widget = this.getWidgetElement(widgetClassName);
		
		if (widget!=null)
		{
			// since the contents of jive-widget-header are originally innerHTML and not DOM, need to do some extra stuff
			// first get the innerHTML content and strip out the headline tags
			var headlineTextValue = widget.innerHTML;
			headlineTextValue = headlineTextValue.replace('<'+this.headlineTag+'>', '');
			headlineTextValue = headlineTextValue.replace('</'+this.headlineTag+'>', '');
			headlineTextValue = headlineTextValue.replace('<'+this.headlineTag.toUpperCase()+'>', '');
			headlineTextValue = headlineTextValue.replace('</'+this.headlineTag.toUpperCase()+'>', '');
			
			// now create the proper headline tag
			var headlineElement = document.createElement(this.headlineTag);
			headlineElement.innerHTML = headlineTextValue;

			// now create the custom element to insert before the headline
			var customElement = document.createElement(this.divTag);
			customElement.className = customClass;
			
			// remove the innerHTML from the widget and replace with the two DOM elements
			widget.innerHTML = '';
			widget.appendChild(customElement);
			widget.appendChild(headlineElement);
			
		}
		
	}	

};

window.onload = function() {
	TTIC.initializeWidgetNodes();
	TTIC.customizeWidgetHeaders('jive-widget jive-widget-recentsuggestionswidget ', 'special-header-icon-lightbulb');
	TTIC.customizeWidgetHeaders('jive-widget jive-widget-activesessionswidget ', 'special-header-icon-bullhorn');
	TTIC.customizeWidgetHeaders('jive-widget jive-widget-recentcommentswidget ', 'special-header-icon-talkbubbles');
};
