// ==UserScript==

// @name            NewsGator Custom UI
// @author          Mark Husson <http://michaelhusson.com/mark> (With Some Content Provided by Bruno Torres <http://www.brunotorres.net/>)
// @namespace       http://michaelhusson.com/mark/greasemonkey/
// @description     Many Customizable Twaks to the Excellent NewsGator Interface
// @include         http://www.newsgator.com/ngs/subscriber/WebEd*
// @include         http://newsgator.com/ngs/subscriber/WebEd*

// ==/UserScript==

	//* Settings *//
	var sidebarLineWrap = 'false'; //true for wrapped items, [site-default = false]
	var framedLayout = 'false'; //true for independantly scrolling colums of sidebar and content [site-default = false]
	
	var compactFeedList = 'true'; // [site-default = false]
		var compactFeedPadding = '1px 0 0 20px'; // Even more compact, try 'opx 0px'
	
	var useOutlinesForAlternatingStories = 'true'; //add a small border to the alternation stories for better definition [site-default = false]
		var altOutline = '#C6DDF2';
	
	var customArticleTitles = 'true';
		var articleTitleWeight = 'bold'; // '' for non-bold ['bold' = site-default]
		var articleTitleSize = '1.5em'; // ['1em' = site-default]
		var articleTitleFont = 'Trebuchet MS'; // Other good choices: 'Verdana', 'Helvetica', 'Georgia'
		var articleTitleBullet = '» '; // Other good choices: '° ', '¤ ', '» ', '<img src="../images/last_page.gif"/> ',  ['' = site-default]
		var articleTitleOwner = 'true'; // This will put the owner of the articled website link after the article title. false = site-default
	
	var hideTipBox = 'false'; //Remove the "tip" box
	var hideSidebarExtras = 'true'; //Remove the "Latest Buzz", "Factiva", and "Help"
	
	//* Global ID's *//
	var sidebar = document.getElementById('sidebar');
	var content = document.getElementById('content-wrapper');
	var folders = document.getElementById('webfolders');
	
	//* All the Divs for Anything *//
	// If you need something in a div, heres where you get it
	var divsAltentryArray = new Array();
	var divsAnyentryArray = new Array();
	var divsIndentArray = new Array();
	var divsIndent1Array = new Array();
	var divsSidebarExtraArray = new Array();
	
	var thedivs = document.getElementsByTagName('div');
	for(var i=0;i<thedivs.length;i++){
		if(thedivs[i].className == 'altentry'){
			divsAltentryArray.push(thedivs[i]);
		}
		if(thedivs[i].className.indexOf('entry') > -1){
			divsAnyentryArray.push(thedivs[i]);
		}
		if(thedivs[i].className == 'indent'){
			divsIndentArray.push(thedivs[i]);
		}
		if(thedivs[i].className == 'indent1'){
			divsIndent1Array.push(thedivs[i]);
		}
		if(thedivs[i].className == 'sidebarbox-gray'){
			divsSidebarExtraArray.push(thedivs[i]);
		}
	}
	
	//* Element Arrays *//
	var theh1s  = document.getElementsByTagName('h1');
	
	//* Hiding Things *//
	if(hideTipBox == 'true'){
		if(document.getElementById('content').innerHTML.indexOf('To display posts for a particular feed or folder, select the feed or folder from') > 0){
			document.getElementById('divTips').style.display = 'none';
		}
	}
	if(hideSidebarExtras == 'true'){
		for(var i=0;i<divsSidebarExtraArray.length;i++){
			divsSidebarExtraArray[i].style.display = 'none';
		}
	}
	
	
	//* Sidebar Wrap Style *//
	if(sidebarLineWrap == 'false'){
		folders.style.whiteSpace = 'nowrap';
	}
	
	//* Alt-Entry Border *//
	if(useOutlinesForAlternatingStories == 'true'){
		for(var i=0;i<divsAltentryArray.length;i++){
			divsAltentryArray[i].style.border = '1px solid '+altOutline;
		}
	}
	
	//* Article Titles *//
	if(customArticleTitles == 'true'){
		for(var i=0;i<theh1s.length;i++){
			var theh1a = theh1s[i].getElementsByTagName('a')[0];
			theh1a.innerHTML = articleTitleBullet + theh1a.innerHTML;
			var pThing = theh1s[i].parentNode.getElementsByTagName('p');
			var referingSiteLink = pThing[pThing.length-1].getElementsByTagName('a')[0];
			var referingSiteLinkCopy = document.createElement('a');
			referingSiteLinkCopy.href = referingSiteLink.href;
			referingSiteLinkCopy.innerHTML = ' '+referingSiteLink.innerHTML;
			referingSiteLinkCopy.style.opacity = '.4';
			referingSiteLinkCopy.style.marginLeft = '5px';
			
			theh1s[i].innerHTML = '';
			theh1s[i].appendChild(theh1a);
			if(articleTitleOwner == 'true'){
				if(referingSiteLinkCopy.href.indexOf("javascript:deletePost") < 0){
					theh1s[i].appendChild(referingSiteLinkCopy);
				}
			}
			
			theh1a.style.fontWeight = articleTitleWeight;
			theh1a.style.fontSize = articleTitleSize;
			theh1a.style.fontFamily = articleTitleFont;
		}
	}
	
	//* Compact Feed List *//
	if(compactFeedList == 'true'){
		for(var i=0;i<divsIndentArray.length;i++){
			divsIndentArray[i].style.padding = compactFeedPadding;
		}
	}
	
	//* "Framed" Navigation (by Bruno Torres) *//
	if(framedLayout == 'true'){
		var height = (window.innerHeight - 98)+'px';
		var width = (window.innerWidth - 260)+'px';
		sidebar.style.width = '260px';
		content.style.width = width;
		sidebar.style.height = height;
		content.style.height = height;
		sidebar.style.position = 'fixed';
		content.style.position = 'fixed';
		sidebar.style.overflow = '-moz-scrollbars-vertical';
		content.style.overflow = 'auto';
		
		window.onresize = function(){
			height = (window.innerHeight - 98)+'px';
			width = (window.innerWidth - 260)+'px';
			content.style.width = width;
			sidebar.style.height = height;
			content.style.height = height;
		}
	}





























