//please don't judge me. this code is not very optimized.

//DEFINITIONS

login = {element_id: 'ld_login'};

ia_root = 'http://www.archive.org/download/';

interface = {curSection : 0, hasPaid: 0, artDir : 'http://lemondroprecords.com/images/album_art/'};


interface.section = new Array({element_id:'mus_overview', sub_elements: []}, {element_id: 'mus_sect', sub_elements: ['left_browse', 'browse_details'], load_func: 'interface.browser.printInfo();interface.browser.printTracks();'}, {element_id: 'dl_sect', sub_elements: ['left_downloads', 'downloads_details'], load_func: 'interface.downloads.printDownloads()'},{element_id: 'cart_sect', sub_elements: ['left_cart', 'cart_details'], load_func: 'interface.cart.printCart()'});

interface.browser = {mode : 0, scroller: {cur: new Array()}};
interface.browser.albums = new Array();

interface.downloads = {dlCount:0, ppt:'0.00', pTotal:'0.00', willPay:0};
interface.downloads.albums = new Array();

interface.cart = {dlCount:0, total:0};
interface.cart.items = new Array();

icons={scroll: new Array(new Image(), new Image(), new Image(), new Image()),
	load: new Array(new Image(), new Image(), new Image()),
	expand: new Array(new Image(), new Image(), new Image(), new Image()),
	dl: new Array(new Image(), new Image(), new Image(), new Image(), new Image(), new Image(), new Image(), new Image(), new Image(), new Image()),
	cd: new Array(new Image(), new Image(), new Image()),
	playAlb: new Array(new Image(), new Image()),
	mp3: new Array(new Image()),
	donate: new Array(new Image(), new Image()),
	checko: new Array(new Image(), new Image()),
	s_prices: new Array(new Image(), new Image()),
	play: new Array(new Image(), new Image(), new Image(), new Image(), new Image(), new Image())};
icons.load[0].src = "/images/ajax_load.gif";
icons.load[1].src = "/images/ajax_load_big.gif";
icons.load[2].src = "/images/ajax_load_dark.gif";
icons.scroll[0].src = "/images/scroll_up_off.gif";
icons.scroll[1].src = "/images/scroll_down_off.gif";
icons.scroll[2].src = "/images/scroll_up_on.gif";
icons.scroll[3].src = "/images/scroll_down_on.gif";
icons.expand[0].src = "/images/plusBox.gif";
icons.expand[1].src = "/images/minusBox.gif";
icons.expand[2].src = "/images/plusBoxBig.gif";
icons.expand[3].src = "/images/minusBoxBig.gif";
icons.dl[0].src = "/images/dl_add_off.gif";
icons.dl[1].src = "/images/dl_added.gif";
icons.dl[2].src = "/images/dl_add_on.gif";
icons.dl[4].src = "/images/add_album_off.gif";
icons.dl[5].src = "/images/add_album_on.gif";
icons.dl[6].src = "/images/dl_mp3_off.gif";
icons.dl[7].src = "/images/dl_mp3_on.gif";
icons.dl[8].src = "/images/dl_zip_off.gif";
icons.dl[9].src = "/images/dl_zip_on.gif";
icons.cd[0].src = "/images/order_cd_off.gif";
icons.cd[1].src = "/images/order_cd_on.gif";
icons.cd[2].src = "/images/cart_cd.gif";
icons.mp3[0].src = "/images/mp3_dl_cart.gif";
icons.playAlb[0].src = "/images/play_album_off.gif";
icons.playAlb[1].src = "/images/play_album_on.gif";
icons.donate[0].src = "/images/donate_off.gif";
icons.donate[1].src = "/images/donate_on.gif";
icons.checko[0].src = "/images/check_out_off.gif";
icons.checko[1].src = "/images/check_out_on.gif";
icons.s_prices[0].src = "/images/s_prices_off.gif";
icons.s_prices[1].src = "/images/s_prices_on.gif";
icons.play[0].src = "/images/med_but_play_off.gif";
icons.play[1].src = "/images/med_but_playsel_off.gif";
icons.play[2].src = "/images/med_but_pause_off.gif";
icons.play[3].src = "/images/med_but_pause_on.gif";
icons.play[4] = icons.play[1];
icons.play[5].src = "/images/med_but_playsel_on.gif";

//FUNCTIONS

rollOverHTML= function(e, c){return 'onMouseOver="$(\'' + e + '\').addClassName(\'' + c + '\')" onMouseOut="$(\'' + e + '\').removeClassName(\'' + c + '\')"'; }


function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1) {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }else{
    return document.getElementById(movieName);
  }
}

interface.player = {el: getFlashMovieObject('f_audio_player'), curTrack: {}};



login.initLogin = function(){
}

//interface functions

interface.printCrumb = function(){
}

