var undefined;

function addTrack(id) {
	showOverlay();
	jQuery("#tracklistWrapper").load("/tracklist/index/add/id/"+id+"/", function() {
	        //get the last LI and make it the selected track
	        jQuery("#tracklist").children('li').last().click();
	});
	jQuery(".imgplus_"+id).attr("src","/skin/frontend/clickmix/default/images/homepage/plus_pink.png");
	jQuery(".tracklistItem_"+id).addClass("inTracklist");
}

function removeTrack(id) {
	showOverlay();
	jQuery.get("/tracklist/index/remove/id/"+id+"/",
		function(data) {
			jQuery("#tracklistWrapper").load("/tracklist/");
			jQuery(".harmonic_show").addClass("harmonic");
			jQuery(".harmonic").removeClass("harmonic_show");
		}
	);
	jQuery(".tracklistplus_"+id).attr("src","/skin/frontend/clickmix/default/images/homepage/plus.png");
	jQuery(".tracklistItem_"+id).removeClass("inTracklist");
}

function addGap() {
	showOverlay();
	jQuery("#tracklistWrapper").load("/tracklist/index/add/id/gap/");
}

function clearAll() {
	showOverlay();
	jQuery.get("/tracklist/index/clearAll/",
		function(data) {
			jQuery("#tracklistWrapper").load("/tracklist/");
			jQuery(".item_plus").attr("src","/skin/frontend/clickmix/default/images/homepage/plus.png");
			jQuery(".inTracklist").removeClass('inTracklist');
		}
	);
}

function gapRuntime(id, value){
	jQuery.get("/tracklist/index/gapRuntime/id/"+id+"/value/"+value+"/",
		function(data) {
			if(data.runtime_duration != undefined) {
				jQuery("#total_runtime").html(data.runtime_duration)
				jQuery("#total_runtime_top").html(data.runtime_duration)
			}
		},
		"json"
	);
}

function changeBpm(id, bpm){
	jQuery("#track_"+id).attr("bpm", bpm);
	jQuery.get("/tracklist/index/changeBpm/id/"+id+"/bpm/"+bpm+"/",
		function(data) {
			if(data.runtime_duration != undefined) {
				jQuery("#total_runtime").html(data.runtime_duration)
				jQuery("#total_runtime_top").html(data.runtime_duration)
			}
			if(data.tracks[id].duration != undefined) {
				jQuery("#track_"+id+"_runtime").html(data.tracks[id].duration);
			}
		},
		"json"
	);
}

function showOverlay() {
	var p = jQuery("#tracks").offset();
	jQuery("#tracks_overlay").css("top", p.top+"px");
	jQuery("#tracks_overlay").css("left", p.left+"px");
	jQuery("#tracks_overlay").height(jQuery("#tracks").height());
	jQuery("#tracks_overlay").width(jQuery("#tracks").width());
	jQuery("#tracks_overlay").show();
	jQuery(".harmonic_show").removeClass("harmonic_show");

}

function hideOverlay() {
	jQuery("#tracks_overlay").hide();
}

function saveTitle(title) {
	if(title != "Enter Mix Title") {
		jQuery.get("/tracklist/index/saveTitle/title/"+title+"/");
	}
}

function saveTracklist() {
	jQuery.get("/tracklist/saved/save/",
		function(data) {
			//alert('Your Tracklist has been saved to "My Saved Tracklists" and can be viewed under "My Account"');
		}
	);
}

function loadTracklist(id) {
	showOverlay();
	jQuery.get("/tracklist/saved/load/id/"+id+"/",
		function(data) {
			jQuery("#tracklistWrapper").load("/tracklist/");
		}
	);
}

function sortTracklist(sort) {
	showOverlay();
	jQuery.get("/tracklist/index/sort/sort/"+sort+"/",
		function(data) {
			jQuery("#tracklistWrapper").load("/tracklist/");
		}
	);
}

