function dynamicLayout(){
    var browserWidth = getBrowserWidth();

    if (browserWidth <= 980){
        changeLayout('thin');
    } else {
        changeLayout('wide');
    }
}

function changeLayout(newLayout) {
	document.body.className = document.body.className.replace(' thin', '');
	document.body.className = document.body.className.replace(' wide', '');
	document.body.className += ' ' + newLayout;
}

function getBrowserWidth(){
    if (window.innerWidth){
        return window.innerWidth;}
    else if (document.documentElement && document.documentElement.clientWidth != 0){
        return document.documentElement.clientWidth;    }
    else if (document.body){return document.body.clientWidth;}
        return 0;
}

// http://www.sitepoint.com/article/standards-compliant-world/3
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}

//addEvent() by John Resig
function addEvent( obj, type, fn ){
   if (obj.addEventListener){
      obj.addEventListener( type, fn, false );
   }
   else if (obj.attachEvent){
      obj["e"+type+fn] = fn;
      obj[type+fn] = function(){ obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}

//Run dynamicLayout function when page loads and when it resizes.
addEvent(window, 'load', dynamicLayout);
addEvent(window, 'resize', dynamicLayout);
addEvent(window, 'load', externalLinks);
addEvent(window, 'load', initOpacities);


var ssSlides = null;
// http://www.webmasterworld.com/forum91/4988.htm
// op_val sets initial opacity value; fad_var the fade value or amount, bigger is faster;
// fad_rat sets the rate, smaller is faster
// different numbers are used to get similar effects on different browsers
var currentOpacity, nextOpacity, fad_var, fad_rat, top_val, bot_val, rot_rat;
rot_rat = 7000;

if (document.defaultView) {	// for standards-compliant browsers
	currentOpacity = 1; // applied opacity setting
	nextOpacity = 0;
	bot_val=0; // lowest opacity setting
	fad_var=.2;
	fad_rat=100;
} else { // for IE
	currentOpacity=100;
	nextOpacity = 0;
	bot_val=0;
	fad_var=10;
	fad_rat=25;
}

var nextIndex = 1;

var currentSet = null;
var nextSet = null;

var fadeIntr = null;
var rotIntr = null;

function initOpacities() {
	var imageContainer = document.getElementById('image');

	if (ssSlides != null && imageContainer != null && ssSlides.length > 1) {
		for (var j = 1; j < ssSlides.length; j++) {
			newImg = document.createElement('img');
			newImg.src = ssSlides[j];
			imageContainer.appendChild(newImg);
		}

		var imgCollection = imageContainer.getElementsByTagName('img');

		currentSet = imgCollection.item(0);
		nextSet = imgCollection.item(1);

		for (var j = 0; j < imgCollection.length; j++) {
			imgCollection.item(j).style.position = 'absolute';
			imgCollection.item(j).style.top = 0;
			imgCollection.item(j).style.left = 0;
			imgCollection.item(j).style.opacity = 1;
			imgCollection.item(j).style.filter = 'progid:DXImageTransform.Microsoft.alpha(opacity=100)';
			if (j > 0) {
				imgCollection.item(j).style.opacity = 0;
				imgCollection.item(j).style.filter = 'progid:DXImageTransform.Microsoft.alpha(opacity=0)';
			}
		}

	//	alert(ssSlides);

		// start the rotate
		rotIntr = setInterval(rotate,rot_rat);
	}
}

function rotate() {
	// start the fade
	fadeIntr = setInterval(fader,fad_rat);
}

function fader() {
	currentOpacity = currentOpacity + (fad_var * -1);
	nextOpacity = nextOpacity + (fad_var * 1);

	document.defaultView ? currentSet.style.opacity = currentOpacity : currentSet.filters.item("DXImageTransform.Microsoft.alpha").opacity = currentOpacity;
	document.defaultView ? nextSet.style.opacity = nextOpacity : nextSet.filters.item("DXImageTransform.Microsoft.alpha").opacity = nextOpacity;

	// fade completed
	if (currentOpacity <= bot_val) {
		clearInterval(fadeIntr);
		fadeIntr = null;

		if (document.defaultView) {	// for standards-compliant browsers
			currentOpacity=1; // applied opacity setting
			nextOpacity = 0;
		} else { // for IE
			currentOpacity=100;
			nextOpacity = 0;
		}

		var imageContainer = document.getElementById('image');
		var imgCollection = imageContainer.getElementsByTagName('img');

		nextIndex++;
		if (nextIndex == imgCollection.length) {
			nextIndex = 0;
		}

		currentSet = nextSet;
		nextSet = imgCollection[nextIndex];
	}
}