      var player        =  null;
      var playlist      =  null;
      var previousItem  =  null;
      //var currentTime   =  null;
      var seek          =  true;
      var indexitem = null;

      var file = unescape(readCookie('file'));
      var title = unescape(readCookie('title'));
      var currentTime = unescape(readCookie('time'));
      var state = unescape(readCookie('state'));
      var volume = unescape(readCookie('volume'));
      var track = unescape(readCookie('track'));
	  
	 /* if (currentTime == "null") {
		currentTime = unescape(readCookie('time'));
	  }*/
 
      var autoStart = "false";
	  
	 //if(state == 'PLAYING' || state=="null"){
     if(state != "PAUSED"){
		 state = "PLAYING";
		  autoStart = true;
	 }


      var flashvars =
      {
          'shuffle': 'false',
          'repeat': 'always',
          'playlist': 'none',
          'controlbar': 'bottom',
          'icons': 'false',
          'backcolor': 'FFFFFF',
          'frontcolor': 'FFFFFF',
          'lightcolor': '00FF00',
          'id': 'flashmusicplayer',
          'autostart': autoStart
      };
      
      var params =
      {
          'allowscriptaccess': 'always',
          'allowfullscreen': 'false',
          'wmode': 'transparent'
      };

      var attributes =
      {
          'id': 'flashmusicplayer',
          'name': 'flashmusicplayer'
      };

      if ((file == null) || (file == '') || (file == 'null')) {
          flashvars.file = 'xml/playlist.xml';
      }
      else {
          flashvars.file = file;
      }

      //...workaround because player.getConfig().file doesn't return the new file
      var currentFile = flashvars.file;

      if ((volume == null) || (volume == '') || (volume == 'null')) {
          flashvars.volume = '80';
      } else {
		  flashvars.volume = volume;
      }

	// flashvars.volume = 0;

      if ((track == null) || (track == '') || (track == 'null')) {
          flashvars.item = 0;
      }
      else {
          flashvars.item = track;
      }


      swfobject.embedSWF('swf/player.swf', 'player', '298', '15', '9.0.124', "scripts/swfobject/expressinstall.swf", flashvars, params, attributes);


      function createCookie(file, title, currentTime, state, volume, days, track)
      {
		days = 0;
       if(days)
        {
          var date = new Date();
          date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
          var expires = '; expires=' + date.toGMTString();
        }
        else
        {
          var expires = '';
        }
		var session_time = unescape(readCookie('time'));
		var session_track = unescape(readCookie('track'));

		if(state == "PAUSED" || state == "PLAYING" ){
        	document.cookie = 'state='   + escape(state)   + expires + '; path=/';
	 	}
		if (currentTime < session_time && session_track == track){
        
		}else{
			document.cookie = 'time='    + escape(currentTime)    + expires + '; path=/';
		}

        document.cookie = 'file='    + escape(file)    + expires + '; path=/';
        document.cookie = 'title='   + escape(title)   + expires + '; path=/';
        document.cookie = 'volume=' + escape(volume) + expires + '; path=/';
        document.cookie = 'track=' + escape(track) + expires + '; path=/';

      };

      function readCookie(name)
      {
        var nameEQ = name + '=';
        var ca = document.cookie.split(';');

        for(var j = 0; j < ca.length; j++)
        {
          var c = ca[j];

          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 playerReady(obj)
      {
        player = gid(obj.id);
        addListeners();
      };

      function addListeners()
      {
        playlist = player.getPlaylist();

        if(playlist.length > 0)
        {
          player.addControllerListener('ITEM',    'itemListener');
          player.addControllerListener('VOLUME',  'volumeListener');
          player.addModelListener('TIME',         'timeListener');
          itemListener({index:0});
          volumeListener({percentage:player.getConfig().volume});
          printPlaylistData();

        }else{
          setTimeout("addListeners()", 100);
        }
      };

      function itemListener(obj)
      {
        //gid('item').innerHTML = 'Current Item: ' + obj.index + '<br>Previous Item: ' + previousItem;
        getPlaylistData(obj.index);
        previousItem = obj.index;
      };

      function volumeListener(obj)
      {
       // gid('volume').innerHTML = 'Volume: ' + obj.percentage;
      };

      function timeListener(obj)
      {
        var time = obj.position;

        //...only if there is serverside support for streaming
        if((seek == true) && (currentTime > 0))
        {
          seek = false;
          player.sendEvent('SEEK', currentTime);
        }
		
		if((state == 'PAUSED') && (time > currentTime))
		{
			state = 'PLAYING';
			player.sendEvent('PLAY', 'true');
		}
		
		currentTime = time;
		
		
      };

      function getPlaylistData(idx)
      {
       // gid('flashmusicnowplaying').innerHTML = '<div class="nowplaying">Now Playing: ' + playlist[idx].author + ' - ' + playlist[idx].title + '</div>';
       // gid('flashmusicshare').innerHTML      = '<div class="share">Share this tune:</div>';
      };

      function printPlaylistData()
      {
        var txt = '<a class="prevPage" onFocus="if(this.blur)this.blur()">«</a><div class="scrollable"><div class="items">';

        for(var i in playlist)
        {
          txt += '<a href="#" onclick="javascript:player.sendEvent(\'ITEM\',' + i + '); javascript:return false;" title="Click to Play" onFocus="if(this.blur)this.blur()"><img src="' + playlist[i].image + '" align="left" border="0" alt="Click to Play" vspace="0" hspace="0" /><div>' + playlist[i].title + '<br />' + playlist[i].author + '</div></a>';
        }

        txt += '</div></div><a class="nextPage" onFocus="if(this.blur)this.blur()">»</a>';
        //gid('playlist').innerHTML = txt;
      };

      function loadPlaylist(file, item)
      {


        if(!item) item = 0;
        indexitem = item;

        player.sendEvent('STOP');
        player.sendEvent('LOAD', {file:file});

        //...workaround because player.getConfig().file doesn't return the new file
        currentFile = file;
	//alert('loadPlaylist - item: ' + indexitem);
        setTimeout("player.sendEvent('ITEM', indexitem); playlist = player.getPlaylist();", 100);
        setTimeout("itemListener({index:indexitem}); printPlaylistData();", 200);
      };

      //...testing only...
      function dumpCookie()
      {
        file    =  unescape(readCookie('file'));
        title   =  unescape(readCookie('title'));
        currentTime    =  unescape(readCookie('time'));
        state   =  unescape(readCookie('state'));
        volume  =  unescape(readCookie('volume'));
       //gid('cookie').innerHTML = '<br />Cookie:<br />File: ' + file + '<br />Title: ' + title + '<br />Time: ' + time + '<br />State: ' + state + '<br />Volume: ' +volume;
      }

      function gid(name)
      {
        return document.getElementById(name);
      };