interface.sectionChange = function(id){
	if(interface.curSection!=id || id==1){
		var cs=interface.section[interface.curSection];
		var ns=interface.section[id];
		Effect.Fade(cs.element_id, { duration: .25 });
		setTimeout ( "eval(interface.section["+id+"].load_func)", 250 );
		setTimeout ( "Effect.Appear('" + ns.element_id + "', { duration: .25 })", 500 );
		aTime=1000;
		if(interface.curSection>1) $("tab_"+interface.curSection).removeClassName("tab_selected");
		if(id>1) $("tab_"+id).addClassName("tab_selected");
		interface.curSection=id;
	}
}

interface.browser.loadAlbums = function(method, id, q) {
	new Ajax.Request('/media_src/loadAlbums.php', {
		method: 'get',
		parameters: {method: method, id: id, q:q},
		onFailure: function(){ alert('Something went wrong...') }
	} );
}
interface.browser.getTracks = function(ind) {
		
	if(interface.browser.albums[ind].tracks.length == 0){
		new Ajax.Request('/media_src/getTracks.php', {
			method: 'get',
			parameters: {id: interface.browser.albums[ind].id, ind: ind},
			onFailure: function(){ alert('Something went wrong...') }
		} );
		$("track_table").update('<img class="r_load" src="'+icons.load[1].src+'">');
	}
}
interface.browser.addAlbum = function(a_id, a_release_date, a_artist_id, a_title, a_art_300, a_art_200, a_art_100, a_genre, a_ia_ident) {
	curAlbum = {id : a_id, release_date: a_release_date, artist_id: a_artist_id, title: a_title, genre: a_genre, art_300_src: interface.artDir + a_art_300, dl:0, ia_ident: a_ia_ident};
	curAlbum.tracks=new Array();
	curAlbum.art_200 = new Image();
	curAlbum.art_200.src = interface.artDir + a_art_200;
	curAlbum.art_100 = new Image();
	curAlbum.art_100.src = interface.artDir + a_art_100;
	
	interface.browser.albums.push(curAlbum);
}
interface.browser.addTrack = function(a_id, a_title, a_length, a_ia_ident, a_ar_ind) {
	curTrack = {id : a_id, title: a_title, length: a_length, ia_ident: a_ia_ident, dl:0, play:0};
	interface.browser.albums[a_ar_ind].tracks.push(curTrack);
}

interface.browser.showLeft = function() { $("browse_left").show() }
interface.browser.hideLeft = function() { $("browse_left").hide() }

