var trackno = 0;
var trackid = 'track' + trackno;
var curMood = '00';
var trackloc = 'start';
var tracktit = 'start';
var trackart = 'start';
var tracklocTwo = 'start';
var tracktitTwo = 'start';
var trackartTwo = 'start';
var tracklocThree = 'start';
var tracktitThree = 'start';
var trackartThree = 'start';
var curTrack = 'track1';
var ii = '0';			
var iii = 0;
var playProgress = 0;
var loadProgress = 0;
var loadMeter = 0;
var savedurl = '';
var trackDBid = 0;
var successTrackId = '';
var savedurlLast = '';
var trackDBidLast = 0;
var successTrackIdLast = '';
var trackfail = '';


function soundLoaded() {
	//alert('The sound '+this.sID+' loaded!');
}

function startNext() {			
	//var oSound = soundManager.getSoundById(curTrack);
	var sizeGoodToGo = this.bytesLoaded;				
	//document.getElementById("debug").innerHTML = sizeGoodToGo + '<br>' + ii; 
	if (this.sID == curTrack) {
	if (ii == '0' && sizeGoodToGo >= 400000){
		getNextTrack();
		ii = '1';
		//id3checker();
		//document.getElementById("debug").innerHTML = 'done'; 
	}

	if (sizeGoodToGo >= 50000){
		var fullSize = this.bytesTotal;
		loadProgress = parseInt(240 * (sizeGoodToGo / fullSize));
		loadMeter = loadProgress - playProgress;
		blackMeter = 240 - loadMeter - playProgress;
		if (loadProgress < 239){
			document.getElementById("trackload").innerHTML = '<img src="/seeq/play1x.gif" height="1" width="' + playProgress + '"/><img src="/seeq/load1x.gif" height="1" width="' + loadMeter + '"/><img src="/seeq/black1x.gif" height="1" width="' + blackMeter + '"/>' ;
			//document.getElementById("debug").innerHTML = playProgress + '<br>' + loadProgress;
		}
	}
	}
	//document.getElementById("debug").innerHTML = curTrack + ' - ' + trackid + ' - ' + trackno + 'load'; 
}

function positionUpdate () {
	//var oSound = soundManager.getSoundById(curTrack);
	var songPosition = this.position;
	if (this.bytesTotal == this.bytesLoaded){
	loadProgress = 240;
	}	
	if (loadProgress >= 238) {
		var songDuration = this.duration;
		loadMeter = loadProgress - playProgress;
	} else {				
		var songDuration = this.durationEstimate;	
	}			
	playProgress = parseInt(240 * (songPosition / songDuration));
	if (loadProgress >= 239) {
		document.getElementById("trackload").innerHTML = '<img src="/seeq/play1x.gif" height="1" width="' + playProgress + '"/>';
	//} else {
	//	document.getElementById("trackload").innerHTML = '<img src="/seeq/play1x.gif" height="1" width="' + playProgress + '"/><img src="/seeq/load1x.gif" height="1" width="' + loadMeter + '"/><img src="/seeq/black1x.gif" height="1" width="' + blackMeter + '"/>' ;
	}
	//document.getElementById("debug").innerHTML = playProgress + '<br>' + loadProgress + '<br>' + loadMeter ;
	//document.getElementById("debug").innerHTML = curTrack + ' - ' + trackid + ' - ' + trackno + 'play'; 
}

function successStory(theTrack) {
	if (theTrack == successTrackId) {
	oldurl = savedurl ;
	var theDBid = trackDBid ;
	} else if (theTrack == successTrackIdLast) {
	oldurl = savedurlLast ;
	var theDBid = trackDBidLast ;
	} else {
	oldurl = 'X';
	}
	if (oldurl == '' || oldurl == 'undefined') {
		var oSound = soundManager.getSoundById(theTrack);
		var curUrl = oSound.url;	
		var goToThis = '/seeq/success.php?track_id=' + theDBid + '&url=' + curUrl + '&fail=' + trackfail + '&cache=' + new Date().getTime();			
		trackfail = '';
		successSave(goToThis);
		//document.getElementById("debug").innerHTML = goToThis ; 
	} else {
		//document.getElementById("debug").innerHTML = 'else' + savedurl ; 
	}
}

function skipIt() {
	if (curTrack == successTrackId) {
	theDBid = trackDBid ;
	} else if (curTrack == successTrackIdLast) {
	theDBid = trackDBidLast ;
	}
	var goToThis = '/seeq/success.php?track_id=' + theDBid + '&url=skipit' + '&cache=' + new Date().getTime();			
	successSave(goToThis);
	nextSong();
}

function addTrackfail (theTrackID) {
	if (theTrackID == successTrackId) {
		var theDBid = trackDBid ;
	} else if (theTrackID == successTrackIdLast) {
		var theDBid = trackDBidLast ;
	}
	if (trackfail == '') {
		trackfail = theDBid ;
	} else {
		trackfail = trackfail + ',' + theDBid ;
	}
}

