var g_objXMLHttp; 
var g_objXMLHttp1; 
var g_intProductID = 0;
var g_objBuyLink, g_objBuyButton;
var g_objBuyLink1, g_objBuyButton1;
var g_Playlist;

function showPrompt(p_Message) {
	var m_objPrompt, m_objMessage, m_objDoc;
	var m_intWindowWidth, m_intWindowHeight, m_intXOffset, m_intYOffset, m_intTop, m_intLeft;

	try {
		m_objPrompt = document.getElementById('prompt');
		m_objMessage = document.getElementById('promptmessage');
		
		/*=================================================================================================================================
		Determine and set the document object to use based on the current client browser type.
		=================================================================================================================================*/			
		if (document.all) {
			/*=================================================================================================================================
			Determine which IE document object is compatible with the current html encoding type (e.g. xhtml, plain html, etc.).
			=================================================================================================================================*/			
			m_objDoc = (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
		} else { m_objDoc = window; }
		
		m_intWindowWidth = (document.all)? m_objDoc.clientWidth : m_objDoc.innerWidth;
		m_intWindowHeight = (document.all)? m_objDoc.clientHeight : m_objDoc.innerHeight;
		m_intXOffset = (document.all)? m_objDoc.scrollLeft : m_objDoc.pageXOffset;
		m_intYOffset = (document.all)? m_objDoc.scrollTop : m_objDoc.pageYOffset;
			
		m_intTop = (m_intWindowHeight/2) + m_intYOffset - 66;
		m_intLeft = (m_intWindowWidth/2) + m_intXOffset - 106;
		
		m_objPrompt.style.visibility = 'visible';
		m_objPrompt.style.top = m_intTop + "px";
		m_objPrompt.style.left = m_intLeft + "px";
		
		m_objMessage.innerHTML = p_Message;
	} catch(err) { alert(err); }	
}

function hidePrompt() {
	var m_objPrompt, m_objMessage;
	
	try {
		m_objPrompt = document.getElementById('prompt');
		m_objMessage = document.getElementById('promptmessage');
		
		m_objPrompt.style.visibility = 'hidden';
		m_objMessage.innerHTML = "";
	} catch(err) {	alert(err);	}	
}

function checkReadyState(p_objXMLHttp) {
	try {
		if (p_objXMLHttp.readyState == 4 || p_objXMLHttp.readyState == 'complete') {return true;} 
		else { return false;}
	} catch(err) { return false;}
}

/*==================================================================================================
The addToCart function should only be used on the Product page.
==================================================================================================*/
function addToCart(p_intProductID, p_intProductDetailID) {
	if (p_intProductDetailID!=0){ 
		g_intProductID = p_intProductID;		
		addItem(p_intProductDetailID);
	} else { alert('Selected item not available'); } 
} 

function addItem(p_intProductDetailID) { 
	var m_TargetURL = '/shoppingcart/additem.aspx?pdid=' + p_intProductDetailID
	
	//alert(m_TargetURL)
	if (p_intProductDetailID!=0){ 
		/* note: the following line is needed for browsers other than IE to show the "adding item" prompt. */
		showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		
		g_objXMLHttp = NewXMLHttpInstance(SCH_addItem); 		
		SendXMLHttpRequest(g_objXMLHttp, m_TargetURL);
		
		if (location.href.indexOf('/shop.aspx')>=0){window.location='/shop.aspx'}
		
	} else { 
		alert('Selected item not available'); 
	} 
} 

function DeleteItem() { 
		/* note: the following line is needed for browsers other than IE to show the "adding item" prompt. */
		showPrompt('<img src="/images/loader.gif" /><br>Deleting item');
} 

function getAlbumItems(p_intProductID) { 
	var m_TargetURL = '/shoppingcart/getalbumitems.aspx?pid=' + p_intProductID
	
	if (p_intProductID!=0){ 
		g_objXMLHttp = NewXMLHttpInstance(SCH_getAlbumItems); 
		SendXMLHttpRequest(g_objXMLHttp, m_TargetURL);
	} else { 
		alert('Selected item not available'); 
	} 
} 

    // SHOW 500x500 image
	function showLargeImage(pImage){
	   document.getElementById('coCdInfo_LargeImageContainerDiv').style.display='';
	   document.getElementById('coCdInfo_LargeImageContainerDiv').innerHTML='<img src='+pImage+' border=1>';
	}
    function HideLargeImage(){
	   document.getElementById('coCdInfo_LargeImageContainerDiv').innerHTML='';	  
	   document.getElementById('coCdInfo_LargeImageContainerDiv').style.display='none';
	}
 
	//ADD TO WISHLIST/CART - Subscription
	function addWLCart(strItem, strOp, strWhat){ 
	    var m_strTrackIDList = document.getElementById('trackList').value;
		var xSubmit=true;
		var m_playlistID='';
		
		try {m_playlistID=document.getElementById('PlaylistID1').value } catch(e){}
		
		//PLAYLIST country restriction		
		try { if (document.getElementById('trackRestDwnload').value!=''){xSubmit=false;} }
		catch(e){}
		
	    if (m_strTrackIDList == "") {
		    if (strWhat=='CART'){alert("Please select track/s to add to Cart!");}
		    else {alert("Please select track/s to add to Wisth List!");}			
        }
		else {
		    if (xSubmit==true){
				if (strItem.length > 0){ 			   
					var requestURL = '/validation/cartstatus.aspx?cd='; 
					var url = requestURL + strItem + '&AccountID=' + strOp + '&Where='+strWhat + '&tl='+m_strTrackIDList + '&PL3='+m_playlistID;

					showPrompt('<img src="/images/loader.gif" /><br>Adding track/s');
					g_objXMLHttp = NewXMLHttpInstance(stateChangeHandlerWLCart);  
					SendXMLHttpRequest(g_objXMLHttp, url); 
				} 
			}
			else { alert('Cannot add selected track/s!') }
		}
	} 
	
	function stateChangeHandlerWLCart(){ 
		if (checkReadyState(g_objXMLHttp)) {		
		    var str = g_objXMLHttp.responseText; 	
			var reg = new RegExp("~");			
			var xSplit = str.split(reg);
						
			var xSplit0 = xSplit[0]; // TYPE
			var xSplit1 = xSplit[1]; //COUNT
			var xSplit2 = xSplit[2]; //RECORDSET COUNT
			
			//CART
			if (xSplit0=='CART'){
				if (document.getElementById('g_objectPageHeader_xCount')) { document.getElementById('g_objectPageHeader_xCount').innerHTML = xSplit1; } 
				else if (document.getElementById('coHeader_xCount')) { document.getElementById('coHeader_xCount').innerHTML = xSplit1; }
				
				showPrompt('<img src="/images/loader.gif" /><br>Track/s added to Cart');
		        setTimeout('hidePrompt()',1000);
			}
	
			//WISHLIST
			if (xSplit0=='WISHLIST'){
				if (document.getElementById('WLCount')) { document.getElementById('WLCount').innerHTML = xSplit1; } 
				showPrompt('<img src="/images/loader.gif" /><br>Track/s added to Wish List');
		        setTimeout('hidePrompt()',1000);
			}
				
		}
	}
	
	
	//ARRANGE SORTNUM - PLAYLIST - DRAG AND DROP
	function ReArrangetracks(strItem, strOp){ 
		if (strItem.length > 0){ 
		    var m_strTrackIDList = document.getElementById('trackList2').value
			var requestURL = '/validation/cartstatus.aspx?cd='; 
			var url = requestURL + strItem + '&PlaylistID1=' + strOp + '&Arrange=1&tl='+m_strTrackIDList;

			g_objXMLHttp = NewXMLHttpInstance(stateChangeHandlerArrange);  
			SendXMLHttpRequest(g_objXMLHttp, url); 
		} 
	} 
	
	function stateChangeHandlerArrange(){
	   if (checkReadyState(g_objXMLHttp)) {
	      //alert('successful')
	   }
	}
	
	//DELETE TRACK/S FROM PLAYLIST
	function DeletTrackFromPlaylist(strItem, strOp, TrackID){ 
		if (strItem.length > 0){ 		    
			var m_strTrackIDList = document.getElementById('trackList').value;			
		 
			if (m_strTrackIDList == '') {alert('Please select tracks to delete')}
			else {
			    getCheckedItems()
			    
				var requestURL = '/validation/cartstatus.aspx?cd='; 
				var url = requestURL + strItem + '&PLID=' + strOp + '&trackID='+m_strTrackIDList;

				showPrompt('<img src="/images/loader.gif" /><br>Deleting track/s');
				g_objXMLHttp = NewXMLHttpInstance(StateChangeDeleteTrackFromPL);  
				SendXMLHttpRequest(g_objXMLHttp, url); 
			}
		} 
	} 
	
	function StateChangeDeleteTrackFromPL(){
	   if (checkReadyState(g_objXMLHttp)) {
	      var str = g_objXMLHttp.responseText; 	
		  var reg = new RegExp("~");			
		  var xSplit = str.split(reg);
						
		  var xSplit0 = xSplit[0]; // TRACK LISTING FOR THE PLAYLIST
		  var xSplit1 = xSplit[1]; // NO. OF TRACKS
		  var xSplit2 = xSplit[2]; // TOTAL TIMING
		  
		  //document.getElementById('group1').value = xSplit0;
		  //<div id="group1" runat="server" class="style1"></div>
		  document.getElementById('trackList').value='';
		  document.getElementById('group1').innerHTML=''+xSplit0+'';
		  //document.getElementById('page').value='<div id=group1 class=style1 runat=server>' + document.getElementById('group1').innerHTML+'</div>';
		  try {Sortable.create('group1',{tag:'div',dropOnEmpty: true, containment: sections,only:'lineitem'});}
		  catch(e){}
		  
		  document.getElementById('lblNoTracks').innerHTML = xSplit1;
		  document.getElementById('lblTiming').innerHTML = xSplit2;
		  
		  if (parseInt(xSplit1)==0){ 
		  document.getElementById('spanCart').innerHTML='<img src="/images/ATC_off.gif" border="0" />'; 
		  document.getElementById('PLTotal').innerHTML='0.00';
		  }
		  
		  showPrompt('<img src="/images/loader.gif" /><br>Track/s deleted from playlist');
		  setTimeout('hidePrompt()',1000);
	   }
	}
	
	// STREAMING LOGS
	function SaveStreamLogs(strItem, strTrackID, strStart, strReferrer){ 
		if (strItem.length > 0){ 
		    
			var requestURL = '/validation/cartstatus.aspx?cd='; 
			var url = requestURL + strItem + '&Log=1' + '&trackID='+strTrackID + '&Start='+strStart+'&Referrer='+strReferrer;
            //alert(url)
			g_objXMLHttp = NewXMLHttpInstance(StateChangeSaveStreamLogs);  
			SendXMLHttpRequest(g_objXMLHttp, url); 
		} 
	} 
	function StateChangeSaveStreamLogs(){
	   if (checkReadyState(g_objXMLHttp)) {
	   }
	}
	
function notifyLoggedInNeeded(p_objLink) { 
	var m_blnGotoLogin;

	try {
	    /*
		m_blnGotoLogin = confirm('You need to log-in before you can add items to your cart.\n\nProceed to log-in page?');
		
		if (m_blnGotoLogin == true){ 
			window.location = '/userlogin/login.aspx';
			return true
		} */
		//scroll(0,0);
		//document.getElementsByTagName('body').setAttribute('disabled','true');
		//document.getElementById('divFloat').style.display='';
		//DimBody();
		
		scroll(0,0);
		document.getElementById('divFloat').style.display='';
		DimBody();
	} catch(e) {alert('notifyLoggedInNeeded(): \n' + e.description);}
} 

function setBuyButtonState(p_objElement) {
	try {
		var m_ElementID = p_objElement.id;
		var m_arrElementIDParts = m_ElementID.split("_");
		var m_ImageElementID = 'img_' + m_arrElementIDParts[1] + '_' + m_arrElementIDParts[2];
		
		g_objBuyLink = p_objElement;
		g_objBuyButton = document.getElementById(m_ImageElementID);	
		
	} catch(e) {alert('setBuyButtonState(): \n' + e.description);}
}

function disableAllBuyButtons() {
	var m_arrLinks = document.getElementsByTagName("a");	
	var m_arrImages = document.getElementsByTagName("img");
	var m_PatternBuyLink, m_PatternBuyImage;
	var m_intIndex;
	
	m_PatternBuyLink = /a_buy_\d+/i;
	m_PatternBuyImage = /img_buy_\d+/i;
	m_PatternBuyImage1 = /img_buyalbum_\d+/i;
	
	for (m_intIndex = 0; m_intIndex <= m_arrLinks.length; m_intIndex++) {
		try {
			if ((m_PatternBuyLink.test(m_arrLinks[m_intIndex].id)) || (m_PatternBuyLink1.test(m_arrLinks[m_intIndex].id))){
				m_arrLinks[m_intIndex].href = 'javascript:void(0);';
			}
		} catch(e) {}
	}
	
	for (m_intIndex = 0; m_intIndex <= m_arrImages.length; m_intIndex++) {
		try {
			if ((m_PatternBuyImage.test(m_arrImages[m_intIndex].id)) || (m_PatternBuyImage1.test(m_arrImages[m_intIndex].id))){
				m_arrImages[m_intIndex].src = '/images/add_selected.png';
			}
		} catch(e) {}
	}
	
	if (g_Playlist>0){document.getElementById('imgAddPlaylist').src='/images/add_album_b_off.gif'}
}

function disableAllBuyButtons2(pURL, pImg) {
    document.getElementById(pURL).href='javascript:void(0);';
	document.getElementById(pImg).src = '/images/add_selected.png';
	
	if (g_Playlist>0){document.getElementById('imgAddPlaylist').src='/images/add_album_b_off.gif'}
}

function playPreview(p_AlbumID, p_TrackID) {
	var m_URL;
	
	try {
		m_URL = '/catalogue/mediaplayer.aspx?album=' + p_AlbumID + '&track=' + p_TrackID;
		openWindow(m_URL,418,225);
	} catch(err) {
		alert(err);
	}	
}

function addPromoToDownload(p_QSV) { 
	var m_TargetURL = '/shoppingcart/addpromotodownload.aspx?qs=' + p_QSV;
	
	if (p_QSV!=''){ 
		/* note: the following line is needed for browsers other than IE to show the "adding item" prompt. */
		showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		
		g_objXMLHttp = NewXMLHttpInstance(SCH_addPromoToDownload); 
		SendXMLHttpRequest(g_objXMLHttp, m_TargetURL);
	} else { 
		alert('Selected item has incomplete data'); 
	} 
} 

function SCH_addPromoToDownload() {
	try {
		var m_objXML;
		var m_Status = '';
		
		hidePrompt();
		
		if (checkReadyState(g_objXMLHttp)) {
			m_objXML = g_objXMLHttp.responseXML.documentElement;
			m_Status = m_objXML.getElementsByTagName('STATUS')[0].firstChild.data;
			
			if (m_Status == 'new') {
				showPrompt('Item added');
				setTimeout('hidePrompt()',1000);
				//window.location = '/downloads.aspx';
			} else if (m_Status == 'exists') {
				alert('You have added this album to your account!'); //alert('You have already availed of this album!');
			} else if (m_Status == 'incomplete data') {
				alert('Selected item has an incomplete data!');
			} else if (m_Status == 'invalid promo') {
				alert('Promo is no longer valid!');
			} else if (m_Status == 'limit') {
				alert('You have reached the maximum download limit');
			} else {
				alert('Unable to add to cart at the moment' + m_Status);
			}
		} else {
			/* note: the following line is only recognized by ie browsers. other browsers will just ignore this and will not raise an error. */
			showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		}	
		
		return true;
	} catch(e) {alert('SCH_addPromoToDownload(): \n' + e.description);}
} 

function SCH_addItem() {
	try {
		var m_objXML;
		var m_intTotalItems;
		var m_Status;
		var m_blnLoginStatus, m_blnGotoLogin;
		var m_PatternBuyLink, m_PatternBuyImage;
		
		m_PatternBuyLink = /a_buy_\d+/i;
		m_PatternBuyImage = /img_buy_\d+/i;
		
		hidePrompt();
			
		if (checkReadyState(g_objXMLHttp)) {
			m_objXML = g_objXMLHttp.responseXML.documentElement;
			m_intTotalItems = m_objXML.getElementsByTagName('TOTAL_ITEMS')[0].firstChild.data;
			m_Status = m_objXML.getElementsByTagName('STATUS')[0].firstChild.data;
			m_blnLoginStatus = m_objXML.getElementsByTagName('ISLOGGEDIN')[0].firstChild.data;

			if (m_blnLoginStatus == 'true') {
				if (document.getElementById('g_objectPageHeader_xCount')) {
					document.getElementById('g_objectPageHeader_xCount').innerHTML = m_intTotalItems;
				//	document.getElementById('g_objectPageHeader_xCount2').innerHTML = m_intTotalItems;
				} else if (document.getElementById('coHeader_xCount')) {
					document.getElementById('coHeader_xCount').innerHTML = m_intTotalItems;
				//	document.getElementById('coHeader_xCount2').innerHTML = m_intTotalItems;
				}
				if (m_Status == 'new') {
					if (g_objBuyLink) {
						g_objBuyLink.href = 'javascript:void(0);';
						g_objBuyButton.src = '/images/add_selected.png';
						
						if (!m_PatternBuyLink.test(g_objBuyLink.id)) {
						    disableAllBuyButtons();
						}
					}
					
					showPrompt('Item added');
					setTimeout('hidePrompt()',1000);
					if ((location.href.indexOf('product')>=0) && (location.href.indexOf('trackid')>=0) && (document.getElementById('divFloat').style.display=='none')){window.location=window.location.href}
				} else if (m_Status == 'update') {
					showPrompt('Item already in cart');
					setTimeout('hidePrompt()',2000);
				} else if (m_Status == 'restricted') {
					alert('Historical, Nostalgia and Jazz Legends recordings are not available for download and audio streaming to subscribers in the United States, Canada, Singapore, and Australia due to possible copyright restrictions.');
				} else {
					alert('Unable to add to cart at the moment');
				}
				
				if (document.getElementById('spnTotalSelectedAlbumItems') && (g_intProductID > 0)) {
					getAlbumItems(g_intProductID);
				}
			} else {
			    /*
				m_blnGotoLogin = confirm('You need to log-in before you can add items to your cart.\n\nProceed to log-in page?');				
				if (m_blnGotoLogin == true){ 
					window.location = '/userlogin/login.aspx';
				} 
				*/
				scroll(0,0);
				document.getElementById('divFloat').style.display='';
		        DimBody();
			}
		} else {
			/* note: the following line is only recognized by ie browsers. other browsers will just ignore this and will not raise an error. */
			showPrompt('<img src="/images/loader.gif" /><br>Adding item');
			
		}	
		
		return true;
	} catch(e) {alert('SCH_addItem(): \n' + e.description);}
} 

function SCH_getAlbumItems() { 
	var m_objXML;
	var m_intTotalItems, m_intTotalPrice;
	
	if (checkReadyState(g_objXMLHttp)) { 
		m_objXML = g_objXMLHttp.responseXML.documentElement;
		m_intTotalItems = m_objXML.getElementsByTagName('TOTAL_ITEMS')[0].firstChild.data;
		m_intTotalPrice = m_objXML.getElementsByTagName('TOTAL_PRICE')[0].firstChild.data;
		
		document.getElementById('spnTotalSelectedAlbumItems').innerHTML = m_intTotalItems;
		document.getElementById('spnTotalSelectedAlbumItemsAmount').innerHTML = m_intTotalPrice;
	} 
	
	return true;
} 

var g_intActivePreviewIndex = 0; //this is tied-up to the renderPlayer function.

function renderPlayer(p_PreviewIndex, p_AudioURL) {
	if (g_intActivePreviewIndex != 0) {
	    deconcept.SWFObjectUtil.cleanupSWFs();
	    
	    var oActiveAudio = document.getElementById('audio' + g_intActivePreviewIndex);
	    
	    try {
	    if (oActiveAudio != null) {
	        document.getElementById('player' + g_intActivePreviewIndex).removeChild(oActiveAudio);
	        document.getElementById('button' + g_intActivePreviewIndex).style.display = 'block';
	    }
	    }
	    catch(e){}
	}
	
	g_intActivePreviewIndex = p_PreviewIndex;
	try {
	document.getElementById('button' + p_PreviewIndex).style.display = 'none';
	}
	catch(e) {}
	
	var so = new SWFObject("/catalogue/PreviewPlayer.swf", "audio" + p_PreviewIndex, "15", "15", "9", "#ffffff");
	so.addParam("quality", "high");
	so.addParam("allowScriptAccess", "sameDomain");
	so.addVariable("myAudio", p_AudioURL);
	so.addVariable("startAuto", "true"); 
	so.write('player' + p_PreviewIndex);
	
	return (document.getElementById('audio' + p_PreviewIndex) == null);
}

function renderPlayer2(p_PreviewIndex, p_AudioURL) {
	if (g_intActivePreviewIndex != 0) {
	    deconcept.SWFObjectUtil.cleanupSWFs();
	    
	    var oActiveAudio = document.getElementById('audio' + g_intActivePreviewIndex);
	    
	    if (oActiveAudio != null) {
	        document.getElementById('player' + g_intActivePreviewIndex).removeChild(oActiveAudio);
	        document.getElementById('button' + g_intActivePreviewIndex).style.display = 'block';
	    }
	}
	
	g_intActivePreviewIndex = p_PreviewIndex;
	document.getElementById('button' + p_PreviewIndex).style.display = 'none';
	
	var so = new SWFObject("/catalogue/PreviewPlayera.swf", "audio" + p_PreviewIndex, "15", "15", "9", "#ffffff");
	so.addParam("quality", "high");
	so.addParam("allowScriptAccess", "sameDomain");
	so.addVariable("myAudio", p_AudioURL);
	so.addVariable("startAuto", "true"); 
	so.write('player' + p_PreviewIndex);
	
	return (document.getElementById('audio' + p_PreviewIndex) == null);
}

function renderPlayer3(p_PreviewIndex, p_AudioURL) {
	
	if (g_intActivePreviewIndex != 0) {
	    deconcept.SWFObjectUtil.cleanupSWFs();
	    
	    var oActiveAudio = document.getElementById('audio' + g_intActivePreviewIndex);
	    
	    try {
	    if (oActiveAudio != null) {
	        document.getElementById('player' + g_intActivePreviewIndex).removeChild(oActiveAudio);
	        document.getElementById('button' + g_intActivePreviewIndex).style.display = 'block';
	        //document.getElementById('button' + g_intActivePreviewIndex).style.visibility = 'hidden';
	    }
	    }
	    catch(e){}
	}
		
	g_intActivePreviewIndex = p_PreviewIndex;
	try {
	document.getElementById('button' + p_PreviewIndex).style.display = 'none';
	}
	catch(e) {}
	
	var so = new SWFObject("/catalogue/PreviewPlayer.swf", "audio" + p_PreviewIndex, "14", "14", "9", "#ffffff");
	so.addParam("quality", "high");
	so.addParam("allowScriptAccess", "sameDomain");
	so.addVariable("myAudio", p_AudioURL);
	so.addVariable("startAuto", "true"); 
	so.write('player' + p_PreviewIndex);
	
	//alert(document.getElementById('button' + p_PreviewIndex).value)	
	return (document.getElementById('audio' + p_PreviewIndex) == null);		
	}
	
////////////////////////////////////////////////////////////////////////
//* PLAYLIST FUNCTIONS
////////////////////////////////////////////////////////////////////////
function addItem1(p_intProductDetailID, pPlaylistID, pFlag, pID) { 
	var m_TargetURL = '/shoppingcart/additem.aspx?pdid=' + p_intProductDetailID + '&PlaylistID=' + pPlaylistID
	
	g_Playlist=pPlaylistID;

	/* note: the following line is needed for browsers other than IE to show the "adding item" prompt. */
	showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		
	g_objXMLHttp1 = NewXMLHttpInstance(SCH_addItem1); 
	SendXMLHttpRequest(g_objXMLHttp1, m_TargetURL);
	
	if ((p_intProductDetailID>0) && (pFlag==1)){
	    disableSomeBuyButtons(pID)
	}
} 


function disableSomeBuyButtons(pID){	
	var m_arrLinks = document.getElementsByTagName("a");	
	var m_arrImages = document.getElementsByTagName("img");
	var m_PatternBuyLink, m_PatternBuyImage;
	var m_intIndex;
	
	for (m_intIndex = 0; m_intIndex <= m_arrLinks.length; m_intIndex++) {
		try {
			if (m_arrLinks[m_intIndex].id.indexOf('_'+pID)>0){
				m_arrLinks[m_intIndex].href = 'javascript:void(0);';
			}
		} catch(e) {}
	}
	
	for (m_intIndex = 0; m_intIndex <= m_arrImages.length; m_intIndex++) {
		try {
		    if (m_arrImages[m_intIndex].id.indexOf('_'+pID)>0){
				m_arrImages[m_intIndex].src = '/images/add_selected.png';
			}
		} catch(e) {}
	}
	//document.getElementById('a_buy_123').href='javascript:void(0);'
}

function SCH_addItem1() {
	try {
		var m_objXML;
		var m_intTotalItems;
		var m_Status;
		var m_blnLoginStatus, m_blnGotoLogin;
		var m_PatternBuyLink, m_PatternBuyImage;
		
		//m_PatternBuyLink = /a_buy_\d+/i;
		//m_PatternBuyImage = /img_buy_\d+/i;
		m_PatternBuyLink = /a_buy_\d+\d+/i;
		m_PatternBuyImage = /img_buy_\d+\d+/i;
		
		hidePrompt();
			
		if (checkReadyState(g_objXMLHttp1)) {
			m_objXML = g_objXMLHttp1.responseXML.documentElement;
			m_intTotalItems = m_objXML.getElementsByTagName('TOTAL_ITEMS')[0].firstChild.data;
			m_Status = m_objXML.getElementsByTagName('STATUS')[0].firstChild.data;
			m_blnLoginStatus = m_objXML.getElementsByTagName('ISLOGGEDIN')[0].firstChild.data;
			
			if (m_blnLoginStatus == 'true') {
				if (document.getElementById('g_objectPageHeader_xCount')) {
					document.getElementById('g_objectPageHeader_xCount').innerHTML = m_intTotalItems;
					//document.getElementById('g_objectPageHeader_xCount2').innerHTML = m_intTotalItems;
				} else if (document.getElementById('coHeader_xCount')) {
					document.getElementById('coHeader_xCount').innerHTML = m_intTotalItems;
					//document.getElementById('coHeader_xCount2').innerHTML = m_intTotalItems;
				}
				
				if (m_Status == 'new') {
					if (g_objBuyLink1) {
						g_objBuyLink1.href = 'javascript:void(0);';
						g_objBuyButton1.src = '/images/add_selected.png';
						
						//if (!m_PatternBuyLink.test(g_objBuyLink1.id)) {
						    //if (g_Playlist=''){ disableAllBuyButtons();}
						//}
					}
					
					showPrompt('Item added');
					setTimeout('hidePrompt()',1000);
				} else if (m_Status == 'update') {
					showPrompt('Item already in cart');
					setTimeout('hidePrompt()',2000);
				} else if (m_Status == 'restricted') {
					alert('Historical, Nostalgia and Jazz Legends recordings are not available for download and audio streaming to subscribers in the United States, Canada, Singapore, and Australia due to possible copyright restrictions.');
				} else {
					alert('Unable to add to cart at the moment');
				}
				
				if (document.getElementById('spnTotalSelectedAlbumItems') && (g_intProductID > 0)) {
					getAlbumItems(g_intProductID);
				}
			} else {
			    /*
				m_blnGotoLogin = confirm('You need to log-in before you can add items to your cart.\n\nProceed to log-in page?');
				
				if (m_blnGotoLogin == true){ 
					window.location = '/userlogin/login.aspx';
				} */
				scroll(0,0);
				document.getElementById('divFloat').style.display='';
		        DimBody();
			}
		} else {
			/* note: the following line is only recognized by ie browsers. other browsers will just ignore this and will not raise an error. */
			showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		}	
		
		return true;
	} catch(e) {alert('SCH_addItem1(): \n' + e.description);}
} 


function setBuyButtonState1(p_objElement) {
	try {
		var m_ElementID = p_objElement.id;
		var m_arrElementIDParts = m_ElementID.split("_");
		var m_ImageElementID = 'img_' + m_arrElementIDParts[1] + '_' + m_arrElementIDParts[2] + '_' +m_arrElementIDParts[3];
	
		g_objBuyLink1 = p_objElement;
		g_objBuyButton1 = document.getElementById(m_ImageElementID);	
	
		
	} catch(e) {alert('setBuyButtonState1(): \n' + e.description);}
}

function DisplayTab(pTab){	           
	           switch(pTab){
	              case "Album" :
	                  document.getElementById('divPlaceHolder').innerHTML=document.getElementById('coCdInfo_panCdInfo').innerHTML;
					  try {document.getElementById('b1').className='NavSelected';} catch(e){}					 
					  try {document.getElementById('b2').className='NavRegular';} catch(e){}	                  
					  try {document.getElementById('b3').className='NavRegular';} catch(e){}
					  try {document.getElementById('b4').className='NavRegular';} catch(e){}
					  try {document.getElementById('b5').className='NavRegular';} catch(e){}
					  
	                  document.getElementById('album').style.fontWeight="bold";
	                  document.getElementById('atr').style.fontWeight="normal";
	                  document.getElementById('reviews').style.fontWeight="normal";
	                  document.getElementById('related').style.fontWeight="normal";
	                  document.getElementById('links').style.fontWeight="normal";
	                  break;
	              case "ATR" :
	                  try { document.getElementById('divPlaceHolder').innerHTML=document.getElementById('panBlurb').innerHTML; } catch(e) {}	                  
	                  
					  try {document.getElementById('b1').className='NavRegular';} catch(e){}					 
					  try {document.getElementById('b2').className='NavSelected';} catch(e){}	                  
					  try {document.getElementById('b3').className='NavRegular';} catch(e){}
					  try {document.getElementById('b4').className='NavRegular';} catch(e){}
					  try {document.getElementById('b5').className='NavRegular';} catch(e){}
					  
	                  document.getElementById('album').style.fontWeight="normal";
	                  document.getElementById('atr').style.fontWeight="bold";
	                  document.getElementById('reviews').style.fontWeight="normal";
	                  document.getElementById('related').style.fontWeight="normal";
	                  document.getElementById('links').style.fontWeight="normal";
	                  break;
	              case "Reviews" :
	                  try {document.getElementById('divPlaceHolder').innerHTML=document.getElementById('panReview').innerHTML; } catch(e){}	                
					  
	                  try {document.getElementById('b1').className='NavRegular';} catch(e){}					 
					  try {document.getElementById('b2').className='NavRegular';} catch(e){}	                  
					  try {document.getElementById('b3').className='NavSelected';} catch(e){}
					  try {document.getElementById('b4').className='NavRegular';} catch(e){}
					  try {document.getElementById('b5').className='NavRegular';} catch(e){}
					  
	                  document.getElementById('album').style.fontWeight="normal";
	                  document.getElementById('atr').style.fontWeight="normal";
	                  document.getElementById('reviews').style.fontWeight="bold";
	                  document.getElementById('related').style.fontWeight="normal";
	                  document.getElementById('links').style.fontWeight="normal";
	                  break;
	              case "Related" :
	                  try { document.getElementById('divPlaceHolder').innerHTML=document.getElementById('panRelated').innerHTML; } catch(e) {}
	                  
					  try {document.getElementById('b1').className='NavRegular';} catch(e){}					 
					  try {document.getElementById('b2').className='NavRegular';} catch(e){}	                  
					  try {document.getElementById('b3').className='NavRegular';} catch(e){}
					  try {document.getElementById('b4').className='NavSelected';} catch(e){}
					  try {document.getElementById('b5').className='NavRegular';} catch(e){}
					  
	                  document.getElementById('album').style.fontWeight="normal";
	                  document.getElementById('atr').style.fontWeight="normal";
	                  document.getElementById('reviews').style.fontWeight="normal";
	                  document.getElementById('related').style.fontWeight="bold";	                  
	                  document.getElementById('links').style.fontWeight="normal";	                  
	                  break;
	             case "Links" :
	                  try { document.getElementById('divPlaceHolder').innerHTML=document.getElementById('panLinks').innerHTML; } catch(e) {}
	                  
					  try {document.getElementById('b1').className='NavRegular';} catch(e){}					 
					  try {document.getElementById('b2').className='NavRegular';} catch(e){}	                  
					  try {document.getElementById('b3').className='NavRegular';} catch(e){}
					  try {document.getElementById('b4').className='NavRegular';} catch(e){}
					  try {document.getElementById('b5').className='NavSelected';} catch(e){}
					  
	                  document.getElementById('album').style.fontWeight="normal";
	                  document.getElementById('atr').style.fontWeight="normal";
	                  document.getElementById('reviews').style.fontWeight="normal";
	                  document.getElementById('related').style.fontWeight="normal";	                  
	                  document.getElementById('links').style.fontWeight="bold";	                  
	                  break;
	           }
	        }	
	        
	        
////////////////////////////////////////////////////////////////////////
//* BUNDLES FUNCTIONS
////////////////////////////////////////////////////////////////////////
function addItem2(p_intProductDetailID, pPromoID) { 
	var m_TargetURL = '/shoppingcart/additem.aspx?pdid=' + p_intProductDetailID + '&PromoID=' + pPromoID

	/* note: the following line is needed for browsers other than IE to show the "adding item" prompt. */
	showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		
	g_objXMLHttp1 = NewXMLHttpInstance(SCH_addItem2); 
	SendXMLHttpRequest(g_objXMLHttp1, m_TargetURL);
	
} 

function SCH_addItem2() {
	try {
		var m_objXML;
		var m_intTotalItems;
		var m_Status;
		var m_blnLoginStatus, m_blnGotoLogin;
		var m_PatternBuyLink, m_PatternBuyImage;
		
		//m_PatternBuyLink = /a_buy_\d+/i;
		//m_PatternBuyImage = /img_buy_\d+/i;
		m_PatternBuyLink = /a_buy_\d+\d+/i;
		m_PatternBuyImage = /img_buy_\d+\d+/i;
		
		hidePrompt();
			
		if (checkReadyState(g_objXMLHttp1)) {
			m_objXML = g_objXMLHttp1.responseXML.documentElement;
			m_intTotalItems = m_objXML.getElementsByTagName('TOTAL_ITEMS')[0].firstChild.data;
			m_Status = m_objXML.getElementsByTagName('STATUS')[0].firstChild.data;
			m_blnLoginStatus = m_objXML.getElementsByTagName('ISLOGGEDIN')[0].firstChild.data;
			
			if (m_blnLoginStatus == 'true') {
				if (document.getElementById('g_objectPageHeader_xCount')) {
					document.getElementById('g_objectPageHeader_xCount').innerHTML = m_intTotalItems;
					//document.getElementById('g_objectPageHeader_xCount2').innerHTML = m_intTotalItems;
				} else if (document.getElementById('coHeader_xCount')) {
					document.getElementById('coHeader_xCount').innerHTML = m_intTotalItems;
					//document.getElementById('coHeader_xCount2').innerHTML = m_intTotalItems;
				}
				
				if (m_Status == 'new') {
					if (g_objBuyLink1) {
						g_objBuyLink1.href = 'javascript:void(0);';
						g_objBuyButton1.src = '/images/add_selected.png';
						
						//if (!m_PatternBuyLink.test(g_objBuyLink1.id)) {
						    //if (g_Playlist=''){ disableAllBuyButtons();}
						//}
					}
					
					showPrompt('Item added');
					setTimeout('hidePrompt()',1000);
				} else if (m_Status == 'update') {
					showPrompt('Item already in cart');
					setTimeout('hidePrompt()',2000);
				} else if (m_Status == 'restricted') {
					alert('Historical, Nostalgia and Jazz Legends recordings are not available for download and audio streaming to subscribers in the United States, Canada, Singapore, and Australia due to possible copyright restrictions.');
				} else {
					alert('Unable to add to cart at the moment');
				}
				
				if (document.getElementById('spnTotalSelectedAlbumItems') && (g_intProductID > 0)) {
					getAlbumItems(g_intProductID);
				}
			} else {
			    /*
				m_blnGotoLogin = confirm('You need to log-in before you can add items to your cart.\n\nProceed to log-in page?');
				
				if (m_blnGotoLogin == true){ 
					window.location = '/userlogin/login.aspx';
				} */
				scroll(0,0);
				document.getElementById('divFloat').style.display='';
		        DimBody();
			}
		} else {
			/* note: the following line is only recognized by ie browsers. other browsers will just ignore this and will not raise an error. */
			showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		}	
		
		return true;
	} catch(e) {alert('SCH_addItem2(): \n' + e.description);}
} 


////////////////////////////////////////////////////////////////////////
//* WISHLIST FUNCTIONS
////////////////////////////////////////////////////////////////////////
function addItem3(p_intProductDetailID) { 
	var m_TargetURL = '/shoppingcart/additem.aspx?pdid=' + p_intProductDetailID + '&Wishlist=1' 

	/* note: the following line is needed for browsers other than IE to show the "adding item" prompt. */
	showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		
	g_objXMLHttp1 = NewXMLHttpInstance(SCH_addItem3); 
	SendXMLHttpRequest(g_objXMLHttp1, m_TargetURL);
	
} 

function SCH_addItem3() {
	try {
		var m_objXML;
		var m_intTotalItems;
		var m_Status;
		var m_blnLoginStatus, m_blnGotoLogin;
		var m_PatternBuyLink, m_PatternBuyImage;
		
		//m_PatternBuyLink = /a_buy_\d+/i;
		//m_PatternBuyImage = /img_buy_\d+/i;
		m_PatternBuyLink = /a_buy_\d+\d+/i;
		m_PatternBuyImage = /img_buy_\d+\d+/i;
		
		hidePrompt();
			
		if (checkReadyState(g_objXMLHttp1)) {
			m_objXML = g_objXMLHttp1.responseXML.documentElement;
			m_intTotalItems = m_objXML.getElementsByTagName('TOTAL_ITEMS')[0].firstChild.data;
			m_Status = m_objXML.getElementsByTagName('STATUS')[0].firstChild.data;
			m_blnLoginStatus = m_objXML.getElementsByTagName('ISLOGGEDIN')[0].firstChild.data;
			
			if (m_blnLoginStatus == 'true') {
				if (document.getElementById('WLCount')) {
					document.getElementById('WLCount').innerHTML = m_intTotalItems;
					//document.getElementById('g_objectPageHeader_xCount2').innerHTML = m_intTotalItems;
				} 
				
				if (m_Status == 'new') {
					if (g_objBuyLink1) {
						g_objBuyLink1.href = 'javascript:void(0);';
						g_objBuyButton1.src = '/images/add_selected.png';
						
						//if (!m_PatternBuyLink.test(g_objBuyLink1.id)) {
						    //if (g_Playlist=''){ disableAllBuyButtons();}
						//}
					}
					
					showPrompt('Item added');
					setTimeout('hidePrompt()',1000);
				} else if (m_Status == 'update') {
					showPrompt('Item added');
					setTimeout('hidePrompt()',2000);
				} else if (m_Status == 'restricted') {
					alert('Historical, Nostalgia and Jazz Legends recordings are not available for download and audio streaming to subscribers in the United States, Canada, Singapore, and Australia due to possible copyright restrictions.');
				} else {
					alert('Unable to add to cart at the moment');
				}
				
				//if (document.getElementById('spnTotalSelectedAlbumItems') && (g_intProductID > 0)) {
				//	getAlbumItems(g_intProductID);
				//}
			} else {			    
				scroll(0,0);
				document.getElementById('divFloat').style.display='';
		        DimBody();
			}
		} else {
			/* note: the following line is only recognized by ie browsers. other browsers will just ignore this and will not raise an error. */
			showPrompt('<img src="/images/loader.gif" /><br>Adding item');
		}	
		
		return true;
	} catch(e) {alert('SCH_addItem3(): \n' + e.description);}
} 


