var page = '';
var waited = false;

function showIntro(force) {
	if (!page) return;
	if (window.opera) {
		$('#header').html('<img src="images/tops/' + page + '.gif"/>').fadeOut(0).fadeIn(2000);
		$('#body').fadeIn(2000);
		return;
	}
	var swf = $('#' + page + '_header_swf');
	if (swf && swf.length) {
		if (swf[0].showIntro || force) {
			if (!waited && !force) {
				// safari needs this or the swf doesn't show. dunno
				waited = true;
				setTimeout('showIntro()', 50);
			} else {
				$('#body').fadeIn(2000);
				swf[0].showIntro();
			}
		} else {
			setTimeout('showIntro()', 50);
		}
	} else {
		$('#body').fadeIn(2000);
	}
}

function setPage(newPage) {
	if (page == 'chopshoptv' && newPage == page) {
		$('#iframe')[0].src = 'blog/';
		return;
	}
	pendingPage = newPage;
	if (window.opera) {
		$('#header').fadeOut(500);
		$('#body').fadeOut(500);
		setTimeout('processOutroComplete()', 500);
		return;
	}
	if (page) {
		var swf = $('#' + page + '_header_swf');
		if (swf && swf.length) {
			swf[0].showOutro();
			$('#body').fadeOut(500);
			return;
		}
	}
	if ($('#body').length) {
		$('#body').fadeOut(500, processOutroComplete);
	} else {
		processOutroComplete();
	}
}

function showPage(newPage) {
	if (page == 'chopshoptv' && newPage == 'clients') {
		$('#iframe')[0].src = 'blog/';
		return;
	}
}

function processOutroComplete() {
	if (!pendingPage) return;
	document.location = '?p=' + pendingPage;
}

// work and shopstudies stuff		
function Video() {
	this.name;
	this.postDate;
	this.description;
	this.swf;
}

function Gallery() {
	this.name;
	this.postDate;
	this.link;
	this.description;
	this.images;
}

var currentIndex = -1;
var playingVideo = '';
var waitingSwf = '';
function setVideo(videoIndex) {
	//console.log('started');
	$('#video_side').show(0);
	$('#gallery_side').hide(0);
	var old = currentIndex;
	currentIndex = videoIndex
	if (currentIndex != -1) {
		hideActual('video_' + old);
	}
	var video = items[currentIndex];
	$('#video_details h2').html(video.name);
	$('#video_details sub').html(video.postDate);
	$('#video_details p').html(video.description);
	if (video.swf != '') {
		var player = $('#' + page + '_player_swf');
		try {
			player[0].playVideo(video.swf);
		} catch (e) {
			//console.log('caught ' + e);
			waitingSwf = video.swf;
		}
	}
	playingVideo = currentCategory + ' ' + currentIndex;
	hideActual('video_' + currentIndex);
}

function setGallery(newIndex) {
	$('#gallery_side').show(0);
	$('#video_side').hide(0);
	var old = currentIndex;
	currentIndex = newIndex
	if (currentIndex != -1) {
		hideActual('video_' + old);
	}
	var players = $('#' + page + '_player_swf');
	try {
		if (players.length && old != -1) players[0].pauseVideo();
	} catch (e) {}
	var gallery = items[currentIndex];
	var newHTML = '';
	for (var i = 0; i < gallery.images.length; i++) {
		newHTML += '<img src="' + gallery.images[i] + '" onclick="showImage(\'' + gallery.images[i] + '\');"\>';
	}
	$('#gallery_container').html(newHTML);
	$('#gallery_details h2').html(gallery.name);
	$('#gallery_details sub').html('<a href="' + gallery.link + '" target="_blank">Visit Site</a>');
	$('#gallery_details p').html(gallery.description);
	playingVideo = currentCategory + ' ' + currentIndex;
	hideActual('video_' + currentIndex);
}

function showImage(image) {
	$('#gallery_container').html($('#gallery_container').html() + '<div id="large" onclick="hideImage();"><img src="' + image + '"/><span>close</span></div>');
	$('#gallery_container #large').fadeIn(500);
}

function hideImage() {
	$('#gallery_container #large').fadeOut(500);
	setTimeout('$("#gallery_container #large").remove();', 501);
}

var playerLoadedCheck = false;
function playerLoaded() {
	if (playerLoadedCheck && waitingSwf) {
		var player = $('#' + page + '_player_swf');
		try {
			if (player) player[0].playVideo(waitingSwf);
		} catch (e) {}
		return;
	}
	playRandom();
	playerLoadedCheck = true;
}

function playRandom() {
	var rand = Math.floor(Math.random() * items.length);
	if (items[rand].link) {
		setTimeout('setGallery(' + rand + ')', 500);
	} else {
		setTimeout('setVideo(' + rand + ')', 500);
	}
}

