/* 
  ------------------------------------------------
  Hip Digital Button Behaviour Scripts - Version 1
  www.mod7.com
  Version: 1.0.0
  ------------------------------------------------
*/

var currentplay = 'none';
var buttonpath = '/media/image-skin/buttons/';
var currentdownload = 'none';

// download button file names
var downloaddefaultsrc = buttonpath+'download_but.gif';
var downloadoversrc = buttonpath+'download_but_over.gif';

// add to cart button file names
var srcovernotadded = buttonpath+'addtocart_over.gif';
var srcoveradded = buttonpath+'addtocart_over.gif';
var srcnotadded = buttonpath+'addtocart_over.gif';
var srcadded = buttonpath+'addtocart_over.gif';

// play button file names
//var playdefaultsrc = buttonpath+'play_but.gif';
var playoversrc = buttonpath+'play_but_over.gif';
var playingsrc = buttonpath+'play_but_playing.gif';

// submit button file names
var submitdefaultsrc = buttonpath+'submit_but.gif';
var submitoversrc = buttonpath+'submit_but_over.gif';

// Continue button file names
var continuedefaultsrc = buttonpath+'continue_but.gif';
var continueoversrc = buttonpath+'continue_but_over.gif';


// confirm button file names
var confirmdefaultsrc = buttonpath+'confirm_but.gif';
var confirmoversrc = buttonpath+'confirm_but_over.gif';

// print button file names
var printdefaultsrc = buttonpath+'print_but.gif';
var printoversrc = buttonpath+'print_but_over.gif';

var processdefaultsrc = buttonpath+'proceedtocheckout_but.gif';
var processoversrc = buttonpath+'proceedtocheckout_but_ove.gif';

var applycoupondefaultsrc = buttonpath+'apply_coupon_but.gif';
var applycouponoversrc = buttonpath+'apply_coupon_but_over.gif';

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;
  } else {
    flash = window.document.flashplayerObject;
  }
}


/* 
  ------------------------------------------------
  DOWNLOAD BUTTON BEHAVIOURS
  ------------------------------------------------
*/
function downloadsong (img_name, dlstring) {
	// stop current preview
	if (currentplay != 'none') {
		// stop playing current
		stoppreview ();
		flashpreviewstop ();
	}
	// initiate download
	download (dlstring);
}

