

/****[ PRELOAD BACKGROUND IMAGES ]*********************************************/
var preload = new Array(
	'icon-close.png',
	'icon-expand.png',
	'icon-contact-close.png',
	'icon-contact-expand.png',
	'icon-join-close.png',
	'icon-join-expand.png',
	'icon-welcome-close.png',
	'icon-welcome-expand.png',
	'icon-close-hover.png',
	'icon-expand-hover.png',
	'icon-contact-close-hover.png',
	'icon-contact-expand-hover.png',
	'icon-join-close-hover.png',
	'icon-join-expand-hover.png',
	'icon-join-expand-hover-transparent.png',
	'icon-welcome-close-hover.png',
	'icon-welcome-expand-hover.png',
	'icon-welcome-expand-hover-transparent.png',
	'welcome-text.png',
	'welcome-text.png'
);
var imgs = new Array();
for (var i = 0; i < preload.length; i++) {
	imgs[i] = new Image();
	imgs[i].src = './skin/images/' + preload[i];
}
/****[ END PRELOAD BACKGROUND IMAGES ]******************************************/



/****[ LOAD ALL OF THE PANEL EVENTS ]******************************************/
window.onload = function(){
	//LOAD RANDOM IMAGES INTO THE APPROPRIATE CELLS
	loadRandomImages();
	//getNewsArticles();
	//addExpandPanel('contact', '40em', '40em');
	addExpandPanel('join', '40em', '60em');
	addExpandPanel('welcome', '40em', '40em');
	addBackground();
	addClientViewer();
	enableExternalLinks();
	
	//LOAD REQUESTED SECTION
	showRequestedContent();
	
	switchToTransparentGraphics();
	
	// id of element to check for and insert control
	TextResizeDetector.TARGET_ELEMENT_ID = 'header';
	// function to call once TextResizeDetector has init'd
	TextResizeDetector.USER_INIT_FUNC = initTextResizeDetector;

};
/****[ END LOAD ALL OF THE PANEL EVENTS ]***************************************/


//OPEN THE REQUESTED PANEL ONLOAD
function showRequestedContent() {
	var query = window.location.search.substring(1)
	switch(query) {
		
		case 'team-members':
		case 'awards':
		case 'ethos':
		case 'process':
		case 'opinions':
		case 'services':
		case 'technology-and-software':
		case 'prod-tech':
		case 'cms-reddot-isv':
			$('#welcome .expand').click();
			setTimeout("$('#lnk-" + query + "').click();", 250);
			break;
		
		case 'contact':
		case 'join':
		case 'welcome':
			$('#' + query + ' .expand').click();
			break;
		
		default:
			
	}
}



function addExpandPanel(handle, w, h) {
	$('#page-wrapper').append('<div id="' + handle + '-expand" class="expander"></div>');
	$('#' + handle).append('<a href="" onclick="$(\'#' + handle + ' .expand\').click(); return false" class="btn-expand">show</a>');
	$('#' + handle).append('<a href="" onclick="$(\'#' + handle + ' .expand\').click(); return false" class="clickable-panel" title="Find out more..."></a>');
	$('.clickable-panel', '#' + handle).hover(
		function() { 
			$(this).siblings('.btn-expand').addClass('btn-expand-hover'); 
			$(this).siblings('.text').children('.atbottom').children().addClass('hover'); 
			$('#' + handle).addClass('hover');
		},
		function() { 
			$(this).siblings('.btn-expand').removeClass('btn-expand-hover');
			$(this).siblings('.text').children('.atbottom').children().removeClass('hover');
			$('#' + handle).removeClass('hover');
		}
	);
	$('#' + handle + ' .expand').bind('click', function() {
	    closeExpandPanels();
		$('#' + handle + '-expand').animate({ height: h, width: w }, 200, 'linear')
							       .addClass('expanded');
		$.get($(this).attr('href') + '?' + Math.random(), function(data) {
			$('#' + handle + '-expand').html(data)
			                           .append('<a class="btn-close" href="" title="close this panel" onclick="closeExpandPanels(); return false">close</a>');
			addExpandPanelEvents(handle);
			enableExternalLinks();
		});
		return false;
	});	
}


function closeExpandPanels() {
	$('.expander').animate({ width:0, height:0 }, 5);
	closeWelcomePanel();
}


function addExpandPanelEvents(handle) {
	switch (handle) {
		case 'welcome':
			addWelcomePanel();
			break;
		default:
	}
}


function addWelcomePanel() {
	$('#page-wrapper').append('<div id="welcome-detail"></div>');
	$('#welcome-expand .expand').bind('click', function() {
		$('#welcome-detail').animate({ width : '40em' }, 200, function() {
			$('#movie1').hide();
		});
		$.get($(this).attr('href'), function(data) {
			$('#welcome-detail').html(data);
		});
		return false;
	});
}