var currentTop = 0;
function scroll(direction) {
	if (!$('#category_' + currentCategory + ' .content').length) return;
	var top = currentTop;
	var elemHeight = $('#category_' + currentCategory + ' .content')[0].offsetHeight
		+ $('#category_' + currentCategory + ' .filler')[0].offsetHeight;
	var tempTop = (currentTop + (direction * -1 * elemHeight) * 4);
	if (tempTop > 0 || tempTop <= -1 * Math.ceil($('#category_' + currentCategory + ' .content').length / 4) * elemHeight * 4) return;
	currentTop = tempTop;
	$('#category_' + currentCategory + ' > div').animate({ marginTop: currentTop + 'px' }, 1000);
}

// false is not showing, 1 is rising, 2 is shown, 3 is descending, 4 is waiting to be shown again, 5 is waiting to hide
var detailStates = {};

function showDetails(id) {
	switch (detailStates[id]) {
		case 1:
		case 2:
		case 4:
			return;
		case 5:
			detailStates[id] = 1;
			break;
		case 3:
			detailStates[id] = 4;
			break;
		case 0:
		default:
			showActual(id);
	}
}

function showActual(id) {
	detailStates[id] = 1;
	$('#' + id + ' .details').animate({ top: '0px' }, 500);
	setTimeout('showFinish("' + id + '");', 500);
}

function showFinish(id) {
	switch (detailStates[id]) {
		case 1:
		case 2:
			detailStates[id] = 2;
			break;
		case 5:
			detailStates[id] = 2;
			hideActual(id);
			break;
		case 3:
		case 4:
		default:
			return;
	}
}

function hideDetails(id) {
	switch (detailStates[id]) {
		case 2:
			hideActual(id);
			break;
		case 1:
			detailStates[id] = 5;
			break;
		case 4:
			detailStates[id] = 3;
			break;
		case 0:
		case 3:
		default:
			return;
	}
}

function hideActual(id) {
	detailStates[id] = 3;
	if ('video_' + currentIndex == id && playingVideo == currentCategory + ' ' + currentIndex) {
		$('#' + id + ' .details').animate({ top: '83px' }, 800);
	} else {
		$('#' + id + ' .details').animate({ top: '107px' }, 800);
	}
	setTimeout('hideFinish("' + id + '");', 800);
}

function hideFinish(id) {
	switch (detailStates[id]) {
		case 4:
			detailStates[id] = 0;
			showActual(id);
			break;
		case 1:
		case 2:
		case 5:
			return;
		case 3:
		case 0:
		default:
			detailStates[id] = 0;
			break;
	}
}

function showCategory(id) {
	$('.video_list').fadeOut(500);
	$('#categories a').removeClass('selected');
	$('#categories #cat_link_' + id).addClass('selected');
	//$('.video_list').css({'display' : 'none'});
	setTimeout("$('#category_" + id + "').fadeIn(500);", 500);
	//$('#category_' + id)[0].style.display = 'block';
	$('#category_' + id + ' > div').css('marginTop', '0px');
	currentTop = 0;
	items = categories[id];
	currentCategory = id;
	hideDetails('video_' + currentIndex);
	playRandom();
}

// do image preloading
(imagePreLoader = new Image()).src = '/images/left/chopshoptv_white.gif';
(imagePreLoader = new Image()).src = '/images/left/chopshoptv_yellow.gif';
(imagePreLoader = new Image()).src = '/images/left/work_white.gif';
(imagePreLoader = new Image()).src = '/images/left/work_fuschia.gif';
(imagePreLoader = new Image()).src = '/images/left/shopstudies_white.gif';
(imagePreLoader = new Image()).src = '/images/left/shopstudies_violet.gif';
(imagePreLoader = new Image()).src = '/images/left/clients_white.gif';
(imagePreLoader = new Image()).src = '/images/left/clients_green.gif';
(imagePreLoader = new Image()).src = '/images/left/about_white.gif';
(imagePreLoader = new Image()).src = '/images/left/about_teal.gif';
(imagePreLoader = new Image()).src = '/images/left/contact_white.gif';
(imagePreLoader = new Image()).src = '/images/left/contact_orange.gif';
(imagePreLoader = new Image()).src = '/images/left/logo_orange.gif';
(imagePreLoader = new Image()).src = '/images/left/logo_yellow.gif';
(imagePreLoader = new Image()).src = '/images/left/logo_fuschia.gif';
(imagePreLoader = new Image()).src = '/images/left/logo_violet.gif';
(imagePreLoader = new Image()).src = '/images/left/logo_green.gif';
(imagePreLoader = new Image()).src = '/images/left/logo_teal.gif';