/* 
  ------------------------------------------------
  PLAY BUTTON BEHAVIOURS
  ------------------------------------------------
*/

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) {    
	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 submitrollover (imgBtn) {
	imgBtn.src=submitoversrc;
}

function submitrollout (imgBtn) {
	imgBtn.src=submitdefaultsrc;
}

function continuerollover (imgBtn) {
	imgBtn.src=continueoversrc;
}

function continuerollout (imgBtn) {
	imgBtn.src=continuedefaultsrc;
}


function confirmrollover (imgBtn) {
	imgBtn.src=confirmoversrc;
}

function confirmrollout (imgBtn) {
	imgBtn.src=confirmdefaultsrc;
}

function printrollover (imgBtn) {
	imgBtn.src=printoversrc;
}

function printrollout (imgBtn) {
	imgBtn.src=printdefaultsrc;
}

function processrollover (imgBtn) {
	imgBtn.src=processoversrc;
}

function processrollout (imgBtn) {
	imgBtn.src=processdefaultsrc;
}

function applyconponrollover (imgBtn) {
	imgBtn.src=applycouponoversrc;
}

function applycouponrollout (imgBtn) {
	imgBtn.src=applycoupondefaultsrc;
}

function downloadrollover (imgBtn) {
	imgBtn.src=downloadoversrc;
}

function downloadrollout (imgBtn) {
	imgBtn.src=downloaddefaultsrc;
}

// used to change url on dropdown without hitting a submit button
function changeURL(drop, url) {
    var id = drop.options[drop.selectedIndex].value;
    if (id > 0) {
        window.location = url + id;
    }
}


/*
	Header Information------------------------------------[Do Not Remove This Header]--
	Title: OO Dom Image Rollover
	Description: This script makes it easy to add rollover/ mousedown 
  	effects to any image on the page, including image submit buttons. Automatically 
  	preloads images as well. Script works in all DOM capable browsers- IE5+, NS6+, 
  	Opera7+.
	
	Legal: Copyright 2005 Adam Smith
	Author Email Address: ibulwark@hotmail.com
	Date Created: June 6, 2005
	Website: Codevendor.com | eBadgeman.com
	Script featured on Dynamic Drive: http://www.dynamicdrive.com
	-----------------------------------------------------------------------------------
*/

function imageholderclass(){
	this.over=new Array();
	this.down=new Array();
	this.src=new Array();
	this.store=store;
	
	function store(src, down, over){
		var AL=this.src.length;
		this.src[AL]=new Image(); this.src[AL].src=src;
		this.over[AL]=new Image(); this.over[AL].src=over;
		this.down[AL]=new Image(); this.down[AL].src=down;
	}
}

var ih = new imageholderclass();
var mouseisdown=0;

function preloader(t){
	for(i=0;i<t.length;i++){
		if(t[i].getAttribute('srcover')||t[i].getAttribute('srcdown')){
			
			storeimages(t[i]);
			var checker='';
			checker=(t[i].getAttribute('srcover'))?checker+'A':checker+'';
			checker=(t[i].getAttribute('srcdown'))?checker+'B':checker+'';
			
			switch(checker){
			case 'A' : mouseover(t[i]);mouseout(t[i]); break;
			case 'B' : mousedown(t[i]); mouseup2(t[i]); break;
			case 'AB' : mouseover(t[i]);mouseout(t[i]); mousedown(t[i]); mouseup(t[i]); break;
			default : return;			
			}
			
			if(t[i].src){t[i].setAttribute("oldsrc",t[i].src);}
		}
	}
}
function mouseup(t){
	var newmouseup;
	if(t.onmouseup){
		t.oldmouseup=t.onmouseup;
		newmouseup=function(){mouseisdown=0;this.src=this.getAttribute("srcover");this.oldmouseup();}

	}
	else{newmouseup=function(){mouseisdown=0;this.src=this.getAttribute("srcover");}}
	t.onmouseup=newmouseup;
}

function mouseup2(t){
	var newmouseup;
	if(t.onmouseup){
		t.oldmouseup=t.onmouseup;
		newmouseup=function(){mouseisdown=0;this.src=this.getAttribute("oldsrc");this.oldmouseup();}
		}
	else{newmouseup=function(){mouseisdown=0;this.src=this.getAttribute("oldsrc");}}
	t.onmouseup = newmouseup;
}

function mousedown(t){
	var newmousedown;
	if(t.onmousedown){
		t.oldmousedown=t.onmousedown;
		newmousedown=function(){if(mouseisdown==0){this.src=this.getAttribute("srcdown");this.oldmousedown();}}
	}
	else{newmousedown=function(){if(mouseisdown==0){this.src=this.getAttribute("srcdown");}}}
	t.onmousedown=newmousedown;
}

function mouseover(t){
	var newmouseover;
	if(t.onmouseover){
		t.oldmouseover=t.onmouseover;
		newmouseover=function(){this.src=this.getAttribute("srcover");this.oldmouseover();}
	}
	else{newmouseover=function(){this.src=this.getAttribute("srcover");}}
	t.onmouseover=newmouseover;
}

function mouseout(t){
	var newmouseout;
	if(t.onmouseout){
		t.oldmouseout=t.onmouseout;
		newmouseout=function(){this.src=this.getAttribute("oldsrc");this.oldmouseout();}
	}
	else{newmouseout=function(){this.src=this.getAttribute("oldsrc");}}
	t.onmouseout=newmouseout;
}

function storeimages(t){
	var s=(t.getAttribute('src'))?t.getAttribute('src'):'';
	var d=(t.getAttribute('srcdown'))?t.getAttribute('srcdown'):'';
	var o=(t.getAttribute('srcover'))?t.getAttribute('srcover'):'';
	ih.store(s,d,o);
}

function preloadimgsrc(){
	if(!document.getElementById) return;
	var it=document.getElementsByTagName('IMG');
	var it2=document.getElementsByTagName('INPUT');
	preloader(it);
	preloader(it2);
}


function addTracksCheckbox(checkbox, itemID)
{
    AddRemoveItem("orderHistoryTracksToRemove", itemID, !checkbox.checked);
}



function addTracksButton(btn)
{
    var trackID = btn.getAttribute('trackid');
    var TotalTrackPrice;
    var itemPrice = parseFloat(btn.getAttribute('ItemPrice'));
    if (GetCookie("TotalTrackPrice") == null)
    {
        TotalTrackPrice = 0.0;        
    }
    else
    {
        TotalTrackPrice = parseFloat(GetCookie("TotalTrackPrice"));
    }

    if (btn.getAttribute('added')=='false') 
    {
        btn.src=btn.getAttribute('srcadded');
        btn.setAttribute('srcover', btn.getAttribute('srcadded'));
        btn.setAttribute('added','true');
        TotalTrackPrice = TotalTrackPrice + itemPrice;

        if ( IsObjNull(TotalTrackPrice) || isNaN(TotalTrackPrice) ) 
            TotalTrackPrice = 0.0;
        SetCookie("TotalTrackPrice", TotalTrackPrice);
        AddRemoveItem("tracks", trackID, true);
        
        SetTotalTracksRemaining(GetTotalTracksRemaining() + 1);
    } 
    else // we are removing the trackid from the cart
    {
        btn.setAttribute('added','false');
        btn.src=btn.getAttribute('srcnotadded');
        btn.setAttribute('srcover', btn.getAttribute('srcnotadded'));
        TotalTrackPrice = TotalTrackPrice - itemPrice;

        if ( IsObjNull(TotalTrackPrice) || isNaN(TotalTrackPrice) ) 
            TotalTrackPrice = 0.0;
        SetCookie("TotalTrackPrice", TotalTrackPrice);
        AddRemoveItem("tracks", trackID, false);
        SetTotalTracksRemaining(GetTotalTracksRemaining() - 1);
    }
}
function addremoverollover(btn)
{
    if (btn.getAttribute('added')=='false') 
    {
        btn.src=btn.getAttribute('srcovernotadded');
    } 
    else // we are removing the trackid from the cart
    {
        btn.src=btn.getAttribute('srcoveradded');
    }
}

function addremoverollout(btn)
{
    if (btn.getAttribute('added')=='false') 
    {
        btn.src=btn.getAttribute('srcnotadded');
    } 
    else // we are removing the trackid from the cart
    {
        btn.src=btn.getAttribute('srcadded');
    }
}

function addAlbumButton(btn)
{
    var albumID = btn.getAttribute('albumid');
    var numberOfTracks = btn.getAttribute('number_of_tracks');
    var TotalAlbumPrice;
    var itemPrice = parseFloat(btn.getAttribute('ItemPrice'));
    if (GetCookie("TotalAlbumPrice") == null)
    {
        TotalAlbumPrice = 0.0;        
    }
    else
    {
        TotalAlbumPrice = parseFloat(GetCookie("TotalAlbumPrice"));
    
    }
    if (btn.getAttribute('added')=='false') 
    {
        btn.src=btn.getAttribute('srcadded');
        btn.setAttribute('srcover', btn.getAttribute('srcadded'));
        btn.setAttribute('added','true');
        TotalAlbumPrice = TotalAlbumPrice + itemPrice;

        if ( IsObjNull(TotalAlbumPrice) || isNaN(TotalAlbumPrice) ) 
            TotalAlbumPrice = 0.0;
        SetCookie("TotalAlbumPrice", TotalAlbumPrice);
        AddRemoveItem("albums", albumID, true);
        
        SetTotalTracksRemaining(GetTotalTracksRemaining() + parseInt(numberOfTracks));//new - added june 11, 2007 
    } 
    else // we are removing the trackid from the cart
    {
        btn.setAttribute('added','false');
        btn.src=btn.getAttribute('srcnotadded');
        btn.setAttribute('srcover', btn.getAttribute('srcnotadded'));
        TotalAlbumPrice = TotalAlbumPrice - itemPrice;

        if ( IsObjNull(TotalAlbumPrice) || isNaN(TotalAlbumPrice) ) 
            TotalAlbumPrice = 0.0;
        SetCookie("TotalAlbumPrice", TotalAlbumPrice);
        AddRemoveItem("albums", albumID, false);
        SetTotalTracksRemaining(GetTotalTracksRemaining() - parseInt(numberOfTracks));//new - added june 11, 2007       
    }
}

function addAlbumButtonCheckBox(btn,itemPrice,itemid)
{
    var albumID = itemid;
    var TotalAlbumPrice;
    itemPrice = parseFloat(itemPrice);
    if (GetCookie("TotalAlbumPrice") == null)
    {
        TotalAlbumPrice = 0.0;        
    }
    else
    {
        TotalAlbumPrice = parseFloat(GetCookie("TotalAlbumPrice"));
    }
    if (!btn.checked)
    {
        TotalAlbumPrice = TotalAlbumPrice + itemPrice;
    }
    else
    {
        TotalAlbumPrice = TotalAlbumPrice - itemPrice;
    }
    if ( IsObjNull(TotalAlbumPrice) || isNaN(TotalAlbumPrice) ) 
        TotalAlbumPrice = 0.0;
    
    SetCookie("TotalAlbumPrice", TotalAlbumPrice);
    AddRemoveItem("albums", albumID, !btn.checked);
    if (btn.checked) //Remove
    {
        SetTotalAlbumsRemaining(GetTotalAlbumsRemaining() + 1);      
    }
    else
        SetTotalAlbumsRemaining(GetTotalAlbumsRemaining() - 1);
    
}

function addTrackButtonCheckBox(btn,itemPrice,itemid)
{
    var trackID = itemid;
    var TotalTrackPrice;
    itemPrice = parseFloat(itemPrice);
    if (GetCookie("TotalTrackPrice") == null)
    {
        TotalTrackPrice = 0.0;        
    }
    else
    {
        TotalTrackPrice = parseFloat(GetCookie("TotalTrackPrice"));    
    }
    if (!btn.checked)
    {
        TotalTrackPrice = TotalTrackPrice + itemPrice;
    }
    else
    {
        TotalTrackPrice = TotalTrackPrice - itemPrice;
    }
    if ( IsObjNull(TotalTrackPrice) || isNaN(TotalTrackPrice) ) 
        TotalTrackPrice = 0.0;
    
    SetCookie("TotalTrackPrice", TotalTrackPrice);
    
    AddRemoveItem("tracks", trackID, !btn.checked);
    if (btn.checked)
        SetTotalTracksRemaining(GetTotalTracksRemaining() + 1);
    else
        SetTotalTracksRemaining(GetTotalTracksRemaining() - 1);
   
}
// adds or removes the album or tracks from the cookie
function AddRemoveItem(cookieName, itemID, bAdd)
{
    //if itemID = -1, clear the cookie
    if (itemID == "-1"){
       SetCookie(cookieName,null);
    }

    var cart = GetCookie(cookieName);
    if (bAdd == true)
    {
        if (cart == null || cart == "null" || cart == "")
        {
            // store trackID in cookie
            SetCookie(cookieName,  itemID);
        }
        else // append trackid to cart
        {
            if(cart=='undefined')
            {
                cart = itemID;
            }
            else
            {
                cart = cart + ", " +  itemID;
            }
            SetCookie(cookieName, cart);
        }
    }
    else
    {
        // remove trackid from cookie
        if (cart != null && cart != "null")
        {
            var itemIDs = cart.split(', ');
            cart = null; // re-initalize the cart
            for (var i=0; i < itemIDs.length; i++)
            {
                var itemid = itemIDs[i];
                if (itemid != itemID)
                {
                    if (cart == null)
                        cart = itemid;
                    else
                        cart = cart + ', ' + itemid;
                    
                }
            }
            SetCookie(cookieName, cart);
        }
    }   
}
 
function RefreshPriceInTitle()
{
    var labAlbumsNum = document.getElementById("idAlbumsNum");
    var labTracksNum = document.getElementById("idTracksNum");
    var fTotalTrackPrice,fTotalAlbumPrice;
    var iTotalTrack,iTotalAlbum;
      
    //if couldn't find our Cart Price Label
    if (IsObjNull(labAlbumsNum) || IsObjNull(labTracksNum) )
    {    
        return;  
    }

    labAlbumsNum.innerHTML = GetTotalAlbumsRemaining() - 1;
    labTracksNum.innerHTML = GetTotalTracksRemaining() - 1;
   
   
}

function GetTotalTracksRemaining()
{
    var labTracksNum = document.getElementById("idTracksNumShow");
    if (IsObjNull(labTracksNum) )
    {    
        return;  
    }
    return parseInt(labTracksNum.innerHTML);  
}

function SetTotalTracksRemaining(iTotalTracksRemaining)
{
    var labTracksNum = document.getElementById("idTracksNumShow");
    if (IsObjNull(labTracksNum) )
    {    
        return;  
    }

    if(iTotalTracksRemaining < 0)
    {
        labTracksNum.innerHTML = 0;
    }
    else
    {
        labTracksNum.innerHTML = iTotalTracksRemaining;
    }
}

function GetTotalAlbumsRemaining()
{
    var labAlbumsNum = document.getElementById("idAlbumsNum");
    return parseInt(labAlbumsNum.innerHTML);
}


function SetTotalAlbumsRemaining(iTotalAlbumsRemaining)
{
    var labAlbumsNum = document.getElementById("idAlbumsNum");
    labAlbumsNum.innerHTML = iTotalAlbumsRemaining;
}

function  adv_format(num,n)  
{
    var  dd=1;  
    var  tempnum;  
    
/*  for(i=0;i<n;i++)  
    {  
        dd*=10;  
    }  
*/
    tempnum = num*100;  
    tempnum=Math.round(tempnum); 
    if ( tempnum % 100 == 0)
        return "$ " + tempnum/100 + ".00";  
    if ( tempnum % 10 == 0)
        return "$ " + tempnum/100 + "0";  

    return "$ " + tempnum/100;  
}  

function DisableSubmit(bCommand)
{
    var elem = document.getElementById("SubmitArea");
    if (IsObjNull(elem))
    {    
        return;
    }
    for(var i=0; i<elem.childNodes.length;i++)
    {
        var nextSibling = elem.childNodes[i];
        if (IsObjNull(nextSibling.nodeName)) break;

   	    if (nextSibling.nodeName.toLowerCase() == "input")
		{
			var siblingAtt = nextSibling.getAttribute("src");
			if ( siblingAtt.indexOf("proceedtocheckout_but.gif") > -1)
			{
                if (bCommand)
                {
                    nextSibling.className = 'visdisabled';
                }else
                {
                    nextSibling.className = 'visenabled';
                }
			    break;
			}
		}
    }
    var labInfo = document.getElementById("LessPriceInfo");
    var imgShowRemove = document.getElementById("showRemove");
    var imgshowCheck = document.getElementById("showCheck");
    if (IsObjNull(labInfo) || IsObjNull(imgShowRemove) || IsObjNull(imgshowCheck)  )
    {    
        return;
    }
    if (bCommand)
    {
        labInfo.className = "visenabled";
        imgShowRemove.className = "visenabled";
        imgshowCheck.className = "visdisabled";
    }else
    {
        labInfo.className = "visdisabled";
        imgShowRemove.className = "visdisabled";
        imgshowCheck.className = "visenabled";
    }
}

function IsObjNull(curObj)
{
  if (curObj == null || curObj == 'null' || curObj == 'undefined' )
  {    
    return true;
  }
  return false;
}


function SetCookie(sName, sValue)
{
    document.cookie = sName + "=" + escape(sValue);
}

function GetCookie(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split('; ');
  if (IsObjNull(aCookie))
    return null;
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split('=');
    if (sName == aCrumb[0]) 
      return unescape(aCrumb[1]);
  }

  // a cookie with the requested name does not exist
  return null;
}

if(window.addEventListener){window.addEventListener("load", preloadimgsrc, false);} 
else{
	if(window.attachEvent){window.attachEvent("onload", preloadimgsrc);}
	else{if(document.getElementById){window.onload=preloadimgsrc;}}
}

function printpage(printareaID) {
    
    var printObj = document.getElementById(printareaID);

    if ( IsObjNull(printObj) )
    {
        return;
    }
    window.open("PrintPreview.aspx", printareaID, "top=50,left=200,scrollbars=yes,dialog=yes,modal=yes,width=590,height=600,resizable=yes" ); 
} 

function clearShoppingCart()
{

    //if itemID = -1, clear the cookie
    SetCookie("albums",null);
    SetCookie("tracks",null);
    SetCookie("OrderCharged",null);
    SetCookie("TotalAlbumPrice",0.0);
    SetCookie("TotalTrackPrice",0.0);
    //RefreshPriceInTitle();
}

function downloadClick(imgBtn) {
    var img_name = imgBtn.id;

    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;
    }
}