function closeWelcomePanel() {
	$('#movie1').show();
	$('#welcome-detail').animate({ width:0 }, 5).remove();
}


function addTeamMemberActions() {
	$('#team-members').append('<div id="team-member-info"></div>')
					  .append('<div id="team-member-pic"></div>');
	$('#team-member-list a').bind('click', function() {
		$('#team-member-pic').html($('#' + $(this).attr('title') + ' img').clone()[0]);
		$('#team-member-info').html($('#' + $(this).attr('title') + ' .team-member-info').html());
		$('#team-member-list li').removeClass();
		$(this).parent().addClass('current');
		return false;
	});
	$('#team-member-list a').eq(0).click();
}


function addBackground() {
	$('body').append('<div id="page-background"><div class="inner"></div></div>');
	var cols = new Array('F0F0F0','F3F3F3','F6F6F6','F9F9F9','FAFAFA','EFEFEF','ECECEC','EAEAEA','E9E9E9','E6E6E6');
	
	for (var i = 0; i < 50; i++) {
		var col = cols[Math.round(Math.random()*9)];
		$('#page-background .inner').append('<div class="smallcell" style="background:#' + col + ';"></div>');
	}
}


function addClientViewer() {
	$('#clients .client').bind('mouseover', function() {
		$('#clients .client').removeClass('current');
		$(this).addClass('current');
		$('#portfolio .mediacell').html($('.client-screenshot img', this).clone());
		$('#client-logo').html($('.client-logo img', this).clone())
		                 .append('<p>' + $('.client-project', this).clone().html() + '</p>');
	});
	$('#clients .client').eq(0).mouseover();
}


function enableExternalLinks() {
	$('.external-link').attr('target', '_blank');
}


function loadRandomImages() {
	var imgsrc;
	if (typeof(rotateImages) != 'undefined') {
		for (var i = 0; i < rotateImages.length; i++) {
			var j = Math.floor(Math.random()*rotateImages[i].files.length);
			imgsrc = rotateImages[i].files[j];
			$('#' + rotateImages[i].panel + ' img').attr('src', imgsrc);
		}
	}
}


function initTextResizeDetector() {
    var iBase = TextResizeDetector.addEventListener(onFontResize,null );
	adjustHTMLFontSize(iBase);
}

function onFontResize(e, args) {
	adjustHTMLFontSize(args[0].iSize);
}


function adjustHTMLFontSize(currentSize) {
	if (BrowserDetect.browser == 'Explorer') {
		switch (currentSize) {
			case 10:
			case 11:
			case 12:
				$('html').removeClass();
				$('html').addClass('small');
				break;
			case 16:
			case 17:
			case 18:
			case 19:
				$('html').removeClass();
				$('html').addClass('large');
				break;
			default:
				$('html').removeClass();
		}
	}
}


function switchToTransparentGraphics() {
	//SWITCH WELCOME TEXT GRAPHIC FOR TRANSPARENCY
	if (!(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 7)) {
		$('.welcome-text').attr('src', './skin/images/welcome-text-transparent.png');
		$('head').append('<link href="./skin/transparent-png.css" rel="stylesheet" media="all" />');
	}
}

/*

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
}




//HOLD THE NEWS XML
var newsItems;
//AND THE CURRENTLY VIEWED ITEM
var newsID = 0;



//IMPORT THE NEWS ARTICLES FROM AN XML FILE
function getNewsArticles() {
	//LOAD THE NEWS XML FILE
	$.get('config/news.xml', function(data) {
		newsItems = data;
		//FILTER OUT THOSE ARTICLES WHERE ENABLE IS NOT YES
		$('article', newsItems).filter(function(index) {
			return $('enable', this).text() != 'yes';
		}).remove();
		//LOAD AN ARTICLE
		loadNewsArticle();
	});
}


//UPDATE THE PAGE WITH A NEW NEWS ARTICLE
function loadNewsArticle() {
	//DETERMINE NUMBER OF ARTICLES
	var num = $('article', newsItems).length;
	var art = $('article:eq(' + newsID + ')', newsItems);
	var story = $('#news2 > div > div.story');
	var storyHTML = '';
	//LOAD THE IMAGE
	$('#news1 > div > img').attr({ src: 'images/news/' + $('image > src', art).text(), alt: $('image > alt', art).text() });
	//SET THE HEADING
	$('#news2 > div > h3').text($('heading', art).text());
	//CLEAR THE CURRENT STORY
	$('#news-story').empty();
	//ADD THE NEW CONTENT
	//alert($('story', art).children.length)
	$('story', art).children.each(function(i) {
		$('#news-story').append('<p>para</p>');
										   });
}

*/
//filter(function(index) { return $("ol", this).length == 0; })





 