var minFS = 9;
var maxFS = 20;
var defaultFS = "12px";

var storysearch_maxresults = 5;
var storysearch_site = "eastvalleytribune.com";
var storysearch_url = "http://evtrib.onset.freedom.com/search/?fistype=site&q=";


function changeFontSize(el, diff) {
	el = jQuery(el);
	var fs = parseInt(el.css("fontSize"))+diff;
	var fsu = el.css("fontSize").slice(-2);
	if (fs <= maxFS && fs >= minFS) {
		setFontSize(el, fs+fsu);
	}
}

function setFontSize(el, size) {
	el = jQuery(el);
	el.css("fontSize", size);
	eraseCookie('storyFontSize');
	createCookie('storyFontSize', size, 30);
}

function defaultFontSize(el) {
	setFontSize(el, defaultFS);
}

function getMouseCoords(e) {
	var pos = new Array;
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	return posx + "," + posy;
}

function getSelected() {
	var userSelection;
	if (window.getSelection) {
		userSelection = window.getSelection();
	}
	else if (document.selection) {
		userSelection = document.selection.createRange().text;
	}
	return userSelection;
}

function trimString(str) {
  return str.toString().replace(/^\s+|\s+$/g, '');
}

function getStoriesByKeyword(keyword) {
	jQuery.getJSON('/page/xmlsearchresults?q='+ encodeURI(keyword), 
		function (results) {
			var suggested_link;
			var stories = '<p>More content related to <strong>'+keyword+'</strong></p>';
			if(results.suggested_links && results.suggested_links.length >0){
				//5 is an arbitrary number chossed for astetic of output.
				for (i=0; i<results.suggested_links.length && i < 5; i++) {
					suggested_link = results.suggested_links[i];
					var target = (suggested_link.url.indexOf(storysearch_site) == -1) ? ' target="_blank"' : '';
					stories += '&raquo; <a href="' + suggested_link.url + 
							'"' + target + '>' + 
							suggested_link.title + 
						'</a><br />\n';
				}
				stories += '<a href="' + storysearch_url + keyword + '" id="search_more">' + 
					results.total_links + ' results for <strong>' + keyword + '</strong></a>';
			}
			else {
				stories="No results found.";
			}
			jQuery('#searchresults').html(stories);
			jQuery('#searchresults_loading').hide();
			jQuery('#storykeyword').css('height', jQuery('#storykeyword #searchresults').height() + 14);
		}
	);
}
 

function setUpKeywordSearch() {
	jQuery('#storytext').dblclick(
	  function(e) {
	    var keyword = trimString(getSelected());
	    if (keyword.length) {
	      var mouse = getMouseCoords(e).split(',');

	      jQuery('#storytext').after('<div id="storykeyword"><div id="searchresults"></div><div id="searchresults_loading">Loading...</div><p class="r">click anywhere to close</p></div>');
	      
	      var keywordTop = parseInt(mouse[1]) + 10;
	      var keywordLeft = parseInt(mouse[0]) - (jQuery('#storykeyword').width() / 2);
	      keywordLeft = (keywordLeft < 0) ? 0 : keywordLeft;

	      jQuery('#storykeyword').css('left',keywordLeft).css('top',keywordTop);

	      getStoriesByKeyword(keyword);
	    }
	  }
	);
	jQuery(document).click(
		function(){
		  jQuery('#storykeyword').remove();
		}
	);
}