interface.browser.printTiledAlbums = function() {
	newHtml = "";
	listHtml = "<ul>"
	Number(interface.browser.albums.length).times(function(n) {
		curAlbum=interface.browser.albums[n];
		
		linkHtml = '<a href="#" onClick="interface.browser.selectAlbum(\'' + n + '\');">';
		imgHtml = function(x, y){return '<div id="' + x + '_a_' + y + '_bg" style="float:left">' + linkHtml + '<img id="' + x + '_a_' + n + '_' + y + '"></a></div>';}
		titleHtml= linkHtml + curAlbum.title + '</a>';
		newHtml += '<div class="tiled_album" id="t_a_' + n + '" ' + rollOverHTML('t_a_' + n, 't_a_over') + '>' + 
			imgHtml('t', '200') +
			'<h3>' + titleHtml + '</h3>' +
			artist_title[curAlbum.artist_id] + 
			'</div>';
	});
	$("mus_tiled").update(newHtml);
	
	
	Number(interface.browser.albums.length).times(function(n) {
		curAlbum=interface.browser.albums[n];
		$("t_a_" + n + "_200").src = curAlbum.art_200.src;
	});
	Effect.Fade('loading_div', { duration: .25 });
	Effect.Appear('mus_tiled', { duration: .25 });
	
}
interface.browser.scroller.print = function() {
	if(interface.browser.scroller.cur.length<4)
		Number(5).times(function(n) {
			nn=n;
			if(nn>interface.browser.albums.length-1) nn-=interface.browser.albums.length;
			interface.browser.scroller.cur[n]=nn;
		});
	newHtml = "";
	Number(5).times(function(n) {
		nn=interface.browser.scroller.cur[n];
		curAlbum=interface.browser.albums[nn];
		
		linkHtml = '<a href="#" onClick="interface.browser.selectAlbum(\'' + nn + '\');">';
		imgHtml = function(x, y){return '<div class="' + x + '_a_' + y + '_bg" style="float:left">' + linkHtml + '<img id="' + x + '_a_' + n + '_' + y + '" src="'+ curAlbum.art_100.src+'"></a></div>';}
		titleHtml= linkHtml + curAlbum.title + '</a>';
			
		newHtml += '<div class="scroll_album" id="s_a_' + n + '" ' + rollOverHTML('s_a_' + n, 's_a_over');
		if(n>3 || n==0) newHtml+=' style="display:none"';
		newHtml += '>' + 
			imgHtml('s', '100') +
			titleHtml + '<br/>' +
			'</div>';
	});
	$("browse_scroller").update(newHtml);
	
}
interface.browser.scroller.move = function(dir) {
	if(dir){
		Effect.BlindUp('s_a_1', { duration: .25 });
		Effect.BlindDown('s_a_4', { duration: .25 });
	} else {
		Effect.BlindUp('s_a_3', { duration: .25 });
		Effect.BlindDown('s_a_0', { duration: .25 });
	}
	Number(5).times(function(n) {
		if(dir){
			if(++interface.browser.scroller.cur[n]>interface.browser.albums.length-1) interface.browser.scroller.cur[n]-=interface.browser.albums.length;
		}else{
			if(--interface.browser.scroller.cur[n]<0) interface.browser.scroller.cur[n]+=interface.browser.albums.length
		}
	});
	setTimeout("interface.browser.scroller.print()", 250);
}
interface.browser.playRoll = function(n, state) {
	an=interface.browser.s_album;
	if(interface.player.curTrack.n==n && interface.player.curTrack.an==an){
		ind=2;
		if(interface.player.playing==0) ind=4;
	} else {
		ind=0;
	}
	if(state) ind+=1;
	$("t_" + n + "_play").src = icons.play[ind].src;
}
interface.browser.dlRoll = function(an, n, state, dl) {
	if(dl){
		$("dl_t_" + an + "_" + n + "_dl").src = icons.dl[state].src;
	}else{
		curTrack=interface.browser.albums[an].tracks[n];
		if(curTrack.dl==0){
			$("t_" + n + "_dl").src = icons.dl[state].src;
		}
	}
}
interface.imgRoll = function(img, newImg) {
		img.src = newImg.src;
}
interface.browser.printTracks = function(a_ind) {
	if(a_ind==null) a_ind=interface.browser.s_album;
	if(interface.browser.albums[a_ind].tracks.length>0){
		newHtml = '<table id="tbl_browse"><col class="tmore"><col class="tnum"><col class="tname"><col class="tlength"><col class="tplay"><col class="topt">';
		trClass = "dark";
		Number(interface.browser.albums[a_ind].tracks.length).times(function(n) {
			curTrack=interface.browser.albums[a_ind].tracks[n];
			curAlbum=interface.browser.albums[a_ind];
			if(trClass=="light") {trClass="dark";} else {trClass="light";}
			toggle='onClick="interface.browser.toggleTrack(' + n + ', ' + curTrack.id + ');"';
			if(curTrack.mState){
				mImg=1;
				moreStyle='';
			} else {
				mImg=0;
				moreStyle=' style="display:none;"';
			}
			newHtml+='<tr class="' + trClass + '" id="t_' + n + '">' + 
						'<td class="tmore" '+toggle+'><img border="0" id="t_' + n + '_moreImg" src="'+icons.expand[mImg].src+'"></td>' +
						'<td class="tnum" id="tnum_'+n+'" '+toggle+'>' + (n+1) + '.</td>' +
						'<td class="tload" id="tload_'+n+'" style="display:none;" '+toggle+'><img src="'+icons.load[0].src+'"></td>' +
						'<td class="tname" '+toggle+'>' + curTrack.title + '</td>' +
						'<td class="tlength" '+toggle+'>' + curTrack.length + '</td>' +
						'<td class="tplay"><a href="#" onClick="interface.player.play(' + a_ind + ', ' + n + ');"><img border="0" id="t_'+n+'_play" src="'+icons.play[curTrack.play].src+'" onMouseOver="interface.browser.playRoll(' + n + ', 1)" onMouseOut="interface.browser.playRoll(' + n + ', 0)" />' +
						'<td class="topt"><a href="#" onClick="interface.downloads.addDownload(' + a_ind + ', ' + n + ');"><img border="0" id="t_'+n+'_dl" src="'+icons.dl[curTrack.dl].src+'" onMouseOver="interface.browser.dlRoll(' + a_ind + ', ' + n + ', 2)" onMouseOut="interface.browser.dlRoll(' + a_ind + ', ' + n + ', 0)" /></a></td>' +
					'</tr>' + 
					'<tr class="' + trClass + '_off" style="border-top:0;"><td colspan="6" class="tdMore"><div id="t_' + n + '_more"'+moreStyle+'></div></td></tr>';
		});
		newHtml += '</table>';
		$("track_table").update(newHtml);
		if(interface.player.curTrack.an==interface.browser.s_album){
			interface.browser.playRoll(interface.player.curTrack.n, 0);
		}
		Number(interface.browser.albums[a_ind].tracks.length).times(function(n) {
			if(interface.browser.albums[a_ind].tracks[n].mState){
				interface.browser.printTrackInfo(n);
			}
		});
	} else {interface.browser.getTracks(a_ind);}
}
interface.browser.toggleTrack = function(n, d) {
	mState=interface.browser.albums[interface.browser.s_album].tracks[n].mState;
	if(mState==null){
		$("tnum_"+n).hide();
		$("tload_"+n).show();
		new Ajax.Request('/media_src/getTrackDetails.php', {
			method: 'get',
			parameters: {id: d, ind: n},
			onFailure: function(){ alert('Something went wrong...') }
		} );
	} else {
		if(mState) {
			Effect.BlindUp('t_'+n+'_more', { duration: .25 });
			mState=0;
		} else {
			Effect.BlindDown('t_'+n+'_more', { duration: .25 });
			mState=1;
		}
		var className=n%2?'dark':'light';
		$('t_'+n).toggleClassName(className+'_off');
		$('t_'+n).toggleClassName(className);
		$("tnum_"+n).show();
		$("tload_"+n).hide();
	}
	if(mState!=null){
		interface.browser.albums[interface.browser.s_album].tracks[n].mState=mState;
		$("t_"+n+"_moreImg").src=icons.expand[mState].src;
	}
}
interface.browser.moreTrackInfo = function(ind, l, w, p) {
	interface.browser.albums[interface.browser.s_album].tracks[ind].lyrics = l;
	interface.browser.albums[interface.browser.s_album].tracks[ind].writer = w;
	interface.browser.albums[interface.browser.s_album].tracks[ind].producer = p;
	interface.browser.albums[interface.browser.s_album].tracks[ind].mState = 0;
}
interface.browser.printTrackInfo = function(ind) {
	curTrack=interface.browser.albums[interface.browser.s_album].tracks[ind];
	var newHtml = '';
	if(curTrack.lyrics.length>0) newHtml += '<p><strong>Lyrics:</strong><br />' + curTrack.lyrics + '</p>';
	newHtml += '<span><strong>Written by</strong><br />' +  curTrack.writer + '</span>' +
		'<span><strong>Produced by</strong><br />' +  curTrack.producer + '</span>';
	$('t_'+ind+'_more').update(newHtml);
}
interface.browser.printInfo = function(ind) {
	if(ind==null) ind=interface.browser.s_album;
	curAlbum=interface.browser.albums[ind];
	
