/* 
  ------------------------------------------------
  Button Behaviour Scripts - Version 1
  www.mod7.com
  Version: 1.0.0
  ------------------------------------------------
*/

var currentplay = 'none';
var currentdownload = 'none';
var buttonpath = 'media/image-skin/';

// download button file names
var downloaddefaultsrc;
var downloadoversrc;
var downloadingsrc;

// play button file names
var playdefaultsrc;
var playoversrc;
var playingsrc;

// submit button file names
var submitdefaultsrc;
var submitoversrc;

var flash;

/* 
  ------------------------------------------------
  DOWNLOAD FUNCTION
  ------------------------------------------------
*/

function download (dl) {
	alert('Song '+dl+' downloading');
}


/* 
  ------------------------------------------------
  FLASH PLAYER COMMUNICATION
  ------------------------------------------------
*/

// (HTML DOC -> FLASH)
function flashpreviewstart (previewstring) {
	// alert ('string to flash player: '+previewstring);
	flash.previewsongstart(previewstring);
}

// (HTML DOC -> FLASH)
function flashpreviewstop () {
	// alert ('message to flash player: STOP PREVIEW');
	flash.previewsongstop();
}


/* 
  ------------------------------------------------
  GENERAL PURPOSE FUNCTIONS
  ------------------------------------------------
*/
// flash also calls the following function to cancel 'playing' mode (FLASH -> HTML DOC)
function stoppreview () {
	document[currentplay].src=playdefaultsrc;
	currentplay = 'none';
}

function setflashobject () {
  if(navigator.appName.indexOf("Microsoft") != -1) {
    flash = window.flashplayerObject;
    if (IsObjNull(flash)) flash = window.document.flashplayerObject;
  } else {
    flash = window.document.flashplayerObject;
  }
}

function playrollover (img_name, playButton, playOverButton, playingButton) {    
    playdefaultsrc = playButton;
    playoversrc = playOverButton;
    playingsrc = playingButton;        
    
	if (currentplay != img_name) {
		document[img_name].src=playoversrc;
	} else {
		document[img_name].src=playingsrc;
	}
}

function playrollout (img_name) {
	if (currentplay != img_name) {
		document[img_name].src=playdefaultsrc;
	} else {
		document[img_name].src=playingsrc;
	}
}

function playsongclick (img_name, previewstring,playdefsrc) {
	playdefaultsrc = playdefsrc;
	if (currentplay != img_name) {
		// reset currently playing button
		if (currentplay != 'none') {
			stoppreview ();
		}
		// play new song
		currentplay = img_name;
		document[img_name].src=playingsrc;
		flashpreviewstart (previewstring)
	} else {
		// stop playing current
		currentplay = 'none';
		document[img_name].src=playdefaultsrc;
		flashpreviewstop ();
	}
}

/* 
  ------------------------------------------------
  SUBMIT BUTTON BEHAVIOURS
  ------------------------------------------------
*/

function downloadrollover (imgBtn) {
    var img_name = imgBtn.id;
	if (currentdownload != img_name) {
		imgBtn.src=downloadoversrc;
	} else {
		imgBtn.src=downloadingsrc;
	}
}

function downloadrollout (imgBtn) {
    var img_name = imgBtn.id;
	if (currentdownload != img_name) {
		imgBtn.src=downloaddefaultsrc;
	} else {
		imgBtn.src=downloadingsrc;
	}
}

function downloadClick(imgBtn, downloadButton, downloadOverButton, downloadProcButton) {
    var img_name = imgBtn.id;
    downloaddefaultsrc = downloadButton;
    downloadoversrc = downloadOverButton;
    downloadingsrc =  downloadProcButton;

    if (currentdownload != 'none')
    {
        alert("Still processing... Please wait.");
        return false;
    }
	else{
		currentdownload = img_name;
		imgBtn.src=downloadingsrc;
		
      if(navigator.appName.indexOf("Microsoft") == -1) {
      setTimeout("reSetDownloading()",5000);
      }
      return true;
	}
	return false;
}
function reSetDownloading()
{
    if ( !IsObjNull(document.getElementById(currentdownload)) )
    {
        var ojb = document.getElementById(currentdownload);
	    currentdownload = 'none';
	    ojb.src = downloaddefaultsrc;
    }
    else
    {
	    currentdownload = 'none';
        window.location = self.location;
    }
}

function submitrollover (imgBtn) {
	imgBtn.src=submitoversrc;
}

function submitrollout (imgBtn,submitdefsrc) {
	submitdefaultsrc = submitdefsrc;
	imgBtn.src=submitdefaultsrc;
}


function IsObjNull(curObj)
{
  if (curObj == null || curObj == 'null' || curObj == 'undefined' )
  {    
    return true;
  }
  return false;
}