var text_sz = 0;
var hcontent = null;
function init_nav()
{
	// Find the current text size from the page
	var htext_sz = $("#text");
	if(htext_sz.hasClass("large")) { text_sz = 1; }
	if(htext_sz.hasClass("larger")) { text_sz = 2; }
	// Bind text controls
	$("#text_size").find("a.up").bind( 'click', function(el){ text_size(1); $(this).blur(); return false; } );
	$("#text_size").find("a.down").bind( 'click', function(el){ text_size(-1); $(this).blur(); return false; } );
}
function text_size(sz)
{
	text_sz += sz;
	if(text_sz<0){ text_sz = 0; }
	if(text_sz>2){ text_sz = 2; }
	if(!hcontent)
	{
		hcontent = $("#text");
	}
	// Set the classes and cookie
  document.cookie = "text_size="+text_sz;
	// Session only for now... +"; expires="+(24*3600000);
	switch(text_sz)
	{
		case 2:
			hcontent.removeClass('large');
			hcontent.addClass('larger');
			break;
		case 1:
			hcontent.removeClass('larger');
			hcontent.addClass('large');
			break;
		default:
			hcontent.removeClass('large');
			hcontent.removeClass('larger');
			break;
	}
	return false;
}

function writeCookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}





$(document).ready(function() {
	init_nav();
	find_external_links();
	// Find expandables
	$(".expand_cont").hide();
	$(".expand_link").bind('click', function(ev) {
		var target = $("#"+ev.target.id+"_cont");
		$(this).html( (target.css("height")=="auto") ? "hide" : "show" );
		target.slideToggle("normal");
		ev.preventDefault();
	});
});

function find_external_links() {
	$("a[rel='external']").bind( 'click', function(el){ external_link(el); } );
}

// archive tab/box
var tabRec;
var tabArc;
var boxRec;
var boxArc;

var url = location.href;
var parts = url.split('#');
var arc = parts[1];
if(arc == 'archive') {
	tabArc = ' class="ON"';
	boxArc = ' style="display:block;"';
	
	tabRec = '';
	boxRec = ' style="display:none;"';
} else {
	tabArc = '';
	boxArc = ' style="display:none;"';
	
	tabRec = ' class="ON"';
	boxRec = ' style="display:block;"';
}

$(document).ready(function(){
	$("div#recent_button a").click(function(){
		$('div.recent').slideDown("slow");
		$('div.archive').slideUp("slow");
		$('div#archive_button a').removeClass('ON');
		$(this).addClass('ON');
		return false;
	});
	$("div#archive_button a").click(function(){
		$('div.archive').slideDown("slow");
		$('div.recent').slideUp("slow");
		$('div#recent_button a').removeClass('ON');
		$(this).addClass('ON');
		return false;
	});
});

// portfolio sort
var so = 1;
function sp(num) {
	so = (so == 1) ? 0 : 1;
//	if (so == 1) { so = 0; } else { so = 1; }
	$("#portfolio").tablesorter({ sortList:[[num,so]], widgets: ['zebra'] });
}
// closed portfolio sort
var soc = 1;
function spc(num) {
	soc = (soc == 1) ? 0 : 1;
//	if (soc == 1) { soc = 0; } else { soc = 1; }
	$("#portfolio_closed").tablesorter({ sortList:[[num,soc]], widgets: ['zebra'] });
}

// most popular/emailed
function most_popular(what)
{
	more_what = what;
	switch(what)
	{
		case 'email':
			$('#list_read').css('font-weight','normal');
			$('#list_email').css('font-weight','bold');
			$('#most_read').hide('slow');
			$('#most_email').show('slow');
			break;
		default: // Read
			$('#list_read').css('font-weight','bold');
			$('#list_email').css('font-weight','normal');
			$('#most_email').hide('slow');
			$('#most_read').show('slow');
			break;
	}
}
var more_what = 'read';
function init_nav()
{
	$('#list_read').css('font-weight','bold');
	$('#most_email').hide();
	$("#list_read").bind("click", function(){
		most_popular('read');
		return false;
	});
	$("#list_email").bind("click", function(){
		most_popular('email');
		return false;
	});
}


// breaking news scroll
var $start_left = 0;
var $end_left = 0;
var $current_left = 400;

var $scroll_pause = false;

function stop_scroll() {
   $scroll_pause = true;
}

function start_scroll() {
   $scroll_pause = false;
}

function initScroll() {
    setInterval('doScroll()', 20); 
}

function doScroll() {
   if($scroll_pause==false) {
        $start_left = $("div#scroll_container").width();
        $end_left = -1 * $("div#scroll_container_content").width();
             
        if($current_left < $end_left) { $current_left = $start_left; }
        else {$current_left = $current_left - 1;} 
            
        $("div#scroll_container_content").css({left:$current_left})
    }
 }

// image rollover
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function clearInput(objIn) {
		//Developer: Kris Steigerwald
		//Date Created: 02.01.08
		//Clears selected input: onfocus='clearInput(this.id);
		document.getElementById(objIn).value='';
	}