	$("sel_album_300").src = icons.load[2].src;
	curAlbum.art_300 = new Image();
	curAlbum.art_300.src = curAlbum.art_300_src;
	$("sel_album_300").src = curAlbum.art_300.src;
	
	newHtml = '<h2>' +  curAlbum.title + '</h2>' +
		'<h3>' +  artist_title[curAlbum.artist_id] + '</h3>';
		
	$("album_details_text").update(newHtml);
	$('text_release').update(curAlbum.release_date);
	$('text_genre').update(curAlbum.genre);
	
	newHtml='<a href="#" onClick="interface.cart.addItem(' + interface.browser.s_album + ');"><img style="display:none;" border="0" id="a_'+ind+'_donate" src="'+icons.donate[0].src+'" onMouseOver="interface.imgRoll(this, icons.donate[1])" onMouseOut="interface.imgRoll(this, icons.donate[0])" /></a>'+
		'<a href="#" onClick="interface.cart.addCD(' + interface.browser.s_album + ');"><img style="margin-left:76px;" border="0" id="a_'+ind+'_cd" src="'+icons.cd[0].src+'" onMouseOver="interface.imgRoll(this, icons.cd[1])" onMouseOut="interface.imgRoll(this, icons.cd[0])" /></a>'+
		'<a href="#" onClick="interface.player.play(' + interface.browser.s_album + ');"><img border="0" id="a_'+ind+'_play" src="'+icons.playAlb[0].src+'" onMouseOver="interface.imgRoll(this, icons.playAlb[1])" onMouseOut="interface.imgRoll(this, icons.playAlb[0])" /></a>'+
		'<a href="#" onClick="interface.downloads.addDownload(' + interface.browser.s_album + ');"><img border="0" id="a_'+ind+'_dl" src="'+icons.dl[curAlbum.dl+4].src+'" onMouseOver="interface.imgRoll(this, icons.dl[5])" onMouseOut="interface.imgRoll(this, icons.dl[4])" /></a>';
	
