function Listener() {
	this.onInit = function()
	{
		var position = readCookie('loungepos');
		if (position) this.position = position;
		else this.position = 0;
	};
	/**
	 * Update
	 */
	this.onUpdate = function()
	{
		//document.getElementById("info_playing").innerHTML = this.isPlaying;
		//document.getElementById("info_url").innerHTML = this.url;
		//document.getElementById("info_volume").innerHTML = this.volume;
		//document.getElementById("info_position").innerHTML = this.position;
		//document.getElementById("info_duration").innerHTML = this.duration;
		createCookie('loungepos', this.position, 1);
		createCookie('loungeplaying', this.isPlaying, 1);
		var isPlaying = (this.isPlaying == "true");
		document.getElementById("playerplay").style.display = (isPlaying)?"none":"block";
		document.getElementById("playerpause").style.display = (isPlaying)?"block":"none";
		//if (this.position > this.duration - 1000 || this.position == 0) getFlashObject().SetVariable("method:setPosition", 10);
	};
}

var myListener = new Listener();
var position = 0;
window.addEvent('load' , initMusic);

function getFlashObject() {
	return document.getElementById("myFlash");
}
function play()
{
	//alert(readCookie('loungepos'));
	//alert(readCookie('loungeplaying'));
	if (typeof(myListener) == 'undefined') { 
		myListener = new Listener();
		getFlashObject().SetVariable("method:setUrl", "/music/lounge.mp3");
		getFlashObject().SetVariable("method:play", "");
	}
	else if (typeof(myListener.isPlaying) == 'undefined') { // new page loaded, use cookies
		getFlashObject().SetVariable("method:setUrl", "/music/lounge.mp3");
		if (readCookie('loungeplaying')) {
			if (readCookie('loungeplaying') == 'true') {
				if (readCookie('loungepos')) {
					setPositionTimeout();
				}
				else {
					getFlashObject().SetVariable("method:play", "");
				}
			}
		}
		else {
			getFlashObject().SetVariable("method:play", "");
		}
	}
	else if (myListener.isPlaying == "false") { // continuing after pause
		getFlashObject().SetVariable("method:play", "");
	}
	getFlashObject().SetVariable("enabled", "true");
}
function pause()
{
	if (myListener.isPlaying) getFlashObject().SetVariable("method:pause", "");
}
function stop()
{
	getFlashObject().SetVariable("method:stop", "");
}

function setPositionTimeout() {
	position = readCookie('loungepos');
	if (position != 0) {
		getFlashObject().SetVariable("method:play", "");
		getFlashObject().SetVariable("method:pause", "");
		setTimeout(setPosition, 500);
	}
}

function setPosition()
{
	getFlashObject().SetVariable("method:setPosition", position);
	getFlashObject().SetVariable("method:play", "");
}
function setVolume()
{
	var volume = 20;
	getFlashObject().SetVariable("method:setVolume", volume);
}
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function initMusic() {
	//if (typeof(document.getElementById("myFlash")) != 'object' || !document.getElementById("playerplay")) {
	//	setTimeout(initMusic, 200);
	//}
	//else 
	play();
}


