$(document).ready(function() {
 var $$ = function(param) {
	var node = $(param)[0];
	var id = $.data(node);
	$.cache[id] = $.cache[id] || {};
	$.cache[id].node = node;
	return $.cache[id];
  };
 $('.star-rating a').click(function(event){
	event.preventDefault();
	var jamuri = document.jamuri;
	var n = $(this).text();
	if (document['jamuri'] == undefined)
	{
		var re = new RegExp('.*\/jam\/([a-zA-Z0-9-_=]*)');
		var m = re.exec(document.location);
		jamuri = m[1];
	}
	$.getJSON('./'+jamuri+'/rate/'+n, null, function(data) { finishRate(n); })
    $(this).fadeTo('slow', 0)
 });
 function finishRate(n)
 {
	$('#mainrate').html('<li class="current-rating" style="width:' + n*20 + '%;">Currently '+n+'/5 Stars.</li>');
 };
 $('#flag').click(function(event){
	event.preventDefault();
	$(this).fadeTo('slow', 0, function() { $(this).html('')});
	$.getJSON('./'+document.jamuri+'/flag', null);
 });
 $('#browseTabs li a').click(function(event){
	clickBrowse(this.id);
	return false;
 });
 function clickBrowse(browsetype) {
	$('#browseTabs li a').removeClass("active");
	$('#browseTabs li a').filter('#'+browsetype).addClass("active");
	$$('#browseTabs').poptype = browsetype;
	$$('#browseTabs').pageIndex = 0;
	$$('#browseTabs').prevLink = new Array();
	$.cookies.set('browsetype', browsetype);
	$.getJSON('../../'+browsetype, null, populateJams);
 };
 function clickPage(event,mark) {
		event.preventDefault();
		$.post('../../'+$$('#browseTabs').poptype, { 'mark' : mark }, populateJams, "json");
 };
 function populateJams(data) {
	jamdata = eval(data);
	var columnhtml = '';
	var leftjams = 0;
	var pIndex = $$('#browseTabs').pageIndex;
	$$('#browseTabs').jamdata = jamdata;
	$$('#browseTabs').prevLink[pIndex] = jamdata.first;
	if (jamdata.next) {
		$('#browse-next').html('<a href="#">More</a>');
		$('#browse-next a').click(function(event) {
			$$('#browseTabs').pageIndex = $$('#browseTabs').pageIndex + 1;
			clickPage(event, jamdata.next);
		});
	} else {
		$('#browse-next').html('');
	}
	if (pIndex > 0) {
		$('#browse-prev').html('<a href="#">Back</a>');
		$('#browse-prev a').click(function(event) {
			pIndex = pIndex - 1;
			$$('#browseTabs').pageIndex = pIndex;
			clickPage(event, $$('#browseTabs').prevLink[pIndex]);
		});
	} else {
		$('#browse-prev').html('');
	}
	$('#browserightColumn').html('');	
	$.each(jamdata.jams, function(i)
	{
		var jam = jamdata.jams[i];
		if (leftjams < 5) leftjams = leftjams + 1;
		columnhtml += '<div class="repeater clearfix"><span class="thumbnail span-3"><a href="jam/' + jam.uri + '">';
		columnhtml += '<img src="jam/' + jam.thumbnail + '" alt="thumbnail" width="120" height="80"/></a>';
		columnhtml += '</span><span class="description span-4">';
		columnhtml += jam.title + ' by ' + jam.author + '<br>';
		columnhtml += '<span class="inline-rating"><ul class="star-rating small-star"><li class="current-rating" style="width:' +jam.rating+'%;"></li></ul></span><br>';
		columnhtml += jam.views + ' views</span><br><br></div>';
		if (leftjams <= 5) {
			$('#browseleftColumn').html(columnhtml);
		} else {
			$('#browserightColumn').html(columnhtml);
		}
		if (leftjams == 5) {
			leftjams = 6;
			columnhtml = '';
		}
	});
 };
 $('#mostViewsViewAll').click(function (event) {
	browsetype = 'mostviews';
	$.cookies.set('browsetype', browsetype);
 });
 $('#topRatedViewAll').click(function (event) {
	browsetype = 'toprated';
	$.cookies.set('browsetype', browsetype);
 });
 $('#newestViewAll').click(function (event) {
	browsetype = 'newest';
	$.cookies.set('browsetype', browsetype);
 });
 if ( $('#browseTabs').length ) {
	var browsetype = $.cookies.get('browsetype');
	if (browsetype == null) browsetype = 'mostviews';
	clickBrowse(browsetype);
 }
 $('#jamstab').click(function(){
	$('#comments').hide();
	$('#otherJamArea').show();
	$('#jamstab').addClass('active');
	$('#commentstab').removeClass('active');
	return false;
 });
 $('#commentstab').click(function(){
	$('#otherJamArea').hide();
	$('#comments').show();
	$('#commentstab').addClass('active');
	$('#jamstab').removeClass('active');
	return false;
 });
 $('#jamstab').click();
 var tabContainers = $('#moretabs > div');
 tabContainers.hide().filter(':first').show();
 $('#moretabs ul.tabNavigation a').click(function(){
	tabContainers.hide();
	tabContainers.filter(this.hash).show();
	$('#moretabs ul.tabNavigation a').removeClass('selected');
	$(this).addClass('selected');
	return false;
 }).filter(':first').click();
 $('#comingsoonsignup').click(function(event){
	$.post('/emailsignup', {'email':$('#emailbox').val()}, signupDone);
 });
 $('#emailbox').keypress(function(e){
//	alert('keypressed! e.which='+e.which);
	if (e.which == 13) $('#comingsoonsignup').click();
 });
 function signupDone(data) {
	if (data == 'duplicate') {
	    $('#signupresponse').html('<div class="notice">You\'re already signed up!  Yeah, we\'re excited too.</div>');		
	} else if (data == 'invalid') {
	    $('#signupresponse').html('<div class="error">It looks like your email address isn\'t valid, try again?</div>');			
	} else {
	    $('#signupresponse').html('<div class="success">Thanks! We\'ll let you know when JamYourFace goes on sale in the iTunes App Store.</div>');	
	}
 };
});