	$("album_actions").update(newHtml);
}
interface.browser.selectAlbum = function(ind){
	interface.sectionChange(1);
	interface.browser.s_album = ind;
}
interface.player.play = function(an, n){
	player=getFlashMovieObject('f_audio_player');
	var curAlb = interface.browser.albums[an];
	if(n!=null){
		if(interface.player.curTrack.an==an && interface.player.curTrack.n==n){
			player.SetVariable("op", "playToggle");
			interface.player.playing=!interface.player.playing;
		} else {
			oldTrack={an:interface.player.curTrack.an,n:interface.player.curTrack.n};
			interface.player.curTrack.an=an;
			interface.player.curTrack.n=n;
			if(interface.browser.s_album==oldTrack.an){
				interface.browser.playRoll(oldTrack.n, 0);
			}
			player.SetVariable("jsSong", ia_root + curAlb.ia_ident + '/' + curAlb.tracks[n].ia_ident + '.mp3');
			player.SetVariable("song_title", artist_title[curAlb.artist_id]+' - '+curAlb.title+' - '+curAlb.tracks[n].title);
			player.SetVariable("op", "loadAndPlaySong");
		}
	} else {
		interface.player.curTrack.an=an;
		interface.player.curTrack.n=0;
		player.SetVariable("jsSong", '/media_src/playlists/' + curAlb.ia_ident + '.xspf');
		player.SetVariable("op", "loadAndPlayPL");
	}
	interface.player.playing=1;
}
interface.downloads.addTrack = function(an, n){
	interface.browser.albums[an].tEnabled=0;
	curTrack=interface.browser.albums[an].tracks[n];
	curTrack.num = n+1;
	if(curTrack.dl<1){
		dan=interface.downloads.addAlbum(an);
		dn=interface.downloads.albums[dan].tracks.push(curTrack)-1;
		interface.browser.albums[an].tracks[n].dl=1;
		$("t_" + n + "_dl").src = icons.dl[1].src;
		interface.downloads.albums[dan].tracks[dn].price='0.49';
		interface.downloads.dlCount++;
	}
}
interface.downloads.addAlbum = function(an, all){
		aid=interface.browser.albums[an].id;
		nind=false;
		for(x in interface.downloads.albums){
			if(interface.downloads.albums[x].id==aid){
				if(!all) {return x;}
				nind=x;
			}
		}
		if(nind===false){
			var bAlb=interface.browser.albums[an];
			curAlbum = {ind: an, id: aid, title: bAlb.title, numTracks: bAlb.tracks.length, art_100: bAlb.art_100, artist: artist_title[bAlb.artist_id], tracks: new Array(), mState:1, ia_ident: bAlb.ia_ident};
			nind=interface.downloads.albums.push(curAlbum)-1;
			interface.browser.albums[an].dl=1;
		}
		if(all) {
			interface.downloads.albums[nind].all=true;
			interface.downloads.albums[nind].mState=0;
			Number(interface.browser.albums[an].tracks.length).times(function(n) {
				interface.downloads.addTrack(an, n)
			});
			//interface.downloads.albums[nind].price=interface.downloads.updatePrices('alb', 5, 5, nind, 1)
		}
		return nind;
}
interface.downloads.addDownload = function(an, n){
	idlc=interface.downloads.dlCount;
	if(n!=null){
		interface.downloads.addTrack(an, n);
	} else {
		interface.downloads.addAlbum(an, true);
	}
	$("dl_count").update(interface.downloads.dlCount);
	if(idlc<interface.downloads.dlCount){
	new Effect.Highlight('tab_2a', {startcolor:'#6b8718', endcolor:'#000000', restorecolor:'#000000'});
	}
}
interface.downloads.toggleAlbum = function(n) {
	mState=interface.downloads.albums[n].mState;
	if(mState) {
		Effect.BlindUp('dl_a_'+n+'_tracks', { duration: .25 });
		mState=0;
	} else {
		Effect.BlindDown('dl_a_'+n+'_tracks', { duration: .25 });
		mState=1;
	}
	if(mState!=null){
		interface.downloads.albums[n].mState=mState;
		$("dl_a_"+n+"_moreImg").src=icons.expand[mState+2].src;
	}
}
interface.downloads.dlHtml=function(x, n){return '<a target="_blank" href="'+interface.downloads.saveAs(x, n)+'"><img border="0" src="'+icons.dl[6].src+'" onMouseOver="this.src=icons.dl[7].src" onMouseOut="this.src=icons.dl[6].src"></a>';}
interface.downloads.printDownloads = function(){
	//sort albums: interface.downloads.albums.sort(function(a,b){return a - b});
	interface.downloads.updatePrices(0,0,0,0,1);
	newHtml = '<table><col id="tmore"><col id="tname"><col id="topt">';
	Number(interface.downloads.albums.length).times(function(x) {
		cleanUp=new Array();
		interface.downloads.albums[x].tracks.sort(function(a,b){
			if(a.id==b.id){
				cleanUp.push(a.ind);
			}
			return a.id - b.id;
		});
		Number(cleanUp.length).times(function(y) {
			interface.downloads.albums[x].tracks.splice(cleanUp[y], 1);
		});
		tNum=interface.downloads.albums[x].tracks.length;
		if(tNum>0){
			trColor=x;
			while(trColor>4){trColor-=5}
			curAlbum=interface.downloads.albums[x];
			if(curAlbum.mState==null){
				curAlbum.mState=Number(!curAlbum.all);
				interface.downloads.albums[x].mState=curAlbum.mState;
			}
			if(curAlbum.mState){
				mImg=3;
				moreStyle='';
			} else {
				mImg=2;
				moreStyle=' style="display:none;"';
			}
			if(curAlbum.enabled){
				dlHtml='<a target="_blank" href="'+interface.downloads.saveAs(x)+'"><img class="dlZip" border="0" src="'+icons.dl[8].src+'" onMouseOver="this.src=icons.dl[9].src" onMouseOut="this.src=icons.dl[8].src"></a>';
			}else if (curAlbum.tEnabled){
				dlHtml='';
			} else dlHtml='$<span id="a_dl_'+x+'_txt" onClick="interface.toggleInput(\'a_dl_'+x+'_txt\', \'a_dl_'+x+'_in\')">'+interface.outputPrice(curAlbum.price)+'</span><input type="textbox" id="a_dl_'+x+'_in" value="'+interface.outputPrice(curAlbum.price)+'" onChange="this.value=interface.outputPrice(this.value, interface.downloads.albums['+x+'].price); $(\'a_dl_'+x+'_txt\').update(this.value); interface.toggleInput(\'a_dl_'+x+'_in\', \'a_dl_'+x+'_txt\'); interface.downloads.albums['+x+'].price=interface.downloads.updatePrices(\'alb\', this.value, interface.downloads.albums['+x+'].price, '+x+')" style="display:none" />';
			toggle=' onClick="interface.downloads.toggleAlbum(' + x + ');"';
			newHtml+='<tr class="tr_item' + trColor + '" id="a_' + x + '">' + 
					'<td class="tmore2" '+toggle+'><img border="0" id="dl_a_' + x + '_moreImg" src="'+icons.expand[mImg].src+'" style="margin-top: 20px" /></td>' +
					'<td class="tart"><img class="album_50" src="'+curAlbum.art_100.src+'"/></td>'+
					'<td class="aname" '+toggle+'>' + 
					'<h2>' +  curAlbum.title + '</h2>' +
					'<h3>' +  curAlbum.artist + '</h3>' + 
					'</td>' +
					'<td class="topt">'+dlHtml+'</td>' +
				'</tr>' +
				'<tr class="' + trClass + '" style="border-top:0;"><td colspan="4"><div id="dl_a_' + x + '_tracks"'+moreStyle+'><table><col class="tmore"><col class="tname"><col class="topt">';
			trClass="dark";
			var allEn=1;
			Number(tNum).times(function(n) {
				curTrack=interface.downloads.albums[x].tracks[n];
				if(trClass=="dark") {trClass="light";} else {trClass="dark";}
				if(curTrack.enabled){
					dlHtml=interface.downloads.dlHtml(x, n);
				}else{
					allEn=0;
					dlHtml='$<span id="t_dl_'+x+'_'+n+'_txt" onClick="interface.toggleInput(\'t_dl_'+x+'_'+n+'_txt\', \'t_dl_'+x+'_'+n+'_in\')">'+interface.outputPrice(curTrack.price)+'</span><input type="textbox" id="t_dl_'+x+'_'+n+'_in" value="'+interface.outputPrice(curTrack.price)+'" onChange="this.value=interface.outputPrice(this.value); interface.downloads.albums['+x+'].tracks['+n+'].price=this.value; interface.toggleInput(\'t_dl_'+x+'_'+n+'_in\', \'t_dl_'+x+'_'+n+'_txt\'); interface.downloads.updatePrices(\'ind\')" style="display:none" />';
				}
				newHtml+='<tr class="' + trClass + '" id="t_' + n + '">' + 
						'<td class="tmore"></td>' +
						'<td class="tnum">' + curTrack.num + '.</td>' +
						'<td class="tname">' + curTrack.title + '</td>' +
						'<td class="topt" id="t_dl_' + x + '_' + n + '">' + dlHtml + '</td>' +
					'</tr>';
				
			});
			
			
			newHtml+='</table></div></td></tr>';
		}
	});
	newHtml += '</table>';
	