function loadMyMix(id) {
	showOverlay();
	jQuery.get("/tracklist/mymixes/load/id/"+id+"/",
		function(data) {
			jQuery("#tracklistWrapper").load("/tracklist/");
		}
	);
}

function loadMix(id) {
	showOverlay();
	jQuery.get("/tracklist/mix/load/id/"+id+"/",
		function(data) {
			jQuery("#tracklistWrapper").load("/tracklist/");
		}
	);
}

function loadUserMix(id) {
	showOverlay();
	jQuery.get("/tracklist/mix/loadUserMix/id/"+id+"/",
		function(data) {
			jQuery("#tracklistWrapper").load("/tracklist/");
		}
	);
}

function showDetails(id) {
	//jQuery('#saved-details_'+id).css("display", "table-row");
	var img = jQuery("#right_arrow_"+id);
	if(img.attr("src") == "/skin/frontend/clickmix/default/images/down-arrow-pink.png") {
		img.attr("src","/skin/frontend/clickmix/default/images/right-arrow-pink.png");
	} else {
		img.attr("src","/skin/frontend/clickmix/default/images/down-arrow-pink.png");
	}
	jQuery('#saved-details_'+id).toggle();
}

function regenCountdown(id, interval) {
	var e = jQuery("#timeleft_"+id);
	var t = parseInt(e.html());
	if( t > 0 ) { 
		e.html( ( t - 1) );
	} else {
		if(e.attr("ajaxCheck") == "1") {
			e.attr("ajaxCheck", "0");
			//ajax call to check if it is done
			jQuery.get("/tracklist/mymixes/regencheck/id/"+id,
				function(data) {
					if(data["done"]) {
						window.clearInterval(interval);
						jQuery("#download_"+id).html('<a href="/tracklist/mymixes/download/id/' + data["id"] + '/" alt="Download Your Mix"><img src="/skin/frontend/clickmix/default/images/btn_download_mix_large.gif" title="Download Your Mix"></a>');
					} else {
						e.html( data["seconds"] )
						e.attr("ajaxCheck", "1");
					}
				}
				,"json"
			);
		}
	}
	
}

function regenDownload(id) {
	jQuery("#download_"+id).html("<img src='/skin/frontend/clickmix/default/images/opc-ajax-loader.gif' />");
	jQuery.get("/tracklist/mymixes/regen/id/"+id,
		function(data) {
			jQuery("#download_"+id).html(data);
		}
	);
}

function toggleTracklistHelp(){
	jQuery( "#tracklistHelp" ).dialog({
			closeOnEscape: true,
			draggable: false,
			resizable: false,
			height: 305,
			modal: true
	});
}

function showHarmonic(keys) {
	jQuery(".harmonic_show").removeClass("harmonic_show");
	if(keys != "") {
		keys = keys.split(',');
		jQuery.each(keys, function(key, val) {
		        if (val.length == 3) {
				var hn = val.substring(0,2); // harmonic number
				var hl = val.substring(2); // harmonic letter
			} else {
				var hn = val.substring(0,1); // harmonic number
				var hl = val.substring(1); // harmonic letter
			}

			// Calculate harmonics
			var hilight = new Array();
			hilight[0] = val;
			hilight[1] = hn + ((hl == 'B') ? 'A': 'B');
			hilight[2] = (((Number(hn) - 1) < 1) ? 12: (Number(hn) - 1)) + hl;
			hilight[3] = (((Number(hn) + 1) > 12) ? 1: (Number(hn) + 1)) + hl;

			for (i = 0; i <= hilight.length; i++) {
			    jQuery(".key_"+hilight[i]).addClass("harmonic_show");
			}
		});
	}
}

/* No longer used event happens on click only now
function hideHarmonic(keys) {
	if(keys != "") {
		keys = keys.split(',');
		jQuery.each(keys, function(key, val) {
			jQuery(".key_"+val).removeClass("harmonic_show");
			jQuery(".key_"+val).addClass("harmonic");
			//console.log(val);	
		});
	}
}*/