function id3checker() {
soundManager._writeDebug('sound '+this.sID+' ID3 data received');
var prop = null;
var data = '';
for (prop in this.id3) {
data += prop+': '+this.id3[prop]+','; // eg. title: Loser, artist: Beck
}
	//var oSound = soundManager.getSoundById(curTrack);
	//var id3tag = oSound.id3;				
	document.getElementById("debug").innerHTML = data ;
}

function errorCheckerHalfDead () {
	//document.getElementById("debug").innerHTML = 'halfdead '; 
	var sizeMatters = this.bytesLoaded;
	if (this.loaded && sizeMatters >= 400000){
		//document.getElementById("debug").innerHTML = this.sID; 
		successStory(this.sID);
	} else {
	addTrackfail(this.sID);
	nextSong();
	}
}

function errorCheckerFirst() {
	//var oSound = soundManager.getSoundById(this.sID);
	var sizeMatters = this.bytesLoaded;
	if (this.loaded && sizeMatters >= 400000){
		//document.getElementById("debug").innerHTML = this.sID; 
		successStory(this.sID);
	} else {
		if (tracklocTwo != '') {	
			ii = '0';
			soundManager.destroySound(this.sID);
			soundManager.createSound({
			  id: this.sID,
			  url: tracklocTwo,
			  autoLoad: true,
			  autoPlay: true,
			  onload: errorCheckerFirstTwo,
			  whileloading: startNext,
			  whileplaying: positionUpdate,
			  onfinish: nextSong,
			  volume: 100
			});
			trackart = trackartTwo;
			tracktit = tracktitTwo;
    		document.getElementById("trackart").innerHTML = trackart ;
    		document.getElementById("tracktit").innerHTML = tracktit ;
		} else {
			addTrackfail(this.sID);
			reMood(curMood);
		}
	}
}

function errorCheckerFirstTwo() {
    //var oSound = soundManager.getSoundById(this.sID);
    var sizeMatters = this.bytesLoaded;
    if (this.loaded && sizeMatters >= 400000){
		successStory(this.sID);
    } else {
    	if (tracklocThree != '') { 		
	    	ii = '0';
	    	soundManager.destroySound(this.sID);
	    	soundManager.createSound({
	    	  id: this.sID,
	    	  url: tracklocThree,
	    	  autoLoad: true,
	    	  autoPlay: true,
	    	  onload: errorCheckerFirstThree,
	    	  whileloading: startNext,
	    	  whileplaying: positionUpdate,
	    	  onfinish: nextSong,
	    	  volume: 100
	    	});
	    	trackart = trackartThree;
	    	tracktit = tracktitThree;
	    	document.getElementById("trackart").innerHTML = trackart ;
	    	document.getElementById("tracktit").innerHTML = tracktit ;
	    } else {
			addTrackfail(this.sID);
	    	reMood(curMood);
	    }
    }
}

function errorCheckerFirstThree() {
	    //var oSound = soundManager.getSoundById(this.sID);
	    var sizeMatters = this.bytesLoaded;
	    if (this.loaded && sizeMatters >= 400000){
		successStory(this.sID);
    } else {
		addTrackfail(this.sID);
	    reMood(curMood);
    }
}

function errorCheckerAfter() {
    //var oSound = soundManager.getSoundById(this.sID);
    var sizeMatters = this.bytesLoaded;
    if (this.loaded && sizeMatters >= 400000){
		successStory(this.sID);
    } else {
	    if (tracklocTwo != '') {	
		    soundManager.destroySound(this.sID);
		    soundManager.createSound({
		      id: this.sID,
		      url: tracklocTwo,
		      autoLoad: true,
		      autoPlay: false,
		      whileplaying: positionUpdate,
		      whileloading: startNext,
		      onload: errorCheckerAfterTwo,
		      onfinish: nextSong,
		      volume: 100
		    });
		    trackart = trackartTwo;
		    tracktit = tracktitTwo;
		    document.getElementById("loadinfo").innerHTML = 'Next track: ' + trackart + ' - ' + tracktit ;
		  	
	  	} else {
			addTrackfail(this.sID);
		    soundManager.destroySound(this.sID);
		    trackno = trackno - 1;
		    getNextTrack();
    	}
	}
}

function errorCheckerAfterTwo() {
    //var oSound = soundManager.getSoundById(this.sID);
    var sizeMatters = this.bytesLoaded;
    if (this.loaded && sizeMatters >= 400000){
		successStory(this.sID);
    } else {
	    if (tracklocThree != '') {
		    soundManager.destroySound(this.sID);
		    soundManager.createSound({
		      id: this.sID,
		      url: tracklocThree,
		      autoLoad: true,
		      autoPlay: false,
		      whileplaying: positionUpdate,
		      whileloading: startNext,
		      onload: errorCheckerAfterThree,
		      onfinish: nextSong,
		      volume: 100
		    });
		    trackart = trackartThree;
		    tracktit = tracktitThree;
		    document.getElementById("loadinfo").innerHTML = 'Next track: ' + trackart + ' - ' + tracktit ;
	  	} else {
			addTrackfail(this.sID);
		    soundManager.destroySound(this.sID);
		    trackno = trackno - 1;
		    getNextTrack();
	    }
    }
}
			  