	$("dl_track_table").update(newHtml);

	interface.downloads.updatePrices();

	if(interface.downloads.countYtbp()>0){
		$("dl_empty").hide();
		$("dl_payment").show();
		$("dl_thanks").hide();
	} else if(interface.downloads.albums.length>0){
		$("dl_empty").hide();
		$("dl_payment").hide();
		$("dl_thanks").show();
		$("list_text").update(interface.downloads.willPay ? "Thanks for your purchase. Please consider joining our mailing list below!" : "In exchange for your free downloads, we only ask that you join our mailing list below.");
	} else {
		$("dl_empty").show();
		$("dl_payment").hide();
		$("dl_thanks").hide();
	}
}
interface.downloads.countYtbp = function(){
	ytbp=0;
	Number(interface.downloads.albums.length).times(function(x) {
		Number(interface.downloads.albums[x].tracks.length).times(function(n) {
			curTrack=interface.downloads.albums[x].tracks[n];
			if(!curTrack.enabled){ytbp++}
		});
	});
	return ytbp;
}
interface.outputPrice = function(val, varVal){
	numFormat=new Number(val).toFixed(2);
	return isFinite(numFormat) ? numFormat : isFinite(varVal) ? varVal : '0.00' ;
}
interface.toggleInput = function(objHideName, objShowName, skipFocus){
	eval('$("'+objHideName+'").hide(); $("'+objShowName+'").show();');
	if(!skipFocus){$(objShowName).focus()}
}
interface.downloads.updatePrices = function(pType, val, oldVal, p_id, silent) {
	ytbp=interface.downloads.countYtbp();
	if(pType=='ppt'){
		interface.downloads.ppt=interface.outputPrice(val, interface.downloads.ppt);
		interface.downloads.pTotal=interface.outputPrice(val*ytbp, interface.downloads.pTotal);
	} else if(pType=='ind' || pType==0){
		interface.downloads.ppt='*';
		interface.downloads.pTotal=interface.outputPrice(interface.downloads.getPriceTotal(), interface.downloads.pTotal);
	} else if(pType=='total'){
		interface.downloads.ppt=interface.outputPrice(val/ytbp, '0.00');
		interface.downloads.pTotal=interface.outputPrice(val, interface.downloads.pTotal);
	}
	Number(interface.downloads.albums.length).times(function(x) {
		curAlbum=interface.downloads.albums[x];
		curAlbum.price=0;
		Number(curAlbum.tracks.length).times(function(n) {
			curTrack=interface.downloads.albums[x].tracks[n];
			if(!curTrack.enabled){
				if(pType=='ppt' || pType=='total'){
					curTrack.price=interface.downloads.ppt;
					if(!silent) $("t_dl_"+x+"_"+n+"_in").value=curTrack.price;
				} else if(p_id==x && pType!=0) {
					curTrack.price=interface.outputPrice(val/curAlbum.tracks.length, interface.downloads.ppt);
					if(n+1==curAlbum.tracks.length) curTrack.price=interface.outputPrice(curTrack.price-(Number(curAlbum.price)+Number(curTrack.price)-val));
					if(!silent) $("t_dl_"+x+"_"+n+"_in").value=curTrack.price;
				} else {
					curTrack.price=interface.outputPrice(curTrack.price, interface.downloads.ppt);
				}
				curAlbum.price+=Number(curTrack.price);
				if(!silent) $("t_dl_"+x+"_"+n+"_txt").update(curTrack.price);
			}
		});
		interface.downloads.albums[x]=curAlbum;
		try{
			$("a_dl_"+x+"_txt").update(interface.outputPrice(curAlbum.price));
			$("a_dl_"+x+"_in").update(interface.outputPrice(curAlbum.price));
		}catch(e){};
	});
	if(pType=='alb'){
		interface.downloads.ppt='*';
		interface.downloads.pTotal=interface.outputPrice(interface.downloads.getPriceTotal(), interface.downloads.pTotal);
	}
	//if(pType!='ppt'){$('user_price_ppt_in').value=interface.downloads.ppt}
	if(pType!='total'){$('user_price_total_in').value=interface.downloads.pTotal}
	//$('user_price_ppt_txt').update(interface.downloads.ppt);
	$('user_price_total_txt').update(interface.downloads.pTotal);
}
interface.downloads.getPriceTotal = function() {
	total=0;
	Number(interface.downloads.albums.length).times(function(x) {
		Number(interface.downloads.albums[x].tracks.length).times(function(n) {
			curTrack=interface.downloads.albums[x].tracks[n];
			if(!curTrack.enabled){
				total += Number(interface.outputPrice(curTrack.price, interface.downloads.ppt));
			}
		});
	});
	return total;
}
interface.downloads.submitPrices = function() {
	newItem = {subItems:new Array(), subName: "", price: interface.downloads.getPriceTotal(), icon: icons.mp3[0]};
	Number(interface.downloads.albums.length).times(function(x) {
		newArtist=0;
		curArtist=interface.downloads.albums[x].artist;
		Number(interface.downloads.albums[x].tracks.length).times(function(n) {
			curTrack=interface.downloads.albums[x].tracks[n];
			if(!curTrack.enabled){
				newArtist=1;
				curTrack.artist=curArtist;
				newItem.subItems.push(curTrack);
				interface.downloads.albums[x].tracks[n].enabled=1;
			}
		});
		if(newArtist && newItem.subName.match(curArtist)>-1){
			if(newItem.subName==""){
				newItem.subName = curArtist;
			}else{
				newItem.subName += ", " + curArtist;
			}
		}
		if(interface.downloads.albums[x].all) interface.downloads.albums[x].enabled=1;
		interface.downloads.albums[x].tEnabled=1;
	});
	if(newItem.price>0){
		interface.sectionChange(3);
		newItem.name= newItem.subItems.length + ' MP3 Downloads';
		interface.cart.addItem('dl', newItem);
		interface.downloads.willPay=1;
	} else interface.downloads.printDownloads();
	interface.downloads.updatePrices('total', 0);
}
interface.downloads.saveAs=function(an, n){
	curAlb=interface.downloads.albums[an];
	var app='?ia_a=' + curAlb.ia_ident;
	if(n!=null) app+='&ia_t='+curAlb.tracks[n].ia_ident;
	return 'http://lemondroprecords.com/media_src/download.php'+app;
}
interface.cart.addCD = function(an){
	var curAlb = interface.browser.albums[an];
	newObj={name:curAlb.title + ' - CD', subName:artist_title[curAlb.artist_id], subItems: {}, price: 10, shipping: 5, icon: icons.cd[2]}
	interface.cart.addItem('CD', newObj);
}
interface.cart.addItem = function(type, objectRef){
	switch(type){
		case 'dl':
		objectRef.shipping=0;
		break;
	}
	interface.cart.items.push(objectRef);
	$("cart_count").update(interface.cart.items.length);
	new Effect.Highlight('tab_3a', {startcolor:'#993e1c', endcolor:'#000000', restorecolor:'#000000'});
}
interface.cart.toggleItem = function(n) {
	mState=interface.cart.items[n].mState;
	if(mState) {
		Effect.BlindUp('cart_i_'+n+'_subs', { duration: .25 });
		mState=0;
	} else {
		Effect.BlindDown('cart_i_'+n+'_subs', { duration: .25 });
		mState=1;
	}
	if(mState!=null){
		interface.cart.items[n].mState=mState;
		$("cart_i_"+n+"_moreImg").src=icons.expand[mState+2].src;
	}
}
interface.cart.getShipping = function(){
	sWeight=0;
	Number(interface.cart.items.length).times(function(x) {
		sWeight+=interface.cart.items[x].shipping;
	});
	