// Media Embedding Functions & Utilities
// Robert Goula
var Utils = new function()
{
	return {
		show: function( id, state ) {
			var what = document.getElementById( id );
			what.style.visibility = (state)?'visible':'hidden';
			what.style.display = (state)?'block':'none';
		},
		resize: function(id, width, height) {
			var hid = document.getElementById( id );
			what.style.width = width+'px';
			what.style.height = height+'px';
			what.style.clip = 'rect(0,'+width+','+height+',0)';
		}
	};
};
var Media = new function()
{
	return {
		wm: function( parentid, id, url, width, height, paramsarg )
		{
			params = { autostart:true, controls:true, uimode:'mini', status:false, display:false, stretch:false, autosize:false, playcount:1 };
			for( var arg in paramsarg ) { params[arg] = paramsarg[arg]; }
			if(typeof width == undefined )	{ width = 320; }
			if(typeof height == undefined )	{ height = 286; }
			classid			= 'CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'; // older 'CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95';
			objecttype	= 'application/x-oleobject';
			embedtype		= 'application/x-mplayer2';
			var mplayer	=	"<object id='"+id+"' height='"+height+"' width='"+width+"' style=\"margin:0;\"\n"
									+	"\t\tclassid='"+classid+"' type='"+objecttype+"'>\n"
									+ "\t<param name='URL' value='"+url+"'><param name='src' value='"+url+"'>\n"
									+ "\t<param name='autostart' value='"+params.autostart+"'>\n"
									+ "\t<param name='showcontrols' value='"+params.controls+"'><param name='showstatusbar' value='"+params.status+"'>\n"
									+	"\t<param name='uiMode' value='"+params.uimode+"'>\n"
									+	"\t<param name='stretchToFit' value='"+params.stretch+"'><param name='autosize' value='"+params.autosize+"'>\n"
									+	"\t<param name='showdisplay' value='"+params.display+"'>\n"
									+	"\t<param name='playCount' value='"+params.playcount+"'>\n"
									+	"\t<embed height='"+height+"' width='"+width+"'\n"
									+	"\t\tsrc='"+url+"' type='"+embedtype+"' uiMode='"+params.uimode+"'\n"
									+	"\t\tautostart='"+params.autostart+"' showdisplay='"+params.display+"'\n"
									+	"\t\tshowcontrols='"+params.controls+"' showstatusbar='"+params.status+"'\n"
									+	"\t\tstretchtofit='"+params.stretch+"' autosize='"+params.autosize+"'"
									+ " />\n</object>";
			var pid = document.getElementById(parentid);
			pid.innerHTML = mplayer;
//			alert(mplayer);
//			document.write(mplayer);
		},
		swf: function( parentid, id, url, width, height, flashvars, paramsarg) {
			params = { allow:'sameDomain', bgcolor:'#FFFFFF', quality:'high', wmode:'transparent' };
			for( var arg in paramsarg ) { params[arg] = paramsarg[arg]; }
			var classid			= 'CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000'; // Flash 6 MX
			var objecttype	= 'application/x-oleobject';
			var embedtype		= 'application/x-shockwave-flash';
			var mplayer	=	"<object id='"+id+"' height='"+height+"' width='"+width+"'\n"
									+ "\t\tcodebase='https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'\n"
									+	"\t\tclassid='"+classid+"' type='"+objecttype+"'>\n"
									+	"\t<param name='movie' value='"+url+"'>\n"
									+	"\t<param name='quality' value='"+params.quality+"'>\n"
									+	"\t<param name='allowScriptAccess' value='"+params.allow+"'>\n"
									+	"\t<param name='bgcolor' value='"+params.bgcolor+"'>\n"
									+	"\t<param name='wmode' value='"+params.wmode+"'>\n"
									+	"\t<param name='flashVars' value='"+flashvars+"'>\n"
									+	"\t<embed height='"+height+"' width='"+width+"' quality='"+params.quality+"' bgcolor='"+params.bgcolor+"'\n"
									+	"\t\tsrc='"+url+"' type='"+embedtype+"' allowScriptAccess='"+params.allow+"' wmode='"+params.wmode+"'"
									+ "\t\tflashVars='"+flashvars+"'"
									+ "pluginspage='http://www.macromedia.com/go/getflashplayer'"
									+	" />\n</object>";
			var pid = document.getElementById(parentid);
			pid.innerHTML = mplayer;
//			alert(mplayer);
//			document.write(mplayer);
		}
	};
};

// End Media Embedding Functions & Utilities

// written by Dean Edwards, 2005
// with input from Tino Zijdel - crisp@xs4all.nl
// http://dean.edwards.name/weblog/2005/10/add-event/
// previous file events.js
function addEvent(element, type, handler)
{
	if (element.addEventListener)
		element.addEventListener(type, handler, false);
	else
	{
		if (!handler.$$guid) handler.$$guid = addEvent.guid++;
		if (!element.events) element.events = {};
		var handlers = element.events[type];
		if (!handlers)
		{
			handlers = element.events[type] = {};
			if (element['on' + type]) handlers[0] = element['on' + type];
			element['on' + type] = handleEvent;
		}
	
		handlers[handler.$$guid] = handler;
	}
}
addEvent.guid = 1;

function removeEvent(element, type, handler)
{
	if (element.removeEventListener)
		element.removeEventListener(type, handler, false);
	else if (element.events && element.events[type] && handler.$$guid)
		delete element.events[type][handler.$$guid];
}

function handleEvent(event)
{
	event = event || fixEvent(window.event);
	var returnValue = true;
	var handlers = this.events[event.type];

	for (var i in handlers)
	{
		if (!Object.prototype[i])
		{
			this.$$handler = handlers[i];
			if (this.$$handler(event) === false) returnValue = false;
		}
	}

	if (this.$$handler) this.$$handler = null;

	return returnValue;
}

function fixEvent(event)
{
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
}
fixEvent.preventDefault = function()
{
	this.returnValue = false;
}
fixEvent.stopPropagation = function()
{
	this.cancelBubble = true;
}

// This little snippet fixes the problem that the onload attribute on the body-element will overwrite
// previous attached events on the window object for the onload event
if (!window.addEventListener)
{
	document.onreadystatechange = function()
	{
		if (window.onload && window.onload != handleEvent)
		{
			addEvent(window, 'load', window.onload);
			window.onload = handleEvent;
		}
	}
}