function errorCheckerAfterThree() {
	//var oSound = soundManager.getSoundById(this.sID);
	var sizeMatters = this.bytesLoaded;
	if (this.loaded && sizeMatters >= 400000){
		successStory(this.sID);
	} else {
		addTrackfail(this.sID);
		soundManager.destroySound(this.sID);
		trackno = trackno - 1;
		getNextTrack();
	}
}
			  
function checkForNext() {
	if (soundManager.getSoundById(trackid) && trackid != this.sID){
	} else {
	getNextTrack();
	}
}

function checkForCurlError() {
	if (soundManager.getSoundById(trackid)){
	} else {
	reMood(curMood);
	}
}

function nextSong() {
	playProgress = 0;
	if (soundManager.getSoundById(trackid) && trackid != curTrack){
	soundManager.pause(curTrack);
	soundManager.destroySound(curTrack);
	document.getElementById("trackart").innerHTML = trackart ;
	document.getElementById("tracktit").innerHTML = tracktit ;
    document.getElementById("trackload").innerHTML = '<img src="/seeq/blink1x.gif"/><img src="/seeq/black1x.gif" height="1" width="238"/>';
   	document.getElementById("loadinfo").innerHTML = ""; 

	trackid = 'track' + trackno;
	var upComingTrack = soundManager.getSoundById(trackid);
//	if (upComingTrack.readystate == 0 || upComingTrack.readystate == 2 ){
	var dur = upComingTrack.duration;
	if (upComingTrack.duration) {
	} else {
	//document.getElementById("debug").innerHTML = dur + ' i duration null blev true'; 
	var theUrl = upComingTrack.url;
	soundManager.destroySound(trackid);
	soundManager.createSound({
	  id: trackid,
	  url: theUrl,
	  autoLoad: true,
	  autoPlay: true,
	  //onid3: id3checker,
	  onload: errorCheckerHalfDead,
	  whileloading: startNext,
	  whileplaying: positionUpdate,
	  onbeforefinish: checkForNext,
  	  onbeforefinishtime: 30000,
  	  onfinish: nextSong,
	  volume: 80
	});	
	}
	//document.getElementById("debug").innerHTML = dur + ' i duration '; 
	
	soundManager.play(trackid);
	curTrack = trackid;
	getNextTrack();
	//document.getElementById("debug").innerHTML = curTrack + ' - ' + trackid + ' - ' + trackno; 
		} else {
	//document.getElementById("debug").innerHTML = curTrack + ' - ' + trackid + ' - ' + trackno; 
	reMood(curMood);
	}

}

function playPause() {
	soundManager.togglePause(curTrack);
	//document.getElementById("debug").innerHTML = curTrack; 
}

function reMood(mood) {
	curTrack = 'track1';
	loadProgress = 0;
	playProgress = 0;
	ii = '0';			
	for (i=1;i<=trackno;i++){ 
		trackid = 'track' + i;
		soundManager.destroySound(trackid); 
	}
	trackno = 0;
	var lastMood = curMood;
	curMood = mood;
	getTrack('/seeq/gettracks.php?mood=' + mood + '&cache=' + new Date().getTime());
	if (lastMood != '00') {
   	document.getElementById(lastMood).innerHTML = '<a href="' + "javascript:reMood('" + lastMood + "')" + '"' + "><img src='/seeq/mood" + lastMood + ".png' alt='' width='25' height='26' border='0' id='Image" + lastMood + "' " + 'onmouseover="' + "MM_swapImage('Image" + lastMood + "','','/seeq/moodblack.png',1)" + '" onmouseout="MM_swapImgRestore()" /></a>'; 	
	}											
   	document.getElementById(mood).innerHTML = '<a href="' + "javascript:reMood('" + mood + "')" + '"' + "><img src='/seeq/mood" + mood + "p.png' alt='' width='25' height='26' border='0' id='Image" + mood + "' " + 'onmouseover="' + "MM_swapImage('Image" + mood + "','','/seeq/moodblack.png',1)" + '" onmouseout="MM_swapImgRestore()" /></a>'; 
}

function getNextTrack() {
	savedurlLast = savedurl ;
	trackDBidLast = trackDBid ;
	getTrack('/seeq/gettracks.php?mood=' + curMood + '&cache=' + new Date().getTime());
}
			  
function tagga() {
	var theTags=new Array();
	theTags[0]="A1";
	theTags[1]="A2";
	theTags[2]="A3";
	theTags[3]="A4";
	theTags[4]="B1";
	theTags[5]="B2";
	theTags[6]="B3";
	theTags[7]="B4";
	theTags[8]="C1";
	theTags[9]="C2";
	theTags[10]="C3";
	theTags[11]="C4";
	theTags[12]="D1";
	theTags[13]="D2";
	theTags[14]="D3";
	theTags[15]="D4";
	
	for (i=0;i<=15;i++){ 
	theTags[i]
   	document.getElementById(theTags[i]).innerHTML = '<a href="' + "javascript:reTag('" + theTags[i] + "')" + '"' + "><img src='/seeq/moodblack.png' alt='' width='25' height='26' border='0' id='Image" + theTags[i] + "' " + ' /></a>'; 
	}
}
