function url(path) {
	return path;
}

function errorBox(param) {
	var attachTo = param.attach;
	var duration = param.duration ? param.duration : 2000;
	var content = param.content;
	var uniqueID = param.id;
	var offsetX = param.offsetX ? param.offsetX : 0;
	var offsetY = param.offsetY ? param.offsetY : 0;
	var top = 0;
	var left = 0;
	
	div = document.createElement('div');
	div.className = 'error-box';
	div.id = uniqueID;
	div.innerHTML = content;
	div.style.display = 'none';

	$('#wrapper').append(div);
	$(div).width(attachTo.width());
	
	top = attachTo[0].offsetTop + attachTo.height() + offsetY;
	left = attachTo[0].offsetLeft + offsetX;
	$(div).css('position', 'absolute');
	$(div).css('top', top + 'px');
	$(div).css('left', left + 'px');
	$(div).show('normal');
	
	setTimeout(function() {
		hideErrorBox(uniqueID, true);
	}, duration);
}
function showErrorBox(id) {
	$('#'+id).show('normal', function() {
		Layout.columns();
	});
}
function hideErrorBox(id, remove) {
	$('#'+id).hide('slow', function() {
		if (remove) {
			$('#'+id).remove();
		}
		Layout.columns();
	});
}

var Layout = {
	movie: function() {
		var movieData = $('#movie_data');
		var movieExtras = $('#movie_extras');
		if (movieData.size() && movieExtras.size()) {
			var movieDataHeight = movieData.height();
			var movieExtrasHeight = movieExtras.height();
			var diff = 0;
			
			
			if (movieDataHeight > movieExtrasHeight) {
				diff = movieDataHeight - movieExtrasHeight;
				//movieExtras.height(movieExtrasHeight + diff);
				movieExtras.css('min-height', diff + movieExtrasHeight);
			}
			else if (movieExtrasHeight > movieDataHeight) {
				diff = movieExtrasHeight - movieDataHeight;
				//movieData.height(movieDataHeight + diff);
				movieData.css('min-height', diff + movieDataHeight);
			}
		}
	},
	
	columns: function() {
		var left = $('#left');
		var center = $('#center');
		if (!center.size()) {
			center = $('#center-wide');
		}
		var right = $('#right');
		
		var leftHeight = left.height();
		var centerHeight = center.height();
		var rightHeight = right.height();
		var dominantHeight;
		var heights = [leftHeight, centerHeight, rightHeight];
		heights = heights.sort(function (a,b) {return a-b;})
		heights = heights.reverse();
		dominantHeight = heights[0];
		
		
		var leftLast = left.find('.box:last');
		var centerLast = center.find('.box:last');
		var rightLast = right.find('.box:last');
		var diff = 0;
		var targetHeight = 0;
		
		if (dominantHeight >= leftHeight) {
			diff = dominantHeight - leftHeight;
			targetHeight = diff + leftLast.height();
			//leftLast.height(diff + leftLast.height());
			leftLast.css('min-height', diff + leftLast.height());
		}
		if (dominantHeight >= centerHeight) {
			diff = dominantHeight - centerHeight;
			targetHeight = diff + centerLast.height();
			//centerLast.height(diff + centerLast.height());
			centerLast.css('min-height', diff + centerLast.height());
		}
		if (dominantHeight >= rightHeight) {
			diff = dominantHeight - rightHeight;
			targetHeight = diff + rightLast.height();
			rightLast.css('min-height', diff + rightLast.height());
			//rightLast.height(diff + rightLast.height());
		}
	},
	
	scroll: function() {
		var top = $(window).scrollTop();
		
		if (top >= $('#userbar').position().top + $('#userbar').height()) {
			$('#userbar_transparent').show();
			$('#userbar').addClass('scroll');
		} else {
			$('#userbar_transparent').hide();
			$('#userbar').removeClass('scroll');
		}
		
		Cart.quickBox.reAlign();
	},
	buttons: function() {
		$('button.button').each(function(x, item) {
			if (!$(item).hasClass('rendered')) {
				$(item).html('<span><span>'+$(item).html()+'</span></span>');
				$(item).addClass('rendered');
			}
		}).mouseenter(function () {
			$(this).addClass('active');
		}).mouseleave(function () {
			$(this).removeClass('active');
		});
	}
}

var Main = {
	documentReady: false,
	windowReady: false
}

$(window).scroll(function() {
	Layout.scroll();
});
$(document).ready(function() {
	Layout.movie();
	Main.documentReady = true;
	var contest;
	var hitlist;
	if ($('#movie_data').size()) {
		contest = $('#left .box').eq(1);
		hitlist = $('#right .box').eq(1);
	} else {
		contest = $('#left .box:first');
		hitlist = $('#right .box:first');
	}
	var contestHeight = contest.height();
	var hitlistHeight = hitlist.height();
	var diff = 0;
	
	if (contestHeight > hitlistHeight) {
		diff = contestHeight - hitlistHeight;
		//hitlist.height(hitlistHeight + diff);
		hitlist.css('min-height', diff + hitlistHeight);
	}
	else if (hitlistHeight > contestHeight) {
		diff = hitlistHeight - contestHeight;
		//contest.height(contestHeight + diff);
		contest.css('min-height', diff + contestHeight);
	}
	
	Layout.columns();
	Layout.buttons();
});	
$(window).ready(function() {
	Main.windowReady = true; 
	Layout.columns();
});
$(window).load(function() {
	Main.windowLoad = true; 
	Layout.columns();
});

var Elf = {
	init: function() {
		var self = this;
		$('.elf').click(function() {
			self.find($(this));
			return false;
		});
	},
	find: function (elf) {
		var id = elf.attr('id').split("_").pop();
		var path = url('/movie_elf/find');
			
		$.post(path, {'id': id}, function (data) {
			$('#movie_elf_popup').html($('#movie_elf_popup').html().replace('{{value}}', data.value).replace('{{key}}', data.key));
			$('#movie_elf_popup').show();
		}, "json");
	},
	close: function() {
		$('#movie_elf_popup').hide();
	}
}
$(document).ready(function() {
	Elf.init();
});	