	return interface.outputPrice(sWeight>0 ? sCost=.66+(Math.ceil(sWeight)*.17) : 0);
}
interface.cart.printCart = function(){
	interface.cart.total=0;
	newHtml = '<table><col id="tmore"><col id="tname"><col id="topt">';
	formHtml = '<form action="https://www.paypal.com/cgi-bin/webscr" id="pp_cart" method="post" target="_blank">'+
		'<input type="hidden" name="cmd" value="_cart">'+
		'<input type="hidden" name="upload" value="1">'+
		'<input type="hidden" name="return" value="http://lemondroprecords.com/media_src/checkout_thanks.php">'+
		'<input type="hidden" name="business" value="kevin@lemondroprecords.com">';
	Number(interface.cart.items.length).times(function(x) {
		iNum=interface.cart.items[x].subItems.length;
		trColor=x;
		while(trColor>4){trColor-=5}
		curItem=interface.cart.items[x];
		if(curItem.mState==null){
			curItem.mState=0;
			interface.cart.items[x].mState=curItem.mState;
		}
		if(curItem.mState){
			mImg=3;
			moreStyle='';
		} else {
			mImg=2;
			moreStyle=' style="display:none;"';
		}
		interface.cart.shipping+=curItem.shipping;
		interface.cart.total+=curItem.price;
		formHtml+= '<input type="hidden" name="item_name_'+(x+1)+'" value="'+curItem.name+'"><input type="hidden" name="amount_'+(x+1)+'" value="'+interface.outputPrice(curItem.price)+'">';
		if(iNum>0) toggle=' onClick="interface.cart.toggleItem(' + x + ');"';
		newHtml+='<tr class="tr_item' + trColor + '" id="i_' + x + '">' + 
				'<td class="tmore2"'+toggle+'>';
		if(iNum>0) newHtml+= '<img border="0" id="cart_i_' + x + '_moreImg" src="'+icons.expand[mImg].src+'">';
		newHtml+='</td>' +
				'<td class="tart"><img class="c_icon" src="'+curItem.icon.src+'"/></td>'+
				'<td class="iname"'+toggle+'>' + 
				'<h2>' +  curItem.name + '</h2>' +
				(curItem.subName.length>0 ? '<h3>' +  curItem.subName + '</h3>' : '') + 
				'</td>' +
				'<td class="topt" id="i_price_' + x + '">$'+interface.outputPrice(curItem.price) + '</td>' +
			'</tr>';

		if(iNum>0){
			newHtml+='<tr class="' + trClass + '" style="border-top:0;"><td colspan="4"><div id="cart_i_' + x + '_subs"'+moreStyle+'><table><col class="tmore"><col class="tname"><col class="topt">';
			trClass="dark";
			Number(iNum).times(function(n) {
				curSubItem=interface.cart.items[x].subItems[n];
				if(trClass=="dark") {trClass="light";} else {trClass="dark";}
				priceHtml='$'+interface.outputPrice(curSubItem.price);
				newHtml+='<tr class="' + trClass + '" id="t_' + n + '">' + 
						'<td class="tmore"></td>' +
						'<td class="tname">' + curSubItem.artist + ' - ' + curSubItem.title + '</td>' +
						'<td class="topt" id="si_price_' + x + '_' + n + '">$'+interface.outputPrice(curSubItem.price) + '</td>' +
					'</tr>';
				
			});
			newHtml+='</table></div></td></tr>';
		}
	});
	newHtml += '</table>';
	var shipping=interface.cart.getShipping();
	var tax=interface.outputPrice(interface.cart.total*.04225);
	if(interface.cart.total<.31 && interface.cart.total>0) tax=interface.outputPrice(.31-interface.cart.total);
	interface.cart.total+=Number(tax)+Number(shipping);
	$("cart_item_table").update(newHtml);
	if(shipping>0) { formHtml+='<input type="hidden" name="handling_cart" value="'+shipping+'">' }
	else { formHtml+='<input type="hidden" name="no_shipping" value="1">' }
	formHtml+='<input type="hidden" name="tax_cart" value="'+tax+'">'+
		'</form>';
	newHtml=formHtml+'<div id="subtotals_text">Tax: $'+tax+'<br>Shipping: $'+shipping+'</div><div id="total_text">Total: $' + interface.outputPrice(interface.cart.total) +'</div>';
	$("totals_text").update(newHtml);
	
	if(interface.cart.items.length>0){
		$("cart_empty").hide();
		$("cart_ready").show();
	}else{
		$("cart_empty").show();
		$("cart_ready").hide();
	}
		
}
interface.cart.checkout=function(){
	$("pp_cart").submit();
}

//LETS RUN IT
interface.browser.loadAlbums("all");